]> git.sur5r.net Git - u-boot/commitdiff
sunxi: Enable eMMC on Libre Computer Board ALL-H3-CC boards
authorChen-Yu Tsai <wens@csie.org>
Sat, 14 Jul 2018 13:55:45 +0000 (21:55 +0800)
committerJagan Teki <jagan@amarulasolutions.com>
Tue, 17 Jul 2018 15:37:34 +0000 (21:07 +0530)
The Libretech ALL-H3-CC has a high density connector for attaching
an eMMC module. The module form factor and connection is specific
to Libretech, and has provisions for split vmmc/vqmmc (core and I/O)
voltage supplies, but this board does not wire the vqmmc side. The
H2+/H3/H5 SoCs do not support alternate I/O voltages for eMMC either.
Only 3.3V is supported. A specific module that ties vqmmc to vmmc,
with both at 3.3V, must be used.

Given that a) eMMC is not designed to be hotplugged, b) power is
always provided on the pins, and c) MMC controllers can deal with
missing cards, we can enable this by default. If a module is attached
it will be picked up by the system.

The device tree change was also submitted to the Linux Kernel and
has already been queued up for 4.19.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
arch/arm/dts/sunxi-libretech-all-h3-cc.dtsi
configs/libretech_all_h3_cc_h2_plus_defconfig
configs/libretech_all_h3_cc_h3_defconfig
configs/libretech_all_h3_cc_h5_defconfig

index 111707cfa2af247119ea54197447d9151d19c9eb..14c8ec16d47ea1b505460cb1f141de21b56b9e52 100644 (file)
        status = "okay";
 };
 
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;
+       vmmc-supply = <&reg_vcc_io>;
+       bus-width = <8>;
+       non-removable;
+       status = "okay";
+};
+
 &ohci1 {
        status = "okay";
 };
index 0cbcd48aadb8f1092a586d71bb8389bcf8dc55fe..071be93697cbd3bb895244bf994c719dffff1c92 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-libretech-all-h3-cc"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 # CONFIG_CMD_FLASH is not set
index 185facdf3eab8b0190aa068619a344837bbff1a6..c20ad9f3a2490f14eb67c68321e26245a6f5ef8e 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_MACH_SUN8I_H3=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-libretech-all-h3-cc"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 # CONFIG_CMD_FLASH is not set
index 061bddc8fd5e554cf0e058c2e49edd5744f7ceba..5db8dfcd4f985f794073b401c3002c7e1bc63740 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_MACH_SUN50I_H5=y
 CONFIG_DRAM_CLK=672
 CONFIG_DRAM_ZQ=3881979
 CONFIG_DRAM_ODT_EN=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
 CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-libretech-all-h3-cc"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 # CONFIG_CMD_FLASH is not set