@@ -10,6 +10,7 @@
#include "imx6q-pinfunc.h"
#include "imx6qdl.dtsi"
+#include <dt-bindings/opp/imx.h>
/ {
cpus {
@@ -36,6 +37,8 @@
arm-supply = <®_arm>;
pu-supply = <®_pu>;
soc-supply = <®_soc>;
+
+ platform-opp-modifier = <&mpu_opp_modifier>;
};
cpu@1 {
@@ -140,6 +143,21 @@
clock-names = "bus", "di0", "di1";
resets = <&src 4>;
};
+
+ opp_modifier: opp_modifier@0x021bc440 {
+ compatible = "opp-modifier-reg-val";
+ reg = <0x021bc440 0x04>;
+ opp,reg-mask = <0x00030000>;
+
+ mpu_opp_modifier: mpu_opp_modifier {
+ opp-modifier = <
+ /* kHz offset value */
+ 1200000 0 OPP_OCOTP_CFG3_SPEED_1P2GHZ
+ 996000 0 OPP_OCOTP_CFG3_SPEED_996MHZ
+ >;
+ };
+ };
+
};
};
new file mode 100644
@@ -0,0 +1,17 @@
+/*
+ * This header provides constants for iMX SoC OPP bindings.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#ifndef __DT_BINDINGS_OPP_IMX_H__
+#define __DT_BINDINGS_OPP_IMX_H__
+
+#define OPP_OCOTP_CFG3_SPEED_1P2GHZ (0x3 << 16)
+#define OPP_OCOTP_CFG3_SPEED_996MHZ (0x2 << 16)
+#define OPP_OCOTP_CFG3_SPEED_852MHZ (0x1 << 16)
+
+#endif /* __DT_BINDINGS_OPP_IMX_H__ */
Add an entry for opp_modifier which configures OPPs on imx6q. Within this nodes are defined with opp-modifier propety that are defined as a list of frequency, offset from base register, and efuse value. This is an untested example patch to show how opp-modifier could be used for this platform. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> --- arch/arm/boot/dts/imx6q.dtsi | 18 ++++++++++++++++++ include/dt-bindings/opp/imx.h | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 include/dt-bindings/opp/imx.h