Signed-off-by: Etienne Carriere <etienne.carri...@linaro.org> --- arch/arm/dts/stm32mp151.dtsi | 40 +++++++++- arch/arm/dts/stm32mp15xx-dkx.dtsi | 122 +++++++++++++++++++++++++----- 2 files changed, 138 insertions(+), 24 deletions(-)
diff --git a/arch/arm/dts/stm32mp151.dtsi b/arch/arm/dts/stm32mp151.dtsi index db48077375..cb6a14ec0c 100644 --- a/arch/arm/dts/stm32mp151.dtsi +++ b/arch/arm/dts/stm32mp151.dtsi @@ -5,6 +5,7 @@ */ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/clock/stm32mp1-clks.h> +#include <dt-bindings/regulator/st,stm32mp15-regulator.h> #include <dt-bindings/reset/stm32mp1-resets.h> / { @@ -91,6 +92,37 @@ reg = <0x16>; #reset-cells = <1>; }; + + scmi0_voltd: protocol@17 { + reg = <0x17>; + + scmi0_reguls: regulators { + #address-cells = <1>; + #size-cells = <0>; + + reg11: reg11 { + reg = <VOLTD_SCMI0_REG11>; + regulator-name = "reg11"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + }; + + reg18: reg18 { + voltd-name = "reg18"; + reg = <VOLTD_SCMI0_REG18>; + regulator-name = "reg18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + usb33: usb33 { + reg = <VOLTD_SCMI0_USB33>; + regulator-name = "usb33"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + }; + }; }; scmi1: scmi1 { @@ -1190,20 +1222,22 @@ pwr_regulators: pwr@50001000 { compatible = "st,stm32mp1,pwr-reg"; reg = <0x50001000 0x10>; + status = "disabled"; + secure-status = "okay"; - reg11: reg11 { + pwr_reg11: reg11 { regulator-name = "reg11"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; }; - reg18: reg18 { + pwr_reg18: reg18 { regulator-name = "reg18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; - usb33: usb33 { + pwr_usb33: usb33 { regulator-name = "usb33"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; diff --git a/arch/arm/dts/stm32mp15xx-dkx.dtsi b/arch/arm/dts/stm32mp15xx-dkx.dtsi index 68987f64c5..ba196c7a45 100644 --- a/arch/arm/dts/stm32mp15xx-dkx.dtsi +++ b/arch/arm/dts/stm32mp15xx-dkx.dtsi @@ -6,6 +6,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/mfd/st,stpmic1.h> +#include <dt-bindings/regulator/st,stm32mp15-regulator.h> / { memory@c0000000 { @@ -261,7 +262,7 @@ interrupt-parent = <&gpioi>; pinctrl-names = "default"; pinctrl-0 = <&stusb1600_pins_a>; - status = "okay"; + status = "disabled"; vdd-supply = <&vin>; connector { @@ -284,7 +285,8 @@ interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; interrupt-controller; #interrupt-cells = <2>; - status = "okay"; + status = "disabled"; + secure-status = "okay"; regulators { compatible = "st,stpmic1-regulators"; @@ -292,18 +294,18 @@ buck2-supply = <&vin>; buck3-supply = <&vin>; buck4-supply = <&vin>; - ldo1-supply = <&v3v3>; + ldo1-supply = <&secure_v3v3>; ldo2-supply = <&vin>; - ldo3-supply = <&vdd_ddr>; + ldo3-supply = <&secure_vdd_ddr>; ldo4-supply = <&vin>; ldo5-supply = <&vin>; - ldo6-supply = <&v3v3>; + ldo6-supply = <&secure_v3v3>; vref_ddr-supply = <&vin>; boost-supply = <&vin>; - pwr_sw1-supply = <&bst_out>; - pwr_sw2-supply = <&bst_out>; + pwr_sw1-supply = <&secure_bst_out>; + pwr_sw2-supply = <&secure_bst_out>; - vddcore: buck1 { + secure_vddcore: buck1 { regulator-name = "vddcore"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1350000>; @@ -312,7 +314,7 @@ regulator-over-current-protection; }; - vdd_ddr: buck2 { + secure_vdd_ddr: buck2 { regulator-name = "vdd_ddr"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; @@ -321,7 +323,7 @@ regulator-over-current-protection; }; - vdd: buck3 { + secure_vdd: buck3 { regulator-name = "vdd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; @@ -331,7 +333,7 @@ regulator-over-current-protection; }; - v3v3: buck4 { + secure_v3v3: buck4 { regulator-name = "v3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; @@ -340,7 +342,7 @@ regulator-initial-mode = <0>; }; - v1v8_audio: ldo1 { + secure_v1v8_audio: ldo1 { regulator-name = "v1v8_audio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; @@ -348,7 +350,7 @@ interrupts = <IT_CURLIM_LDO1 0>; }; - v3v3_hdmi: ldo2 { + secure_v3v3_hdmi: ldo2 { regulator-name = "v3v3_hdmi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; @@ -356,7 +358,7 @@ interrupts = <IT_CURLIM_LDO2 0>; }; - vtt_ddr: ldo3 { + secure_vtt_ddr: ldo3 { regulator-name = "vtt_ddr"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <750000>; @@ -364,12 +366,12 @@ regulator-over-current-protection; }; - vdd_usb: ldo4 { + secure_vdd_usb: ldo4 { regulator-name = "vdd_usb"; interrupts = <IT_CURLIM_LDO4 0>; }; - vdda: ldo5 { + secure_vdda: ldo5 { regulator-name = "vdda"; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <2900000>; @@ -377,7 +379,7 @@ regulator-boot-on; }; - v1v2_hdmi: ldo6 { + secure_v1v2_hdmi: ldo6 { regulator-name = "v1v2_hdmi"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; @@ -385,22 +387,22 @@ interrupts = <IT_CURLIM_LDO6 0>; }; - vref_ddr: vref_ddr { + secure_vref_ddr: vref_ddr { regulator-name = "vref_ddr"; regulator-always-on; }; - bst_out: boost { + secure_bst_out: boost { regulator-name = "bst_out"; interrupts = <IT_OCP_BOOST 0>; }; - vbus_otg: pwr_sw1 { + secure_vbus_otg: pwr_sw1 { regulator-name = "vbus_otg"; interrupts = <IT_OCP_OTG 0>; }; - vbus_sw: pwr_sw2 { + secure_vbus_sw: pwr_sw2 { regulator-name = "vbus_sw"; interrupts = <IT_OCP_SWOUT 0>; regulator-active-discharge = <1>; @@ -543,6 +545,84 @@ }; }; +&scmi0_reguls { + vddcore: scmi-vddcore { + reg = <VOLTD_SCMI0_STPMIC1_BUCK1>; + regulator-name = "vddcore"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + }; + + vdd: scmi-vdd { + reg = <VOLTD_SCMI0_STPMIC1_BUCK3>; + regulator-name = "vdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + v3v3: scmi-v3v3 { + reg = <VOLTD_SCMI0_STPMIC1_BUCK4>; + regulator-name = "v3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + v1v8_audio: scmi-v1v8-audio { + reg = <VOLTD_SCMI0_STPMIC1_LDO1>; + regulator-name = "v1v8_audio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + v3v3_hdmi: scmi-v3v3-hdmi { + reg = <VOLTD_SCMI0_STPMIC1_LDO2>; + regulator-name = "v3v3_hdmi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vdd_usb: scmi-vdd-usb { + reg = <VOLTD_SCMI0_STPMIC1_LDO4>; + regulator-name = "vdd_usb"; + }; + + vdda: scmi-vdda { + reg = <VOLTD_SCMI0_STPMIC1_LDO5>; + regulator-name = "vdda"; + regulator-min-microvolt = <2900000>; + regulator-max-microvolt = <2900000>; + regulator-boot-on; + }; + + v1v2_hdmi: scmi-v1v2-hdmi { + reg = <VOLTD_SCMI0_STPMIC1_LDO6>; + regulator-name = "v1v2_hdmi"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + }; + + bst_out: scmi-bst-out { + reg = <VOLTD_SCMI0_STPMIC1_BOOST>; + regulator-name = "bst_out"; + }; + + vbus_otg: scmi-vbus-otg { + reg = <VOLTD_SCMI0_STPMIC1_PWR_SW1>; + regulator-name = "vbus_otg"; + }; + + vbus_sw: scmi-vbus-sw { + reg = <VOLTD_SCMI0_STPMIC1_PWR_SW2>; + regulator-name = "vbus_sw"; + }; +}; + &sdmmc1 { pinctrl-names = "default", "opendrain", "sleep"; pinctrl-0 = <&sdmmc1_b4_pins_a>; -- 2.17.1