From mboxrd@z Thu Jan 1 00:00:00 1970 From: aford173@gmail.com (Adam Ford) Date: Tue, 15 May 2018 17:53:17 -0500 Subject: [PATCH 2/4] ARM: davinci: board-da850-evm: fix GPIO lookup for MMC/SD In-Reply-To: References: <20180424143506.25793-1-nsekhar@ti.com> <20180424143506.25793-3-nsekhar@ti.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Apr 26, 2018 at 8:40 PM, David Lechner wrote: > On 04/24/2018 09:35 AM, Sekhar Nori wrote: >> >> The GPIO chip is called davinci_gpio.0 in legacy mode. Fix it, so that >> mmc can correctly lookup the wp and cp gpios. Also fix the GPIO numbers >> as they are not offsets within a bank. >> >> Note that it is the gpio-davinci driver that sets the gpiochip label to >> davinci_gpio.0. >> >> Fixes: bdf0e8364fd3 ("ARM: davinci: da850-evm: use gpio descriptor for mmc >> pins") >> Signed-off-by: Sekhar Nori >> --- >> arch/arm/mach-davinci/board-da850-evm.c | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm/mach-davinci/board-da850-evm.c >> b/arch/arm/mach-davinci/board-da850-evm.c >> index 3063478bcc36..158ed9a1483f 100644 >> --- a/arch/arm/mach-davinci/board-da850-evm.c >> +++ b/arch/arm/mach-davinci/board-da850-evm.c >> @@ -763,12 +763,17 @@ static const short da850_evm_mcasp_pins[] >> __initconst = { >> -1 >> }; >> +#define DA850_MMCSD_CD_PIN GPIO_TO_PIN(4, 0) >> +#define DA850_MMCSD_WP_PIN GPIO_TO_PIN(4, 1) >> + >> static struct gpiod_lookup_table mmc_gpios_table = { >> .dev_id = "da830-mmc.0", >> .table = { >> /* gpio chip 2 contains gpio range 64-95 */ >> - GPIO_LOOKUP("davinci_gpio.2", 0, "cd", GPIO_ACTIVE_LOW), >> - GPIO_LOOKUP("davinci_gpio.2", 1, "wp", GPIO_ACTIVE_LOW), >> + GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_CD_PIN, "cd", >> + GPIO_ACTIVE_LOW), >> + GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_WP_PIN, "wp", >> + GPIO_ACTIVE_LOW), I don't think the WP polarity is working correctly. If I boot the board 'rw' enabled but WP disabled on the SD card, the system crashes. If I enable WP, the board boots correctly. Comparing this to the device tree version that I did, and double checking the behavior for my sanity, I believe WP needs to be GPIO_ACTIVE_HIGH adam >> }, >> }; >> > > > Reviewed-by: David Lechner >