天天看點

全志晶片Tina Linux 修改 UART 引腳、UART端口 (2)注意 ARM 平台還需要設定Kernel,如下:

場景二:使用UART3,需要從UART0改為UART3(PB6,PB7)

  1. 修改

    sys_config.fex

    (BOOT0與Uboot的序列槽)

sys_config.fex

的路徑是

device/config/chips/t113/configs/evb1/sys_config.fex

中的

uart_debug_port

修改前:

[uart_para]
uart_debug_port = 0
uart_debug_tx   = port:PF02<3><1><default><default>
uart_debug_rx   = port:PF04<3><1><default><default>
           

修改後

[uart_para]
uart_debug_port = 3
uart_debug_tx   = port:PB06<7><1><default><default>
uart_debug_rx   = port:PB07<7><1><default><default>
           
  1. 修改裝置樹(Linux使用的序列槽輸出)

路徑:

device/config/chips/t113/configs/evb1/board.dts

修改前

uart3_pins_a: uart3_pins@0 {
	pins = "PC6", "PC7";
	function = "uart0";
	drive-strength = <10>;
	allwinner,muxsel = <4>;
	bias-pull-up;
};

uart3_pins_b: uart3_pins@1 {
	pins = "PC6", "PC7";
	function = "gpio_in";
};

&uart0 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart0_pins_a>;
	pinctrl-1 = <&uart0_pins_b>; 
	status = "okay"; 
};

&uart3 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart3_pins_a>;
	pinctrl-1 = <&uart3_pins_b>;
	status = "disabled"; 
};
           

修改後

uart3_pins_a: uart3_pins@0 {
	pins = "PB6", "PB7";
	function = "uart0";
	drive-strength = <10>;
	allwinner,muxsel = <7>;
	bias-pull-up;
};

uart3_pins_b: uart3_pins@1 {
	pins = "PB6", "PB7";
	function = "gpio_in";
};

&uart0 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart0_pins_a>;
	pinctrl-1 = <&uart0_pins_b>; 
	status = "disabled";                               # 關閉UART0
};

&uart3 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&uart3_pins_a>;
	pinctrl-1 = <&uart3_pins_b>;
	status = "okay";                                   # 開啟UART3
};
           
  1. 修改UBOOT CONSOLE INDEX

路徑:

brandy/brandy-2.0/u-boot-2018/configs/sun8iw20p1_defconfig

增加下列内容

CONFIG_SPECIFY_CONSOLE_INDEX=y
CONFIG_CONS_INDEX=4                            # UART 3+1 = 4 
           
  1. 修改啟動bootargs

路徑:

device/config/chips/t113/configs/evb1/env.cfg

修改前

earlyprintk=sunxi-uart,0x02500000
initcall_debug=0
console=ttyS0,115200
           

修改後

earlyprintk=sunxi-uart,0x02500000

需要修改為 UART3 的位址,查閱手冊可知為

0x02500C00

全志晶片Tina Linux 修改 UART 引腳、UART端口 (2)注意 ARM 平台還需要設定Kernel,如下:
earlyprintk=sunxi-uart,0x02500C00
initcall_debug=0
console=ttyS3,115200
           

注意 ARM 平台還需要設定Kernel,如下:

RISC-V 不需要此操作

繼續閱讀