1*a02177a3SLeonard Crestezi.MX CPUFreq-DT OPP bindings 2*a02177a3SLeonard Crestez================================ 3*a02177a3SLeonard Crestez 4*a02177a3SLeonard CrestezCertain i.MX SoCs support different OPPs depending on the "market segment" and 5*a02177a3SLeonard Crestez"speed grading" value which are written in fuses. These bits are combined with 6*a02177a3SLeonard Crestezthe opp-supported-hw values for each OPP to check if the OPP is allowed. 7*a02177a3SLeonard Crestez 8*a02177a3SLeonard CrestezRequired properties: 9*a02177a3SLeonard Crestez-------------------- 10*a02177a3SLeonard Crestez 11*a02177a3SLeonard CrestezFor each opp entry in 'operating-points-v2' table: 12*a02177a3SLeonard Crestez- opp-supported-hw: Two bitmaps indicating: 13*a02177a3SLeonard Crestez - Supported speed grade mask 14*a02177a3SLeonard Crestez - Supported market segment mask 15*a02177a3SLeonard Crestez 0: Consumer 16*a02177a3SLeonard Crestez 1: Extended Consumer 17*a02177a3SLeonard Crestez 2: Industrial 18*a02177a3SLeonard Crestez 3: Automotive 19*a02177a3SLeonard Crestez 20*a02177a3SLeonard CrestezExample: 21*a02177a3SLeonard Crestez-------- 22*a02177a3SLeonard Crestez 23*a02177a3SLeonard Crestezopp_table { 24*a02177a3SLeonard Crestez compatible = "operating-points-v2"; 25*a02177a3SLeonard Crestez opp-1000000000 { 26*a02177a3SLeonard Crestez opp-hz = /bits/ 64 <1000000000>; 27*a02177a3SLeonard Crestez /* grade >= 0, consumer only */ 28*a02177a3SLeonard Crestez opp-supported-hw = <0xf>, <0x3>; 29*a02177a3SLeonard Crestez }; 30*a02177a3SLeonard Crestez 31*a02177a3SLeonard Crestez opp-1300000000 { 32*a02177a3SLeonard Crestez opp-hz = /bits/ 64 <1300000000>; 33*a02177a3SLeonard Crestez opp-microvolt = <1000000>; 34*a02177a3SLeonard Crestez /* grade >= 1, all segments */ 35*a02177a3SLeonard Crestez opp-supported-hw = <0xe>, <0x7>; 36*a02177a3SLeonard Crestez }; 37*a02177a3SLeonard Crestez} 38