diff --git a/arch/arm/dts/sun50i-h616-orangepi-zero2w.dts b/arch/arm/dts/sun50i-h616-orangepi-zero2w.dts index 2e6e740dc..971891901 100644 --- a/arch/arm/dts/sun50i-h616-orangepi-zero2w.dts +++ b/arch/arm/dts/sun50i-h616-orangepi-zero2w.dts @@ -17,10 +17,11 @@ aliases { ethernet0 = &emac0; serial0 = &uart0; + serial5 = &uart5; }; chosen { - stdout-path = "serial0:115200n8"; + stdout-path = "serial5:115200n8"; }; leds { @@ -170,6 +171,12 @@ status = "okay"; }; +&uart5 { + pinctrl-names = "default"; + pinctrl-0 = <&uart5_ph_pins>; + status = "okay"; +}; + &usbotg { dr_mode = "peripheral"; status = "okay"; diff --git a/arch/arm/dts/sun50i-h616.dtsi b/arch/arm/dts/sun50i-h616.dtsi index dd4d2f311..1cc260298 100644 --- a/arch/arm/dts/sun50i-h616.dtsi +++ b/arch/arm/dts/sun50i-h616.dtsi @@ -211,7 +211,10 @@ pins = "PH0", "PH1"; function = "uart0"; }; - + uart5_ph_pins: uart5-ph-pins { + pins = "PH2", "PH3"; + function = "uart5"; + }; uart1_pins: uart1-pins { pins = "PG6", "PG7"; function = "uart1"; diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h index 2969a530a..bcb792a09 100644 --- a/arch/arm/include/asm/arch-sunxi/gpio.h +++ b/arch/arm/include/asm/arch-sunxi/gpio.h @@ -208,6 +208,7 @@ enum sunxi_gpio_number { #define SUN9I_GPH_UART0 2 #define SUN50I_H6_GPH_UART0 2 #define SUN50I_H616_GPH_UART0 2 +#define SUN50I_H616_GPH_UART5 2 #define SUNXI_GPI_SDC3 2 #define SUN7I_GPI_TWI3 3 diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c index 0537c29b2..650bb928a 100644 --- a/arch/arm/mach-sunxi/board.c +++ b/arch/arm/mach-sunxi/board.c @@ -135,6 +135,10 @@ static int gpio_init(void) sunxi_gpio_set_cfgpin(SUNXI_GPH(0), SUN50I_H616_GPH_UART0); sunxi_gpio_set_cfgpin(SUNXI_GPH(1), SUN50I_H616_GPH_UART0); sunxi_gpio_set_pull(SUNXI_GPH(1), SUNXI_GPIO_PULL_UP); +#elif CONFIG_CONS_INDEX == 6 && defined(CONFIG_MACH_SUN50I_H616) + sunxi_gpio_set_cfgpin(SUNXI_GPH(2), SUN50I_H616_GPH_UART5); + sunxi_gpio_set_cfgpin(SUNXI_GPH(3), SUN50I_H616_GPH_UART5); + sunxi_gpio_set_pull(SUNXI_GPH(3), SUNXI_GPIO_PULL_UP); #elif CONFIG_CONS_INDEX == 1 && defined(CONFIG_MACH_SUN8I_A83T) sunxi_gpio_set_cfgpin(SUNXI_GPB(9), SUN8I_A83T_GPB_UART0); sunxi_gpio_set_cfgpin(SUNXI_GPB(10), SUN8I_A83T_GPB_UART0); diff --git a/configs/orangepi_zero2w_defconfig b/configs/orangepi_zero2w_defconfig index 7bec5462d..267a708e8 100644 --- a/configs/orangepi_zero2w_defconfig +++ b/configs/orangepi_zero2w_defconfig @@ -16,3 +16,4 @@ CONFIG_AXP_DCDC3_VOLT=1100 CONFIG_SPL_I2C_SUPPORT=y CONFIG_AXP313A_POWER=y CONFIG_SPL_SPI_SUNXI=y +CONFIG_CONS_INDEX=6 diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index eb9ccf47c..2d93713a4 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -46,6 +46,9 @@ # define CONFIG_SYS_NS16550_COM3 SUNXI_UART2_BASE # define CONFIG_SYS_NS16550_COM4 SUNXI_UART3_BASE # define CONFIG_SYS_NS16550_COM5 SUNXI_R_UART_BASE +#ifdef CONFIG_MACH_SUN50I_H616 +# define CONFIG_SYS_NS16550_COM6 0x05001400 +#endif #endif /* CPU */ @@ -470,7 +473,7 @@ extern int soft_i2c_gpio_scl; MEM_LAYOUT_ENV_EXTRA_SETTINGS \ DFU_ALT_INFO_RAM \ "fdtfile=" FDTFILE "\0" \ - "console=ttyS0,115200\0" \ + "console=ttyS5,115200\0" \ SUNXI_MTDIDS_DEFAULT \ SUNXI_MTDPARTS_DEFAULT \ "uuid_gpt_esp=" UUID_GPT_ESP "\0" \