P4080: attempting to use the uio_pdrv to attach FPGA on localbus ...
Robert Sciuk
robert.sciuk at exfo.com
Thu Nov 17 08:19:51 EST 2011
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 at 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 at 0,0 {
........
};
lim: fpga at 1,0 {
compatible = "uio_pdrv";
pin-handle=<&lim_ctrl>;
};
nitro: fpga at 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
More information about the devicetree-discuss
mailing list