[PATCH/RFC 6/6] spi: bcm2835: set gpio-cs to high state prior to any

Martin Sperl kernel at martin.sperl.org
Mon Mar 30 22:56:59 PDT 2015


> On 31.03.2015, at 05:35, Stephen Warren <swarren at wwwdotorg.org> wrote:
> 
> I suspect the solution is simply not to have the pinctrl node set the CS
> pins to GPIO_OUT, but rather rely on gpio_request() ->
> bcm2835_gpio_request() -> bcm2835_pmx_gpio_set_direction() setting up
> the pinmux function for any GPIOs that are requested. Presumably, the CS
> GPIO for each chip is only requested when the DT node for the SPI device
> (not SPI controller device) has been parsed, so the correct GPIO CS
> value can be passed to gpio_request()/gpio_direction_output()?

I will investigate that and create a patch to spi_register_master that
does that for any GPIO-chipselect - this still leaves the question of
how to iterate over all the configured devices early to detect if they
hace cspol set and then setting it low instead of high.

Martin




More information about the linux-rpi-kernel mailing list