Subject: Re: [PATCH v2 3/3] arm64: dts: allwinner: A133: add support for Baijie Helper A133 board

From: Alexander Sverdlin <[email-masked]>
Date: Sun, 17 May 2026 22:38:13 +0200

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.

> > +&reg_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).

> 
> > +&reg_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.