* [PATCH v2 0/3] Add support for Baijie Helper A133 board
@ 2026-05-10 20:16 Alexander Sverdlin
2026-05-10 20:16 ` [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd Alexander Sverdlin
` (2 more replies)
0 siblings, 3 replies; 31+ messages in thread
From: Alexander Sverdlin @ 2026-05-10 20:16 UTC (permalink / raw)
To: linux-sunxi
Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Andre Przywara, devicetree, linux-arm-kernel, linux-kernel
Baijie Helper A133 board is a development board around Baijie A133 Core
SBC. Features:
- 1/2/4GiB LPDDR4 DRAM
- 8/16/32GiB eMMC
- AXP707 PMIC
- 2 USB 2.0 ports
- MicroSD slot and on-board eMMC module
- Gigabit Ethernet
- Bluetooth
- WiFi
Add initial support for both the Helper and Core boards, including UART,
PMU, eMMC, USB, Ethernet.
Link: https://szbaijie.com/index/product/product_detail.html?product_id=23&language=en
Changelog:
v2:
- introduced baijie,helper-a133-core compatible for the Core (SoM) board
v1:
- https://lore.kernel.org/all/20260503191842.2736130-1-alexander.sverdlin@gmail.com/
Alexander Sverdlin (3):
dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd.
dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible
arm64: dts: allwinner: A133: add support for Baijie Helper A133 board
.../devicetree/bindings/arm/sunxi.yaml | 11 ++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../dts/allwinner/sun50i-a133-baije-core.dtsi | 162 ++++++++++++++++++
.../allwinner/sun50i-a133-baijie-helper.dts | 94 ++++++++++
5 files changed, 270 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts
--
2.54.0
^ permalink raw reply [flat|nested] 31+ messages in thread* [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd. 2026-05-10 20:16 [PATCH v2 0/3] Add support for Baijie Helper A133 board Alexander Sverdlin @ 2026-05-10 20:16 ` Alexander Sverdlin 2026-05-18 11:36 ` Paul Kocialkowski 2026-05-10 20:16 ` [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible Alexander Sverdlin 2026-05-10 20:16 ` [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board Alexander Sverdlin 2 siblings, 1 reply; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-10 20:16 UTC (permalink / raw) To: linux-sunxi Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel, Conor Dooley Shenzhen Baijie Technology Co., Ltd. focuses on R&D and production of embedded products as well as customization of embedded solutions. Link: https://szbaijie.com/ Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 28784d66ae7b..095cf654787f 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -229,6 +229,8 @@ patternProperties: description: Azoteq (Pty) Ltd "^azw,.*": description: Shenzhen AZW Technology Co., Ltd. + "^baijie,.*": + description: Shenzhen Baijie Technology Co., Ltd. "^baikal,.*": description: BAIKAL ELECTRONICS, JSC "^bananapi,.*": -- 2.54.0 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd. 2026-05-10 20:16 ` [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd Alexander Sverdlin @ 2026-05-18 11:36 ` Paul Kocialkowski 0 siblings, 0 replies; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 11:36 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel, Conor Dooley [-- Attachment #1: Type: text/plain, Size: 1414 bytes --] Hi, Le Sun 10 May 26, 22:16, Alexander Sverdlin a écrit : > Shenzhen Baijie Technology Co., Ltd. focuses on R&D and production of > embedded products as well as customization of embedded solutions. > > Link: https://szbaijie.com/ > Acked-by: Conor Dooley <conor.dooley@microchip.com> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Reviewed-by: Paul Kocialkowski <paulk@sys-base.io> All the best, Paul > --- > Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml > index 28784d66ae7b..095cf654787f 100644 > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml > @@ -229,6 +229,8 @@ patternProperties: > description: Azoteq (Pty) Ltd > "^azw,.*": > description: Shenzhen AZW Technology Co., Ltd. > + "^baijie,.*": > + description: Shenzhen Baijie Technology Co., Ltd. > "^baikal,.*": > description: BAIKAL ELECTRONICS, JSC > "^bananapi,.*": > -- > 2.54.0 > > -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible 2026-05-10 20:16 [PATCH v2 0/3] Add support for Baijie Helper A133 board Alexander Sverdlin 2026-05-10 20:16 ` [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd Alexander Sverdlin @ 2026-05-10 20:16 ` Alexander Sverdlin 2026-05-11 16:08 ` Conor Dooley 2026-05-18 11:35 ` Paul Kocialkowski 2026-05-10 20:16 ` [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board Alexander Sverdlin 2 siblings, 2 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-10 20:16 UTC (permalink / raw) To: linux-sunxi Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel Baijie HelperBoard A133 is a development board around their A133 Core board. Introduce a compatible for both the Core and the development boards. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> --- Changelog: v2: - introduced baijie,helper-a133-core compatible for the Core (SoM) board Documentation/devicetree/bindings/arm/sunxi.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml index e6443c266fa1..d7b9dec81165 100644 --- a/Documentation/devicetree/bindings/arm/sunxi.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml @@ -96,6 +96,17 @@ properties: - const: allwinner,ba10-tvbox - const: allwinner,sun4i-a10 + - description: Baijie Helper A133 + items: + - const: baijie,helper-a133 + - const: baijie,helper-a133-core + - const: allwinner,sun50i-a100 + + - description: HelperBoardA133 Core + items: + - const: baijie,helper-a133-core + - const: allwinner,sun50i-a100 + - description: BananaPi items: - const: lemaker,bananapi -- 2.54.0 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible 2026-05-10 20:16 ` [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible Alexander Sverdlin @ 2026-05-11 16:08 ` Conor Dooley 2026-05-11 16:18 ` Alexander Sverdlin 2026-05-18 11:35 ` Paul Kocialkowski 1 sibling, 1 reply; 31+ messages in thread From: Conor Dooley @ 2026-05-11 16:08 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1471 bytes --] On Sun, May 10, 2026 at 10:16:39PM +0200, Alexander Sverdlin wrote: > Baijie HelperBoard A133 is a development board around their A133 Core > board. Introduce a compatible for both the Core and the development > boards. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > > Changelog: > v2: > - introduced baijie,helper-a133-core compatible for the Core (SoM) board > > Documentation/devicetree/bindings/arm/sunxi.yaml | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > index e6443c266fa1..d7b9dec81165 100644 > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > @@ -96,6 +96,17 @@ properties: > - const: allwinner,ba10-tvbox > - const: allwinner,sun4i-a10 > > + - description: Baijie Helper A133 > + items: > + - const: baijie,helper-a133 > + - const: baijie,helper-a133-core > + - const: allwinner,sun50i-a100 > + > + - description: HelperBoardA133 Core > + items: > + - const: baijie,helper-a133-core > + - const: allwinner,sun50i-a100 Does this make sense? Can the core board be used without a carrier? > + > - description: BananaPi > items: > - const: lemaker,bananapi > -- > 2.54.0 > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible 2026-05-11 16:08 ` Conor Dooley @ 2026-05-11 16:18 ` Alexander Sverdlin 2026-05-11 16:34 ` Conor Dooley 0 siblings, 1 reply; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-11 16:18 UTC (permalink / raw) To: Conor Dooley Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel Hi Conor, On Mon, 2026-05-11 at 17:08 +0100, Conor Dooley wrote: > > Baijie HelperBoard A133 is a development board around their A133 Core > > board. Introduce a compatible for both the Core and the development > > boards. > > > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > > --- > > > > Changelog: > > v2: > > - introduced baijie,helper-a133-core compatible for the Core (SoM) board > > > > Documentation/devicetree/bindings/arm/sunxi.yaml | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > > index e6443c266fa1..d7b9dec81165 100644 > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > > @@ -96,6 +96,17 @@ properties: > > - const: allwinner,ba10-tvbox > > - const: allwinner,sun4i-a10 > > > > + - description: Baijie Helper A133 > > + items: > > + - const: baijie,helper-a133 > > + - const: baijie,helper-a133-core > > + - const: allwinner,sun50i-a100 > > + > > + - description: HelperBoardA133 Core > > + items: > > + - const: baijie,helper-a133-core > > + - const: allwinner,sun50i-a100 > > Does this make sense? Can the core board be used without a carrier? such operation would be impractical at least, that's why in my v1 Core board didn't have its own compatible. Maybe I didn't understand you correctly. Shall I drop the above 4 lines, the compatible property from the root in sun50i-a133-baije-core.dtsi and only leave sun50i-a133-baijie-helper.dtb with 3-strings compatible as it is now in v2? -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible 2026-05-11 16:18 ` Alexander Sverdlin @ 2026-05-11 16:34 ` Conor Dooley 0 siblings, 0 replies; 31+ messages in thread From: Conor Dooley @ 2026-05-11 16:34 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2300 bytes --] On Mon, May 11, 2026 at 06:18:22PM +0200, Alexander Sverdlin wrote: > Hi Conor, > > On Mon, 2026-05-11 at 17:08 +0100, Conor Dooley wrote: > > > Baijie HelperBoard A133 is a development board around their A133 Core > > > board. Introduce a compatible for both the Core and the development > > > boards. > > > > > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > > > --- > > > > > > Changelog: > > > v2: > > > - introduced baijie,helper-a133-core compatible for the Core (SoM) board > > > > > > Documentation/devicetree/bindings/arm/sunxi.yaml | 11 +++++++++++ > > > 1 file changed, 11 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > > > index e6443c266fa1..d7b9dec81165 100644 > > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > > > @@ -96,6 +96,17 @@ properties: > > > - const: allwinner,ba10-tvbox > > > - const: allwinner,sun4i-a10 > > > > > > + > > > + - description: HelperBoardA133 Core > > > + items: > > > + - const: baijie,helper-a133-core > > > + - const: allwinner,sun50i-a100 > > > > Does this make sense? Can the core board be used without a carrier? > > such operation would be impractical at least, that's why in my v1 > Core board didn't have its own compatible. Maybe I didn't understand > you correctly. I just wanted a comaptible for the SoM, so that there's a common compatible for that if it ends up on another carrier. IIRC these Baijie folks had another one on their site, but may be misremembering. > > Shall I drop the above 4 lines, the compatible property from the > root in sun50i-a133-baije-core.dtsi and only leave > sun50i-a133-baijie-helper.dtb with 3-strings compatible as it is > now in v2? > > > + - description: Baijie Helper A133 > > > + items: > > > + - const: baijie,helper-a133 > > > + - const: baijie,helper-a133-core > > > + - const: allwinner,sun50i-a100 What I wanted was just this, so trim it down to that and you can add my Acked-by: Conor Dooley <conor.dooley@microchip.com> ~heers, Conor. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible 2026-05-10 20:16 ` [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible Alexander Sverdlin 2026-05-11 16:08 ` Conor Dooley @ 2026-05-18 11:35 ` Paul Kocialkowski 1 sibling, 0 replies; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 11:35 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1825 bytes --] Hi Alexander, Le Sun 10 May 26, 22:16, Alexander Sverdlin a écrit : > Baijie HelperBoard A133 is a development board around their A133 Core > board. Introduce a compatible for both the Core and the development > boards. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > > Changelog: > v2: > - introduced baijie,helper-a133-core compatible for the Core (SoM) board > > Documentation/devicetree/bindings/arm/sunxi.yaml | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > index e6443c266fa1..d7b9dec81165 100644 > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > @@ -96,6 +96,17 @@ properties: > - const: allwinner,ba10-tvbox > - const: allwinner,sun4i-a10 > > + - description: Baijie Helper A133 Please use the correct naming from the vendor, which is: "Baijie A133 HelperBoard" > + items: > + - const: baijie,helper-a133 Please make this: "baijie,helperboard-a133" > + - const: baijie,helper-a133-core Please make this: "baijie,helperboard-a133-core" Thanks! > + - const: allwinner,sun50i-a100 > + > + - description: HelperBoardA133 Core > + items: > + - const: baijie,helper-a133-core > + - const: allwinner,sun50i-a100 > + > - description: BananaPi > items: > - const: lemaker,bananapi > -- > 2.54.0 > > -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-10 20:16 [PATCH v2 0/3] Add support for Baijie Helper A133 board Alexander Sverdlin 2026-05-10 20:16 ` [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd Alexander Sverdlin 2026-05-10 20:16 ` [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible Alexander Sverdlin @ 2026-05-10 20:16 ` Alexander Sverdlin 2026-05-11 11:44 ` Andre Przywara ` (2 more replies) 2 siblings, 3 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-10 20:16 UTC (permalink / raw) To: linux-sunxi Cc: Alexander Sverdlin, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel Baijie Helper A133 board is a development board around Baijie A133 Core SBC. Features: - 1/2/4GiB LPDDR4 DRAM - 8/16/32GiB eMMC - AXP707 PMIC - 2 USB 2.0 ports - MicroSD slot and on-board eMMC module - Gigabit Ethernet - Bluetooth - WiFi Add initial support for both the Helper and Core boards, including UART, PMU, eMMC, USB, Ethernet. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> --- Changelog: v2: - introduced baijie,helper-a133-core compatible for the Core (SoM) board arch/arm64/boot/dts/allwinner/Makefile | 1 + .../dts/allwinner/sun50i-a133-baije-core.dtsi | 162 ++++++++++++++++++ .../allwinner/sun50i-a133-baijie-helper.dts | 94 ++++++++++ 3 files changed, 257 insertions(+) create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile index d116864b6c2b..926dfa851100 100644 --- a/arch/arm64/boot/dts/allwinner/Makefile +++ b/arch/arm64/boot/dts/allwinner/Makefile @@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h64-remix-mini-pc.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-baijie-helper.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-liontron-h-a133l.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi new file mode 100644 index 000000000000..65b094f30bf5 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi @@ -0,0 +1,162 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2025 Arm Ltd. + */ + +/dts-v1/; + +#include "sun50i-a100.dtsi" +#include "sun50i-a100-cpu-opp.dtsi" + +/{ + compatible = "baijie,helper-a133-core", + "allwinner,sun50i-a100"; + + aliases { + serial1 = &uart1; /* BT module */ + }; +}; + +&cpu0 { + cpu-supply = <®_dcdc2>; +}; + +&pio { + vcc-pb-supply = <®_dcdc1>; + vcc-pc-supply = <®_eldo1>; + vcc-pd-supply = <®_dcdc1>; + vcc-pe-supply = <®_dldo2>; + vcc-pf-supply = <®_dcdc1>; + vcc-pg-supply = <®_dldo1>; + vcc-ph-supply = <®_dcdc1>; +}; + +&mmc2 { + vmmc-supply = <®_dcdc1>; + vqmmc-supply = <®_eldo1>; + cap-mmc-hw-reset; + non-removable; + bus-width = <8>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + status = "okay"; +}; + +&r_i2c0 { + status = "okay"; + + axp803: pmic@34 { + compatible = "x-powers,axp803"; + reg = <0x34>; + interrupt-parent = <&r_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + }; +}; + +#include "axp803.dtsi" + +&ac_power_supply { + status = "okay"; +}; + +®_aldo1 { + regulator-always-on; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3300000>; +}; + +®_aldo2 { + regulator-always-on; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3300000>; +}; + +®_aldo3 { + regulator-always-on; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <1000>; +}; + +®_dcdc1 { + regulator-always-on; + regulator-min-microvolt = <1600000>; + regulator-max-microvolt = <3400000>; + regulator-name = "vcc-3v3"; +}; + +®_dcdc2 { + regulator-always-on; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1300000>; + regulator-name = "vdd-cpu"; +}; + +®_dcdc3 { + regulator-always-on; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1300000>; +}; + +®_dcdc4 { + regulator-always-on; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1300000>; + regulator-name = "vdd-sys"; +}; + +®_dcdc5 { + regulator-always-on; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1840000>; + regulator-name = "vcc-dram"; +}; + +/* DCDC6 unused */ + +®_dldo1 { + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <1000>; +}; + +®_dldo2 { + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3400000>; + regulator-enable-ramp-delay = <1000>; +}; + +®_dldo3 { + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <1000>; + regulator-name = "avdd-csi"; +}; + +®_dldo4 { + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <1000>; +}; + +®_eldo1 { + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1900000>; + regulator-enable-ramp-delay = <1000>; +}; + +®_eldo2 { + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1900000>; + regulator-enable-ramp-delay = <1000>; + regulator-name = "dvdd-csi"; +}; + +/* ELDO3 unused */ + +®_fldo1 { + regulator-always-on; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1450000>; + regulator-name = "vdd-cpus-usb"; +}; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts new file mode 100644 index 000000000000..ccbca5d0a40c --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts @@ -0,0 +1,94 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2025 Arm Ltd. + */ + +/dts-v1/; + +#include "sun50i-a133-baije-core.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/leds/common.h> + +/{ + model = "HelperBoard A133"; + compatible = "baijie,helper-a133", + "baijie,helper-a133-core", + "allwinner,sun50i-a100"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + led { + function = LED_FUNCTION_INDICATOR; + color = <LED_COLOR_ID_GREEN>; + gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ + }; + }; +}; + +&mmc0 { + vmmc-supply = <®_dcdc1>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ + bus-width = <4>; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pb_pins>; + status = "okay"; +}; + +&rgmii0_pins { + drive-strength = <30>; +}; + +&emac0 { + pinctrl-names = "default"; + pinctrl-0 = <&rgmii0_pins>; + phy-handle = <ð_phy>; + phy-mode = "rgmii-id"; + allwinner,rx-delay-ps = <200>; + allwinner,tx-delay-ps = <200>; + status = "okay"; +}; + +&mdio0 { + reset-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */ + reset-delay-us = <10000>; + reset-post-delay-us = <150000>; + + eth_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; +}; + +&usbphy { + status = "okay"; +}; + +&ehci0 { + status = "okay"; +}; + +&ohci0 { + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; -- 2.54.0 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-10 20:16 ` [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board Alexander Sverdlin @ 2026-05-11 11:44 ` Andre Przywara 2026-05-17 20:38 ` Alexander Sverdlin 2026-05-11 22:07 ` sashiko-bot 2026-05-18 11:52 ` Paul Kocialkowski 2 siblings, 1 reply; 31+ messages in thread From: Andre Przywara @ 2026-05-11 11:44 UTC (permalink / raw) To: Alexander Sverdlin, linux-sunxi Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi Alexander, thanks for upstreaming the DTs! On 5/10/26 22:16, Alexander Sverdlin wrote: > Baijie Helper A133 board is a development board around Baijie A133 Core > SBC. Features: > > - 1/2/4GiB LPDDR4 DRAM > - 8/16/32GiB eMMC > - AXP707 PMIC > - 2 USB 2.0 ports > - MicroSD slot and on-board eMMC module > - Gigabit Ethernet > - Bluetooth > - WiFi > > Add initial support for both the Helper and Core boards, including UART, > PMU, eMMC, USB, Ethernet. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > > Changelog: > v2: > - introduced baijie,helper-a133-core compatible for the Core (SoM) board > > arch/arm64/boot/dts/allwinner/Makefile | 1 + > .../dts/allwinner/sun50i-a133-baije-core.dtsi | 162 ++++++++++++++++++ > .../allwinner/sun50i-a133-baijie-helper.dts | 94 ++++++++++ > 3 files changed, 257 insertions(+) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > index d116864b6c2b..926dfa851100 100644 > --- a/arch/arm64/boot/dts/allwinner/Makefile > +++ b/arch/arm64/boot/dts/allwinner/Makefile > @@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h64-remix-mini-pc.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-baijie-helper.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-liontron-h-a133l.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > new file mode 100644 > index 000000000000..65b094f30bf5 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > @@ -0,0 +1,162 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2025 Arm Ltd. Please put your own copyright here, even if that has been largely copied from an existing file. > + */ > + > +/dts-v1/; > + > +#include "sun50i-a100.dtsi" > +#include "sun50i-a100-cpu-opp.dtsi" > + > +/{ > + compatible = "baijie,helper-a133-core", > + "allwinner,sun50i-a100"; > + > + aliases { > + serial1 = &uart1; /* BT module */ Do we really need an alias for the BT UART? And is the BT module supported already? Then please add a child node to the UART node. > + }; > +}; > + > +&cpu0 { > + cpu-supply = <®_dcdc2>; > +}; > + > +&pio { The order of those referenced nodes is alphabetically by the label name. So this one goes further down. > + vcc-pb-supply = <®_dcdc1>; > + vcc-pc-supply = <®_eldo1>; > + vcc-pd-supply = <®_dcdc1>; > + vcc-pe-supply = <®_dldo2>; > + vcc-pf-supply = <®_dcdc1>; > + vcc-pg-supply = <®_dldo1>; > + vcc-ph-supply = <®_dcdc1>; > +}; > + Isn't the WiFi/BT module on the SoM? Then please mention and enable MMC1 here. Provide the child node for the WiFi chip, even if there is no upstream support in the kernel for it yet. > +&mmc2 { > + vmmc-supply = <®_dcdc1>; > + vqmmc-supply = <®_eldo1>; > + cap-mmc-hw-reset; > + non-removable; > + bus-width = <8>; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + status = "okay"; > +}; > + > +&r_i2c0 { > + status = "okay"; > + > + axp803: pmic@34 { > + compatible = "x-powers,axp803"; > + reg = <0x34>; > + interrupt-parent = <&r_intc>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > + }; > +}; > + > +#include "axp803.dtsi" > + > +&ac_power_supply { > + status = "okay"; > +}; > + > +®_aldo1 { What is aldo1 used for, actually? I don't see this referenced anywhere. I guess the kernel turns that off after booting? If you have access to the schematic, please check that. If that's for some peripheral not yet supported, please note the user anyway, ideally by an explaining regulator-name, or by a comment. Also if it's used for any of the required SoC VDD pins. See the Liontron .dts for comparison. > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; Please don't provide ranges here (those are in the driver already), the point of this entry is to set the voltage required by the board. (And yes, the vendor DTBs alway get this wrong). Typically there are fixed requirements, so use the same value for min and max. Same for the others below. > +}; > + > +®_aldo2 { > + regulator-always-on; For always-on regulators we definitely need an explanation. Does the board stop booting if you remove this line? Maybe it's for DRAM? Can you say what voltage it is, either from the reset default, or set by the bootloader? > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > +}; > + > +®_aldo3 { > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; > +}; > + > +®_dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <3400000>; > + regulator-name = "vcc-3v3"; > +}; > + > +®_dcdc2 { > + regulator-always-on; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <1300000>; This one is an exception, because the voltage is to be adjusted at runtime. But the voltage range needs to be tighter, the A133 datasheet puts the valid VDD_CPU range between 810mV and 1200mV. Compare to the Liontron dts file here. > + regulator-name = "vdd-cpu"; > +}; > + > +®_dcdc3 { > + regulator-always-on; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <1300000>; > +}; > + > +®_dcdc4 { > + regulator-always-on; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <1300000>; > + regulator-name = "vdd-sys"; > +}; > + > +®_dcdc5 { > + regulator-always-on; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <1840000>; > + regulator-name = "vcc-dram"; > +}; > + > +/* DCDC6 unused */ > + > +®_dldo1 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; > +}; > + > +®_dldo2 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3400000>; > + regulator-enable-ramp-delay = <1000>; > +}; > + > +®_dldo3 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; > + regulator-name = "avdd-csi"; > +}; > + > +®_dldo4 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; > +}; > + > +®_eldo1 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1900000>; > + regulator-enable-ramp-delay = <1000>; > +}; > + > +®_eldo2 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1900000>; > + regulator-enable-ramp-delay = <1000>; > + regulator-name = "dvdd-csi"; > +}; > + > +/* ELDO3 unused */ > + > +®_fldo1 { > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1450000>; > + regulator-name = "vdd-cpus-usb"; > +}; > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > new file mode 100644 > index 000000000000..ccbca5d0a40c > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > @@ -0,0 +1,94 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2025 Arm Ltd. Your own copyright, please. > + */ > + > +/dts-v1/; > + > +#include "sun50i-a133-baije-core.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/leds/common.h> > + > +/{ > + model = "HelperBoard A133"; > + compatible = "baijie,helper-a133", > + "baijie,helper-a133-core", > + "allwinner,sun50i-a100"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led { > + function = LED_FUNCTION_INDICATOR; > + color = <LED_COLOR_ID_GREEN>; > + gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ > + }; > + }; I see quite some buttons on the board. I guess they are connected to GPIOs? Can you please describe them then, using gpio-keys? Look at sun50i-h5-orangepi-pc2.dts for an example. And you should provide a top level 5V regulator here, to be the root of the regulator tree. Look at reg_vcc5v in the Liontron .dts. > +}; > + > +&mmc0 { > + vmmc-supply = <®_dcdc1>; > + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ > + bus-width = <4>; > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_pb_pins>; > + status = "okay"; > +}; > + > +&rgmii0_pins { > + drive-strength = <30>; > +}; > + > +&emac0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&rgmii0_pins>; > + phy-handle = <ð_phy>; > + phy-mode = "rgmii-id"; > + allwinner,rx-delay-ps = <200>; > + allwinner,tx-delay-ps = <200>; > + status = "okay"; > +}; > + > +&mdio0 { > + reset-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */ > + reset-delay-us = <10000>; > + reset-post-delay-us = <150000>; > + > + eth_phy: ethernet-phy@1 { The typical label here would be rgmii_phy. The node name is correct, though. > + compatible = "ethernet-phy-ieee802.3-c22"; > + reg = <1>; > + }; > +}; > + So from the pictures I found online it looks like there is an USB-C port labelled "OTG", so can you please add an &usbotg reference here and describe that port. > +&usbphy { Are the two USB ports always powered? And anyway, I see a *dual* USB-A socket on the pictures online, in addition to the USB-OTG port. So where does the third USB come from? The A133 only supports one host USB port plus the one OTG port. So is there an USB hub chip on the board? > + status = "okay"; > +}; > + > +&ehci0 { (and again, please order those nodes alphabetically) Cheers, Andre. > + status = "okay"; > +}; > + > +&ohci0 { > + status = "okay"; > +}; > + > +&ehci1 { > + status = "okay"; > +}; > + > +&ohci1 { > + status = "okay"; > +}; ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-11 11:44 ` Andre Przywara @ 2026-05-17 20:38 ` Alexander Sverdlin 2026-05-18 3:30 ` Chen-Yu Tsai 2026-05-18 11:16 ` Andre Przywara 0 siblings, 2 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-17 20:38 UTC (permalink / raw) To: Andre Przywara, linux-sunxi Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi Andre, thanks for the quick feedback! On Mon, 2026-05-11 at 13:44 +0200, Andre Przywara wrote: > > --- /dev/null > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > @@ -0,0 +1,162 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > +/* > > + * Copyright (c) 2025 Arm Ltd. > > Please put your own copyright here, even if that has been largely copied > from an existing file. > > > + */ > > + > > +/dts-v1/; > > + > > +#include "sun50i-a100.dtsi" > > +#include "sun50i-a100-cpu-opp.dtsi" > > + > > +/{ > > + compatible = "baijie,helper-a133-core", > > + "allwinner,sun50i-a100"; > > + > > + aliases { > > + serial1 = &uart1; /* BT module */ > > Do we really need an alias for the BT UART? And is the BT module > supported already? Then please add a child node to the UART node. That's the only thing I can do currently regarding BT: stabilize the serial enumeration, because UART1 cannot be used for anything else except BT module, because this is soldered inside "core" module. We can avoid different tty enumeration, should the support for BT be implemented in the future... > Isn't the WiFi/BT module on the SoM? Then please mention and enable MMC1 > here. Provide the child node for the WiFi chip, even if there is no > upstream support in the kernel for it yet. So both the above BT and the WiFi is AW869A/AIC8800 combo chip, which has neither upstream driver, nor [upstream] DT bindings. Even github driver for AIC8800 doesn't seem to use DT, therefore it looks quite pointless to me at this point to specify anything in the DT for the chip which doesn't have the bindings idea even theoretically. Nothing in the current DT shall block any future work on the AW869A support though and the above "aliases" entry shall even guarantee unchanged serial enumeration shall such support arise. > > +®_aldo1 { > > What is aldo1 used for, actually? I don't see this referenced anywhere. > I guess the kernel turns that off after booting? > If you have access to the schematic, please check that. If that's for > some peripheral not yet supported, please note the user anyway, ideally > by an explaining regulator-name, or by a comment. Also if it's used for > any of the required SoC VDD pins. See the Liontron .dts for comparison. > > > + regulator-always-on; ^^^^^^^^^^^^^^^^^^^ I suppose it's not being switcdhed of because of the above. It's used for both PLL supply for the whole SoC + as analog voltage reference for LRADC (the buttons you've noticed on the board are connected to this ADC via a resistor ladder). > > > +®_aldo2 { > > + regulator-always-on; > > For always-on regulators we definitely need an explanation. Does the > board stop booting if you remove this line? > Maybe it's for DRAM? Can you say what voltage it is, either from the > reset default, or set by the bootloader? Thanks for the hint! I'll put proper voltages into all regulators + comment all the always-on regulators. > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > new file mode 100644 > > index 000000000000..ccbca5d0a40c > > --- /dev/null > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > And you should provide a top level 5V regulator here, to be the root of > the regulator tree. Look at reg_vcc5v in the Liontron .dts. It doesn't look to me as if Liontron had reg_vcc5v as its 5V "root" regulator. It seems to be only used for reg_usb1_vbus, while HelperBoard A133 doesn't have USB power control. The second issue with Helper/Core split is that all PMIC story is inside Core board which has 5V input rail, while HelperBoard around it has indeed 12V->5V DCDC regulator (similar to Liontron), but putting it in the DT would introduce wierd dependency of the core to the HelperBoard which carries it. Do you think it would make sense? > So from the pictures I found online it looks like there is an USB-C port > labelled "OTG", so can you please add an &usbotg reference here and > describe that port. Nice catch! I've missed the fact usbphy 0 has to be in peripheral mode, not host mode. Will rework! > > +&usbphy { > > Are the two USB ports always powered? > > And anyway, I see a *dual* USB-A socket on the pictures online, in > addition to the USB-OTG port. So where does the third USB come from? The > A133 only supports one host USB port plus the one OTG port. So is there > an USB hub chip on the board? There are two hubs, one on each usbphy. OTG side hub is even bus-powered, two USB-A ports are always powered from the board's 12V->5V DCDC, no USB load switches. > -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-17 20:38 ` Alexander Sverdlin @ 2026-05-18 3:30 ` Chen-Yu Tsai 2026-05-18 10:12 ` Alexander Sverdlin 2026-05-18 11:16 ` Andre Przywara 1 sibling, 1 reply; 31+ messages in thread From: Chen-Yu Tsai @ 2026-05-18 3:30 UTC (permalink / raw) To: Alexander Sverdlin Cc: Andre Przywara, linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel On Mon, May 18, 2026 at 4:37 AM Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote: > > Hi Andre, > > thanks for the quick feedback! > > On Mon, 2026-05-11 at 13:44 +0200, Andre Przywara wrote: > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > > @@ -0,0 +1,162 @@ > > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > > +/* > > > + * Copyright (c) 2025 Arm Ltd. > > > > Please put your own copyright here, even if that has been largely copied > > from an existing file. > > > > > + */ > > > + > > > +/dts-v1/; > > > + > > > +#include "sun50i-a100.dtsi" > > > +#include "sun50i-a100-cpu-opp.dtsi" > > > + > > > +/{ > > > + compatible = "baijie,helper-a133-core", > > > + "allwinner,sun50i-a100"; > > > + > > > + aliases { > > > + serial1 = &uart1; /* BT module */ > > > > Do we really need an alias for the BT UART? And is the BT module > > supported already? Then please add a child node to the UART node. > > That's the only thing I can do currently regarding BT: stabilize the > serial enumeration, because UART1 cannot be used for anything else > except BT module, because this is soldered inside "core" module. > We can avoid different tty enumeration, should the support for > BT be implemented in the future... > > > Isn't the WiFi/BT module on the SoM? Then please mention and enable MMC1 > > here. Provide the child node for the WiFi chip, even if there is no > > upstream support in the kernel for it yet. > > So both the above BT and the WiFi is AW869A/AIC8800 combo chip, which > has neither upstream driver, nor [upstream] DT bindings. Even github > driver for AIC8800 doesn't seem to use DT, therefore it looks quite > pointless to me at this point to specify anything in the DT for the > chip which doesn't have the bindings idea even theoretically. > > Nothing in the current DT shall block any future work on the AW869A > support though and the above "aliases" entry shall even guarantee > unchanged serial enumeration shall such support arise. > > > > +®_aldo1 { > > > > What is aldo1 used for, actually? I don't see this referenced anywhere. > > I guess the kernel turns that off after booting? > > If you have access to the schematic, please check that. If that's for > > some peripheral not yet supported, please note the user anyway, ideally > > by an explaining regulator-name, or by a comment. Also if it's used for > > any of the required SoC VDD pins. See the Liontron .dts for comparison. > > > > > + regulator-always-on; > ^^^^^^^^^^^^^^^^^^^ > I suppose it's not being switcdhed of because of the above. > It's used for both PLL supply for the whole SoC + as analog voltage reference > for LRADC (the buttons you've noticed on the board are connected to > this ADC via a resistor ladder). > > > > > > +®_aldo2 { > > > + regulator-always-on; > > > > For always-on regulators we definitely need an explanation. Does the > > board stop booting if you remove this line? > > Maybe it's for DRAM? Can you say what voltage it is, either from the > > reset default, or set by the bootloader? > > Thanks for the hint! I'll put proper voltages into all regulators + > comment all the always-on regulators. Please also give them proper names. If you have the schematics, then use the names from that; otherwise just make up names matching their use. > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > > new file mode 100644 > > > index 000000000000..ccbca5d0a40c > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > > And you should provide a top level 5V regulator here, to be the root of > > the regulator tree. Look at reg_vcc5v in the Liontron .dts. > > It doesn't look to me as if Liontron had reg_vcc5v as its 5V "root" regulator. > It seems to be only used for reg_usb1_vbus, while HelperBoard A133 doesn't > have USB power control. The second issue with Helper/Core split is that > all PMIC story is inside Core board which has 5V input rail, while HelperBoard > around it has indeed 12V->5V DCDC regulator (similar to Liontron), but > putting it in the DT would introduce wierd dependency of the core to the > HelperBoard which carries it. Do you think it would make sense? In that case I would probably put a 5v "fake root" regulator in the core dtsi. And in combined dts, I'd then add the 12v "real root", and use that as the supply for the 5v fake root. Does that make sense? ChenYu > > So from the pictures I found online it looks like there is an USB-C port > > labelled "OTG", so can you please add an &usbotg reference here and > > describe that port. > > Nice catch! I've missed the fact usbphy 0 has to be in peripheral mode, > not host mode. Will rework! > > > > +&usbphy { > > > > Are the two USB ports always powered? > > > > And anyway, I see a *dual* USB-A socket on the pictures online, in > > addition to the USB-OTG port. So where does the third USB come from? The > > A133 only supports one host USB port plus the one OTG port. So is there > > an USB hub chip on the board? > > There are two hubs, one on each usbphy. OTG side hub is even bus-powered, > two USB-A ports are always powered from the board's 12V->5V DCDC, no USB > load switches. > > > > -- > Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 3:30 ` Chen-Yu Tsai @ 2026-05-18 10:12 ` Alexander Sverdlin 0 siblings, 0 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 10:12 UTC (permalink / raw) To: wens Cc: Andre Przywara, linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi Checn-Yu, thanks for the review! On Mon, 2026-05-18 at 11:30 +0800, Chen-Yu Tsai wrote: > > > And you should provide a top level 5V regulator here, to be the root of > > > the regulator tree. Look at reg_vcc5v in the Liontron .dts. > > > > It doesn't look to me as if Liontron had reg_vcc5v as its 5V "root" regulator. > > It seems to be only used for reg_usb1_vbus, while HelperBoard A133 doesn't > > have USB power control. The second issue with Helper/Core split is that > > all PMIC story is inside Core board which has 5V input rail, while HelperBoard > > around it has indeed 12V->5V DCDC regulator (similar to Liontron), but > > putting it in the DT would introduce wierd dependency of the core to the > > HelperBoard which carries it. Do you think it would make sense? > > In that case I would probably put a 5v "fake root" regulator in the core > dtsi. And in combined dts, I'd then add the 12v "real root", and use that > as the supply for the 5v fake root. > > Does that make sense? "core" board has some battery management schematics, switching the 5V, I'll look into specifying this part in "core" .dtsi, maybe it will result in some kind of regulator in "core" part. I'll send v4. -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-17 20:38 ` Alexander Sverdlin 2026-05-18 3:30 ` Chen-Yu Tsai @ 2026-05-18 11:16 ` Andre Przywara 2026-05-18 11:29 ` Alexander Sverdlin 2026-05-18 14:47 ` Chen-Yu Tsai 1 sibling, 2 replies; 31+ messages in thread From: Andre Przywara @ 2026-05-18 11:16 UTC (permalink / raw) To: Alexander Sverdlin, linux-sunxi Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi Alexander, On 5/17/26 22:38, Alexander Sverdlin wrote: > Hi Andre, > > thanks for the quick feedback! > > On Mon, 2026-05-11 at 13:44 +0200, Andre Przywara wrote: >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi >>> @@ -0,0 +1,162 @@ >>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >>> +/* >>> + * Copyright (c) 2025 Arm Ltd. >> >> Please put your own copyright here, even if that has been largely copied >> from an existing file. >> >>> + */ >>> + >>> +/dts-v1/; >>> + >>> +#include "sun50i-a100.dtsi" >>> +#include "sun50i-a100-cpu-opp.dtsi" >>> + >>> +/{ >>> + compatible = "baijie,helper-a133-core", >>> + "allwinner,sun50i-a100"; >>> + >>> + aliases { >>> + serial1 = &uart1; /* BT module */ >> >> Do we really need an alias for the BT UART? And is the BT module >> supported already? Then please add a child node to the UART node. > > That's the only thing I can do currently regarding BT: stabilize the > serial enumeration, because UART1 cannot be used for anything else > except BT module, because this is soldered inside "core" module. > We can avoid different tty enumeration, should the support for > BT be implemented in the future... > >> Isn't the WiFi/BT module on the SoM? Then please mention and enable MMC1 >> here. Provide the child node for the WiFi chip, even if there is no >> upstream support in the kernel for it yet. > > So both the above BT and the WiFi is AW869A/AIC8800 combo chip, which > has neither upstream driver, nor [upstream] DT bindings. Even github > driver for AIC8800 doesn't seem to use DT, therefore it looks quite > pointless to me at this point to specify anything in the DT for the > chip which doesn't have the bindings idea even theoretically. > > Nothing in the current DT shall block any future work on the AW869A > support though and the above "aliases" entry shall even guarantee > unchanged serial enumeration shall such support arise. Fair enough for not providing DT nodes for those unsupported chips, but why do we need to force enumeration? For the eventual Bluetooth usage, the driver will find the respective serial interface by just looking at its parent interface. IIUC there is nothing referring to ttyS1 explicitly. So we wouldn't really need an alias, would we? I see that some boards do define an alias, but others with Bluetooth don't, which I think is the right thing to do. Which name the kernel comes up with for UART1 shouldn't matter in any way. >>> +®_aldo1 { >> >> What is aldo1 used for, actually? I don't see this referenced anywhere. >> I guess the kernel turns that off after booting? >> If you have access to the schematic, please check that. If that's for >> some peripheral not yet supported, please note the user anyway, ideally >> by an explaining regulator-name, or by a comment. Also if it's used for >> any of the required SoC VDD pins. See the Liontron .dts for comparison. >> >>> + regulator-always-on; > ^^^^^^^^^^^^^^^^^^^ > I suppose it's not being switcdhed of because of the above. > It's used for both PLL supply for the whole SoC + as analog voltage reference > for LRADC (the buttons you've noticed on the board are connected to > this ADC via a resistor ladder). Ah, yeah, somehow missed that line. So as stated below, please use a descriptive regulator name. Look at sun55i-a527-cubie-a5e.dts, I think is a more modern example of how to handle regulators best. > >> >>> +®_aldo2 { >>> + regulator-always-on; >> >> For always-on regulators we definitely need an explanation. Does the >> board stop booting if you remove this line? >> Maybe it's for DRAM? Can you say what voltage it is, either from the >> reset default, or set by the bootloader? > > Thanks for the hint! I'll put proper voltages into all regulators + > comment all the always-on regulators. Thanks! > >> >>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts >>> new file mode 100644 >>> index 000000000000..ccbca5d0a40c >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > >> And you should provide a top level 5V regulator here, to be the root of >> the regulator tree. Look at reg_vcc5v in the Liontron .dts. > > It doesn't look to me as if Liontron had reg_vcc5v as its 5V "root" regulator. > It seems to be only used for reg_usb1_vbus, while HelperBoard A133 doesn't > have USB power control. The second issue with Helper/Core split is that > all PMIC story is inside Core board which has 5V input rail, while HelperBoard > around it has indeed 12V->5V DCDC regulator (similar to Liontron), but > putting it in the DT would introduce wierd dependency of the core to the > HelperBoard which carries it. Do you think it would make sense? Ah yeah, the Liontron is not the best example, we don't have the full description there, because this board misses schematics. So look at sun55i-a527-cubie-a5e.dts instead, which uses the top level regulator correctly. We didn't traditionally do this with the A64 boards using the AXP803, and just learned to live with those dummy supplies created by the kernel, but for new boards we should do better. Regarding the board/SoM split: You should have a fixed regulator in the SoM .dtsi reflecting the 5V input pin(s), and then using that as the VIN supply for the various PMIC rails, as the Cubie A5E does. This would mimic some barrel connector on a standard board: the voltage is applied "by the user", externally. So in this SoM .dtsi node, there is no vin-supply property, but you add that in the board .dts: ®_vcc5v { vin-supply = <®_vcc12v5v>; }; Please come up with some better names than I just did ;-) Maybe something like reg_vcc5v_som to make this clearer. And then you have that 12V->5V regulator described in the board .dts, along with a parent-less 12V regulator, check sun55i-t527-avaota-a1.dts for an example. That should work cleanly, I think. >> So from the pictures I found online it looks like there is an USB-C port >> labelled "OTG", so can you please add an &usbotg reference here and >> describe that port. > > Nice catch! I've missed the fact usbphy 0 has to be in peripheral mode, > not host mode. Will rework! I guess that's the same situation as in the other recent boards using USB-C: they hardwired it to peripheral mode, although you can use this as a host port with some tricks, check sun50i-h616-orangepi-zero.dtsi, and copy this comment, should it apply. >>> +&usbphy { >> >> Are the two USB ports always powered? >> >> And anyway, I see a *dual* USB-A socket on the pictures online, in >> addition to the USB-OTG port. So where does the third USB come from? The >> A133 only supports one host USB port plus the one OTG port. So is there >> an USB hub chip on the board? > > There are two hubs, one on each usbphy. OTG side hub is even bus-powered, What do you mean with OTG side hub, exactly? Is there a hub on USB0? How does this work, then? Cheers, Andre > two USB-A ports are always powered from the board's 12V->5V DCDC, no USB > load switches. >> > ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 11:16 ` Andre Przywara @ 2026-05-18 11:29 ` Alexander Sverdlin 2026-05-18 11:54 ` Paul Kocialkowski 2026-05-18 12:50 ` Andre Przywara 2026-05-18 14:47 ` Chen-Yu Tsai 1 sibling, 2 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 11:29 UTC (permalink / raw) To: Andre Przywara, linux-sunxi Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi Andre, On Mon, 2026-05-18 at 13:16 +0200, Andre Przywara wrote: > > > And anyway, I see a *dual* USB-A socket on the pictures online, in > > > addition to the USB-OTG port. So where does the third USB come from? The > > > A133 only supports one host USB port plus the one OTG port. So is there > > > an USB hub chip on the board? > > > > There are two hubs, one on each usbphy. OTG side hub is even bus-powered, > > What do you mean with OTG side hub, exactly? Is there a hub on USB0? How > does this work, then? the upstream port of this hub is wired to the USB-C connector, one port has CH340E USB-UART on it for the console, the other port goes to the SoC usbphy 0. So it would be "peripheral" only, I suppose. -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 11:29 ` Alexander Sverdlin @ 2026-05-18 11:54 ` Paul Kocialkowski 2026-05-18 12:50 ` Andre Przywara 1 sibling, 0 replies; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 11:54 UTC (permalink / raw) To: Alexander Sverdlin Cc: Andre Przywara, linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1287 bytes --] Hi Alexander, Le Mon 18 May 26, 13:29, Alexander Sverdlin a écrit : > Hi Andre, > > On Mon, 2026-05-18 at 13:16 +0200, Andre Przywara wrote: > > > > And anyway, I see a *dual* USB-A socket on the pictures online, in > > > > addition to the USB-OTG port. So where does the third USB come from? The > > > > A133 only supports one host USB port plus the one OTG port. So is there > > > > an USB hub chip on the board? > > > > > > There are two hubs, one on each usbphy. OTG side hub is even bus-powered, > > > > What do you mean with OTG side hub, exactly? Is there a hub on USB0? How > > does this work, then? > > the upstream port of this hub is wired to the USB-C connector, one port has > CH340E USB-UART on it for the console, the other port goes to the SoC usbphy 0. > So it would be "peripheral" only, I suppose. Yes like I explained in my other email there used to be a USB0 ID pin in earlier revisions of the board but it was reassigned and USB0 is now sitting behind the hub so it should be peripheral only. All the best, Paul -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 11:29 ` Alexander Sverdlin 2026-05-18 11:54 ` Paul Kocialkowski @ 2026-05-18 12:50 ` Andre Przywara 1 sibling, 0 replies; 31+ messages in thread From: Andre Przywara @ 2026-05-18 12:50 UTC (permalink / raw) To: Alexander Sverdlin, linux-sunxi Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi, On 5/18/26 13:29, Alexander Sverdlin wrote: > Hi Andre, > > On Mon, 2026-05-18 at 13:16 +0200, Andre Przywara wrote: >>>> And anyway, I see a *dual* USB-A socket on the pictures online, in >>>> addition to the USB-OTG port. So where does the third USB come from? The >>>> A133 only supports one host USB port plus the one OTG port. So is there >>>> an USB hub chip on the board? >>> >>> There are two hubs, one on each usbphy. OTG side hub is even bus-powered, >> >> What do you mean with OTG side hub, exactly? Is there a hub on USB0? How >> does this work, then? > > the upstream port of this hub is wired to the USB-C connector, one port has > CH340E USB-UART on it for the console, the other port goes to the SoC usbphy 0. > So it would be "peripheral" only, I suppose. Ah, that's interesting, I was wondering about this, but don't think we have seen this before. So yeah, then it's definitely peripheral only. And please state in the comment that it's connected to the downstream port of a hub, so changing it to "host" will not work. Thanks, Andre ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 11:16 ` Andre Przywara 2026-05-18 11:29 ` Alexander Sverdlin @ 2026-05-18 14:47 ` Chen-Yu Tsai 2026-05-18 14:51 ` Alexander Sverdlin 1 sibling, 1 reply; 31+ messages in thread From: Chen-Yu Tsai @ 2026-05-18 14:47 UTC (permalink / raw) To: Andre Przywara Cc: Alexander Sverdlin, linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel On Mon, May 18, 2026 at 7:16 PM Andre Przywara <andre.przywara@arm.com> wrote: > > Hi Alexander, > > On 5/17/26 22:38, Alexander Sverdlin wrote: > > Hi Andre, > > > > thanks for the quick feedback! > > > > On Mon, 2026-05-11 at 13:44 +0200, Andre Przywara wrote: > >>> --- /dev/null > >>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > >>> @@ -0,0 +1,162 @@ > >>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > >>> +/* > >>> + * Copyright (c) 2025 Arm Ltd. > >> > >> Please put your own copyright here, even if that has been largely copied > >> from an existing file. > >> > >>> + */ > >>> + > >>> +/dts-v1/; > >>> + > >>> +#include "sun50i-a100.dtsi" > >>> +#include "sun50i-a100-cpu-opp.dtsi" > >>> + > >>> +/{ > >>> + compatible = "baijie,helper-a133-core", > >>> + "allwinner,sun50i-a100"; > >>> + > >>> + aliases { > >>> + serial1 = &uart1; /* BT module */ > >> > >> Do we really need an alias for the BT UART? And is the BT module > >> supported already? Then please add a child node to the UART node. > > > > That's the only thing I can do currently regarding BT: stabilize the > > serial enumeration, because UART1 cannot be used for anything else > > except BT module, because this is soldered inside "core" module. > > We can avoid different tty enumeration, should the support for > > BT be implemented in the future... > > > >> Isn't the WiFi/BT module on the SoM? Then please mention and enable MMC1 > >> here. Provide the child node for the WiFi chip, even if there is no > >> upstream support in the kernel for it yet. > > > > So both the above BT and the WiFi is AW869A/AIC8800 combo chip, which > > has neither upstream driver, nor [upstream] DT bindings. Even github > > driver for AIC8800 doesn't seem to use DT, therefore it looks quite > > pointless to me at this point to specify anything in the DT for the > > chip which doesn't have the bindings idea even theoretically. > > > > Nothing in the current DT shall block any future work on the AW869A > > support though and the above "aliases" entry shall even guarantee > > unchanged serial enumeration shall such support arise. > > Fair enough for not providing DT nodes for those unsupported chips, but > why do we need to force enumeration? For the eventual Bluetooth usage, > the driver will find the respective serial interface by just looking at > its parent interface. IIUC there is nothing referring to ttyS1 > explicitly. So we wouldn't really need an alias, would we? > I see that some boards do define an alias, but others with Bluetooth > don't, which I think is the right thing to do. Which name the kernel > comes up with for UART1 shouldn't matter in any way. It does provide a hint for any users enabling more UARTs and adding aliases for them that they should number them starting from 2? And just stable numbering overall. ChenYu ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 14:47 ` Chen-Yu Tsai @ 2026-05-18 14:51 ` Alexander Sverdlin 0 siblings, 0 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 14:51 UTC (permalink / raw) To: wens, Andre Przywara Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel, linux-kernel Hi Chen-Yu, On Mon, 2026-05-18 at 22:47 +0800, Chen-Yu Tsai wrote: > > > > > --- /dev/null > > > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > > > > @@ -0,0 +1,162 @@ > > > > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > > > > +/* > > > > > + * Copyright (c) 2025 Arm Ltd. > > > > > > > > Please put your own copyright here, even if that has been largely copied > > > > from an existing file. > > > > > > > > > + */ > > > > > + > > > > > +/dts-v1/; > > > > > + > > > > > +#include "sun50i-a100.dtsi" > > > > > +#include "sun50i-a100-cpu-opp.dtsi" > > > > > + > > > > > +/{ > > > > > + compatible = "baijie,helper-a133-core", > > > > > + "allwinner,sun50i-a100"; > > > > > + > > > > > + aliases { > > > > > + serial1 = &uart1; /* BT module */ > > > > > > > > Do we really need an alias for the BT UART? And is the BT module > > > > supported already? Then please add a child node to the UART node. > > > > > > That's the only thing I can do currently regarding BT: stabilize the > > > serial enumeration, because UART1 cannot be used for anything else > > > except BT module, because this is soldered inside "core" module. > > > We can avoid different tty enumeration, should the support for > > > BT be implemented in the future... > > > > > > > Isn't the WiFi/BT module on the SoM? Then please mention and enable MMC1 > > > > here. Provide the child node for the WiFi chip, even if there is no > > > > upstream support in the kernel for it yet. > > > > > > So both the above BT and the WiFi is AW869A/AIC8800 combo chip, which > > > has neither upstream driver, nor [upstream] DT bindings. Even github > > > driver for AIC8800 doesn't seem to use DT, therefore it looks quite > > > pointless to me at this point to specify anything in the DT for the > > > chip which doesn't have the bindings idea even theoretically. > > > > > > Nothing in the current DT shall block any future work on the AW869A > > > support though and the above "aliases" entry shall even guarantee > > > unchanged serial enumeration shall such support arise. > > > > Fair enough for not providing DT nodes for those unsupported chips, but > > why do we need to force enumeration? For the eventual Bluetooth usage, > > the driver will find the respective serial interface by just looking at > > its parent interface. IIUC there is nothing referring to ttyS1 > > explicitly. So we wouldn't really need an alias, would we? > > I see that some boards do define an alias, but others with Bluetooth > > don't, which I think is the right thing to do. Which name the kernel > > comes up with for UART1 shouldn't matter in any way. > > It does provide a hint for any users enabling more UARTs and adding > aliases for them that they should number them starting from 2? And > just stable numbering overall. that's exactly what I had in mind, as the the status of BT/WiFi might change in future, we might want to make UART1=tty1 and UART2=tty2 today and this will not change with potentially coming AW869A support. But that's not an essential feature to me, just nice to have. -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-10 20:16 ` [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board Alexander Sverdlin 2026-05-11 11:44 ` Andre Przywara @ 2026-05-11 22:07 ` sashiko-bot 2026-05-18 11:52 ` Paul Kocialkowski 2 siblings, 0 replies; 31+ messages in thread From: sashiko-bot @ 2026-05-11 22:07 UTC (permalink / raw) To: Alexander Sverdlin; +Cc: robh, krzk+dt, conor+dt, devicetree Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider: - [High] Board-level regulator constraints are dangerously overly permissive, reflecting PMIC hardware limits instead of the board's electrical design. - [Medium] Mismatch between the commit message and device tree configuration regarding the PMIC model. - [Medium] Missing DT bindings for new compatible strings and vendor prefix. - [Low] Typo in the new device tree include filename. -- commit 995a0c0548d7cc620abeca1987efff325083911e Author: Alexander Sverdlin <alexander.sverdlin@gmail.com> arm64: dts: allwinner: A133: add support for Baijie Helper A133 board This commit adds initial support for the Baijie Helper A133 board and its core SBC. It enables UART, PMU, eMMC, USB, and Ethernet peripherals. > Baijie Helper A133 board is a development board around Baijie A133 Core > SBC. Features: > > - 1/2/4GiB LPDDR4 DRAM > - 8/16/32GiB eMMC > - AXP707 PMIC The commit message mentions an AXP707 PMIC, but the device tree configures an x-powers,axp803 PMIC. Is AXP707 a typo in the message, or does the hardware actually use an AXP707? Also, are the new compatible strings baijie,helper-a133 and baijie,helper-a133-core, along with the baijie vendor prefix, included in a separate dt-bindings patch? I don't see them documented here, which might cause schema validation failures. > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > new file mode 100644 > index 0000000000000..65b094f30bf5b > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi This isn't a bug, but there is a typo in the filename. The vendor prefix is baijie but the file is named baije. [ ... ] > +®_dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <3400000>; > + regulator-name = "vcc-3v3"; > +}; Does this overly permissive voltage range match the physical board design? Since this rail is named vcc-3v3 and shared by multiple 3.3V IO banks, allowing the voltage to drop to 1.6V could undervolt other components if a driver dynamically requests a lower voltage. Could the constraints be tightened to match the safe operating limits of the board layout, rather than the PMIC hardware capabilities? [ ... ] -- Sashiko AI review · https://sashiko.dev/#/patchset/20260510201644.4143710-1-alexander.sverdlin@gmail.com?part=3 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-10 20:16 ` [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board Alexander Sverdlin 2026-05-11 11:44 ` Andre Przywara 2026-05-11 22:07 ` sashiko-bot @ 2026-05-18 11:52 ` Paul Kocialkowski 2026-05-18 12:09 ` Alexander Sverdlin 2026-05-18 20:05 ` Alexander Sverdlin 2 siblings, 2 replies; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 11:52 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 11951 bytes --] Hi Alexander, Le Sun 10 May 26, 22:16, Alexander Sverdlin a écrit : > Baijie Helper A133 board is a development board around Baijie A133 Core > SBC. Features: Just in case you missed it, there was a previous submission for this board which wasn't followed up on. I also have one of this board and wanted to respin support, but it looks like you beat me to it :) Thanks for working on this! Please change the naming to "Baijie HelperBoard A133" and "Baijie A133 HelperBoard Core" to align with the vendor terminology and rename the files as: - sun50i-a133-helperboard.dts - sun50i-a133-helperboard-core.dtsi > - 1/2/4GiB LPDDR4 DRAM > - 8/16/32GiB eMMC > - AXP707 PMIC > - 2 USB 2.0 ports > - MicroSD slot and on-board eMMC module > - Gigabit Ethernet > - Bluetooth > - WiFi > > Add initial support for both the Helper and Core boards, including UART, > PMU, eMMC, USB, Ethernet. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > > Changelog: > v2: > - introduced baijie,helper-a133-core compatible for the Core (SoM) board > > arch/arm64/boot/dts/allwinner/Makefile | 1 + > .../dts/allwinner/sun50i-a133-baije-core.dtsi | 162 ++++++++++++++++++ > .../allwinner/sun50i-a133-baijie-helper.dts | 94 ++++++++++ > 3 files changed, 257 insertions(+) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > index d116864b6c2b..926dfa851100 100644 > --- a/arch/arm64/boot/dts/allwinner/Makefile > +++ b/arch/arm64/boot/dts/allwinner/Makefile > @@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h64-remix-mini-pc.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-baijie-helper.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-liontron-h-a133l.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > new file mode 100644 > index 000000000000..65b094f30bf5 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > @@ -0,0 +1,162 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2025 Arm Ltd. > + */ > + > +/dts-v1/; > + > +#include "sun50i-a100.dtsi" > +#include "sun50i-a100-cpu-opp.dtsi" > + > +/{ You could add a model here while at it, even though it would generally be overwritten. > + compatible = "baijie,helper-a133-core", > + "allwinner,sun50i-a100"; > + > + aliases { > + serial1 = &uart1; /* BT module */ Not sure this is reallyt useful. > + }; You should add: chosen { stdout-path = "serial0:115200n8"; }; As well as the incoming 5v regulator: reg_vcc5v: vcc5v { compatible = "regulator-fixed"; regulator-name = "vcc-5v"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; }; > +}; > + > +&cpu0 { > + cpu-supply = <®_dcdc2>; > +}; > + > +&pio { > + vcc-pb-supply = <®_dcdc1>; > + vcc-pc-supply = <®_eldo1>; > + vcc-pd-supply = <®_dcdc1>; > + vcc-pe-supply = <®_dldo2>; > + vcc-pf-supply = <®_dcdc1>; > + vcc-pg-supply = <®_dldo1>; > + vcc-ph-supply = <®_dcdc1>; > +}; > + > +&mmc2 { mmc2 goes before pio (alphanum sorting). > + vmmc-supply = <®_dcdc1>; > + vqmmc-supply = <®_eldo1>; > + cap-mmc-hw-reset; > + non-removable; > + bus-width = <8>; > + mmc-ddr-1_8v; > + mmc-hs200-1_8v; > + status = "okay"; You can add: max-frequency = <100000000>; cap-mmc-highspeed; > +}; > + > +&r_i2c0 { > + status = "okay"; > + > + axp803: pmic@34 { > + compatible = "x-powers,axp803"; > + reg = <0x34>; > + interrupt-parent = <&r_intc>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; You can also add: x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ aldoin-supply = <®_vcc5v>; dldoin-supply = <®_vcc5v>; eldoin-supply = <®_vcc5v>; fldoin-supply = <®_dcdc5>; vin1-supply = <®_vcc5v>; vin2-supply = <®_vcc5v>; vin3-supply = <®_vcc5v>; vin4-supply = <®_vcc5v>; vin5-supply = <®_vcc5v>; vin6-supply = <®_vcc5v>; > + }; > +}; > + > +#include "axp803.dtsi" > + > +&ac_power_supply { > + status = "okay"; > +}; > + > +®_aldo1 { > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; Should be: regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc-pll-avcc"; > +}; > + > +®_aldo2 { > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; Should be: regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc-dram-lpddr"; > +}; > + > +®_aldo3 { > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; Should be: regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc-pl"; > +}; > + > +®_dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <3400000>; > + regulator-name = "vcc-3v3"; Should be: regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-name = "vcc-io-usb-pd-nand-3v3"; > +}; > + > +®_dcdc2 { > + regulator-always-on; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <1300000>; Should be: regulator-min-microvolt = <900000>; regulator-max-microvolt = <1300000>; > + regulator-name = "vdd-cpu"; > +}; > + > +®_dcdc3 { > + regulator-always-on; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <1300000>; > +}; DCDC3 is polyphased with DCDC2, so remove this one and add: /* DCDC3 is polyphased with DCDC2 */ > + > +®_dcdc4 { > + regulator-always-on; > + regulator-min-microvolt = <500000>; > + regulator-max-microvolt = <1300000>; > + regulator-name = "vdd-sys"; Should be: regulator-min-microvolt = <810000>; regulator-max-microvolt = <990000>; regulator-name = "vcc-usb-sys"; > +}; > + > +®_dcdc5 { > + regulator-always-on; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <1840000>; > + regulator-name = "vcc-dram"; Should be: regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; regulator-name = "vcc-dram-2"; ALDO2 is the main DRAM supply, this is the second one. > +}; > + > +/* DCDC6 unused */ > + > +®_dldo1 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; Should be: regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc-pg"; > +}; > + > +®_dldo2 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3400000>; > + regulator-enable-ramp-delay = <1000>; Should be: regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc-csi-pe"; > +}; > + > +®_dldo3 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; > + regulator-name = "avdd-csi"; Should be: regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-name = "ldo-avdd-csi"; > +}; > + > +®_dldo4 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <3300000>; > + regulator-enable-ramp-delay = <1000>; Should be: regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-name = "ldo-avdd-csi"; > +}; You can add: ®_drivevbus { regulator-name = "usb0-vbus"; status = "okay"; }; > + > +®_eldo1 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1900000>; > + regulator-enable-ramp-delay = <1000>; Should be: regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-name = "vcc-pc-efuse-lvds-cpvin-mcsi"; > +}; > + > +®_eldo2 { > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1900000>; Should be: regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; > + regulator-enable-ramp-delay = <1000>; > + regulator-name = "dvdd-csi"; > +}; > + > +/* ELDO3 unused */ > + > +®_fldo1 { > + regulator-always-on; > + regulator-min-microvolt = <700000>; > + regulator-max-microvolt = <1450000>; > + regulator-name = "vdd-cpus-usb"; > +}; > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > new file mode 100644 > index 000000000000..ccbca5d0a40c > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > @@ -0,0 +1,94 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2025 Arm Ltd. > + */ > + > +/dts-v1/; > + > +#include "sun50i-a133-baije-core.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/leds/common.h> > + > +/{ > + model = "HelperBoard A133"; > + compatible = "baijie,helper-a133", > + "baijie,helper-a133-core", > + "allwinner,sun50i-a100"; > + > + aliases { > + serial0 = &uart0; The is best added to the core dtsi. > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; Ditto. > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led { > + function = LED_FUNCTION_INDICATOR; > + color = <LED_COLOR_ID_GREEN>; > + gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ > + }; > + }; > +}; > + > +&mmc0 { > + vmmc-supply = <®_dcdc1>; > + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ > + bus-width = <4>; > + status = "okay"; You can add: disable-wp; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_pb_pins>; > + status = "okay"; > +}; > + > +&rgmii0_pins { > + drive-strength = <30>; > +}; Sorting is also incorrect throughout the file, please use alphanum sorting for phandle-based overwrites. > + > +&emac0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&rgmii0_pins>; > + phy-handle = <ð_phy>; > + phy-mode = "rgmii-id"; > + allwinner,rx-delay-ps = <200>; > + allwinner,tx-delay-ps = <200>; > + status = "okay"; > +}; > + > +&mdio0 { > + reset-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */ > + reset-delay-us = <10000>; > + reset-post-delay-us = <150000>; > + > + eth_phy: ethernet-phy@1 { > + compatible = "ethernet-phy-ieee802.3-c22"; > + reg = <1>; > + }; > +}; > + > +&usbphy { > + status = "okay"; You can add: usb0_vbus-supply = <®_dcdc1>; usb1_vbus-supply = <®_dcdc4>; > +}; > + > +&ehci0 { > + status = "okay"; > +}; AFAIK there is no ID pin so ehci0/ohci0 will not be used. It seems that version 1.7 of the board used PH0 as USB0 ID pin but version 2.5 has reassigned PH8 to LCD reset. > +&ohci0 { > + status = "okay"; > +}; > + > +&ehci1 { > + status = "okay"; > +}; > + > +&ohci1 { > + status = "okay"; > +}; > -- > 2.54.0 > > -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 11:52 ` Paul Kocialkowski @ 2026-05-18 12:09 ` Alexander Sverdlin 2026-05-18 14:14 ` Paul Kocialkowski 2026-05-18 20:05 ` Alexander Sverdlin 1 sibling, 1 reply; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 12:09 UTC (permalink / raw) To: Paul Kocialkowski; +Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel Hi Paul, On Mon, 2026-05-18 at 13:52 +0200, Paul Kocialkowski wrote: > Just in case you missed it, there was a previous submission for this > board which wasn't followed up on. > > I also have one of this board and wanted to respin support, but it looks > like you beat me to it :) thanks for the hint! Do you mean this series: https://lore.kernel.org/all/20241227-a133-display-support-v1-0-13b52f71fb14@linumiz.com/ ? I've missed it indeed! I'll look into it! -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 12:09 ` Alexander Sverdlin @ 2026-05-18 14:14 ` Paul Kocialkowski 2026-05-18 14:40 ` Alexander Sverdlin 0 siblings, 1 reply; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 14:14 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1349 bytes --] Hi Alexander, Le Mon 18 May 26, 14:09, Alexander Sverdlin a écrit : > Hi Paul, > > On Mon, 2026-05-18 at 13:52 +0200, Paul Kocialkowski wrote: > > Just in case you missed it, there was a previous submission for this > > board which wasn't followed up on. > > > > I also have one of this board and wanted to respin support, but it looks > > like you beat me to it :) > > thanks for the hint! > Do you mean this series: > https://lore.kernel.org/all/20241227-a133-display-support-v1-0-13b52f71fb14@linumiz.com/ > ? > > I've missed it indeed! I'll look into it! Yes that's the one! But I don't think there are features that your series is missing, as long as you apply the suggestions I made earlier. I also have a U-Boot config ready for it, which I could send once the device-trees are merged on the kernel side. I could send it to you if you're interested. I will also get back to you about your TF-A series so we can move all of this forward! By the way it's good to wait a few days before sending new versions of patch series, to avoid overwhelmind the developers. All the best, Paul -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 14:14 ` Paul Kocialkowski @ 2026-05-18 14:40 ` Alexander Sverdlin 2026-05-18 14:56 ` Paul Kocialkowski 2026-05-18 21:23 ` Andre Przywara 0 siblings, 2 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 14:40 UTC (permalink / raw) To: Paul Kocialkowski; +Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel Hi Paul, On Mon, 2026-05-18 at 16:14 +0200, Paul Kocialkowski wrote: > I also have a U-Boot config ready for it, which I could send once the > device-trees are merged on the kernel side. I could send it to you if > you're interested. I do have one as well, I'm testing all open-source ;-) from ATF-upwards, just thought U-Boot would require ATF merged and kernel DT merged because of OF_UPSTREAM in U-Boot. But I'd be happy to sync when we get there. -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 14:40 ` Alexander Sverdlin @ 2026-05-18 14:56 ` Paul Kocialkowski 2026-05-18 15:04 ` Alexander Sverdlin 2026-05-18 21:23 ` Andre Przywara 1 sibling, 1 reply; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 14:56 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1627 bytes --] Alexander, Le Mon 18 May 26, 16:40, Alexander Sverdlin a écrit : > Hi Paul, > > On Mon, 2026-05-18 at 16:14 +0200, Paul Kocialkowski wrote: > > I also have a U-Boot config ready for it, which I could send once the > > device-trees are merged on the kernel side. I could send it to you if > > you're interested. > > I do have one as well, I'm testing all open-source ;-) from ATF-upwards, > just thought U-Boot would require ATF merged and kernel DT merged > because of OF_UPSTREAM in U-Boot. But I'd be happy to sync when we get > there. Sure, let's keep in touch about this! I also have the 7" LVDS LCD that goes with it, which was supported by Parthiban's initial series (but needs rework, and it seems that he's unlikely to do it). I also have the 5" MIPI LCD but it's less likely that it will be supported, although I have seen dirty patches to make some other MIPI panel work with A133. We'll need PWM for it which should be a follow-up to the current H616 PWM series from Richard Genoud. Other than that there is a PCF8563TS RTC on the board, audio stuff: speaker (which I have) mic and headphones and a GPIO beeper which could be added. Do you have other A133 boards that you're interested in? I also have: - KICKPI K5C - DshanPi-R818 - Logicom La Tab 129 - Trimui Brick And have some WIP device-trees and u-boot for most of them. All the best, Paul -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 14:56 ` Paul Kocialkowski @ 2026-05-18 15:04 ` Alexander Sverdlin 0 siblings, 0 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 15:04 UTC (permalink / raw) To: Paul Kocialkowski; +Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel Paul, On Mon, 2026-05-18 at 16:56 +0200, Paul Kocialkowski wrote: > I also have the 7" LVDS LCD that goes with it, which was supported by > Parthiban's initial series (but needs rework, and it seems that he's > unlikely to do it). I also have the 5" MIPI LCD but it's less likely > that it will be supported, although I have seen dirty patches to make > some other MIPI panel work with A133. > > We'll need PWM for it which should be a follow-up to the current H616 > PWM series from Richard Genoud. I didn't have video in my mind, but... > Other than that there is a PCF8563TS RTC on the board, audio stuff: > speaker (which I have) mic and headphones and a GPIO beeper which could > be added. ... would be happy to work on higher quality audio I/O support after we get the base merged... > Do you have other A133 boards that you're interested in? > I also have: > - KICKPI K5C > - DshanPi-R818 > - Logicom La Tab 129 > - Trimui Brick thanks! I'll try to concentrate on the SzBaijie Core/Helper boards I have for now. -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 14:40 ` Alexander Sverdlin 2026-05-18 14:56 ` Paul Kocialkowski @ 2026-05-18 21:23 ` Andre Przywara 1 sibling, 0 replies; 31+ messages in thread From: Andre Przywara @ 2026-05-18 21:23 UTC (permalink / raw) To: Alexander Sverdlin Cc: Paul Kocialkowski, linux-sunxi, devicetree, linux-arm-kernel, linux-kernel On Mon, 18 May 2026 16:40:11 +0200 Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote: Hi Alexander, > On Mon, 2026-05-18 at 16:14 +0200, Paul Kocialkowski wrote: > > I also have a U-Boot config ready for it, which I could send once the > > device-trees are merged on the kernel side. I could send it to you if > > you're interested. > > I do have one as well, I'm testing all open-source ;-) from ATF-upwards, > just thought U-Boot would require ATF merged and kernel DT merged > because of OF_UPSTREAM in U-Boot. But I'd be happy to sync when we get > there. There is no requirement for upstream TF-A support when adding U-Boot support. All we need is *some* blob to feed to the U-Boot build system. There is one dependency, though: the TF-A load address. Mostly that's some quite obvious SRAM address, but in this case it turned out that the SRAM on the A133 is probably too small, so it looks like we need to move to DRAM. Not sure how we handle the transition, but at the moment there is just one board supported, so it will be slightly painful for a few weeks or months, I am afraid. And yes, DTs need to be merged into Linus' tree to be considered, so this series of yours is exactly the right thing to do. There are regular syncs between the DT rebasing repo and U-Boot, but we can manually cherry-pick patches once they have reached the mainline tree. But feel free to send U-Boot patches once this series has been ACKed, so the defconfig file can be reviewed and then queued, to wait for the DT to appear in v7.2-rc1, for instance. Cheers, Andre ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 11:52 ` Paul Kocialkowski 2026-05-18 12:09 ` Alexander Sverdlin @ 2026-05-18 20:05 ` Alexander Sverdlin 2026-05-18 21:46 ` Paul Kocialkowski 2026-05-18 21:54 ` Andre Przywara 1 sibling, 2 replies; 31+ messages in thread From: Alexander Sverdlin @ 2026-05-18 20:05 UTC (permalink / raw) To: Paul Kocialkowski Cc: linux-sunxi, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel Hi Paul, thanks for the review! On Mon, 2026-05-18 at 13:52 +0200, Paul Kocialkowski wrote: > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > new file mode 100644 > > index 000000000000..65b094f30bf5 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi [] > You should add: > > chosen { > stdout-path = "serial0:115200n8"; > }; I actually have it in .dts, but it's theoretically possible to deploy the core board in a way that serial0 is *not* a console, so the above probably will not be valid in all cases in .dtsi. > > > > > +®_dcdc2 { > > + regulator-always-on; > > + regulator-min-microvolt = <500000>; > > + regulator-max-microvolt = <1300000>; > > Should be: > regulator-min-microvolt = <900000>; > regulator-max-microvolt = <1300000>; 0.81..1.2v according to A133 Datasheet Revision 1.1 Jul.14, 2020? > > > +®_dcdc4 { > > + regulator-always-on; > > + regulator-min-microvolt = <500000>; > > + regulator-max-microvolt = <1300000>; > > + regulator-name = "vdd-sys"; > > Should be: > regulator-min-microvolt = <810000>; > regulator-max-microvolt = <990000>; > regulator-name = "vcc-usb-sys"; I'm a bit puzzled here: datasheet says 0.9..1.0v and it has no "Typ" value, similar to VDD_CPU, but VDD_SYS is not part of OPP tables, so who is going to adjust this? Or shall it be just regulator-min-microvolt = <950000>; regulator-max-microvolt = <950000>; ? > > > +}; > > + > > +®_dcdc5 { > > + regulator-always-on; > > + regulator-min-microvolt = <800000>; > > + regulator-max-microvolt = <1840000>; > > + regulator-name = "vcc-dram"; > > Should be: > regulator-min-microvolt = <1100000>; > regulator-max-microvolt = <1100000>; > regulator-name = "vcc-dram-2"; > > ALDO2 is the main DRAM supply, this is the second one. Core schematics mentions 1.1V/1.2/1.35/1.5 on this rail... Currently U-Boot has CONFIG_AXP_DCDC5_VOLT=1100, but potentially this is adjustable, right? At some point LPDDR4 chips they are soldering today will be unavailable. And in the current market it will happen rather sooner than later... > > > +}; > > + > > +/* DCDC6 unused */ > > + > > +®_dldo1 { > > + regulator-min-microvolt = <700000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-enable-ramp-delay = <1000>; > > Should be: > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > regulator-name = "vcc-pg"; Do suggest to drop vendor's regulator-enable-ramp-delay = <1000>; in all cases? > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > new file mode 100644 > > index 000000000000..ccbca5d0a40c > > --- /dev/null > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts [] > > + aliases { > > + serial0 = &uart0; > > The is best added to the core dtsi. > > > + }; > > + > > + chosen { > > + stdout-path = "serial0:115200n8"; > > Ditto. But it only physically materializes in Helperboard, the carrier. Potentially this one can be left floating or used for something else. -- Alexander Sverdlin. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 20:05 ` Alexander Sverdlin @ 2026-05-18 21:46 ` Paul Kocialkowski 2026-05-19 3:33 ` Chen-Yu Tsai 2026-05-18 21:54 ` Andre Przywara 1 sibling, 1 reply; 31+ messages in thread From: Paul Kocialkowski @ 2026-05-18 21:46 UTC (permalink / raw) To: Alexander Sverdlin Cc: linux-sunxi, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 5275 bytes --] Hi Alexander, On Mon 18 May 26, 22:05, Alexander Sverdlin wrote: > Hi Paul, > > thanks for the review! > > On Mon, 2026-05-18 at 13:52 +0200, Paul Kocialkowski wrote: > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > > new file mode 100644 > > > index 000000000000..65b094f30bf5 > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > [] > > > You should add: > > > > chosen { > > stdout-path = "serial0:115200n8"; > > }; > > I actually have it in .dts, but it's theoretically possible to deploy > the core board in a way that serial0 is *not* a console, so the above > probably will not be valid in all cases in .dtsi. Yes I figured out later that it was in the board dts file and I initially assumed it was missing entirely. In practice both options are fine, although the reference software does hardcode UART0 as debug serial. > > > +®_dcdc2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <500000>; > > > + regulator-max-microvolt = <1300000>; > > > > Should be: > > regulator-min-microvolt = <900000>; > > regulator-max-microvolt = <1300000>; > > 0.81..1.2v according to A133 Datasheet Revision 1.1 Jul.14, 2020? I guess the initial values are taken from the allwinner-perf1 board dts. The 900 mV-1.3 V range matches the CPU OPPs (although it really only goes up to 1.13 V). Maybe down to 810 mV does work, but we don't have an OPP for it. I think I took these values from the reference BSP for the board. Also it would be good to add: regulator-name = "vdd-cpux"; > > > > > +®_dcdc4 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <500000>; > > > + regulator-max-microvolt = <1300000>; > > > + regulator-name = "vdd-sys"; > > > > Should be: > > regulator-min-microvolt = <810000>; > > regulator-max-microvolt = <990000>; > > regulator-name = "vcc-usb-sys"; > > I'm a bit puzzled here: datasheet says 0.9..1.0v > and it has no "Typ" value, similar to VDD_CPU, but > VDD_SYS is not part of OPP tables, so who is going > to adjust this? Or shall it be just > > regulator-min-microvolt = <950000>; > regulator-max-microvolt = <950000>; > > ? Yes the reference BSP runs it at 950 mV, LGTM. > > > > > > +}; > > > + > > > +®_dcdc5 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <800000>; > > > + regulator-max-microvolt = <1840000>; > > > + regulator-name = "vcc-dram"; > > > > Should be: > > regulator-min-microvolt = <1100000>; > > regulator-max-microvolt = <1100000>; > > regulator-name = "vcc-dram-2"; > > > > ALDO2 is the main DRAM supply, this is the second one. > > Core schematics mentions 1.1V/1.2/1.35/1.5 on this rail... > Currently U-Boot has CONFIG_AXP_DCDC5_VOLT=1100, but potentially > this is adjustable, right? At some point LPDDR4 chips they > are soldering today will be unavailable. And in the current > market it will happen rather sooner than later... It is part of the LPDDR4 spec that the main voltage should be 1.8 V and the second and I/O buffer ones should be 1.1 V. See JESD209-4D Table 180 — Recommended DC Operating Conditions. Maybe they jsut copied this comment from a reference design that allows for other types of DRAM too. In any case their BSP hardcodes 1.1 V anyway. > > > > > +}; > > > + > > > +/* DCDC6 unused */ > > > + > > > +®_dldo1 { > > > + regulator-min-microvolt = <700000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-enable-ramp-delay = <1000>; > > > > Should be: > > regulator-min-microvolt = <1800000>; > > regulator-max-microvolt = <1800000>; > > regulator-name = "vcc-pg"; > > Do suggest to drop vendor's > > regulator-enable-ramp-delay = <1000>; > > in all cases? Well we generally don't have the delays in the axp regulator definitions and it works well without them, but I guess they don't hurt either. In practice many drivers will have a delay after a regulator power on anyway because we generally expect that hardware needs some time to power up, in addition to the regulator. So all in all it's rarely critical. > > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > > new file mode 100644 > > > index 000000000000..ccbca5d0a40c > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > [] > > > > + aliases { > > > + serial0 = &uart0; > > > > The is best added to the core dtsi. > > > > > + }; > > > + > > > + chosen { > > > + stdout-path = "serial0:115200n8"; > > > > Ditto. > > But it only physically materializes in Helperboard, the carrier. > Potentially this one can be left floating or used for something else. Yes fair enough, I'm happy with having it on the helperboard dts file. All the best, Paul -- Paul Kocialkowski, Independent contractor - sys-base - https://www.sys-base.io/ Free software developer - https://www.paulk.fr/ Expert in multimedia, graphics and embedded hardware support with Linux. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 21:46 ` Paul Kocialkowski @ 2026-05-19 3:33 ` Chen-Yu Tsai 0 siblings, 0 replies; 31+ messages in thread From: Chen-Yu Tsai @ 2026-05-19 3:33 UTC (permalink / raw) To: Paul Kocialkowski, Alexander Sverdlin Cc: linux-sunxi, Andre Przywara, devicetree, linux-arm-kernel, linux-kernel On Tue, May 19, 2026 at 5:46 AM Paul Kocialkowski <paulk@sys-base.io> wrote: > > Hi Alexander, > > On Mon 18 May 26, 22:05, Alexander Sverdlin wrote: > > Hi Paul, > > > > thanks for the review! > > > > On Mon, 2026-05-18 at 13:52 +0200, Paul Kocialkowski wrote: > > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > > > new file mode 100644 > > > > index 000000000000..65b094f30bf5 > > > > --- /dev/null > > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > > > [] > > > > > You should add: > > > > > > chosen { > > > stdout-path = "serial0:115200n8"; > > > }; > > > > I actually have it in .dts, but it's theoretically possible to deploy > > the core board in a way that serial0 is *not* a console, so the above > > probably will not be valid in all cases in .dtsi. > > Yes I figured out later that it was in the board dts file and I initially > assumed it was missing entirely. > > In practice both options are fine, although the reference software does > hardcode UART0 as debug serial. > > > > > +®_dcdc2 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <500000>; > > > > + regulator-max-microvolt = <1300000>; > > > > > > Should be: > > > regulator-min-microvolt = <900000>; > > > regulator-max-microvolt = <1300000>; > > > > 0.81..1.2v according to A133 Datasheet Revision 1.1 Jul.14, 2020? > > I guess the initial values are taken from the allwinner-perf1 board dts. > > The 900 mV-1.3 V range matches the CPU OPPs (although it really only goes up > to 1.13 V). Maybe down to 810 mV does work, but we don't have an OPP for it. > I think I took these values from the reference BSP for the board. > > Also it would be good to add: > > regulator-name = "vdd-cpux"; > > > > > > > > +®_dcdc4 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <500000>; > > > > + regulator-max-microvolt = <1300000>; > > > > + regulator-name = "vdd-sys"; > > > > > > Should be: > > > regulator-min-microvolt = <810000>; > > > regulator-max-microvolt = <990000>; > > > regulator-name = "vcc-usb-sys"; > > > > I'm a bit puzzled here: datasheet says 0.9..1.0v > > and it has no "Typ" value, similar to VDD_CPU, but > > VDD_SYS is not part of OPP tables, so who is going > > to adjust this? Or shall it be just No one really. As long as the current voltage is within the range, the kernel will be happy. But ideally the DT just describes the acceptable range, and the bootloader programs the correct recommended voltage. > > regulator-min-microvolt = <950000>; > > regulator-max-microvolt = <950000>; > > > > ? > > Yes the reference BSP runs it at 950 mV, LGTM. > > > > > > > > > > +}; > > > > + > > > > +®_dcdc5 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <800000>; > > > > + regulator-max-microvolt = <1840000>; > > > > + regulator-name = "vcc-dram"; > > > > > > Should be: > > > regulator-min-microvolt = <1100000>; > > > regulator-max-microvolt = <1100000>; > > > regulator-name = "vcc-dram-2"; > > > > > > ALDO2 is the main DRAM supply, this is the second one. > > > > Core schematics mentions 1.1V/1.2/1.35/1.5 on this rail... > > Currently U-Boot has CONFIG_AXP_DCDC5_VOLT=1100, but potentially > > this is adjustable, right? At some point LPDDR4 chips they > > are soldering today will be unavailable. And in the current > > market it will happen rather sooner than later... > > It is part of the LPDDR4 spec that the main voltage should be 1.8 V and > the second and I/O buffer ones should be 1.1 V. See JESD209-4D Table 180 — > Recommended DC Operating Conditions. > > Maybe they jsut copied this comment from a reference design that allows for > other types of DRAM too. In any case their BSP hardcodes 1.1 V anyway. > > > > > > > > +}; > > > > + > > > > +/* DCDC6 unused */ > > > > + > > > > +®_dldo1 { > > > > + regulator-min-microvolt = <700000>; > > > > + regulator-max-microvolt = <3300000>; > > > > + regulator-enable-ramp-delay = <1000>; > > > > > > Should be: > > > regulator-min-microvolt = <1800000>; > > > regulator-max-microvolt = <1800000>; > > > regulator-name = "vcc-pg"; > > > > Do suggest to drop vendor's > > > > regulator-enable-ramp-delay = <1000>; > > > > in all cases? > > Well we generally don't have the delays in the axp regulator definitions and > it works well without them, but I guess they don't hurt either. We should probably keep them if we know that they are properly measured values, and not just cargo-culted. > In practice many drivers will have a delay after a regulator power on anyway > because we generally expect that hardware needs some time to power up, > in addition to the regulator. So all in all it's rarely critical. Those are two different things. Devices generally say "wait x ms" after power rail is at full voltage. The enable ramp delay is the time it takes the rail to get to full voltage. The latter depends on board design (capacitor rating) and PMIC settings. ChenYu > > > > > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > > > new file mode 100644 > > > > index 000000000000..ccbca5d0a40c > > > > --- /dev/null > > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > > > [] > > > > > > + aliases { > > > > + serial0 = &uart0; > > > > > > The is best added to the core dtsi. > > > > > > > + }; > > > > + > > > > + chosen { > > > > + stdout-path = "serial0:115200n8"; > > > > > > Ditto. > > > > But it only physically materializes in Helperboard, the carrier. > > Potentially this one can be left floating or used for something else. > > Yes fair enough, I'm happy with having it on the helperboard dts file. > > All the best, > > Paul > > -- > Paul Kocialkowski, > > Independent contractor - sys-base - https://www.sys-base.io/ > Free software developer - https://www.paulk.fr/ > > Expert in multimedia, graphics and embedded hardware support with Linux. ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board 2026-05-18 20:05 ` Alexander Sverdlin 2026-05-18 21:46 ` Paul Kocialkowski @ 2026-05-18 21:54 ` Andre Przywara 1 sibling, 0 replies; 31+ messages in thread From: Andre Przywara @ 2026-05-18 21:54 UTC (permalink / raw) To: Alexander Sverdlin Cc: Paul Kocialkowski, linux-sunxi, devicetree, linux-arm-kernel, linux-kernel On Mon, 18 May 2026 22:05:25 +0200 Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote: Hi Paul, Alexander, > thanks for the review! > > On Mon, 2026-05-18 at 13:52 +0200, Paul Kocialkowski wrote: > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > > new file mode 100644 > > > index 000000000000..65b094f30bf5 > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baije-core.dtsi > > [] > > > You should add: > > > > chosen { > > stdout-path = "serial0:115200n8"; > > }; > > I actually have it in .dts, but it's theoretically possible to deploy > the core board in a way that serial0 is *not* a console, so the above > probably will not be valid in all cases in .dtsi. I am with Alexander here, to me the serial port belong into the helper board .dts, not the SoM .dtsi. > > > > > > > > > > +®_dcdc2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <500000>; > > > + regulator-max-microvolt = <1300000>; > > > > Should be: > > regulator-min-microvolt = <900000>; > > regulator-max-microvolt = <1300000>; > > 0.81..1.2v according to A133 Datasheet Revision 1.1 Jul.14, 2020? Do you have the CPU OPPs for this board? Do they slightly overclock/over-volt the core? We have seen this for some other boards. But you could go with the safer 810mV...1200mV range, and we adjust this when needed. > > > > > > +®_dcdc4 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <500000>; > > > + regulator-max-microvolt = <1300000>; > > > + regulator-name = "vdd-sys"; > > > > Should be: > > regulator-min-microvolt = <810000>; > > regulator-max-microvolt = <990000>; > > regulator-name = "vcc-usb-sys"; > > I'm a bit puzzled here: datasheet says 0.9..1.0v > and it has no "Typ" value, similar to VDD_CPU, but > VDD_SYS is not part of OPP tables, so who is going > to adjust this? Or shall it be just > > regulator-min-microvolt = <950000>; > regulator-max-microvolt = <950000>; There is indeed no exact value to be found. Just go with whatever the BSP used: either it's the PMIC reset value, or it's adjusted by boot0. If you have a BSP kernel booted, check the value of this regulator on the Linux prompt, then use this value. Chances are it's indeed 950mV, as used by the Liontron board. > > ? > > > > > > +}; > > > + > > > +®_dcdc5 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <800000>; > > > + regulator-max-microvolt = <1840000>; > > > + regulator-name = "vcc-dram"; > > > > Should be: > > regulator-min-microvolt = <1100000>; > > regulator-max-microvolt = <1100000>; > > regulator-name = "vcc-dram-2"; > > > > ALDO2 is the main DRAM supply, this is the second one. > > Core schematics mentions 1.1V/1.2/1.35/1.5 on this rail... > Currently U-Boot has CONFIG_AXP_DCDC5_VOLT=1100, but potentially > this is adjustable, right? At some point LPDDR4 chips they > are soldering today will be unavailable. And in the current > market it will happen rather sooner than later... We don't support multiple DRAM types for one board, really. If they switch to another DRAM type, we will need a new DT or some other way to adjust this (potentially runtime patched by U-Boot). But we can address this when we get there, so just set the 1.1V that LPDDR4 requires for the existing boards right now. > > > > > > +}; > > > + > > > +/* DCDC6 unused */ > > > + > > > +®_dldo1 { > > > + regulator-min-microvolt = <700000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-enable-ramp-delay = <1000>; > > > > Should be: > > regulator-min-microvolt = <1800000>; > > regulator-max-microvolt = <1800000>; > > regulator-name = "vcc-pg"; > > Do suggest to drop vendor's > > regulator-enable-ramp-delay = <1000>; > > in all cases? > I don't see this used in many other mainline DTs, mostly it's just for some picky peripherals (PHYs). So if that works stable for you without, I'd drop all of them. > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > > new file mode 100644 > > > index 000000000000..ccbca5d0a40c > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a133-baijie-helper.dts > > [] > > > > + aliases { > > > + serial0 = &uart0; > > > > The is best added to the core dtsi. > > > > > + }; > > > + > > > + chosen { > > > + stdout-path = "serial0:115200n8"; > > > > Ditto. > > But it only physically materializes in Helperboard, the carrier. > Potentially this one can be left floating or used for something else. As mentioned above, I agree on this staying in the helper board .dts, and it not being moved. Cheers, Andre ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2026-05-19 3:34 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-10 20:16 [PATCH v2 0/3] Add support for Baijie Helper A133 board Alexander Sverdlin 2026-05-10 20:16 ` [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd Alexander Sverdlin 2026-05-18 11:36 ` Paul Kocialkowski 2026-05-10 20:16 ` [PATCH v2 2/3] dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible Alexander Sverdlin 2026-05-11 16:08 ` Conor Dooley 2026-05-11 16:18 ` Alexander Sverdlin 2026-05-11 16:34 ` Conor Dooley 2026-05-18 11:35 ` Paul Kocialkowski 2026-05-10 20:16 ` [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board Alexander Sverdlin 2026-05-11 11:44 ` Andre Przywara 2026-05-17 20:38 ` Alexander Sverdlin 2026-05-18 3:30 ` Chen-Yu Tsai 2026-05-18 10:12 ` Alexander Sverdlin 2026-05-18 11:16 ` Andre Przywara 2026-05-18 11:29 ` Alexander Sverdlin 2026-05-18 11:54 ` Paul Kocialkowski 2026-05-18 12:50 ` Andre Przywara 2026-05-18 14:47 ` Chen-Yu Tsai 2026-05-18 14:51 ` Alexander Sverdlin 2026-05-11 22:07 ` sashiko-bot 2026-05-18 11:52 ` Paul Kocialkowski 2026-05-18 12:09 ` Alexander Sverdlin 2026-05-18 14:14 ` Paul Kocialkowski 2026-05-18 14:40 ` Alexander Sverdlin 2026-05-18 14:56 ` Paul Kocialkowski 2026-05-18 15:04 ` Alexander Sverdlin 2026-05-18 21:23 ` Andre Przywara 2026-05-18 20:05 ` Alexander Sverdlin 2026-05-18 21:46 ` Paul Kocialkowski 2026-05-19 3:33 ` Chen-Yu Tsai 2026-05-18 21:54 ` Andre Przywara
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox