Hi! > From: Viresh Kumar > > commit 1c4d12de2719dfdf27c6dab31e7a5641ee293c94 upstream > > We may want to enable only a subset of OPPs, from the bigger list of > OPPs, based on what version of the hardware we are running on. This > would enable us to not duplicate OPP tables for every version of the > hardware we support. > > To enable that, this patch defines a new property 'opp-supported-hw'. It > can support any number of hierarchy levels of the versions the hardware > follows. And based on the selected hardware versions, we can pick only > the relevant OPPs at runtime. Few typos mentioned below, but this should not block merge. > diff --git a/Documentation/devicetree/bindings/opp/opp.txt b/Documentation/devicetree/bindings/opp/opp.txt > index 0cb44dc21f97..d072fa0ffbd4 100644 > --- a/Documentation/devicetree/bindings/opp/opp.txt > +++ b/Documentation/devicetree/bindings/opp/opp.txt > @@ -123,6 +123,26 @@ Optional properties: > - opp-suspend: Marks the OPP to be used during device suspend. Only one OPP in > the table should have this. > > +- opp-supported-hw: This enables us to select only a subset of OPPs from the > + larger OPP table, based on what version of the hardware we are running on. We > + still can't have multiple nodes with the same opp-hz value in OPP table. > + > + It's an user defined array containing a hierarchy of hardware version numbers, > + supported by the OPP. For example: a platform with hierarchy of three levels > + of versions (A, B and C), this field should be like , where X > + corresponds to Version hierarchy A, Y corresponds to version hierarchy B and Z "Version->version". > + corresponds to version hierarchy C. > + > + Each level of hierarchy is represented by a 32 bit value, and so there can be > + only 32 different supported version per hierarchy. i.e. 1 bit per version. A "supported versions". > + value of 0xFFFFFFFF will enable the OPP for all versions for that hierarchy > + level. And a value of 0x00000000 will disable the OPP completely, and so we > + never want that to happen. > + If 32 values aren't sufficient for a version hierarchy, than that version > + hierarchy can be contained in multiple 32 bit values. i.e. in the > + above example, Z1 & Z2 refer to the version hierarchy Z. Above it claims that there can be only 32 versions, then it explains how to do more than 32 versions. Overall, I find this text rather confusing (concept is quite simple, but I'd not understand it without the example). Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany