Hello,
i'm asking for very urgent help.
I have a custom carrier board with mpxls1028cr7 and wifi module WINC1500 connected via SPI.
I have already written on this topic here :
At the moment I really urgently need advice on the following:
1) Propojení IRQn z WiFi modulu na LS1028
pin 13(IRQn, output ) ---> pin B11 ( I2C, SDA6 , input)
my DTS :
dspi2: spi@2120000 {
compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x0 0x2120000 0x0 0x10000>;
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "dspi";
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
QORIQ_CLK_PLL_DIV(2)>;
dmas = <&edma0 0 54>, <&edma0 0 2>;
dma-names = "tx", "rx";
spi-num-chipselects = <3>;
little-endian;
status = "disabled";
};
gpio1: gpio@2300000 {
compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
reg = <0x0 0x2300000 0x0 0x10000>;
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
little-endian;
};
gpio2: gpio@2310000 {
compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
reg = <0x0 0x2310000 0x0 0x10000>;
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
little-endian;
};
gpio3: gpio@2320000 {
compatible = "fsl,ls1028a-gpio","fsl,qoriq-gpio";
reg = <0x0 0x2320000 0x0 0x10000>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
little-endian;
};
&gpio1 {
status = "okay";
little-endian;
};
&gpio2 {
status = "okay";
little-endian;
};
&gpio3 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c5 {
status = "okay";
};
....
&dspi2 {
status = "okay";
gpios = <&gpio3 0 0>, <&gpio1 0 0>;
cs-gpios = <&gpio3 0 0>, <&gpio1 0 0>;
wilc_spi:wilc_spi@0 {
compatible = "microchip,wilc1000","microchip,wilc3000";
spi-max-frequency = <20000000>;
reg = <0>;
interrupt-parent = <&gpio1>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
chip_en-gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>, <&gpio1 0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
Can I ask to check or correct the device tree ? I think I don't have the interrupts correctly, but I don't know what IRQ number to choose.
2) Please ask for any necessary modifications to RCW ( maybe IIC6_PMUX ?)
Thank you for any answer.
Igor
Hello @ikopetschke,
You can modify (set) the RCW bit[386-384] to 0b010 which means set the I2C7/8 pin to GPIO which is used by WIFI module as interrupt pin.
RCWSR13- bit[386-384] SDHC2_DAT74 _PMUX SDHC2_DAT[7:4] Pin Configuration This field configures functionality of SDHC2_DAT[7:4] pin. |
|
0b000 |
SDHC2 |
0b001 |
GPIO |
0b010 |
I2C7, I2C8 |
0b011 |
{SDHC2_DAT[7], SDHC2_DAT[6], SDHC2_DAT[5], SDHC2_DAT[4]} = { LPUART4_SOUT, LPUART4_SIN, LPUART4_CTS_B, LPUART4_RTS_B} |
0b100 |
{SDHC2_DAT[7], SDHC2_DAT[6], SDHC2_DAT[5], SDHC2_DAT[4]} = { FTM4_CH0, |
0b101 |
Reserved |
0b110 |
XSPI1_B |
0b111 |
Reserved |
2. The interrupt number should be 68.
Hello @ikopetschke,
I would like to inform you that I'm working on your question, I will let you know as soon as I have an update.
Thank you so much for your patience
Regards,
Sebastian