mbox series

[0/7] dts: amlogic: enable UART RX and TX pull up by default

Message ID 20250329185855.854186-1-martin.blumenstingl@googlemail.com (mailing list archive)
Headers show
Series dts: amlogic: enable UART RX and TX pull up by default | expand

Message

Martin Blumenstingl March 29, 2025, 6:58 p.m. UTC
On the LibreELEC forum there have been reports that Odroid-C2 does not
boot when UART is left disconnected [0]. It turns out that this can be
solved by enabling the SoCs pull-up resistor on the UART RX and TX
pads [1].
It's not clear whether that specific Odroid-C2 board has a broken
resistor, the resistor is not populated (either by accident or on
purpose) or if there's another reason.

Testing on an SM1 X96-Air shows that pull-ups being enabled on UART
RX and TX is actually the default (either set in vendor u-boot or an
actual hardware default).

This series enables the UART RX and TX pull up resistors in the
default pin configuration on all supported SoCs.

Testing has been done on:
- GXBB Odroid-C1 on u-boot by a user in the LibreELEC forums [2]
- Meson8b Odroid-C1 on Linux (with vendor u-boot)
- SM1 X96-Air on Linux (with vendor u-boot)

Please include this early so the various CI systems can test these
patches.


[0] https://forum.libreelec.tv/thread/28586-odroid-c2-gxbb-s905-and-le-11-06-or-12-does-not-boot/?postID=195481#post195481
[1] https://forum.libreelec.tv/thread/28586-odroid-c2-gxbb-s905-and-le-11-06-or-12-does-not-boot/?postID=195667#post195667
[2] https://forum.libreelec.tv/thread/28586-odroid-c2-gxbb-s905-and-le-11-06-or-12-does-not-boot/?postID=195674#post195674


Martin Blumenstingl (7):
  ARM: dts: amlogic: meson8: enable UART RX and TX pull up by default
  ARM: dts: amlogic: meson8b: enable UART RX and TX pull up by default
  arm64: dts: amlogic: gxbb: enable UART RX and TX pull up by default
  arm64: dts: amlogic: gxl: enable UART RX and TX pull up by default
  arm64: dts: amlogic: g12: enable UART RX and TX pull up by default
  arm64: dts: amlogic: axg: enable UART RX and TX pull up by default
  arm64: dts: amlogic: a1: enable UART RX and TX pull up by default

 arch/arm/boot/dts/amlogic/meson8.dtsi             |  4 ++--
 arch/arm/boot/dts/amlogic/meson8b.dtsi            |  4 ++--
 arch/arm64/boot/dts/amlogic/meson-a1.dtsi         |  1 +
 arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 12 ++++++------
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 10 +++++-----
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi       | 10 +++++-----
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi        | 12 ++++++------
 7 files changed, 27 insertions(+), 26 deletions(-)

Comments

Neil Armstrong March 31, 2025, 6:42 a.m. UTC | #1
On 29/03/2025 19:58, Martin Blumenstingl wrote:
> On the LibreELEC forum there have been reports that Odroid-C2 does not
> boot when UART is left disconnected [0]. It turns out that this can be
> solved by enabling the SoCs pull-up resistor on the UART RX and TX
> pads [1].
> It's not clear whether that specific Odroid-C2 board has a broken
> resistor, the resistor is not populated (either by accident or on
> purpose) or if there's another reason.
> 
> Testing on an SM1 X96-Air shows that pull-ups being enabled on UART
> RX and TX is actually the default (either set in vendor u-boot or an
> actual hardware default).
> 
> This series enables the UART RX and TX pull up resistors in the
> default pin configuration on all supported SoCs.
> 
> Testing has been done on:
> - GXBB Odroid-C1 on u-boot by a user in the LibreELEC forums [2]
> - Meson8b Odroid-C1 on Linux (with vendor u-boot)
> - SM1 X96-Air on Linux (with vendor u-boot)
> 
> Please include this early so the various CI systems can test these
> patches.
> 
> 
> [0] https://forum.libreelec.tv/thread/28586-odroid-c2-gxbb-s905-and-le-11-06-or-12-does-not-boot/?postID=195481#post195481
> [1] https://forum.libreelec.tv/thread/28586-odroid-c2-gxbb-s905-and-le-11-06-or-12-does-not-boot/?postID=195667#post195667
> [2] https://forum.libreelec.tv/thread/28586-odroid-c2-gxbb-s905-and-le-11-06-or-12-does-not-boot/?postID=195674#post195674
> 
> 
> Martin Blumenstingl (7):
>    ARM: dts: amlogic: meson8: enable UART RX and TX pull up by default
>    ARM: dts: amlogic: meson8b: enable UART RX and TX pull up by default
>    arm64: dts: amlogic: gxbb: enable UART RX and TX pull up by default
>    arm64: dts: amlogic: gxl: enable UART RX and TX pull up by default
>    arm64: dts: amlogic: g12: enable UART RX and TX pull up by default
>    arm64: dts: amlogic: axg: enable UART RX and TX pull up by default
>    arm64: dts: amlogic: a1: enable UART RX and TX pull up by default
> 
>   arch/arm/boot/dts/amlogic/meson8.dtsi             |  4 ++--
>   arch/arm/boot/dts/amlogic/meson8b.dtsi            |  4 ++--
>   arch/arm64/boot/dts/amlogic/meson-a1.dtsi         |  1 +
>   arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 12 ++++++------
>   arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 10 +++++-----
>   arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi       | 10 +++++-----
>   arch/arm64/boot/dts/amlogic/meson-gxl.dtsi        | 12 ++++++------
>   7 files changed, 27 insertions(+), 26 deletions(-)
> 

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>

I'll apply them now so they can be tested on -next for this whole cycle.

Thanks,
Neil
Neil Armstrong March 31, 2025, 7:01 a.m. UTC | #2
Hi,

On Sat, 29 Mar 2025 19:58:48 +0100, Martin Blumenstingl wrote:
> On the LibreELEC forum there have been reports that Odroid-C2 does not
> boot when UART is left disconnected [0]. It turns out that this can be
> solved by enabling the SoCs pull-up resistor on the UART RX and TX
> pads [1].
> It's not clear whether that specific Odroid-C2 board has a broken
> resistor, the resistor is not populated (either by accident or on
> purpose) or if there's another reason.
> 
> [...]

Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.16/arm64-dt)

[1/7] ARM: dts: amlogic: meson8: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/cfd9d2466ed2891bacb6319bcf9af55f21d0263e
[2/7] ARM: dts: amlogic: meson8b: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/7374b06e8099ce7345ff3afd4bb756dde25971c1
[3/7] arm64: dts: amlogic: gxbb: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/b00fe005612080772fe4f00c61e2fcdd2dea18f0
[4/7] arm64: dts: amlogic: gxl: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/bbeb3017f1596a0551ba0ee40866f8b4e0ca2d3e
[5/7] arm64: dts: amlogic: g12: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/867c3760da4ebd760115f17eca0b4bd3b668941c
[6/7] arm64: dts: amlogic: axg: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/48d5da715331f2fd5e17e64f9e75e74248223b66
[7/7] arm64: dts: amlogic: a1: enable UART RX and TX pull up by default
      https://git.kernel.org/amlogic/c/b85aae3714e65d7b92a6c2c28f62cf66393dfcac

These changes has been applied on the intermediate git tree [1].

The v6.16/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.

In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].

The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.

If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git