Hi Team,
I am working on iMX93 Auto EVK and enabling the communication between iMX93 and QCA7006AQ vi SPI. I am connecting QCA chip on lpspi3 and did following device tree changes in imx93-14x14-evk.dts -
&lpspi3 {
fsl,spi-num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lpspi3>;
cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
status = "okay";
qca7006aq: ethernet@0 {
compatible = "qca,qca7006aq";
reg = <0x0>;
interrupt-parent = <&gpio2>; /* GPIO Bank 2 */
interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; /* Index: 17, level triggered */
spi-cpha; /* SPI mode: CPHA=1 */
spi-cpol; /* SPI mode: CPOL=1 */
spi-max-frequency = <14000000>; /* freq: 14 MHz */
local-mac-address = [ A0 B0 C0 D0 E0 F0 ];
};
};
pinctrl_lpspi3: lpspi3grp {
fsl,pins = <
MX93_PAD_GPIO_IO08__GPIO2_IO08 0x31e /* Chip Select */
MX93_PAD_GPIO_IO09__LPSPI3_SIN 0x3fe
MX93_PAD_GPIO_IO10__LPSPI3_SOUT 0x3fe
MX93_PAD_GPIO_IO11__LPSPI3_SCK 0x3fe
MX93_PAD_GPIO_IO17__GPIO2_IO17 0x31e /* Interrupt*/
>;
};
I am sending command 0xDA00 to read the signature register value but not getting any response on MISO line.
we have followed the below link to come out with above mentioned DTS Configuration
Please help us to understand what we are missed to configure.
Hi @rohitcs0089
From the qca driver function qcaspi_read_register() "https://github.com/qca/qca7000/blob/master/qca-spi/qca_7k.c"
It seems there is no special requirement for CS signal, it used two transfers to read the register, between two transfer, the CS pin will be pulled to invalid. So I think both "MX93_PAD_GPIO_IO08__GPIO2_IO08" and "MX93_PAD_GPIO_IO08__LPSPI3_PCS0" can work for the qca device.
Hi @rohitcs0089,
The MISO signal should be generated by slave and it is QCA7006AQ in your design.
You need to ask Qualcomm.
Best Regards,
Richard