diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts index 07b4af4..f71fa24 --- a/arch/arm/boot/dts/rk3288-tinker.dts +++ b/arch/arm/boot/dts/rk3288-tinker.dts @@ -175,10 +175,83 @@ status = "okay"; }; + cpu0_opp_table: opp_table { + compatible = "operating-points-v2"; + opp-shared; + + opp@600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <900000>; + }; + opp@816000000 { + opp-hz = /bits/ 64 <816000000>; + opp-microvolt = <1000000>; + }; + opp@1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <1050000>; + }; + opp@1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <1100000>; + }; + opp@1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <1200000>; + }; + opp@1512000000 { + opp-hz = /bits/ 64 <1512000000>; + opp-microvolt = <1250000>; + }; + opp@1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <1300000>; + }; + opp@1704000000 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <1350000>; + }; + opp@1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <1400000>; + }; + /* boot-only frequencies below */ + opp@1896000000 { + opp-hz = /bits/ 64 <1896000000>; + opp-microvolt = <1425000>; + turbo-mode; + }; + opp@1920000000 { + opp-hz = /bits/ 64 <1920000000>; + opp-microvolt = <1425000>; + turbo-mode; + }; + opp@1992000000 { + opp-hz = /bits/ 64 <1992000000>; + opp-microvolt = <1450000>; + turbo-mode; + }; + opp@2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <1475000>; + turbo-mode; + }; + opp@2040000000 { + opp-hz = /bits/ 64 <2040000000>; + opp-microvolt = <1475000>; + turbo-mode; + }; + opp@2064000000 { + opp-hz = /bits/ 64 <2064000000>; + opp-microvolt = <1475000>; + turbo-mode; + }; + }; }; &cpu0 { cpu0-supply = <&vdd_cpu>; + operating-points-v2 = <&cpu0_opp_table>; }; &gmac { @@ -345,8 +345,8 @@ vdd_cpu: DCDC_REG1 { regulator-always-on; regulator-boot-on; - regulator-min-microvolt = <750000>; - regulator-max-microvolt = <1350000>; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1500000>; regulator-name = "vdd_arm"; regulator-ramp-delay = <6000>; regulator-state-mem { @@ -357,8 +357,8 @@ vdd_gpu: DCDC_REG2 { regulator-always-on; regulator-boot-on; - regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1250000>; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1500000>; regulator-name = "vdd_gpu"; regulator-ramp-delay = <6000>; regulator-state-mem { @@ -652,6 +755,11 @@ }; &usb_otg { + /* + * The otg controller is the only system power source, + * so needs to always stay in device mode. + */ + dr_mode = "peripheral"; status= "okay"; };