This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: TDA4VM-spi0回环测试

Part Number: TDA4VM

你好,

请问一下

我需要测试spi 0 spi1 spi 2总线的读写,

将spi0的d0 d1转接在一起,发现tx 有数据波形出来,但rx就是没有读到数据 

对应的dts

main_spi0: spi@2100000 {
compatible = "ti,am654-mcspi","ti,omap4-mcspi";
reg = <0x0 0x2100000 0x0 0x400>;
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; //222-190 32
clocks = <&k3_clks 260 1>;
power-domains = <&k3_pds 260 TI_SCI_PD_EXCLUSIVE>;
#address-cells = <1>;
#size-cells = <0>;
};

&main_spi0 {
status="okay";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_default>;
//ti,pindir-d0-out-d1-in;
//spi-slave;
spidev@0 {
spi-max-frequency = <24000000>;
reg = <0>;
compatible = "linux,spidev";
};
};

spi0_pins_default: spi0_pins_default {
pinctrl-single,pins = <
J721E_IOPAD(0x1cc, PIN_OUTPUT, 0) /* AB5 SPI0_D0*/
J721E_IOPAD(0x1d0, PIN_OUTPUT, 0) /* AA3 SPI0_D1*/
J721E_IOPAD(0x1c8, PIN_OUTPUT, 0) /* AA1 SPI0_Clk*/
J721E_IOPAD(0x1c0, PIN_OUTPUT, 0) /* AA2 SPI0_CS0*/
>;
};

  • root@j7-evm:~# spidev_test -D /dev/spidev5.0 -s 50000000 -v -p UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
    spi mode: 0x0
    bits per word: 8
    max speed: 50000000 Hz (50000 KHz)
    TX | 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU|
    TX | 55 55 55 55 55 55 55 55 55 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |UUUUUUUUU|
    RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................................|
    RX | 00 00 00 00 00 00 00 00 00 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |.........|

  • spi0_pins_default: spi0_pins_default {
    pinctrl-single,pins = <
    J721E_IOPAD(0x1cc, PIN_OUTPUT, 0) /* AB5 SPI0_D0*/
    J721E_IOPAD(0x1d0, PIN_OUTPUT, 0) /* AA3 SPI0_D1*/
    J721E_IOPAD(0x1c8, PIN_OUTPUT, 0) /* AA1 SPI0_Clk*/
    J721E_IOPAD(0x1c0, PIN_OUTPUT, 0) /* AA2 SPI0_CS0*/

    D0, D1都设成OUTPUT模式了,应该是一个输入,一个输出模式。

  • 谢谢,测试了一下,好像是那么回事,正常使用读取外设也是一个out,一个in要写明嘛