diff options
author | Denys Drozdov <denys.drozdov@toradex.com> | 2021-07-29 14:45:34 +0300 |
---|---|---|
committer | Denys Drozdov <denys.drozdov@toradex.com> | 2021-08-03 19:14:21 +0300 |
commit | bb546e72ecef99f2b68c0a658a9558dafa48b162 (patch) | |
tree | c72b121e4b255cb3aff64408df900b68363fd445 /arch | |
parent | 9443377ef940e51025f3d5df5a9232a6f994e5ff (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')
-rw-r--r-- | arch/arm64/boot/dts/freescale/imx8-apalis-v1.1.dtsi | 168 |
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 = <®_fec_supply>; phy-handle = <ðphy0>; 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>; }; }; |