[RFC 6/9] ARM: dts: omap443x: Add opp-modifier entry and add higher OPPs

Dave Gerlach
2014-03-14T19:25:32Z

Add an entry for opp_modifier which configures OPPs on omap443x. Within
this, nodes are defined with the opp-modifier propety that are defined as
a list of frequency, offset from base register, and register 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 omap443x.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
---
arch/arm/boot/dts/omap443x.dtsi | 16 ++++++++++++++++
include/dt-bindings/opp/ti.h | 2 ++
2 files changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/omap443x.dtsi b/arch/arm/boot/dts/omap443x.dtsi
index 8c1cfad..1c7e730 100644
--- a/arch/arm/boot/dts/omap443x.dtsi
+++ b/arch/arm/boot/dts/omap443x.dtsi
@@ -9,6 +9,7 @@
*/

#include "omap4.dtsi"
+#include <dt-bindings/opp/ti.h>

/ {
cpus {
@@ -20,9 +21,12 @@
600000 1200000
800000 1313000
1008000 1375000
+ 1200000 1388000
>;
clock-latency = <300000>; /* From legacy driver */

+ platform-opp-modifier = <&mpu_opp_modifier>;
+
/* cooling options */
cooling-min-level = <0>;
cooling-max-level = <3>;
@@ -42,6 +46,18 @@

#thermal-sensor-cells = <0>;
};
+
+ opp_modifier: opp_modifier@0x4A002218 {
+ compatible = "opp-modifier-reg-bit";
+ reg = <0x4A002218 0x04>;
+
+ mpu_opp_modifier: mpu_opp_modifier {
+ opp-modifier = <
+ /* kHz offset value */
+ 1200000 0 OMAP4_EFUSE_HAS_PERF_SILICON_BIT
+ >;
+ };
+ };
};
};

diff --git a/include/dt-bindings/opp/ti.h b/include/dt-bindings/opp/ti.h
index d3717be..cb62c32 100644
--- a/include/dt-bindings/opp/ti.h
+++ b/include/dt-bindings/opp/ti.h
@@ -25,4 +25,6 @@
#define AM43XX_EFUSE_SMA_OPP_TURBO_800MHZ_BIT (1 << 4)
#define AM43XX_EFUSE_SMA_OPP_NITRO_1GHZ_BIT (1 << 5)

+#define OMAP4_EFUSE_HAS_PERF_SILICON_BIT (1 << 17)
+
#endif /* __DT_BINDINGS_OPP_TI_H__ */
--
1.9.0