MLK-16121-2 arm64: dts: freescale: imx8mq: add over-drive mode support
authorAnson Huang <Anson.Huang@nxp.com>
Wed, 2 Aug 2017 06:41:53 +0000 (14:41 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:36:14 +0000 (15:36 -0500)
i.MX8MQ can run at over-drive mode, it will need to increase
VDD_ARM voltage, add new dtb to support it, this feature
is only available on A1 board with GPIO1_IO13 to control
VDD_ARM voltage.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-od.dts [new file with mode: 0644]
arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts

index 8296a77..ff805b1 100644 (file)
@@ -18,7 +18,8 @@ dtb-$(CONFIG_ARCH_FSL_IMX8QXP) += fsl-imx8qxp-lpddr4-arm2.dtb \
                                  fsl-imx8qxp-lpddr4-arm2-mlb.dtb \
                                  fsl-imx8qxp-lpddr4-arm2-mqs.dtb \
                                  fsl-imx8qxp-lpddr4-arm2-wm8962.dtb
-dtb-$(CONFIG_ARCH_FSL_IMX8MQ) += fsl-imx8mq-evk.dtb
+dtb-$(CONFIG_ARCH_FSL_IMX8MQ) += fsl-imx8mq-evk.dtb \
+                                fsl-imx8mq-evk-od.dtb
 
 always         := $(dtb-y)
 subdir-y       := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-od.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-od.dts
new file mode 100644 (file)
index 0000000..0f4574d
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ * Copyright 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "fsl-imx8mq-evk.dts"
+
+/ {
+       regulators {
+               reg_gpio_dvfs: regulator-gpio {
+                       compatible = "regulator-gpio";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_dvfs>;
+                       regulator-min-microvolt = <900000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-name = "gpio_dvfs";
+                       regulator-type = "voltage";
+                       gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
+                       states = <900000 0x1 1000000 0x0>;
+               };
+       };
+};
+
+&pwm2 {
+       status = "disabled";
+};
+
+&A53_0 {
+       operating-points = <
+               /* kHz    uV */
+               1400000 1000000
+               1200000 900000
+               800000  900000
+       >;
+       dc-supply = <&reg_gpio_dvfs>;
+};
index 4213a37..1ee1507 100644 (file)
                        >;
                };
 
+               pinctrl_dvfs: dvfsgrp {
+                       fsl,pins = <
+                               MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13      0x16
+                       >;
+               };
+
                pinctrl_qspi: qspigrp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK       0x82