[PATCH 2/4] ARM: davinci: board-da850-evm: fix GPIO lookup for MMC/SD
Adam Ford
aford173 at gmail.com
Wed May 16 06:34:30 PDT 2018
On Wed, May 16, 2018 at 5:14 AM, Sekhar Nori <nsekhar at ti.com> wrote:
> On Wednesday 16 May 2018 04:23 AM, Adam Ford wrote:
>> On Thu, Apr 26, 2018 at 8:40 PM, David Lechner <david at lechnology.com> 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 <nsekhar at ti.com>
>>>> ---
>>>> 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
>
> You are right, I see the issue on my board too. Although this patch did
> not touch the polarity, we could have fixed it here.
>
> Anyway, do you want to send a patch for that? Or I can do it too. A
> similar fix is needed for DA830 EVM too.
I don't have a DA830, so if I do a patch, it will be limited to the
DA850-evm. I can submit a patch later this afternoon, but if you have
time and want to do both at the same time, go head.
adam
>
> Thanks,
> Sekhar
More information about the linux-arm-kernel
mailing list