用T113-S3的串口1,2,3作为RS485接口
用串口的RTS引脚作为RS485收发控制
但是发现数据发送完成了,RTS依然有效,持续持间差不多30ms(9600波特率)
把波特率调高,改成115200,数据发送完成了,RTS依然有效,持续持间差不多30ms,这个明显RTS持续时间太长了,如何解决?或者问题可能在哪里?
用 stty -F /dev/ttyS1 crtscts 使能RTS控制
echo 3333333 > /dev/ttyS1
用linux命令测试的
图中绿色的TXD信号
黄色的是RTS信号
不必纠结RTS高低电平有效问题,我们的485电路设计的DE/RE引脚接有有反相器反向的
Steelen 发布的最佳帖子
-
T113-S3 RTS时序问题
Steelen 发布的最新帖子
-
T113-S3 LONGAN SDC2接XR829 内核无法启动
非常奇怪的现象
T113-S3 SDC0 接EMMC
SDC2 接 XR829
在board.dts中一旦使能 (okay)SDC2,内核就无法启动了,disabled可以正常启动
启动的时候SDIO CLK引脚会有一个短暂的时钟信号,CMD引脚也有短暂的时钟信号,然后内核就挂了M/TC: OP-TEE version: 53fe17e2-dirty (gcc version 5.3.1 20160412 (Linaro GCC 5.3 -2016.05)) #6 Fri Feb 18 08:54:51 UTC 2022 arm ** 60 printk messages dropped ** [ 0.006685] 001: devtmpfs: initialized ** 2 printk messages dropped ** [ 0.025421] 000: futex hash table entries: 512 (order: 3, 32768 bytes, linear ) [ 0.026213] 000: pinctrl core: initialized pinctrl subsystem [ 0.028186] 000: NET: Registered protocol family 16 [ 0.032121] 000: DMA: preallocated 256 KiB pool for atomic coherent allocatio ns ** 9 printk messages dropped ** [ 0.142015] 000: videodev: Linux video capture interface: v2.00 ** 16 printk messages dropped ** [ 0.188719] 000: sunxi_spi_resource_get()2177 - [spi1] SPI MASTER MODE ** 16 printk messages dropped ** [ 0.243086] 000: [DISP]disp_module_init finish ** 1 printk message dropped ** [ 0.245782] 000: sun8iw20-pinctrl pio: pio supply vcc-pg not found, using dum my regulator [ 0.246181] 000: uart uart1: get regulator failed [ 0.246202] 000: uart uart1: uart1 supply uart not found, using dummy regulat or [ 0.246742] 000: uart1: ttyS1 at MMIO 0x2500400 (irq = 34, base_baud = 150000 0) is a SUNXI ** 9 printk messages dropped ** [ 0.252255] 000: uart uart5: get regulator failed ** 1 printk message dropped ** [ 0.252837] 000: uart5: ttyS5 at MMIO 0x2501400 (irq = 38, base_baud = 150000 0) is a SUNXI [ 0.252865] 000: sw_console_setup()1808 - console setup baud 115200 parity n bits 8, flow n [ 0.252931] 000: printk: console [ttyS5] enabled [ 0.254287] 000: misc dump reg init [ 0.258222] 001: libphy: Fixed MDIO Bus: probed ** 5 printk messages dropped ** [ 0.259262] 001: usbcore: registered new interface driver cdc_ncm [ 0
我觉得是DTS文件有关SDC2的部分配置有问题,但是找不出问题在哪里
/* * Allwinner Technology CO., Ltd. */ /dts-v1/; /* optee used 7MB: SHM 2M: OS: 1M: TA:4M*/ /memreserve/ 0x41900000 0x00100000; /* DSP used 1MB */ /* /memreserve/ 0x42000000 0x00100000; */ #include "sun8iw20p1.dtsi" /{ model = "sun8iw20"; compatible = "allwinner,r528", "arm,sun8iw20p1"; reg_vdd_cpu: vdd-cpu { compatible = "pwm-regulator"; pwms = <&pwm 3 5000 0>; regulator-name = "vdd_cpu"; regulator-min-microvolt = <810000>; regulator-max-microvolt = <1160000>; regulator-settling-time-us = <4000>; regulator-always-on; regulator-boot-on; status = "okay"; }; reg_usb1_vbus: usb1-vbus { compatible = "regulator-fixed"; regulator-name = "usb1-vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-enable-ramp-delay = <1000>; gpio = <&pio PD 19 GPIO_ACTIVE_HIGH>; enable-active-high; }; can0: can@0x0 { #address-cells = <1>; #size-cells = <0>; compatible = "allwinner,sun8i-can"; pinctrl-0 = <&can0_pins_a>; pinctrl-1 = <&can0_pins_b>; pinctrl-names = "default", "sleep"; device_type = "can0"; id = <0>; status = "okay"; }; can1: can@0x1 { #address-cells = <1>; #size-cells = <0>; compatible = "allwinner,sun8i-can"; pinctrl-0 = <&can1_pins_a>; pinctrl-1 = <&can1_pins_b>; pinctrl-names = "default", "sleep"; device_type = "can1"; id = <1>; status = "okay"; }; }; &cpu0 { cpu-supply = <®_vdd_cpu>; }; &pio { sdc0_pins_a: sdc0@0 { allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; allwinner,function = "sdc0"; allwinner,muxsel = <2>; allwinner,drive = <3>; allwinner,pull = <1>; pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; function = "sdc0"; drive-strength = <30>; bias-pull-up; power-source = <3300>; }; sdc0_pins_b: sdc0@1 { pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; function = "sdc0"; drive-strength = <30>; bias-pull-up; power-source = <1800>; }; sdc0_pins_c: sdc0@2 { pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; function = "gpio_in"; }; /* TODO: add jtag pin */ sdc0_pins_d: sdc0@3 { pins = "PF2", "PF4"; function = "uart0"; drive-strength = <10>; bias-pull-up; }; sdc0_pins_e: sdc0@4 { pins = "PF0", "PF1", "PF3", "PF5"; function = "jtag"; drive-strength = <10>; bias-pull-up; }; sdc1_pins_a: sdc1@0 { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; function = "sdc1"; drive-strength = <30>; bias-pull-up; }; sdc1_pins_b: sdc1@1 { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; function = "sdc1"; }; sdc2_pins_a: sdc2@0 { allwinner,pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; allwinner,function = "sdc2"; allwinner,muxsel = <3>; allwinner,drive = <3>; allwinner,pull = <1>; pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; function = "sdc2"; drive-strength = <30>; bias-pull-up; }; sdc2_pins_b: sdc2@1 { pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; function = "gpio_in"; }; wlan_pins_a:wlan@0 { pins = "PG11"; function = "clk_fanout1"; }; /* lvds0_pins_a: lvds0@0 { allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,function = "lvds0"; allwinner,muxsel = <3>; allwinner,drive = <3>; allwinner,pull = <0>; }; lvds0_pins_b: lvds0@1 { allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,function = "io_disabled"; allwinner,muxsel = <7>; allwinner,drive = <3>; allwinner,pull = <0>; }; */ uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ pins = "PF2", "PF4"; function = "uart0"; drive-strength = <10>; bias-pull-up; }; uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ pins = "PF2", "PF4"; function = "gpio_in"; }; uart1_pins_a: uart1_pins@0 { /* For EVB1 board */ pins = "PG6", "PG7", "PG8", "PG9"; function = "uart1"; drive-strength = <10>; bias-pull-up; }; uart1_pins_b: uart1_pins { /* For EVB1 board */ pins = "PG6", "PG7", "PG8", "PG9"; function = "gpio_in"; }; uart2_pins_a: uart2_pins@0 { /* For EVB1 board */ pins = "PD1", "PD2", "PD3", "PD4"; function = "uart2"; drive-strength = <10>; bias-pull-up; }; uart2_pins_b: uart2_pins@1 { /* For EVB1 board */ pins = "PD1", "PD2", "PD3", "PD4"; function = "gpio_in"; }; uart3_pins_a: uart3_pins@0 { /* For t113_evb */ pins = "PG0", "PG1", "PG2", "PG3"; function = "uart3"; drive-strength = <10>; bias-pull-up; }; uart3_pins_b: uart3_pins@1 { /* For t113_evb */ pins = "PG0", "PG1", "PG2", "PG3"; function = "gpio_in"; }; uart4_pins_a: uart4_pins@0 { /* For t113_evb */ pins = "PD7", "PD8"; function = "uart4"; drive-strength = <10>; bias-pull-up; }; uart4_pins_b: uart4_pins@1 { /* For t113_evb */ pins = "PD7", "PD8"; function = "gpio_in"; }; uart5_pins_a: uart5_pins@0 { /* For t113_evb */ pins = "PD5", "PD6"; function = "uart5"; drive-strength = <10>; bias-pull-up; }; uart5_pins_b: uart5_pins@1 { /* For t113_evb */ pins = "PD5", "PD6"; function = "gpio_in"; }; twi0_pins_a: twi0@0 { pins = "PB2", "PB3"; function = "twi0"; drive-strength = <10>; }; twi0_pins_b: twi0@1 { pins = "PB2", "PB3"; function = "gpio_in"; }; twi1_pins_a: twi1@0 { pins = "PE14", "PE15"; function = "twi1"; drive-strength = <10>; }; twi1_pins_b: twi1@1 { pins = "PE14", "PE15"; function = "gpio_in"; }; twi2_pins_a: twi2@0 { pins = "PG14", "PG15"; function = "twi2"; drive-strength = <10>; }; twi2_pins_b: twi2@1 { pins = "PG14", "PG15"; function = "gpio_in"; }; twi3_pins_a: twi3@0 { /* pins = "PE16", "PE17"; */ /* pins = "PG10", "PG11"; */ pins = "PB6", "PB7"; function = "twi3"; drive-strength = <10>; }; twi3_pins_b: twi3@1 { /* pins = "PE16", "PE17"; */ /* pins = "PG10", "PG11"; */ pins = "PB6", "PB7"; function = "gpio_in"; }; s_cir0_pins_a: s_cir0@0 { pins = "PB1"; function = "ir"; drive-strength = <10>; bias-pull-up; }; s_cir0_pins_b: s_cir0@1 { pins = "PB1"; function = "gpio_in"; }; ir1_pins_a: ir1@0 { pins = "PB0"; function = "ir"; drive-strength = <10>; bias-pull-up; }; ir1_pins_b: ir1@1 { pins = "PB0"; function = "gpio_in"; }; dmic_pins_a: dmic@0 { /* DMIC_PIN: CLK, DATA0, DATA1, DATA2, DATA3*/ pins = "PB12", "PB11", "PB10", "PE14", "PB8"; function = "dmic"; drive-strength = <20>; bias-disable; }; dmic_pins_b: dmic@1 { pins = "PB12", "PB11", "PB10", "PE14", "PB8"; allwinner,function = "io_disabled"; drive-strength = <20>; bias-disable; }; daudio0_pins_a: daudio0@0 { pins = "PB29", "PB23", "PB24", "PB25", "PB26", "PB27", "PB28", "PB22"; function = "i2s0"; drive-strength = <20>; bias-disable; }; daudio0_pins_b: daudio0_sleep@0 { pins = "PB29", "PB23", "PB24", "PB25", "PB26", "PB27", "PB28", "PB22"; function = "io_disabled"; drive-strength = <20>; bias-disable; }; daudio1_pins_a: daudio1@0 { /* MCLK, LRCK, BCLK */ pins = "PG12", "PG13"; function = "i2s1"; drive-strength = <20>; bias-disable; }; daudio1_pins_b: daudio1@1 { /* DIN0 */ pins = "PG14"; function = "i2s1_din"; drive-strength = <20>; bias-disable; }; daudio1_pins_c: daudio1@2 { /* DOUT0 */ pins = "PG15"; function = "i2s1_dout"; drive-strength = <20>; bias-disable; }; daudio1_pins_d: daudio1_sleep@0 { pins = "PG12", "PG13", "PG14", "PG15"; function = "io_disabled"; drive-strength = <20>; bias-disable; }; daudio2_pins_a: daudio2@0 { /* I2S_PIN: MCLK, BCLK, LRCK */ pins = "PB7", "PB6", "PB5"; function = "i2s2"; drive-strength = <20>; bias-disable; }; daudio2_pins_b: daudio2@1 { /* I2S_PIN: DIN0 */ pins = "PB3"; function = "i2s2_din"; drive-strength = <20>; bias-disable; }; daudio2_pins_c: daudio2@2 { /* I2S_PIN: DOUT0 */ pins = "PB4"; function = "i2s2_dout"; drive-strength = <20>; bias-disable; }; daudio2_pins_d: daudio2_sleep@0 { pins = "PB7", "PB6", "PB5", "PB4", "PB3"; function = "io_disabled"; drive-strength = <20>; bias-disable; }; spdif_pins_a: spdif@0 { /* SPDIF_PIN: SPDIF_OUT */ pins = "PG18"; function = "spdif"; drive-strength = <20>; bias-disable; }; spdif_pins_b: spdif_sleep@0 { pins = "PG18"; function = "io_disabled"; drive-strength = <20>; bias-disable; }; gmac0_pins_a: gmac@0 { allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7","PE8", "PE9", "PE10"; allwinner,function = "gmac0"; allwinner,muxsel = <8>; allwinner,drive = <1>; allwinner,pull = <0>; }; gmac0_pins_b: gmac@1 { allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7","PE8", "PE9", "PE10"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; allwinner,drive = <1>; allwinner,pull = <0>; }; /* spi0_pins_a: spi0@0 { pins = "PC2", "PC4", "PC5","PC7", "PC6"; function = "spi0"; drive-strength = <10>; }; spi0_pins_b: spi0@1 { pins = "PC3"; function = "spi0"; drive-strength = <10>; bias-pull-up; }; spi0_pins_c: spi0@2 { pins = "PC2", "PC3", "PC4", "PC5","PC6", "PC7"; function = "gpio_in"; drive-strength = <10>; }; */ spi1_pins_a: spi1@0 { pins = "PD11", "PD12", "PD13"; function = "spi1"; drive-strength = <10>; }; /* spi1_pins_b: spi1@1 { pins = "PD10"; function = "spi1"; drive-strength = <10>; bias-pull-up; // only CS should be pulled up }; */ spi1_pins_c: spi1@2 { allwinner,pins = /*"PD10",*/ "PD11", "PD12", "PD13"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; drive-strength = <10>; }; pwm3_pin_a: pwm3@0 { pins = "PB0"; function = "pwm3"; drive-strength = <10>; bias-pull-up; }; pwm3_pin_b: pwm3@1 { pins = "PB0"; function = "gpio_in"; }; pwm7_pin_a: pwm7@0 { pins = "PD22"; function = "pwm7"; drive-strength = <10>; bias-pull-up; }; pwm7_pin_b: pwm7@1 { pins = "PD22"; function = "gpio_in"; }; can0_pins_a: can0@0 { pins = "PB2", "PB3"; function = "can0"; drive-strength = <10>; }; can0_pins_b: can0@1 { pins = "PB2", "PB3"; function = "gpio_in"; }; can1_pins_a: can1@0 { pins = "PB4", "PB5"; function = "can1"; drive-strength = <10>; }; can1_pins_b: can1@1 { pins = "PB4", "PB5"; function = "gpio_in"; }; ledc_pins_a: ledc@0 { pins = "PG13"; function = "ledc"; drive-strength = <10>; }; ledc_pins_b: ledc@1 { pins = "PG13"; function = "gpio_in"; }; rgb24_pins_a: rgb24@0 { allwinner,pins = "PB2", "PB3", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \ "PB4", "PB5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \ "PB6", "PB7", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \ "PD18", "PD19", "PD20", "PD21"; allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", \ "lcdd8", "lcdd9", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", \ "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21", "lcdd22", "lcdd23", \ "lcdclk", "lcdde", "lcdhsync", "lcdvsync"; allwinner,function = "lcd0"; allwinner,muxsel = <2>; allwinner,drive = <3>; allwinner,pull = <0>; }; rgb24_pins_b: rgb24@1 { allwinner,pins = "PB2", "PB3", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \ "PB4", "PB5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \ "PB6", "PB7", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \ "PD18", "PD19", "PD20", "PD21"; allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", \ "lcdd8", "lcdd9", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", \ "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21", "lcdd22", "lcdd23", \ "lcdclk", "lcdde", "lcdhsync", "lcdvsync"; allwinner,function = "io_disabled"; allwinner,muxsel = <7>; allwinner,drive = <3>; allwinner,pull = <0>; }; /* dsi4lane_pins_a: dsi4lane@0 { allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,function = "dsi4lane"; allwinner,muxsel = <4>; allwinner,drive = <3>; allwinner,pull = <0>; }; dsi4lane_pins_b: dsi4lane@1 { allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; allwinner,function = "dsi4lane_suspend"; allwinner,muxsel = <7>; allwinner,drive = <1>; allwinner,pull = <0>; }; */ }; &uart0 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart0_pins_a>; pinctrl-1 = <&uart0_pins_b>; status = "disabled"; }; &uart1 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart1_pins_a>; pinctrl-1 = <&uart1_pins_b>; status = "okay"; }; &uart2 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart2_pins_a>; pinctrl-1 = <&uart2_pins_b>; status = "okay"; }; &uart3 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart3_pins_a>; pinctrl-1 = <&uart3_pins_b>; status = "okay"; }; &uart4 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart4_pins_a>; pinctrl-1 = <&uart4_pins_b>; status = "okay"; }; &uart5 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart5_pins_a>; pinctrl-1 = <&uart5_pins_b>; status = "okay"; }; &sdc2 { non-removable; bus-width = <4>; mmc-hs200-3_3v; /* mmc-ddr-1_8v; mmc-hs200-3_3v; */ /* no-sdio; */ no-mmc; no-sd; ctl-spec-caps = <0x8>; /* cap-mmc-highspeed; */ /* sunxi-power-save-mode;*/ keep-power-in-suspend; ignore-pm-notify; /* sunxi-dis-signal-vol-sw;*/ /* mmc-bootpart-noacc; */ max-frequency = <50000000>; /*vmmc-supply = <®_dcdc1>;*/ /*emmc io vol 3.3v*/ /*vqmmc-supply = <®_aldo1>;*/ /*emmc io vol 1.8v*/ /*vqmmc-supply = <®_eldo1>;*/ status = "okay"; }; &sdc0 { bus-width = <4>; /*cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;*/ non-removable; broken-cd; /*cd-inverted*/ /*data3-detect;*/ /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ /*cd-used-24M;*/ cap-mmc-highspeed; /*sd-uhs-sdr50;*/ /*sd-uhs-ddr50;*/ /*sd-uhs-sdr104;*/ no-sdio; no-sd; sunxi-power-save-mode; sunxi-dis-signal-vol-sw; mmc-bootpart-noacc; max-frequency = <50000000>; ctl-spec-caps = <0x308>; sdc_tm4_sm0_freq0 = <0>; sdc_tm4_sm0_freq1 = <0>; sdc_tm4_sm1_freq0 = <0x00000000>; sdc_tm4_sm1_freq1 = <0>; sdc_tm4_sm2_freq0 = <0x00000000>; sdc_tm4_sm2_freq1 = <0>; sdc_tm4_sm3_freq0 = <0x05000000>; sdc_tm4_sm3_freq1 = <0x00000005>; sdc_tm4_sm4_freq0 = <0x00050000>; sdc_tm4_sm4_freq1 = <0x00000004>; sdc_tm4_sm4_freq0_cmd = <0>; sdc_tm4_sm4_freq1_cmd = <0>; /delete-property/ cap-sd-highspeed; /delete-property/ cap-wait-while-busy; /delete-property/ no-mmc; /*vmmc-supply = <®_dcdc1>;*/ /*vqmmc33sw-supply = <®_dcdc1>;*/ /*vdmmc33sw-supply = <®_dcdc1>;*/ /*vqmmc18sw-supply = <®_eldo1>;*/ /*vdmmc18sw-supply = <®_eldo1>;*/ status = "okay"; }; &sdc1 { bus-width = <4>; no-mmc; no-sd; cap-sd-highspeed; /*sd-uhs-sdr12*/ /*sd-uhs-sdr25;*/ /*sd-uhs-sdr50;*/ /*sd-uhs-ddr50;*/ /*sd-uhs-sdr104;*/ /*sunxi-power-save-mode;*/ /*sunxi-dis-signal-vol-sw;*/ cap-sdio-irq; keep-power-in-suspend; ignore-pm-notify; max-frequency = <150000000>; ctl-spec-caps = <0x8>; status = "disabled"; }; &twi0 { clock-frequency = <400000>; pinctrl-0 = <&twi0_pins_a>; pinctrl-1 = <&twi0_pins_b>; pinctrl-names = "default", "sleep"; twi_drv_used = <0>; dmas = <&dma 43>, <&dma 43>; dma-names = "tx", "rx"; status = "disabled"; ctp@14 { compatible = "allwinner,goodix"; device_type = "ctp"; reg = <0x14>; status = "disabled"; ctp_name = "gt9xxnew_ts"; ctp_twi_id = <0x2>; ctp_twi_addr = <0x14>; ctp_screen_max_x = <0x320>; ctp_screen_max_y = <0x1e0>; ctp_revert_x_flag = <0x0>; ctp_revert_y_flag = <0x0>; ctp_exchange_x_y_flag = <0x0>; ctp_int_port = <&pio PB 6 GPIO_ACTIVE_HIGH>; ctp_wakeup = <&pio PB 7 GPIO_ACTIVE_HIGH>; /*ctp-supply = <®_aldo2>;*/ /*ctp_power_ldo = <®_aldo2>;*/ /*ctp_power_ldo_vol = <3300>;*/ }; }; &twi1 { clock-frequency = <400000>; pinctrl-0 = <&twi1_pins_a>; pinctrl-1 = <&twi1_pins_b>; pinctrl-names = "default", "sleep"; status = "disabled"; }; &twi2 { clock-frequency = <400000>; pinctrl-0 = <&twi2_pins_a>; pinctrl-1 = <&twi2_pins_b>; pinctrl-names = "default", "sleep"; twi_drv_used = <1>; dmas = <&dma 45>, <&dma 45>; dma-names = "tx", "rx"; status = "okay"; rtc@51 { compatible = "nxp,pcf8563"; reg = <0x51>; }; }; &twi3 { clock-frequency = <400000>; pinctrl-0 = <&twi3_pins_a>; pinctrl-1 = <&twi3_pins_b>; pinctrl-names = "default", "sleep"; status = "disabled"; ac108: ac108@3B { #sound-dai-cells = <0>; compatible = "Allwinner,MicArray_0"; device_type = "MicArray_0"; reg = <0x3B>; regulator_used = <0x0>; power_voltage = <3300000>; regulator_name = "vcc-3v3"; power_gpio_used = <0x0>; reset_gpio_used = <0x0>; twi_bus = <0x1>; pga_gain = <0x1F>; slot_width = <0x20>; lrck_period = <0x80>; ref_pga_used = <0x1>; ref_pga_gain = <0x10>; ref_channel = <0x3>; debug_mode = <0x0>; status = "disabled"; }; }; /* &spi0 { clock-frequency = <10000000>; pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; pinctrl-1 = <&spi0_pins_c>; pinctrl-names = "default", "sleep"; spi_slave_mode = <0>; spi0_cs_number = <1>; spi0_cs_bitmap = <1>; status = "disabled"; }; */ &spi1 { clock-frequency = <100000000>; pinctrl-0 = <&spi1_pins_a /*&spi1_pins_b*/>; pinctrl-1 = <&spi1_pins_c>; pinctrl-names = "default", "sleep"; spi_slave_mode = <0>; spi1_cs_number = <1>; spi1_cs_bitmap = <1>; status = "okay"; spi_board1@0 { device_type = "spi_board1"; compatible = "rohm,dh2228fv"; spi-max-frequency = <16000000>; reg = <0x0>; spi-rx-bus-width = <0x4>; spi-tx-bus-width = <0x4>; status = "okay"; }; }; &ledc { pinctrl-0 = <&ledc_pins_a>; pinctrl-1 = <&ledc_pins_b>; pinctrl-names = "default", "sleep"; led_count = <48>; output_mode = "GRB"; reset_ns = <84>; t1h_ns = <800>; t1l_ns = <450>; t0h_ns = <400>; t0l_ns = <850>; wait_time0_ns = <84>; wait_time1_ns = <84>; wait_data_time_ns = <600000>; status = "okay"; }; &s_cir0 { pinctrl-names = "default"; pinctrl-0 = <&s_cir0_pins_a>; status = "disabled"; }; &ir1 { pinctrl-names = "default"; pinctrl-0 = <&ir1_pins_a>; status = "disabled"; }; ...............
-
LAN9514问题
在T113的USB1上挂了一个LAN9514芯片,以扩展4个USB口和1个网口
但是发现一个非常恼火的问题,折腾了好久了,没有头绪sh-4.4# lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 005: ID 0424:ec00
Bus 001 Device 004: ID 0424:9514
Bus 002 Device 001: ID 1d6b:0001能看到设备
U盘插进USB扩展口,也能读到U盘但是就是没有网口
问题可能在哪里呢?没有头绪啊CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_SUNXI=y
CONFIG_USB_EHCI_HCD_PLATFORM=yCONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_SUNXI=y
CONFIG_USB_OHCI_HCD_PLATFORM=yCONFIG_USB_SUNXI_HCD=y
CONFIG_USB_SUNXI_HCI=y
#CONFIG_USB_SUNXI_EHCI0=y
CONFIG_USB_SUNXI_EHCI1=y
#CONFIG_USB_SUNXI_OHCI0=y
CONFIG_USB_SUNXI_OHCI1=y。。。
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_USBNET=yCONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=yCONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_SMSC95XX=y
-
T113-S3 RTS时序问题
用T113-S3的串口1,2,3作为RS485接口
用串口的RTS引脚作为RS485收发控制
但是发现数据发送完成了,RTS依然有效,持续持间差不多30ms(9600波特率)
把波特率调高,改成115200,数据发送完成了,RTS依然有效,持续持间差不多30ms,这个明显RTS持续时间太长了,如何解决?或者问题可能在哪里?
用 stty -F /dev/ttyS1 crtscts 使能RTS控制
echo 3333333 > /dev/ttyS1
用linux命令测试的
图中绿色的TXD信号
黄色的是RTS信号
不必纠结RTS高低电平有效问题,我们的485电路设计的DE/RE引脚接有有反相器反向的