On Tue, May 31, 2011 at 10:07:01PM -0700, Josh Triplett wrote: > We have a TQM5200 board, which has GPIO lines hooked up to an SM501. > I've managed to come up with the following patch to the tqm5200 device > tree, which manages to convince the sm501 driver to attach an sm501-fb: > > --- a/arch/powerpc/boot/dts/tqm5200.dts 2009-11-23 03:13:27.000000000 -0800 > +++ b/arch/powerpc/boot/dts/tqm5200.dts 2011-05-31 22:00:28.000580627 -0700 > @@ -177,7 +177,8 @@ > compatible = "fsl,mpc5200-lpb","simple-bus"; > #address-cells = <2>; > #size-cells = <1>; > - ranges = <0 0 0xfc000000 0x02000000>; > + ranges = <0 0 0xfc000000 0x02000000 > + 1 0 0xe0000000 0x04000000>; > > flash@0,0 { > compatible = "cfi-flash"; > @@ -187,6 +188,13 @@ > #size-cells = <1>; > #address-cells = <1>; > }; > + > + display@1,0 { > + compatible = "smi,sm501"; > + reg = <1 0x00000000 0x00800000 > + 1 0x03e00000 0x00200000>; > + interrupts = <1 1 3>; > + }; > }; > > pci@f0000d00 { > > > However, this doesn't hook up the sm501-gpio bits. Reading the sm501 > driver carefully, it looks like it only hooks up sm501-gpio if it has > platform_data available which sets some flags and other information. > So, if I understand correctly, hooking up sm501-gpio would require > adding functionality the driver to get the GPIO information from the > device tree in preference to the platform_data, if available, and fall > back to the platform_data for existing users? > > What should the necessary device tree properties look like to replace > sm501_initdata? > > - Josh Triplett
You need to look at Documentation/devicetree/bindings/gpio/gpio.txt. Also, you need to add bits to the sm501-gpio driver to register a dynamically allocated range of gpio pins and to populate the gpiochip->of_node pointer. If that points at a device tree node, then the core code will take care of setting up translation for you. g. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev