Re: [PATCH v3 5/6] spi: at91-usart: add driver for at91-usart as spi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 05/17/2018 07:54 AM, Mark Brown wrote:
On Tue, May 15, 2018 at 12:22:24PM +0300, Radu Pirea wrote:
On Mon, 2018-05-14 at 20:38 +0300, Andy Shevchenko wrote:

So, what is not going as expected in "SPI core takes care of CSs"
case?
Did you use oscilloscope for that?

Yes, I used and CSs was not asserted. Anyway, I will will try again.

If the core chip select handling is not working properly for some reason
then the core chip select handling should be fixed rather than just open
coding in your driver - probably it's also broken for other users.


Hi Mark,

I found the fix for cs-gpios. If I change spi_add_device function like this(see below) everything is ok.

int spi_add_device(struct spi_device *spi)

...

    if (ctlr->cs_gpios){
        spi->cs_gpio = ctlr->cs_gpios[spi->chip_select];
        if(gpio_is_valid(spi->cs_gpio))
gpio_direction_output(spi->cs_gpio, !(spi->mode & SPI_CS_HIGH));

    }

...

    return status;
}

In the subsystem gpio direction of pins is never set and gpio_set_value() don't set the direction. In my opinion gpio_direction_output() set direction should be called in spi_add_device. What do you think? Is ok?
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux