hi:
There is currently a peripheral spi regmap API used for read and write operations, in ecspi3 bus connection,The cs pin is configured as required cs function which automatically generates a CS signal, not configured GPIO function to generate a CS signal manually .
dts configuration is as follows:
pinctrl_ecspi3: ecspi3grp {
fsl,pins = <
MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO 0x100b1 /* MISO*/
MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI 0x100b1 /* MOSI*/
MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK 0x100b1 /* CLK*/
MX6UL_PAD_UART2_TX_DATA__ECSPI3_SS0 0x100b1 /* CS*/
>;
};
However, the automatic generation CS / SS signals are as follows:
But my spi peripherals required CS / SS signals, as follows
How do I modify the kernel and dts?
linux kernel version is linux-4.9.88
Hi lincheng
one can try below patch :
[v4,1/3] spi: imx: GPIO chip select DT property should not be required - Patchwork
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
hi igorpadykov:
patch does not solve my problem
SPI requires native chip select lines which automatically generates a CS signal ,instead of using the GPIO generates signal CS manually
ths
Hi lincheng,
did you find a solution for your problem? I have the same issue. I need that the CS stays low during a transmission of one command byte and receive three data bytes.
Currently I solved this by using the CS manually as GPIO but this is not very satisfy.