Add an entry for opp-modifier which configures OPPs on 43xx. Within this, nodes are defined with the opp-modifier propety that are defined as a list of frequency, offset from base register, and efuse value. The CPU node passes a phandle to the appropriate child node to get the correct table. This patch also adds higher eFused OPPs for dra7. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> --- arch/arm/boot/dts/dra7.dtsi | 18 ++++++++++++++++++ include/dt-bindings/opp/ti.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index 1fd75aa..ffd0bae 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi @@ -9,6 +9,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/pinctrl/dra.h> +#include <dt-bindings/opp/ti.h> #include "skeleton.dtsi" @@ -46,7 +47,10 @@ /* kHz uV */ 1000000 1060000 1176000 1160000 + 1500000 1260000 >; + + platform-opp-modifier = <&mpu_opp_modifier>; }; cpu@1 { device_type = "cpu"; @@ -621,6 +625,20 @@ dma-names = "tx0", "rx0"; status = "disabled"; }; + + opp_modifier: opp_modifier@0x4AE0C20C { + compatible = "opp-modifier-reg-val"; + reg = <0x4AE0C20C 0x04>; + opp,reg-mask = <0x000000F7>; + + mpu_opp_modifier: mpu_opp_modifier { + opp-modifier = < + /* kHz offset value */ + 1500000 0 DRA7_EFUSE_HAS_HIGH_MPU_OPP + 1176000 0 DRA7_EFUSE_HAS_OD_MPU_OPP + >; + }; + }; }; }; diff --git a/include/dt-bindings/opp/ti.h b/include/dt-bindings/opp/ti.h index cb62c32..0f5efe8 100644 --- a/include/dt-bindings/opp/ti.h +++ b/include/dt-bindings/opp/ti.h @@ -27,4 +27,7 @@ #define OMAP4_EFUSE_HAS_PERF_SILICON_BIT (1 << 17) +#define DRA7_EFUSE_HAS_OD_MPU_OPP 11 +#define DRA7_EFUSE_HAS_HIGH_MPU_OPP 15 + #endif /* __DT_BINDINGS_OPP_TI_H__ */ -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html