Hi All!
I have a SoC board with mpc8303erdb proc. On the SPI bus I have 2 devices - "pld" and "falc".
The chunk of the board setup file mpc8308erdb_rdb.c:
static struct spi_board_info mpc830x_spi_boardinfo[3] = {
{
.bus_num = 0x7000,
.chip_select = 0,
.max_speed_hz = 5000000,
.modalias = "fsl,spi",
.irq = 17,
},
{
.bus_num = 0x7000,
.chip_select = 1,
.max_speed_hz = 5000000,
.modalias = "fsl,spi",
.irq = 18,
},
};
The chunk from mpc8308erdb.dts file:
spi@7000 {
cell-index = <0>;
compatible = "fsl,spi";
reg = <0x7000 0x1000>;
interrupts = <16 0x8>;
interrupt-parent = <&ipic>;
mode = "cpu";
interrupt-cells = <3>;
pld@0 {
cell-index = <0>;
compatible = "spidev";
spi-max-frequency = <4000000>;
reg = <0>;
interrupts = <17 0x8>;
};
falc@0 {
cell-index = <1>;
compatible = "falc";
interrupts = <18 0x8>;
spi-max-frequency = <4000000>;
reg = <1>;
};
};
After Linux load these devices not found in system. The of_fsl_spi_probe function from fsl_soc.c unsuccessfull and
devices not registered and don't get interrupts. Help me please - what am I doing wrong?