From ab86dc7948778cb087fa8cf9949bd53441097cf8 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Fri, 7 Jul 2017 15:21:45 -0400 Subject: [PATCH] ARM: ti816x: Fix enabling GPIO0, enable GPIO1 as well The TI816x has 2 GPIO banks. For bank 0 we had been clearing the enable bit when setting BIT(8). Correct this by setting it to BIT(1) | BIT(8) after we set and wait for BIT(1) (aka PRCM_MOD_EN). Enable GPIO1 as well so that when CMD_GPIO is enabled it won't crash probing the second bank. Enable CMD_GPIO on ti816x_evm. Signed-off-by: Tom Rini --- arch/arm/mach-omap2/am33xx/clock_ti816x.c | 8 +++++++- configs/ti816x_evm_defconfig | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/am33xx/clock_ti816x.c b/arch/arm/mach-omap2/am33xx/clock_ti816x.c index 967623d467..e9c7b2d996 100644 --- a/arch/arm/mach-omap2/am33xx/clock_ti816x.c +++ b/arch/arm/mach-omap2/am33xx/clock_ti816x.c @@ -335,7 +335,13 @@ static void peripheral_enable(void) writel(PRCM_MOD_EN, &cmalwon->gpio0clkctrl); while (readl(&cmalwon->gpio0clkctrl) != PRCM_MOD_EN) ; - writel((BIT(8)), &cmalwon->gpio0clkctrl); + writel((BIT(1) | BIT(8)), &cmalwon->gpio0clkctrl); + + /* Enable gpio1 */ + writel(PRCM_MOD_EN, &cmalwon->gpio1clkctrl); + while (readl(&cmalwon->gpio1clkctrl) != PRCM_MOD_EN) + ; + writel((BIT(1) | BIT(8)), &cmalwon->gpio1clkctrl); /* Enable spi */ writel(PRCM_MOD_EN, &cmalwon->spiclkctrl); diff --git a/configs/ti816x_evm_defconfig b/configs/ti816x_evm_defconfig index 7f43ecb7eb..2ae72b2f77 100644 --- a/configs/ti816x_evm_defconfig +++ b/configs/ti816x_evm_defconfig @@ -27,6 +27,7 @@ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300 CONFIG_CMD_MMC=y CONFIG_CMD_I2C=y # CONFIG_CMD_FPGA is not set +CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_EXT4_WRITE=y # CONFIG_ISO_PARTITION is not set -- 2.25.1