ARM: dts: rockchip: some regulator updates for popmetal and firefly
Heiko Stuebner
maintainercover ARM: dts: rockchip: some regulator updates for popmetal and firefly
The upcoming mmc tuning definitly needs correct handling of the iodomains, which is also good to have in general. So this fixes some small regulator issues and then adds the io-domains for the rk3288 popmetal and firefly boards.
Heiko Stuebner (5):
ARM: dts: rockchip: add rk3288-popmetal board to dtb list
ARM: dts: rockchip: add rk3288-popmemtal mmc supplies
ARM: dts: rockchip: add rk3288-popmetal iodomains
ARM: dts: rockchip: fixup firefly mmc supplies
ARM: dts: rockchip: add rk3288-firefly iodomains
arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/rk3288-firefly.dtsi | 55 +++++++++++++++++++++-- arch/arm/boot/dts/rk3288-popmetal.dts | 85 +++++++++++++++++++++++++++++++++-- 3 files changed, 134 insertions(+), 7 deletions(-)
Signature · 1 line
2.5.3
Heiko Stuebner
maintainerPATCH 1/5 ARM: dts: rockchip: add rk3288-popmetal board to dtb list
The popmetal board was not included in the list of Rockchip boards, so was only built when explicitly called with make rk3288-popmetal.dtb but not in a generic make dtbs, so add the missing entry.
--- arch/arm/boot/dts/Makefile | 1 + 1 file changed, 1 insertion(+)
arch/arm/boot/dts/Makefile +1 -0
@@ -506,6 +506,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3288-evb-rk808.dtb \ rk3288-firefly-beta.dtb \ rk3288-firefly.dtb \ + rk3288-popmetal.dtb \ rk3288-r89.dtb \ rk3288-veyron-jaq.dtb \ rk3288-veyron-jerry.dtb \
Signature · 1 line
2.5.3
Heiko Stuebner
maintainerPATCH 2/5 ARM: dts: rockchip: add rk3288-popmemtal mmc supplies
In reply to Heiko StuebnerAdd missing regulators and supply properties to emmc and sdmmc nodes.
--- arch/arm/boot/dts/rk3288-popmetal.dts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
arch/arm/boot/dts/rk3288-popmetal.dts +30 -0
@@ -86,6 +86,26 @@ pinctrl-0 = <&ir_int>; }; + vcc_flash: flash-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc_flash"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc_io>; + }; + + vcc_sd: sdmmc-regulator { + compatible = "regulator-fixed"; + gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc_pwr>; + regulator-name = "vcc_sd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + startup-delay-us = <100000>; + vin-supply = <&vcc_io>; + }; + vcc_sys: vsys-regulator { compatible = "regulator-fixed"; regulator-name = "vcc_sys";
@@ -109,6 +129,8 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; + vmmc-supply = <&vcc_io>; + vqmmc-supply = <&vcc_flash>; status = "okay"; };
@@ -121,6 +143,8 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; + vmmc-supply = <&vcc_sd>; + vqmmc-supply = <&vccio_sd>; status = "okay"; };
@@ -405,6 +429,12 @@ rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; }; }; + + sdmmc { + sdmmc_pwr: sdmmc-pwr { + rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; }; &tsadc {
Signature · 1 line
2.5.3
Heiko Stuebner
maintainerPATCH 3/5 ARM: dts: rockchip: add rk3288-popmetal iodomains
In reply to Heiko StuebnerAdd the iodomains node and reference the correct regulator for each domain. This also includes adding the currently unused dvp regulators and fixing up two regulators to follow the naming in the schematics.
--- arch/arm/boot/dts/rk3288-popmetal.dts | 55 ++++++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 4 deletions(-)
arch/arm/boot/dts/rk3288-popmetal.dts +51 -4
@@ -79,6 +79,22 @@ }; }; + io_domains: io-domains { + compatible = "rockchip,rk3288-io-voltage-domain"; + rockchip,grf = <&grf>; + + audio-supply = <&vcca_33>; + bb-supply = <&vcc_io>; + dvp-supply = <&vcc18_dvp>; + flash0-supply = <&vcc_flash>; + flash1-supply = <&vcc_lan>; + gpio30-supply = <&vcc_io>; + gpio1830-supply = <&vcc_io>; + lcdc-supply = <&vcc_io>; + sdcard-supply = <&vccio_sd>; + wifi-supply = <&vccio_wl>; + }; + ir: ir-receiver { compatible = "gpio-ir-receiver"; gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
@@ -114,6 +130,31 @@ regulator-always-on; regulator-boot-on; }; + + /* + * A PT5128 creates both dovdd_1v8 and vcc28_dvp, controlled + * by the dvp_pwr pin. + */ + vcc18_dvp: vcc18-dvp-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc18-dvp"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc28_dvp>; + }; + + vcc28_dvp: vcc28-dvp-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 17 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&dvp_pwr>; + regulator-name = "vcc28_dvp"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + vin-supply = <&vcc_io>; + }; }; &cpu0 {
@@ -321,22 +362,22 @@ }; }; - vcca_codec: LDO_REG8 { + vcca_33: LDO_REG8 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-name = "vcca_codec"; + regulator-name = "vcca_33"; regulator-state-mem { regulator-on-in-suspend; regulator-suspend-microvolt = <3300000>; }; }; - vcc_wl: SWITCH_REG1 { + vccio_wl: SWITCH_REG1 { regulator-always-on; regulator-boot-on; - regulator-name = "vcc_wl"; + regulator-name = "vccio_wl"; regulator-state-mem { regulator-on-in-suspend; };
@@ -412,6 +453,12 @@ }; }; + dvp { + dvp_pwr: dvp-pwr { + rockchip,pins = <0 17 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + ir { ir_int: ir-int { rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_up>;
Signature · 1 line
2.5.3
Heiko Stuebner
maintainerPATCH 4/5 ARM: dts: rockchip: fixup firefly mmc supplies
In reply to Heiko StuebnerFix some incorrect references to mmc regulators. vccio_wl for example is the io-voltage supply not the core supply of the wifi module itself, which is vbat_wl instead.
--- arch/arm/boot/dts/rk3288-firefly.dtsi | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
arch/arm/boot/dts/rk3288-firefly.dtsi +5 -3
@@ -96,7 +96,7 @@ }; }; - vcc_sys: vsys-regulator { + vbat_wl: vcc_sys: vsys-regulator { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; regulator-min-microvolt = <5000000>;
@@ -329,7 +329,7 @@ regulator-always-on; }; - vcc_18: REG11 { + vccio_wl: vcc_18: REG11 { regulator-name = "vcc_18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@@ -449,7 +449,8 @@ num-slots = <1>; pinctrl-names = "default"; pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; - vmmc-supply = <&vcc_18>; + vmmc-supply = <&vbat_wl>; + vqmmc-supply = <&vccio_wl>; status = "okay"; };
@@ -463,6 +464,7 @@ pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; vmmc-supply = <&vcc_sd>; + vqmmc-supply = <&vccio_sd>; status = "okay"; };
Signature · 1 line
2.5.3
Heiko Stuebner
maintainerPATCH 5/5 ARM: dts: rockchip: add rk3288-firefly iodomains
In reply to Heiko StuebnerAdd the iodomains node and reference the correct regulator for each domain. This also includes adding the currently unused dvp regulators.
--- arch/arm/boot/dts/rk3288-firefly.dtsi | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
arch/arm/boot/dts/rk3288-firefly.dtsi +47 -0
@@ -48,6 +48,14 @@ reg = <0 0x80000000>; }; + dovdd_1v8: dovdd-1v8-regulator { + compatible = "regulator-fixed"; + regulator-name = "dovdd_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc28_dvp>; + }; + ext_gmac: external-gmac-clock { compatible = "fixed-clock"; #clock-cells = <0>;
@@ -55,6 +63,22 @@ clock-output-names = "ext_gmac"; }; + io_domains: io-domains { + compatible = "rockchip,rk3288-io-voltage-domain"; + rockchip,grf = <&grf>; + + audio-supply = <&vcca_33>; + bb-supply = <&vcc_io>; + dvp-supply = <&dovdd_1v8>; + flash0-supply = <&vcc_flash>; + flash1-supply = <&vcc_lan>; + gpio30-supply = <&vcc_io>; + gpio1830-supply = <&vcc_io>; + lcdc-supply = <&vcc_io>; + sdcard-supply = <&vccio_sd>; + wifi-supply = <&vccio_wl>; + }; + ir: ir-receiver { compatible = "gpio-ir-receiver"; pinctrl-names = "default";
@@ -160,6 +184,23 @@ regulator-always-on; vin-supply = <&vcc_5v>; }; + + /* + * A TT8142 creates both dovdd_1v8 and vcc28_dvp, controlled + * by the dvp_pwr pin. + */ + vcc28_dvp: vcc28-dvp-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&dvp_pwr>; + regulator-name = "vcc28_dvp"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + vin-supply = <&vcc_io>; + }; }; &cpu0 {
@@ -377,6 +418,12 @@ }; }; + dvp { + dvp_pwr: dvp-pwr { + rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + gmac { phy_int: phy-int { rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
Signature · 1 line
2.5.3
cover ARM: dts: rockchip: some regulator updates for popmetal and firefly
In reply to Heiko StuebnerAm Mittwoch, 30. September 2015, 21:17:45 schrieb Heiko Stuebner:
Quoted 11 lines
The upcoming mmc tuning definitly needs correct handling of the iodomains, which is also good to have in general. So this fixes some small regulator issues and then adds the io-domains for the rk3288 popmetal and firefly boards.
Heiko Stuebner (5):
ARM: dts: rockchip: add rk3288-popmetal board to dtb list
ARM: dts: rockchip: add rk3288-popmemtal mmc supplies
ARM: dts: rockchip: add rk3288-popmetal iodomains
ARM: dts: rockchip: fixup firefly mmc supplies
ARM: dts: rockchip: add rk3288-firefly iodomains
applied these to my dts branch for 4.4