I have succeeded in using the i2c bus with GPIO expander to access the programming pins of my FPGA devices, but the data port uses the localbus. I had initially thought that the uio platform driver would be the ideal approach to creating a device which would allow configuration from userland via the /dev/uio[0|1] device interface, but apparently the device binding is not being accomplished as expected.
localbus@ffe124000 { compatible = "fsl,p4080-elbc", "fsl,elbc", "simple-bus"; reg = <0xf 0xfe124000 0 0x1000>; interrupts = <25 2 0 0>; interrupt-parent = <&mpic>; #address-cells = <2>; #size-cells = <1>; /* Local bus region mappings */ ranges = <0 0 0xf 0xe8000000 0x08000000 /* CS0: Boot flash */ 1 0 0xf 0xd0000000 0x8000 /* CS1: FPGA0 */ 2 0 0xf 0xd1000000 0x8000 >; /* CS2: FPGA1 */ flash@0,0 { ........ }; lim: fpga@1,0 { compatible = "uio_pdrv"; pin-handle=<&lim_ctrl>; }; nitro: fpga@2,0 { compatible = "uio_pdrv"; pin-handle=<&fpe0_ctrl &fpe1_ctrl>; }; }; I have aliases pointing to the localbus nodes lim and nitro, but it appears that the uio_pdrv driver does not bind to the device based upon the compatible property of the tree. I'm hoping to be able to mmap the localbus port memory (0xf_d000_0000 and 0xf_d100_0000) respectively when I open /dev/uio[0|1]. Is there additional driver registration needed in order to use the uio_pdrv driver? What am I missing?? Any pointers would be appreciated. Cheers, Rob _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev