提交 99165b93 编写于 作者: L Levin Du 提交者: Heiko Stuebner

arm64: dts: rockchip: add sdmmc UHS support for roc-rk3328-cc

In roc-rk3328-cc board, the signal voltage of sdmmc is supplied by the
vcc_sdio regulator, which is a mux between 1.8V and 3.3V, controlled by
a special output only gpio pin labeled "gpiomut_pmuio_iout",
corresponding bit 1 of the syscon GRF_SOC_CON10.

This special pin can now be reference as <&grf_gpio 0>, thanks to the
gpio-syscon driver, which makes writing regulator-gpio possible.

If the signal voltage changes, the io domain needs to change
correspondingly.

To use this feature, the following options are required in kernel config:
 - CONFIG_GPIO_SYSCON=y
 - CONFIG_POWER_AVS=y
 - CONFIG_ROCKCHIP_IODOMAIN=y
Signed-off-by: NLevin Du <djw@t-chip.com.cn>
Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
上级 692ff61e
...@@ -41,6 +41,19 @@ ...@@ -41,6 +41,19 @@
vin-supply = <&vcc_io>; vin-supply = <&vcc_io>;
}; };
vcc_sdio: sdmmcio-regulator {
compatible = "regulator-gpio";
gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>;
states = <1800000 0x1
3300000 0x0>;
regulator-name = "vcc_sdio";
regulator-type = "voltage";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
vin-supply = <&vcc_sys>;
};
vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator { vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
enable-active-high; enable-active-high;
...@@ -213,7 +226,7 @@ ...@@ -213,7 +226,7 @@
vccio1-supply = <&vcc_io>; vccio1-supply = <&vcc_io>;
vccio2-supply = <&vcc18_emmc>; vccio2-supply = <&vcc18_emmc>;
vccio3-supply = <&vcc_io>; vccio3-supply = <&vcc_sdio>;
vccio4-supply = <&vcc_18>; vccio4-supply = <&vcc_18>;
vccio5-supply = <&vcc_io>; vccio5-supply = <&vcc_io>;
vccio6-supply = <&vcc_io>; vccio6-supply = <&vcc_io>;
...@@ -242,7 +255,12 @@ ...@@ -242,7 +255,12 @@
max-frequency = <150000000>; max-frequency = <150000000>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
vmmc-supply = <&vcc_sd>; vmmc-supply = <&vcc_sd>;
vqmmc-supply = <&vcc_sdio>;
status = "okay"; status = "okay";
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册