[PATCH] sunxi: board: Add H616 MMC2 pins

17 views
Skip to first unread message

Andre Przywara

unread,
Apr 26, 2021, 8:15:21 AM4/26/21
to Jagan Teki, Jernej Skrabec, Samuel Holland, Icenowy Zheng, u-b...@lists.denx.de, linux...@googlegroups.com, linux...@lists.linux.dev
We hardcode the pinctrl setting for the MMC controllers in boards.c,
since we need them also in the SPL, where there is no DT yet.

Add the respective setting for the H616 SoC, to enable eMMC on boards
with this SoC as well.
Also to make diagnosing this problem easier, print a warning if a board
tries to setup MMC2 pins without a respective SoC setting being defined.

Signed-off-by: Andre Przywara <andre.p...@arm.com>
---
board/sunxi/board.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index b97ca578f7f..f825dfd7ce8 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -555,6 +555,17 @@ static void mmc_pinmux_setup(int sdc)
sunxi_gpio_set_pull(pin, SUNXI_GPIO_PULL_UP);
sunxi_gpio_set_drv(pin, 2);
}
+#elif defined(CONFIG_MACH_SUN50I_H616)
+ /* SDC2: PC0-PC1, PC5-PC6, PC8-PC11, PC13-PC16 */
+ for (pin = SUNXI_GPC(0); pin <= SUNXI_GPC(16); pin++) {
+ if (pin > SUNXI_GPC(1) && pin < SUNXI_GPC(5))
+ continue;
+ if (pin == SUNXI_GPC(7) || pin == SUNXI_GPC(12))
+ continue;
+ sunxi_gpio_set_cfgpin(pin, SUNXI_GPC_SDC2);
+ sunxi_gpio_set_pull(pin, SUNXI_GPIO_PULL_UP);
+ sunxi_gpio_set_drv(pin, 2);
+ }
#elif defined(CONFIG_MACH_SUN9I)
/* SDC2: PC6-PC16 */
for (pin = SUNXI_GPC(6); pin <= SUNXI_GPC(16); pin++) {
@@ -562,6 +573,8 @@ static void mmc_pinmux_setup(int sdc)
sunxi_gpio_set_pull(pin, SUNXI_GPIO_PULL_UP);
sunxi_gpio_set_drv(pin, 2);
}
+#else
+ puts("ERROR: No pinmux setup defined for MMC2!\n");
#endif
break;

--
2.17.5

Jagan Teki

unread,
Apr 26, 2021, 8:25:53 AM4/26/21
to Andre Przywara, Jernej Skrabec, Samuel Holland, Icenowy Zheng, U-Boot-Denx, linux-sunxi, linux...@lists.linux.dev
On Mon, Apr 26, 2021 at 5:45 PM Andre Przywara <andre.p...@arm.com> wrote:
>
> We hardcode the pinctrl setting for the MMC controllers in boards.c,
> since we need them also in the SPL, where there is no DT yet.
>
> Add the respective setting for the H616 SoC, to enable eMMC on boards
> with this SoC as well.
> Also to make diagnosing this problem easier, print a warning if a board
> tries to setup MMC2 pins without a respective SoC setting being defined.
>
> Signed-off-by: Andre Przywara <andre.p...@arm.com>
> ---

Reviewed-by: Jagan Teki <ja...@amarulasolutions.com>

Jernej Škrabec

unread,
Apr 26, 2021, 12:14:24 PM4/26/21
to Jagan Teki, linux...@googlegroups.com, Samuel Holland, Icenowy Zheng, u-b...@lists.denx.de, linux...@googlegroups.com, linux...@lists.linux.dev, andre.p...@arm.com
Dne ponedeljek, 26. april 2021 ob 14:14:46 CEST je Andre Przywara napisal(a):
> We hardcode the pinctrl setting for the MMC controllers in boards.c,
> since we need them also in the SPL, where there is no DT yet.
>
> Add the respective setting for the H616 SoC, to enable eMMC on boards
> with this SoC as well.
> Also to make diagnosing this problem easier, print a warning if a board
> tries to setup MMC2 pins without a respective SoC setting being defined.
>
> Signed-off-by: Andre Przywara <andre.p...@arm.com>

Reviewed-by: Jernej Skrabec <jernej....@siol.net>

Best regards,
Jernej



Reply all
Reply to author
Forward
0 new messages