Allwinner Tina Linux modifica el puerto serie (UART0->UART1)
Nota: estoy usando F133-A(D1s)
1. Modificar los puertos serie de boot0 y uboot
1.1 Modifique el archivo sys_config.fex.
1) La ruta del archivo es:tina-d1-h/device/config/chips/d1s/configs/nezha/sys_config.fex
antes de arreglar:
[uart_para]
uart_debug_port = 0
uart_debug_tx = port:PF2<3><1><default><default>
uart_debug_rx = port:PF4<3><1><default><default>
Después de la modificación:
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PG06<2><1><default><default>
uart_debug_rx = port:PG07<2><1><default><default>
Cuando <3> se cambia a <2>, debe consultar el UART1 de PG6 y PG7 en la hoja de datos (D1s_Datasheet_V1.0) que se aprende de la Función2
1.2 Modificar el ÍNDICE DE LA CONSOLA UBOOT
1) La ruta es: tina-d1-h/lichee/brandy-2.0/u-boot-2018/configs/sun20iw1p1_defconfig
2) Agregar al final
CONFIG_SPECIFY_CONSOLE_INDEX=y
CONFIG_CONS_INDEX=2 #说明:这里是UART 1+1 = 2 串口号+1 (注意,这个注释记得去掉,否则编译报错)
2. Modificar el puerto serie del kernel.
2.1 Modificar el árbol de dispositivos (salida del puerto serie utilizado por el kernel)
1) La ruta del archivo es: tina-d1-h/device/config/chips/d1s/configs/nezha/board.dts
antes de arreglar:
&uart0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart0_pins_a>;
pinctrl-1 = <&uart0_pins_b>;
status = "okay";
};
&uart1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_pins_a>;
pinctrl-1 = <&uart1_pins_b>;
status = "disabled";
};
&uart2 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart2_pins_a>;
pinctrl-1 = <&uart2_pins_b>;
status = "disabled";
};
&uart3 {
compatible = "allwinner,sun20iw1-dsp-uart";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart3_pins_a>;
pinctrl-1 = <&uart3_pins_a>;
status = "disabled";
};
Después de la modificación:
&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 = "disabled";
};
&uart3 {
compatible = "allwinner,sun20iw1-dsp-uart";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart3_pins_a>;
pinctrl-1 = <&uart3_pins_a>;
status = "disabled";
};
2.2 Modificar argumentos de arranque
1) La ruta es: tina-d1-h/device/config/chips/d1s/configs/default/env.cfg
antes de arreglar:
#kernel command arguments
earlyprintk=sunxi-uart,0x02500000
initcall_debug=0
console=ttyS0,115200
Después de la modificación:
#kernel command arguments
earlyprintk=sunxi-uart,0x02500400
initcall_debug=0
console=ttyS1,115200
Nota: earlyprintk=sunxi-uart, 0x02500000 debe cambiarse a la dirección de UART1, que es 0x02500400 del manual