Re: Ang: Re: [PATCH 0/2] Setting GPIOs simultaneously

From: Joakim Tjernlund
Date: Tue Aug 04 2009 - 10:59:25 EST


Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> wrote on 04/08/2009 16:22:50:
>
> On Tue, Aug 04, 2009 at 03:38:40PM +0200, Joakim Tjernlund wrote:
> > Anton Vorontsov <avorontsov@xxxxxxxxxxxxx> wrote on 15/07/2009 00:09:31:
> > >
> > > On Tue, Jul 14, 2009 at 11:20:13PM +0200, Joakim Tjernlund wrote:
> > > [...]
> > > > >But any users of the legacy bindings should be in-tree.
> > > >
> > > > ehh, it was working until you made it OF only. Why do call the native
> > > > way legacy? It is the method all non OF arch uses.
> > >
> > > It's legacy because there are no in-tree users anymore. Nowadays
> > > we're trying to pass all needed information via OF, and we're
> > > trying to avoid ugly platform-dependant hacks. Your SPI scheme
> > > can be easily described via OF, but sure, it's hard to implement
> > > it with the current SPI/OF subsystem.
> >
> > Sorry for the long delay, I have been on vaction and been busy with other stuff.
> >
> > Tell me, how does this new OF SPI device scheme work out if you want
> > to use the bitbanged SPI driver?
>
> spi-controller {
> ...
> compatible = "generic-bitbang-spi";
> gpios = <GPIO_CLK GPIO_MOSI GPIO_MISO>;
> spi,chip-select-machines = <&gpio_csm &board_csm>;
>
> gpio_csm: chip-select-machine {
> #address-cells = <1>;
> #size-cells = <0>;
> compatible = "generic-gpio-csm";
> gpios = <GPIO_CS1 GPIO_CS2>;
>
> touchscreen@0 {
> reg = <0>; /* using GPIO CS1 */
> };
>
> eeprom@1 {
> reg = <1>; /* using GPIO CS2 */
> };
> };
> };
>
> localbus {
> ...
> board_csm: chip-select-machine {
> #address-cells = <1>;
> #size-cells = <0>;
> compatibe = "board-specific-csm";
>
> light-sensor@0 {
> reg = <0>; /* using board-specific "CS3" */
> };
>
> battery@1 {
> reg = <1>; /* using board-specific "CS4" */
> };
> };
> };

hmm, this looks promising. Can I write my own board-specific-csm
and attach it to the SPI CS engine? I don't quite
se how, the 8xxx SPI driver only looks for gpio functions.
Perhaps this is something that you are working on?

Jocke

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/