From 87723b5ab887b79b0e9ce597ba098d92b1eba157 Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin <6576495+widgetii@users.noreply.github.com> Date: Mon, 19 Oct 2026 21:41:50 +0300 Subject: [PATCH] arm: dts: hi3516a: enable uart1-3 so boards can mux them for PTZ Only uart0 was enabled, so a board whose PTZ controller hangs off another UART had no tty to talk to, whatever it did with the pads. That is OpenIPC/firmware#2385: a HI3516D_N81820 speed dome whose pan/tilt MCU is driven over Pelco-D from the main board, where the stock firmware muxes UART1 (IOCONFIG 0x200F007C/0x200F0084 = 1) and keeps the UART1_RTSN ball as GPIO9_2 for what looks like an RS-485 direction pin. Enable uart1, uart2 and uart3 and give them serial1..3 aliases, so ttyAMA1..3 name the same controller whatever the probe order. The pads are left alone: every one of them resets to GPIO (datasheet table 2-48, muxctrl_reg30..35), so a board that does not mux them sees no change on the wire and only gains three tty nodes. Muxing is per board and stays with the board. --- arch/arm/boot/dts/hi3516a-demb.dts | 12 ++++++++++++ arch/arm/boot/dts/hi3516a.dtsi | 3 +++ 2 files changed, 15 insertions(+) diff --git a/arch/arm/boot/dts/hi3516a-demb.dts b/arch/arm/boot/dts/hi3516a-demb.dts index 7a0d6103518..79a702d0306 100644 --- a/arch/arm/boot/dts/hi3516a-demb.dts +++ b/arch/arm/boot/dts/hi3516a-demb.dts @@ -87,6 +87,18 @@ status = "okay"; }; +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&uart3 { + status = "okay"; +}; + &dual_timer0 { status = "okay"; }; diff --git a/arch/arm/boot/dts/hi3516a.dtsi b/arch/arm/boot/dts/hi3516a.dtsi index f8ecb0ec4c5..ba29813f29d 100644 --- a/arch/arm/boot/dts/hi3516a.dtsi +++ b/arch/arm/boot/dts/hi3516a.dtsi @@ -23,6 +23,9 @@ / { aliases { serial0 = &uart0; + serial1 = &uart1; + serial2 = &uart2; + serial3 = &uart3; i2c0 = &i2c_bus0; i2c1 = &i2c_bus1; i2c2 = &i2c_bus2;