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
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev