RK3568 UBUNTU20.02 添加WK2168 SPI转8串口调试过程。
成果:
添加过程:
修改设备数:
编译驱动
加载驱动
root@ok3568:/wk/2168# insmod wk2xxx_spi.ko
[ 420.269537] wk2xxx_init: SPI driver for spi to Uart chip WK2XXX, etc.
[ 420.269597] wk2xxx_init: V2.4 On 2022.07.24
[ 420.269894] wk2xxx_probe!!--in--
[ 420.270069] wk2xxx_spi_csgpio_parroot@ok3568:/wk/2168# se_dt!!--in--
[ 420.270170] wk2xxx_cs_gpio: 103
[ 420.270180] wk2xxx_spi_csgpio_parse_dt!!--exit--
[ 420.270202] wk2xxx_spi_cs1gpio_parse_dt!!--in--
[ 420.270227] wk2xxx_cs_gpio: 107
[ 420.270231] wk2xxx_spi_cs1gpio_parse_dt!!--exit--
[ 420.270244] wk2xxx_spi_irq_parse_dt!!--in--
[ 420.270327] wk2xxx_irq_gpio: 108, irq: 113
[ 420.270330] wk2xxx_spi_irq_parse_dt!!--exit--
[ 420.270588] wk2xxx_probe(0x30) GENA = 0x30
[ 420.270668] wk2xxx_probe(0x35) GENA = 0x35
[ 420.270764] wk2xxx_probe(0x3f) GENA = 0x3F
[ 420.271308] wk2xxx_serial_init.
[ 420.271339] wk2xxx_config_port!!
[ 420.271352] wk2xxx_request_port!!---in--
[ 420.271367] wk2xxx_type!!---in--
[ 420.271386] wk2xxx_set_mctrl!!---in--
[ 420.271881] uart_add_one_port:1. status= 0x0
[ 420.271909] wk2xxx_config_port!!
[ 420.271923] wk2xxx_request_port!!---in--
[ 420.271937] wk2xxx_type!!---in--
[ 420.271956] wk2xxx_set_mctrl!!---in--
[ 420.272296] uart_add_one_port:2. status= 0x0
[ 420.272328] wk2xxx_config_port!!
[ 420.272339] wk2xxx_request_port!!---in--
[ 420.272348] wk2xxx_type!!---in--
[ 420.272360] wk2xxx_set_mctrl!!---in--
[ 420.273561] uart_add_one_port:3. status= 0x0
[ 420.273629] wk2xxx_config_port!!
[ 420.273647] wk2xxx_request_port!!---in--
[ 420.273667] wk2xxx_type!!---in--
[ 420.273685] wk2xxx_set_mctrl!!---in--
[ 420.274194] uart_add_one_port:4. status= 0x0
[ 420.274229] wk2xxx_config_port!!
[ 420.274239] wk2xxx_request_port!!---in--
[ 420.274250] wk2xxx_type!!---in--
[ 420.274276] wk2xxx_set_mctrl!!---in--
[ 420.274663] uart_add_one_port:5. status= 0x0
[ 420.274710] wk2xxx_config_port!!
[ 420.274735] wk2xxx_request_port!!---in--
[ 420.274745] wk2xxx_type!!---in--
[ 420.274759] wk2xxx_set_mctrl!!---in--
[ 420.275146] uart_add_one_port:6. status= 0x0
[ 420.275200] wk2xxx_config_port!!
[ 420.275218] wk2xxx_request_port!!---in--
[ 420.275228] wk2xxx_type!!---in--
[ 420.275251] wk2xxx_set_mctrl!!---in--
[ 420.275780] uart_add_one_port:7. status= 0x0
[ 420.275857] wk2xxx_config_port!!
[ 420.275877] wk2xxx_request_port!!---in--
[ 420.275893] wk2xxx_type!!---in--
[ 420.275906] wk2xxx_set_mctrl!!---in--
[ 420.276406] uart_add_one_port:8. status= 0x0
[ 420.276614] devm_request_irq success. ret=0.
测试:
串口1 TX接串口2 RX
发送
接收:
相关调试信息:
root@ok3568:/wk/2168# echo "1234567890" > /dev/ttysWK0
[ 827.407371] wk2xxx_startup!!-port:1;--in--
[ 827.407424] wk2xxx_start(iobase) port1:1,port2:2,port3:3,port4:4
[ 827.407436] wk2xxx_start(iobase) line1:0,line2:1,line3:2,line4:3
[ 827.408603] wk2xxx_enable_ms!!---in--
[ 827.408626] wk2xxx_startup!root@ok3568:/wk/2168# !-port:1;--exit--
[ 827.408651] wk2xxx_termios!!-port:1;--in--
[ 827.408666] wk2xxx_termios!!---c_cflag:0xcbd,c_iflag:0x500.
[ 827.408681] wk2xxx_termios!!---freq:11059200,baudrate:9600
[ 827.408695] wk2xxx_termios!!---baud1:0,baud0:47,pres:0
[ 827.408711] conf_wk2xxx_subport!!-port:1;--in--
[ 827.409270] conf_wk2xxx_subport!!---baud1:0x47;baud0:0x0;pres=0x0.---
[ 827.409420] conf_wk2xxx_subport!!-port:1;--exit--
[ 827.409437] wk2xxx_termios!!-port:1;--exit--
[ 827.409456] wk2xxx_set_mctrl!!---in--
[ 827.409622] wk2xxx_start_tx!!-port:1;--in--
[ 827.409658] wk2xxx_start_tx!!-port:1;ret=1--exit--
[ 827.409672] wk2xxx_start_tx_proc!!-port:1;--in--
[ 827.409690] wk2xxx_start_tx!!-port:1;--in--
[ 827.409706] wk2xxx_start_tx!!-port:1;ret=1--exit--
[ 827.409721] wk2xxx_start_tx!!-port:1;--in--
[ 827.409735] wk2xxx_start_tx!!-port:1;ret=0--exit--
[ 827.409766] wk2xxx_irq!!---in--
[ 827.409789] wk2xxx_irq!!ret:1---exit--
[ 827.409820] wk2xxx_start_tx_proc!!-port:1;--in--
[ 827.409902] wk2xxx_ist!!---in--
[ 827.409985] wk2xxx_port_irq!!-port:1;--in--
[ 827.410075] wk2xxx_tx_chars!!-port:1;--in--
[ 827.410185] wk2xxx_irq!!---in--
[ 827.410206] wk2xxx_irq!!ret:1---exit--
[ 827.410302] wk2xxx_tx_chars!!-port:1;--exit--
[ 827.410385] wk2xxx_ist!!---exit--
[ 827.410407] wk2xxx_ist!!---in--
[ 827.410552] wk2xxx_ist!!---exit--
[ 827.421684] wk2xxx_irq!!---in--
[ 827.421773] wk2xxx_irq!!ret:1---exit--
[ 827.421908] wk2xxx_ist!!---in--
[ 827.422150] wk2xxx_port_irq!!-port:1;--in--
[ 827.422315] wk2xxx_tx_chars!!-port:1;--in--
[ 827.422383] wk2xxx_tx_chars!!-port:1;--exit--
[ 827.422740] wk2xxx_port_irq!!-port:1;--in--
[ 827.422981] wk2xxx_tx_chars!!-port:1;--in--
[ 827.423073] wk2xxx_stop_tx!!-port:1;--in--
[ 827.423090] wk2xxx_tx_empty!!-port:1;--in--
[ 827.423166] wk2xxx_tx_empty!!-port:1;tx_empty:0x1,fsr:0x0--exit--
[ 827.423197] wk2xxx_set_mctrl!!---in--
[ 827.423211] wk2xxx_stop_rx!!-port:1;--in--
[ 827.423224] wk2xxx_stop_rx!!-port:1;ret:1--exit--
[ 827.423230] wk2xxx_stop_tx!!-port:1;--exit--
[ 827.423239] wk2xxx_shutdown!!-port:1;--in--
[ 827.423254] wk2xxx_tx_chars!!-port:1;--exit--
[ 827.423744] wk2xxx_ist!!---exit--
[ 827.423778] wk2xxx_stop_rx_proc!!-port:1;--in--
[ 827.424241] wk2xxx_shutdown!!-port:1;--exit--
[ 827.426821] wk2xxx_irq!!---in--
[ 827.426890] wk2xxx_irq!!ret:1---exit--
[ 827.426971] wk2xxx_ist!!---in--
[ 827.427173] wk2xxx_port_irq!!-port:2;--in--
[ 827.427315] wk2xxx_rx_chars!!-port:2;--in--
[ 827.427576] wk2xxx_rx_chars!!-port:2;--exit--
[ 827.427649] wk2xxx_start_tx!!-port:2;--in--
[ 827.427669] wk2xxx_start_tx!!-port:2;ret=1--exit--
[ 827.427687] wk2xxx_start_tx!!-port:2;--in--
[ 827.427704] wk2xxx_start_tx!!-port:2;ret=0--exit--
[ 827.427713] wk2xxx_port_irq!!-port:2;--exit--
[ 827.427724] wk2xxx_start_tx!!-port:2;--in--
[ 827.427737] wk2xxx_start_tx!!-port:2;ret=0--exit--
[ 827.427897] wk2xxx_ist!!---exit--
[ 827.427912] wk2xxx_start_tx_proc!!-port:2;--in--
[ 827.427980] wk2xxx_irq!!---in--
[ 827.427991] wk2xxx_irq!!ret:1---exit--
[ 827.428010] wk2xxx_ist!!---in--
[ 827.428077] wk2xxx_port_irq!!-port:2;--in--
[ 827.428143] wk2xxx_tx_chars!!-port:2;--in--
[ 827.428272] wk2xxx_irq!!---in--
[ 827.428283] wk2xxx_irq!!ret:1---exit--
[ 827.428430] wk2xxx_tx_chars!!-port:2;--exit--
[ 827.428535] wk2xxx_ist!!---exit--
[ 827.428559] wk2xxx_ist!!---in--
[ 827.428706] wk2xxx_ist!!---exit--
[ 827.441851] wk2xxx_irq!!---in--
[ 827.441907] wk2xxx_irq!!ret:1---exit--
[ 827.441941] wk2xxx_ist!!---in--
[ 827.442101] wk2xxx_port_irq!!-port:2;--in--
[ 827.442285] wk2xxx_tx_chars!!-port:2;--in--
[ 827.442388] wk2xxx_tx_chars!!-port:2;--exit--
[ 827.442473] wk2xxx_port_irq!!-port:2;--in--
[ 827.442574] wk2xxx_tx_chars!!-port:2;--in--
[ 827.442654] wk2xxx_tx_chars!!-port:2;--exit--
[ 827.442783] wk2xxx_port_irq!!-port:2;--in--
[ 827.442920] wk2xxx_tx_chars!!-port:2;--in--
[ 827.442978] wk2xxx_stop_tx!!-port:2;--in--
[ 827.443091] wk2xxx_stop_tx!!-port:2;--exit--
[ 827.443110] wk2xxx_tx_chars!!-port:2;--exit--
[ 827.443224] wk2xxx_ist!!---exit--