Commit eab5c002 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'amlogic-dt64-3' of...

Merge tag 'amlogic-dt64-3' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into fixes

Amlogic 64-bit DT updates for v4.14 (round 3)
- updates for new MMC driver features/fixes
- support high-speed modes

* tag 'amlogic-dt64-3' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-gxbb: nanopi-k2: enable sdr104 mode
  ARM64: dts: meson-gxbb: nanopi-k2: enable sdcard UHS modes
  ARM64: dts: meson-gxbb: p20x: enable sdcard UHS modes
  ARM64: dts: meson-gxl: libretech-cc: enable high speed modes
  ARM64: dts: meson-gxl: libretech-cc: add card regulator settle times
  ARM64: dts: meson-gxbb: nanopi-k2: add card regulator settle times
  ARM64: dts: meson: add mmc clk gate pins
  ARM64: dts: meson: remove cap-sd-highspeed from emmc nodes
  ARM64: dts: meson-gx: Use correct mmc clock source 0
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 7ea696af 485a308f
...@@ -168,7 +168,8 @@ &pwm_ef { ...@@ -168,7 +168,8 @@ &pwm_ef {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins>; pinctrl-0 = <&sdio_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -194,7 +195,8 @@ brcmf: wifi@1 { ...@@ -194,7 +195,8 @@ brcmf: wifi@1 {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -212,10 +214,10 @@ &sd_emmc_b { ...@@ -212,10 +214,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -107,6 +107,9 @@ vddio_tf: regulator-vddio-tf { ...@@ -107,6 +107,9 @@ vddio_tf: regulator-vddio-tf {
states = <3300000 0>, states = <3300000 0>,
<1800000 1>; <1800000 1>;
regulator-settling-time-up-us = <100>;
regulator-settling-time-down-us = <5000>;
}; };
wifi_32k: wifi-32k { wifi_32k: wifi-32k {
...@@ -250,7 +253,8 @@ &saradc { ...@@ -250,7 +253,8 @@ &saradc {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins>, <&sdio_irq_pins>; pinctrl-0 = <&sdio_pins>, <&sdio_irq_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -276,11 +280,16 @@ brcmf: wifi@1 { ...@@ -276,11 +280,16 @@ brcmf: wifi@1 {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
max-frequency = <100000000>; sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
max-frequency = <200000000>;
disable-wp; disable-wp;
cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
...@@ -294,10 +303,10 @@ &sd_emmc_b { ...@@ -294,10 +303,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "disabled"; status = "disabled";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
disable-wp; disable-wp;
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
/ { / {
compatible = "nexbox,a95x", "amlogic,meson-gxbb"; compatible = "nexbox,a95x", "amlogic,meson-gxbb";
model = "NEXBOX A95X"; model = "NEXBOX A95X";
aliases { aliases {
serial0 = &uart_AO; serial0 = &uart_AO;
}; };
...@@ -232,7 +232,8 @@ &pwm_ef { ...@@ -232,7 +232,8 @@ &pwm_ef {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins>; pinctrl-0 = <&sdio_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -253,7 +254,8 @@ &sd_emmc_a { ...@@ -253,7 +254,8 @@ &sd_emmc_a {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -271,10 +273,10 @@ &sd_emmc_b { ...@@ -271,10 +273,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
/ { / {
compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb"; compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb";
model = "Hardkernel ODROID-C2"; model = "Hardkernel ODROID-C2";
aliases { aliases {
serial0 = &uart_AO; serial0 = &uart_AO;
}; };
...@@ -253,7 +253,8 @@ &scpi_clocks { ...@@ -253,7 +253,8 @@ &scpi_clocks {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -271,10 +272,10 @@ &sd_emmc_b { ...@@ -271,10 +272,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
disable-wp; disable-wp;
......
...@@ -194,7 +194,8 @@ &pwm_ef { ...@@ -194,7 +194,8 @@ &pwm_ef {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins>; pinctrl-0 = <&sdio_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -220,10 +221,14 @@ brcmf: wifi@1 { ...@@ -220,10 +221,14 @@ brcmf: wifi@1 {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
max-frequency = <100000000>; max-frequency = <100000000>;
disable-wp; disable-wp;
...@@ -238,10 +243,10 @@ &sd_emmc_b { ...@@ -238,10 +243,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -155,7 +155,8 @@ &pwm_ef { ...@@ -155,7 +155,8 @@ &pwm_ef {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins &sdio_irq_pins>; pinctrl-0 = <&sdio_pins &sdio_irq_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -181,7 +182,8 @@ brcmf: wifi@1 { ...@@ -181,7 +182,8 @@ brcmf: wifi@1 {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -198,10 +200,10 @@ &sd_emmc_b { ...@@ -198,10 +200,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -392,6 +392,17 @@ mux { ...@@ -392,6 +392,17 @@ mux {
}; };
}; };
emmc_clk_gate_pins: emmc_clk_gate {
mux {
groups = "BOOT_8";
function = "gpio_periphs";
};
cfg-pull-down {
pins = "BOOT_8";
bias-pull-down;
};
};
nor_pins: nor { nor_pins: nor {
mux { mux {
groups = "nor_d", groups = "nor_d",
...@@ -430,6 +441,17 @@ mux { ...@@ -430,6 +441,17 @@ mux {
}; };
}; };
sdcard_clk_gate_pins: sdcard_clk_gate {
mux {
groups = "CARD_2";
function = "gpio_periphs";
};
cfg-pull-down {
pins = "CARD_2";
bias-pull-down;
};
};
sdio_pins: sdio { sdio_pins: sdio {
mux { mux {
groups = "sdio_d0", groups = "sdio_d0",
...@@ -442,6 +464,17 @@ mux { ...@@ -442,6 +464,17 @@ mux {
}; };
}; };
sdio_clk_gate_pins: sdio_clk_gate {
mux {
groups = "GPIOX_4";
function = "gpio_periphs";
};
cfg-pull-down {
pins = "GPIOX_4";
bias-pull-down;
};
};
sdio_irq_pins: sdio_irq { sdio_irq_pins: sdio_irq {
mux { mux {
groups = "sdio_irq"; groups = "sdio_irq";
...@@ -661,21 +694,21 @@ &saradc { ...@@ -661,21 +694,21 @@ &saradc {
&sd_emmc_a { &sd_emmc_a {
clocks = <&clkc CLKID_SD_EMMC_A>, clocks = <&clkc CLKID_SD_EMMC_A>,
<&xtal>, <&clkc CLKID_SD_EMMC_A_CLK0>,
<&clkc CLKID_FCLK_DIV2>; <&clkc CLKID_FCLK_DIV2>;
clock-names = "core", "clkin0", "clkin1"; clock-names = "core", "clkin0", "clkin1";
}; };
&sd_emmc_b { &sd_emmc_b {
clocks = <&clkc CLKID_SD_EMMC_B>, clocks = <&clkc CLKID_SD_EMMC_B>,
<&xtal>, <&clkc CLKID_SD_EMMC_B_CLK0>,
<&clkc CLKID_FCLK_DIV2>; <&clkc CLKID_FCLK_DIV2>;
clock-names = "core", "clkin0", "clkin1"; clock-names = "core", "clkin0", "clkin1";
}; };
&sd_emmc_c { &sd_emmc_c {
clocks = <&clkc CLKID_SD_EMMC_C>, clocks = <&clkc CLKID_SD_EMMC_C>,
<&xtal>, <&clkc CLKID_SD_EMMC_C_CLK0>,
<&clkc CLKID_FCLK_DIV2>; <&clkc CLKID_FCLK_DIV2>;
clock-names = "core", "clkin0", "clkin1"; clock-names = "core", "clkin0", "clkin1";
}; };
......
...@@ -123,7 +123,8 @@ &pwm_ef { ...@@ -123,7 +123,8 @@ &pwm_ef {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -141,10 +142,10 @@ &sd_emmc_b { ...@@ -141,10 +142,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <100000000>; max-frequency = <100000000>;
non-removable; non-removable;
......
...@@ -91,6 +91,9 @@ vcc_card: regulator-vcc-card { ...@@ -91,6 +91,9 @@ vcc_card: regulator-vcc-card {
states = <3300000 0>, states = <3300000 0>,
<1800000 1>; <1800000 1>;
regulator-settling-time-up-us = <200>;
regulator-settling-time-down-us = <50000>;
}; };
vddio_boot: regulator-vddio_boot { vddio_boot: regulator-vddio_boot {
...@@ -197,10 +200,14 @@ &pinctrl_periphs { ...@@ -197,10 +200,14 @@ &pinctrl_periphs {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
max-frequency = <100000000>; max-frequency = <100000000>;
disable-wp; disable-wp;
...@@ -215,10 +222,12 @@ &sd_emmc_b { ...@@ -215,10 +222,12 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-mmc-highspeed; cap-mmc-highspeed;
mmc-ddr-3_3v;
max-frequency = <50000000>; max-frequency = <50000000>;
non-removable; non-removable;
disable-wp; disable-wp;
......
...@@ -189,7 +189,8 @@ &pwm_ef { ...@@ -189,7 +189,8 @@ &pwm_ef {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins>; pinctrl-0 = <&sdio_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -210,7 +211,8 @@ &sd_emmc_a { ...@@ -210,7 +211,8 @@ &sd_emmc_a {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -228,10 +230,10 @@ &sd_emmc_b { ...@@ -228,10 +230,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -95,7 +95,8 @@ &saradc { ...@@ -95,7 +95,8 @@ &saradc {
&sd_emmc_a { &sd_emmc_a {
status = "okay"; status = "okay";
pinctrl-0 = <&sdio_pins>; pinctrl-0 = <&sdio_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdio_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -116,7 +117,8 @@ &sd_emmc_a { ...@@ -116,7 +117,8 @@ &sd_emmc_a {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -134,10 +136,10 @@ &sd_emmc_b { ...@@ -134,10 +136,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -281,6 +281,17 @@ mux { ...@@ -281,6 +281,17 @@ mux {
}; };
}; };
emmc_clk_gate_pins: emmc_clk_gate {
mux {
groups = "BOOT_8";
function = "gpio_periphs";
};
cfg-pull-down {
pins = "BOOT_8";
bias-pull-down;
};
};
nor_pins: nor { nor_pins: nor {
mux { mux {
groups = "nor_d", groups = "nor_d",
...@@ -319,6 +330,17 @@ mux { ...@@ -319,6 +330,17 @@ mux {
}; };
}; };
sdcard_clk_gate_pins: sdcard_clk_gate {
mux {
groups = "CARD_2";
function = "gpio_periphs";
};
cfg-pull-down {
pins = "CARD_2";
bias-pull-down;
};
};
sdio_pins: sdio { sdio_pins: sdio {
mux { mux {
groups = "sdio_d0", groups = "sdio_d0",
...@@ -331,6 +353,17 @@ mux { ...@@ -331,6 +353,17 @@ mux {
}; };
}; };
sdio_clk_gate_pins: sdio_clk_gate {
mux {
groups = "GPIOX_4";
function = "gpio_periphs";
};
cfg-pull-down {
pins = "GPIOX_4";
bias-pull-down;
};
};
sdio_irq_pins: sdio_irq { sdio_irq_pins: sdio_irq {
mux { mux {
groups = "sdio_irq"; groups = "sdio_irq";
...@@ -603,21 +636,21 @@ &saradc { ...@@ -603,21 +636,21 @@ &saradc {
&sd_emmc_a { &sd_emmc_a {
clocks = <&clkc CLKID_SD_EMMC_A>, clocks = <&clkc CLKID_SD_EMMC_A>,
<&xtal>, <&clkc CLKID_SD_EMMC_A_CLK0>,
<&clkc CLKID_FCLK_DIV2>; <&clkc CLKID_FCLK_DIV2>;
clock-names = "core", "clkin0", "clkin1"; clock-names = "core", "clkin0", "clkin1";
}; };
&sd_emmc_b { &sd_emmc_b {
clocks = <&clkc CLKID_SD_EMMC_B>, clocks = <&clkc CLKID_SD_EMMC_B>,
<&xtal>, <&clkc CLKID_SD_EMMC_B_CLK0>,
<&clkc CLKID_FCLK_DIV2>; <&clkc CLKID_FCLK_DIV2>;
clock-names = "core", "clkin0", "clkin1"; clock-names = "core", "clkin0", "clkin1";
}; };
&sd_emmc_c { &sd_emmc_c {
clocks = <&clkc CLKID_SD_EMMC_C>, clocks = <&clkc CLKID_SD_EMMC_C>,
<&xtal>, <&clkc CLKID_SD_EMMC_C_CLK0>,
<&clkc CLKID_FCLK_DIV2>; <&clkc CLKID_FCLK_DIV2>;
clock-names = "core", "clkin0", "clkin1"; clock-names = "core", "clkin0", "clkin1";
}; };
......
...@@ -175,7 +175,8 @@ &ir { ...@@ -175,7 +175,8 @@ &ir {
&sd_emmc_b { &sd_emmc_b {
status = "okay"; status = "okay";
pinctrl-0 = <&sdcard_pins>; pinctrl-0 = <&sdcard_pins>;
pinctrl-names = "default"; pinctrl-1 = <&sdcard_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <4>; bus-width = <4>;
cap-sd-highspeed; cap-sd-highspeed;
...@@ -193,10 +194,10 @@ &sd_emmc_b { ...@@ -193,10 +194,10 @@ &sd_emmc_b {
&sd_emmc_c { &sd_emmc_c {
status = "okay"; status = "okay";
pinctrl-0 = <&emmc_pins>; pinctrl-0 = <&emmc_pins>;
pinctrl-names = "default"; pinctrl-1 = <&emmc_clk_gate_pins>;
pinctrl-names = "default", "clk-gate";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
...@@ -220,7 +220,6 @@ &sd_emmc_c { ...@@ -220,7 +220,6 @@ &sd_emmc_c {
pinctrl-names = "default"; pinctrl-names = "default";
bus-width = <8>; bus-width = <8>;
cap-sd-highspeed;
cap-mmc-highspeed; cap-mmc-highspeed;
max-frequency = <200000000>; max-frequency = <200000000>;
non-removable; non-removable;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment