summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
diff options
context:
space:
mode:
authorDenys Drozdov <denys.drozdov@toradex.com>2021-07-29 14:45:34 +0300
committerDenys Drozdov <denys.drozdov@toradex.com>2021-08-03 19:14:21 +0300
commitbb546e72ecef99f2b68c0a658a9558dafa48b162 (patch)
treec72b121e4b255cb3aff64408df900b68363fd445 /arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
parent9443377ef940e51025f3d5df5a9232a6f994e5ff (diff)
arm64: dts: imx8-apalis: update regulators to support SCFW PM
LDO4 is not turning off in suspend, since SCFW is not getting PM message from regulator to switch LDO4 off during suspend. Add "simple-sm-bus" compatible regulator node for SCFW. Create reg_fec_supply regulator to specify as phy-supply for FEC1 Related-to: ELB-3523 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi')
-rw-r--r--arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi168
1 files changed, 101 insertions, 67 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi b/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
index bc35996ff744..64b793e907f8 100644
--- a/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi
@@ -71,23 +71,6 @@
enable-gpios = <&lsio_gpio4 11 GPIO_ACTIVE_HIGH>;
};
- /*
- * Power management bus used to control LDO1OUT of the
- * second PMIC PF8100. This is used for controlling voltage levels of
- * typespecific RGMII signals and Apalis UART2_RTS UART2_CTS.
- *
- * IMX_SC_R_BOARD_R1 for 3.3V
- * IMX_SC_R_BOARD_R2 for 1.8V
- * IMX_SC_R_BOARD_R3 for 2.5V
- * Note that for 2.5V operation the pad muxing needs to be changed,
- * compare with PSW_OVR field of IMX8QM_COMP_CTL_GPIO_1V8_3V3_ENET_ENETA_PAD.
- *
- * those power domains are mutually exclusive.
- */
- pmbus_external_rgmii: pmbusextrgmii {
- compatible = "simple-pm-bus";
- power-domains = <&pd IMX_SC_R_BOARD_R1>;
- };
pcie_wifi_refclk: wifi-clock-generator {
compatible = "fixed-clock";
@@ -104,63 +87,113 @@
enable-gpios = <&lsio_gpio2 11 GPIO_ACTIVE_HIGH>;
};
- reg_module_3v3: regulator-module-3v3 {
- compatible = "regulator-fixed";
- regulator-name = "+V3.3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
- reg_module_3v3_avdd: regulator-module-3v3-avdd {
- compatible = "regulator-fixed";
- regulator-name = "+V3.3_AUDIO";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
+ /*
+ * Power management bus used to control LDO1OUT of the
+ * second PMIC PF8100. This is used for controlling voltage levels of
+ * typespecific RGMII signals and Apalis UART2_RTS UART2_CTS.
+ *
+ * IMX_SC_R_BOARD_R1 for 3.3V
+ * IMX_SC_R_BOARD_R2 for 1.8V
+ * IMX_SC_R_BOARD_R3 for 2.5V
+ * Note that for 2.5V operation the pad muxing needs to be changed,
+ * compare with PSW_OVR field of IMX8QM_COMP_CTL_GPIO_1V8_3V3_ENET_ENETA_PAD.
+ *
+ * those power domains are mutually exclusive.
+ */
+ reg_ext_rgmii: regulator-ext-rgmii {
+ compatible = "regulator-fixed";
+ regulator-name = "VDD_EXT_RGMII (LDO1)";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ power-domains = <&pd IMX_SC_R_BOARD_R1>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
- reg_module_wifi: regulator-module-wifi {
- compatible = "regulator-fixed";
- enable-active-high;
- gpio = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_wifi_pdn>;
- regulator-name = "wifi_pwrdn_fake_regulator";
- regulator-settling-time-us = <100>;
+ /*
+ * Power management bus used for powering down phy in suspend
+ *
+ * Power management bus used to control LDO4OUT of the
+ * first PMIC PF8100 from SCFW using IMX_SC_R_BOARD_R0 (+3.3V_ETH)
+ */
+ reg_fec_supply: regulator-fec-supply {
+ compatible = "regulator-fixed";
+ regulator-name = "+V3.3_ETH (LDO4)";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ power-domains = <&pd IMX_SC_R_BOARD_R0>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
- regulator-state-mem {
- regulator-off-in-suspend;
+ reg_module_3v3: regulator-module-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "+V3.3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
};
- };
- reg_pcie_switch: regulator-pcie-switch {
- compatible = "regulator-fixed";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpio7>;
- enable-active-high;
- gpio = <&lsio_gpio3 26 GPIO_ACTIVE_HIGH>;
- regulator-name = "pcie_switch";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- startup-delay-us = <100000>;
- };
+ reg_module_3v3_avdd: regulator-module-3v3-avdd {
+ compatible = "regulator-fixed";
+ regulator-name = "+V3.3_AUDIO";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
- reg_usb_host_vbus: regulator-usb-host-vbus {
- compatible = "regulator-fixed";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usbh_en>;
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- enable-active-high;
- /* Apalis USBH_EN */
- gpio = <&lsio_gpio4 4 GPIO_ACTIVE_HIGH>;
- regulator-always-on;
+ reg_module_wifi: regulator-module-wifi {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wifi_pdn>;
+ regulator-name = "wifi_pwrdn_fake_regulator";
+ regulator-settling-time-us = <100>;
+
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ reg_pcie_switch: regulator-pcie-switch {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio7>;
+ enable-active-high;
+ gpio = <&lsio_gpio3 26 GPIO_ACTIVE_HIGH>;
+ regulator-name = "pcie_switch";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ startup-delay-us = <100000>;
+ };
+
+ reg_vref_1v8: regulator-vref-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "+V1.8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
};
- reg_vref_1v8: regulator-vref-1v8 {
- compatible = "regulator-fixed";
- regulator-name = "+V1.8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
+ reg_usb_host_vbus: regulator-usb-host-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh_en>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+
+ /* Apalis USBH_EN */
+ gpio = <&lsio_gpio4 4 GPIO_ACTIVE_HIGH>;
+ regulator-always-on;
};
reserved-memory {
@@ -297,6 +330,8 @@
pinctrl-1 = <&pinctrl_fec1_sleep>;
fsl,magic-packet;
fsl,mii-exclusive;
+
+ phy-supply = <&reg_fec_supply>;
phy-handle = <&ethphy0>;
phy-mode = "rgmii-id";
phy-reset-duration = <10>;
@@ -311,7 +346,6 @@
interrupt-parent = <&lsio_gpio1>;
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
micrel,led-mode = <0>;
- power-domains = <&pd IMX_SC_R_BOARD_R0>;
reg = <7>;
};
};