Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: keystone-k2g-evm: Enable MMC0 and MMC1

Enable MMC0 which is used for micro SD and MMC1 which is used for the on
board EMMC.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[fcooper@ti.com: add mmc1, bufferclass and pullup/pulldown settings]
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
[nsekhar@ti.com: add card detect GPIO support]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>

authored by

Lokesh Vutla and committed by
Santosh Shilimkar
edd404e0 9529de63

+53
+53
arch/arm/boot/dts/keystone-k2g-evm.dts
··· 25 25 reg = <0x00000008 0x00000000 0x00000000 0x80000000>; 26 26 }; 27 27 28 + vcc3v3_dcin_reg: fixedregulator-vcc3v3-dcin { 29 + compatible = "regulator-fixed"; 30 + regulator-name = "mmc0_fixed"; 31 + regulator-min-microvolt = <3300000>; 32 + regulator-max-microvolt = <3300000>; 33 + regulator-always-on; 34 + }; 28 35 }; 29 36 30 37 &k2g_pinctrl { ··· 41 34 K2G_CORE_IOPAD(0x11d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ 42 35 >; 43 36 }; 37 + 38 + mmc0_pins: pinmux_mmc0_pins { 39 + pinctrl-single,pins = < 40 + K2G_CORE_IOPAD(0x1300) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat3.mmc0_dat3 */ 41 + K2G_CORE_IOPAD(0x1304) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat2.mmc0_dat2 */ 42 + K2G_CORE_IOPAD(0x1308) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat1.mmc0_dat1 */ 43 + K2G_CORE_IOPAD(0x130c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat0.mmc0_dat0 */ 44 + K2G_CORE_IOPAD(0x1310) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_clk.mmc0_clk */ 45 + K2G_CORE_IOPAD(0x1314) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_cmd.mmc0_cmd */ 46 + K2G_CORE_IOPAD(0x12ec) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* mmc0_sdcd.gpio1_12 */ 47 + >; 48 + }; 49 + 50 + mmc1_pins: pinmux_mmc1_pins { 51 + pinctrl-single,pins = < 52 + K2G_CORE_IOPAD(0x10ec) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat7.mmc1_dat7 */ 53 + K2G_CORE_IOPAD(0x10f0) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat6.mmc1_dat6 */ 54 + K2G_CORE_IOPAD(0x10f4) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat5.mmc1_dat5 */ 55 + K2G_CORE_IOPAD(0x10f8) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat4.mmc1_dat4 */ 56 + K2G_CORE_IOPAD(0x10fc) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat3.mmc1_dat3 */ 57 + K2G_CORE_IOPAD(0x1100) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat2.mmc1_dat2 */ 58 + K2G_CORE_IOPAD(0x1104) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat1.mmc1_dat1 */ 59 + K2G_CORE_IOPAD(0x1108) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat0.mmc1_dat0 */ 60 + K2G_CORE_IOPAD(0x110c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_clk.mmc1_clk */ 61 + K2G_CORE_IOPAD(0x1110) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_cmd.mmc1_cmd */ 62 + >; 63 + }; 44 64 }; 45 65 46 66 &uart0 { 47 67 pinctrl-names = "default"; 48 68 pinctrl-0 = <&uart0_pins>; 69 + status = "okay"; 70 + }; 71 + 72 + &gpio1 { 73 + status = "okay"; 74 + }; 75 + 76 + &mmc0 { 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&mmc0_pins>; 79 + vmmc-supply = <&vcc3v3_dcin_reg>; 80 + cd-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 81 + status = "okay"; 82 + }; 83 + 84 + &mmc1 { 85 + pinctrl-names = "default"; 86 + pinctrl-0 = <&mmc1_pins>; 87 + vmmc-supply = <&vcc3v3_dcin_reg>; /* VCC3V3_EMMC is connected to VCC3V3_DCIN */ 49 88 status = "okay"; 50 89 };