* [PATCH 0/2] Add Anbernic RG35XX-SP
@ 2024-06-05 18:53 Chris Morgan
2024-06-05 18:53 ` [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP Chris Morgan
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Chris Morgan @ 2024-06-05 18:53 UTC (permalink / raw)
To: linux-sunxi
Cc: devicetree, mripard, ryan, andre.przywara, samuel, jernej.skrabec,
wens, conor+dt, krzk+dt, robh, Chris Morgan
From: Chris Morgan <macromorgan@hotmail.com>
Add support for the Anbernic RG35XX-SP handheld gaming device. The
Anbernic RG35XX-SP is a clamshell device, but hardware wise is very
similar to the RG35XX-Plus. The RG35XX-SP has a lid-switch and an
external RTC that necessitate a distinct device tree.
Chris Morgan (2):
dt-bindings: arm: sunxi: Add Anbernic RG35XXSP
arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP
.../devicetree/bindings/arm/sunxi.yaml | 24 ++-
arch/arm64/boot/dts/allwinner/Makefile | 3 +-
.../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++
3 files changed, 156 insertions(+), 16 deletions(-)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts
--
2.34.1
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP 2024-06-05 18:53 [PATCH 0/2] Add Anbernic RG35XX-SP Chris Morgan @ 2024-06-05 18:53 ` Chris Morgan 2024-06-06 6:43 ` Krzysztof Kozlowski 2024-06-06 10:26 ` Andre Przywara 2024-06-05 18:53 ` [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP Chris Morgan 2024-06-06 15:56 ` [PATCH 0/2] " Rob Herring (Arm) 2 siblings, 2 replies; 15+ messages in thread From: Chris Morgan @ 2024-06-05 18:53 UTC (permalink / raw) To: linux-sunxi Cc: devicetree, mripard, ryan, andre.przywara, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> Add the Anbernic RG35XXSP variant device and consolidate the Anbernic H700 devices. The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a clamshell form-factor. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> --- .../devicetree/bindings/arm/sunxi.yaml | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml index c2a158b75e49..1ae77e5edf9a 100644 --- a/Documentation/devicetree/bindings/arm/sunxi.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml @@ -51,25 +51,19 @@ properties: - const: allwinner,parrot - const: allwinner,sun8i-a33 - - description: Anbernic RG-Nano - items: - - const: anbernic,rg-nano - - const: allwinner,sun8i-v3s - - - description: Anbernic RG35XX (2024) - items: - - const: anbernic,rg35xx-2024 - - const: allwinner,sun50i-h700 - - - description: Anbernic RG35XX Plus + - description: Anbernic H700 Handheld Gaming Console items: - - const: anbernic,rg35xx-plus + - enum: + - anbernic,rg35xx-2024 + - anbernic,rg35xx-h + - anbernic,rg35xx-plus + - anbernic,rg35xx-sp - const: allwinner,sun50i-h700 - - description: Anbernic RG35XX H + - description: Anbernic RG-Nano items: - - const: anbernic,rg35xx-h - - const: allwinner,sun50i-h700 + - const: anbernic,rg-nano + - const: allwinner,sun8i-v3s - description: Amarula A64 Relic items: -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP 2024-06-05 18:53 ` [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP Chris Morgan @ 2024-06-06 6:43 ` Krzysztof Kozlowski 2024-06-06 10:26 ` Andre Przywara 1 sibling, 0 replies; 15+ messages in thread From: Krzysztof Kozlowski @ 2024-06-06 6:43 UTC (permalink / raw) To: Chris Morgan, linux-sunxi Cc: devicetree, mripard, ryan, andre.przywara, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh, Chris Morgan On 05/06/2024 20:53, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Add the Anbernic RG35XXSP variant device and consolidate the Anbernic > H700 devices. > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > clamshell form-factor. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP 2024-06-05 18:53 ` [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP Chris Morgan 2024-06-06 6:43 ` Krzysztof Kozlowski @ 2024-06-06 10:26 ` Andre Przywara 2024-06-06 11:30 ` Maxime Ripard 1 sibling, 1 reply; 15+ messages in thread From: Andre Przywara @ 2024-06-06 10:26 UTC (permalink / raw) To: Chris Morgan Cc: linux-sunxi, devicetree, mripard, ryan, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh, Chris Morgan On Wed, 5 Jun 2024 13:53:38 -0500 Chris Morgan <macroalpha82@gmail.com> wrote: Hi, > From: Chris Morgan <macromorgan@hotmail.com> > > Add the Anbernic RG35XXSP variant device and consolidate the Anbernic > H700 devices. > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > clamshell form-factor. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > --- > .../devicetree/bindings/arm/sunxi.yaml | 24 +++++++------------ > 1 file changed, 9 insertions(+), 15 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > index c2a158b75e49..1ae77e5edf9a 100644 > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > @@ -51,25 +51,19 @@ properties: > - const: allwinner,parrot > - const: allwinner,sun8i-a33 > > - - description: Anbernic RG-Nano > - items: > - - const: anbernic,rg-nano > - - const: allwinner,sun8i-v3s > - > - - description: Anbernic RG35XX (2024) > - items: > - - const: anbernic,rg35xx-2024 > - - const: allwinner,sun50i-h700 > - > - - description: Anbernic RG35XX Plus > + - description: Anbernic H700 Handheld Gaming Console So that's certainly an interesting optimisation, but so far we were using one entry per device, it seems. I am not entirely sure what the purpose of this file is, exactly: just to document the compatible names, to reserve them and avoid clashes in the future? Or also to put some official names to each device? That seems to somewhat overlap with the root node's model property in the respective device .dts, though. It would be good to clarify this, and establish how to group those devices. I mean technically we could for instance put *all* H6 devices into one entry, using the same scheme as below. Not sure that's desired, though. Cheers, Andre > items: > - - const: anbernic,rg35xx-plus > + - enum: > + - anbernic,rg35xx-2024 > + - anbernic,rg35xx-h > + - anbernic,rg35xx-plus > + - anbernic,rg35xx-sp > - const: allwinner,sun50i-h700 > > - - description: Anbernic RG35XX H > + - description: Anbernic RG-Nano > items: > - - const: anbernic,rg35xx-h > - - const: allwinner,sun50i-h700 > + - const: anbernic,rg-nano > + - const: allwinner,sun8i-v3s > > - description: Amarula A64 Relic > items: ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP 2024-06-06 10:26 ` Andre Przywara @ 2024-06-06 11:30 ` Maxime Ripard 2024-06-06 16:55 ` Chris Morgan 0 siblings, 1 reply; 15+ messages in thread From: Maxime Ripard @ 2024-06-06 11:30 UTC (permalink / raw) To: Andre Przywara Cc: Chris Morgan, linux-sunxi, devicetree, ryan, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh, Chris Morgan [-- Attachment #1: Type: text/plain, Size: 2706 bytes --] Hi, On Thu, Jun 06, 2024 at 11:26:14AM GMT, Andre Przywara wrote: > On Wed, 5 Jun 2024 13:53:38 -0500 > Chris Morgan <macroalpha82@gmail.com> wrote: > > From: Chris Morgan <macromorgan@hotmail.com> > > > > Add the Anbernic RG35XXSP variant device and consolidate the Anbernic > > H700 devices. > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > clamshell form-factor. > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > --- > > .../devicetree/bindings/arm/sunxi.yaml | 24 +++++++------------ > > 1 file changed, 9 insertions(+), 15 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > > index c2a158b75e49..1ae77e5edf9a 100644 > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > > @@ -51,25 +51,19 @@ properties: > > - const: allwinner,parrot > > - const: allwinner,sun8i-a33 > > > > - - description: Anbernic RG-Nano > > - items: > > - - const: anbernic,rg-nano > > - - const: allwinner,sun8i-v3s > > - > > - - description: Anbernic RG35XX (2024) > > - items: > > - - const: anbernic,rg35xx-2024 > > - - const: allwinner,sun50i-h700 > > - > > - - description: Anbernic RG35XX Plus > > + - description: Anbernic H700 Handheld Gaming Console > > So that's certainly an interesting optimisation, but so far we were using > one entry per device, it seems. > I am not entirely sure what the purpose of this file is, exactly: just to > document the compatible names That was the initial intent, yes. > to reserve them and avoid clashes in the future? And I guess it helps with that too :) > Or also to put some official names to each device? That seems to > somewhat overlap with the root node's model property in the respective > device .dts, though. I guess it's a fair criticism. It would be hard to collect all the compatibles without describing which device they belong too though. So yeah, there's some redundancy, but removing the descriptions entirely would be worse imo. > It would be good to clarify this, and establish how to group those devices. > I mean technically we could for instance put *all* H6 devices into one > entry, using the same scheme as below. > Not sure that's desired, though. I don't really have a say there anymore, but I always tend to prefer consistency in documentation as a user. Even more so since that kind of categorization tends to be very subjective and thus super inconsistent. Maxime [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 273 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP 2024-06-06 11:30 ` Maxime Ripard @ 2024-06-06 16:55 ` Chris Morgan 2024-06-06 17:04 ` Chen-Yu Tsai 0 siblings, 1 reply; 15+ messages in thread From: Chris Morgan @ 2024-06-06 16:55 UTC (permalink / raw) To: Maxime Ripard Cc: Andre Przywara, Chris Morgan, linux-sunxi, devicetree, ryan, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh On Thu, Jun 06, 2024 at 01:30:45PM +0200, Maxime Ripard wrote: > Hi, > > On Thu, Jun 06, 2024 at 11:26:14AM GMT, Andre Przywara wrote: > > On Wed, 5 Jun 2024 13:53:38 -0500 > > Chris Morgan <macroalpha82@gmail.com> wrote: > > > From: Chris Morgan <macromorgan@hotmail.com> > > > > > > Add the Anbernic RG35XXSP variant device and consolidate the Anbernic > > > H700 devices. > > > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > > clamshell form-factor. > > > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > > --- > > > .../devicetree/bindings/arm/sunxi.yaml | 24 +++++++------------ > > > 1 file changed, 9 insertions(+), 15 deletions(-) > > > > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > > > index c2a158b75e49..1ae77e5edf9a 100644 > > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > > > @@ -51,25 +51,19 @@ properties: > > > - const: allwinner,parrot > > > - const: allwinner,sun8i-a33 > > > > > > - - description: Anbernic RG-Nano > > > - items: > > > - - const: anbernic,rg-nano > > > - - const: allwinner,sun8i-v3s > > > - > > > - - description: Anbernic RG35XX (2024) > > > - items: > > > - - const: anbernic,rg35xx-2024 > > > - - const: allwinner,sun50i-h700 > > > - > > > - - description: Anbernic RG35XX Plus > > > + - description: Anbernic H700 Handheld Gaming Console > > > > So that's certainly an interesting optimisation, but so far we were using > > one entry per device, it seems. > > I am not entirely sure what the purpose of this file is, exactly: just to > > document the compatible names > > That was the initial intent, yes. > > > to reserve them and avoid clashes in the future? > > And I guess it helps with that too :) > > > Or also to put some official names to each device? That seems to > > somewhat overlap with the root node's model property in the respective > > device .dts, though. > > I guess it's a fair criticism. It would be hard to collect all the > compatibles without describing which device they belong too though. So > yeah, there's some redundancy, but removing the descriptions entirely > would be worse imo. > > > It would be good to clarify this, and establish how to group those devices. > > I mean technically we could for instance put *all* H6 devices into one > > entry, using the same scheme as below. > > Not sure that's desired, though. > > I don't really have a say there anymore, but I always tend to prefer > consistency in documentation as a user. Even more so since that kind of > categorization tends to be very subjective and thus super inconsistent. > > Maxime This is how I was asked to do it in the rockchip.yaml file [1], but I know different teams have different style requests. Just let me know what you prefer and I'll get it done that way. [1] https://lore.kernel.org/all/20240123212111.202146-3-macroalpha82@gmail.com/ Thank you, Chris. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP 2024-06-06 16:55 ` Chris Morgan @ 2024-06-06 17:04 ` Chen-Yu Tsai 0 siblings, 0 replies; 15+ messages in thread From: Chen-Yu Tsai @ 2024-06-06 17:04 UTC (permalink / raw) To: Chris Morgan Cc: Maxime Ripard, Andre Przywara, Chris Morgan, linux-sunxi, devicetree, ryan, samuel, jernej.skrabec, conor+dt, krzk+dt, robh On Fri, Jun 7, 2024 at 12:55 AM Chris Morgan <macromorgan@hotmail.com> wrote: > > On Thu, Jun 06, 2024 at 01:30:45PM +0200, Maxime Ripard wrote: > > Hi, > > > > On Thu, Jun 06, 2024 at 11:26:14AM GMT, Andre Przywara wrote: > > > On Wed, 5 Jun 2024 13:53:38 -0500 > > > Chris Morgan <macroalpha82@gmail.com> wrote: > > > > From: Chris Morgan <macromorgan@hotmail.com> > > > > > > > > Add the Anbernic RG35XXSP variant device and consolidate the Anbernic > > > > H700 devices. > > > > > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > > > clamshell form-factor. > > > > > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > > > --- > > > > .../devicetree/bindings/arm/sunxi.yaml | 24 +++++++------------ > > > > 1 file changed, 9 insertions(+), 15 deletions(-) > > > > > > > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml > > > > index c2a158b75e49..1ae77e5edf9a 100644 > > > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml > > > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml > > > > @@ -51,25 +51,19 @@ properties: > > > > - const: allwinner,parrot > > > > - const: allwinner,sun8i-a33 > > > > > > > > - - description: Anbernic RG-Nano > > > > - items: > > > > - - const: anbernic,rg-nano > > > > - - const: allwinner,sun8i-v3s > > > > - > > > > - - description: Anbernic RG35XX (2024) > > > > - items: > > > > - - const: anbernic,rg35xx-2024 > > > > - - const: allwinner,sun50i-h700 > > > > - > > > > - - description: Anbernic RG35XX Plus > > > > + - description: Anbernic H700 Handheld Gaming Console > > > > > > So that's certainly an interesting optimisation, but so far we were using > > > one entry per device, it seems. > > > I am not entirely sure what the purpose of this file is, exactly: just to > > > document the compatible names > > > > That was the initial intent, yes. > > > > > to reserve them and avoid clashes in the future? > > > > And I guess it helps with that too :) > > > > > Or also to put some official names to each device? That seems to > > > somewhat overlap with the root node's model property in the respective > > > device .dts, though. > > > > I guess it's a fair criticism. It would be hard to collect all the > > compatibles without describing which device they belong too though. So > > yeah, there's some redundancy, but removing the descriptions entirely > > would be worse imo. > > > > > It would be good to clarify this, and establish how to group those devices. > > > I mean technically we could for instance put *all* H6 devices into one > > > entry, using the same scheme as below. > > > Not sure that's desired, though. > > > > I don't really have a say there anymore, but I always tend to prefer > > consistency in documentation as a user. Even more so since that kind of > > categorization tends to be very subjective and thus super inconsistent. > > > > Maxime > > This is how I was asked to do it in the rockchip.yaml file [1], but I > know different teams have different style requests. Just let me know > what you prefer and I'll get it done that way. For now, please just keep each board entry separate to keep the same style as the rest of the file. ChenYu > [1] https://lore.kernel.org/all/20240123212111.202146-3-macroalpha82@gmail.com/ > > Thank you, > Chris. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP 2024-06-05 18:53 [PATCH 0/2] Add Anbernic RG35XX-SP Chris Morgan 2024-06-05 18:53 ` [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP Chris Morgan @ 2024-06-05 18:53 ` Chris Morgan 2024-06-06 9:51 ` Andre Przywara 2024-06-06 15:56 ` [PATCH 0/2] " Rob Herring (Arm) 2 siblings, 1 reply; 15+ messages in thread From: Chris Morgan @ 2024-06-05 18:53 UTC (permalink / raw) To: linux-sunxi Cc: devicetree, mripard, ryan, andre.przywara, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a clamshell form-factor. The key differences between the SP and the Plus is a lid switch and an RTC on the same i2c bus as the PMIC. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> --- arch/arm64/boot/dts/allwinner/Makefile | 3 +- .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile index 0db7b60b49a1..00bed412ee31 100644 --- a/arch/arm64/boot/dts/allwinner/Makefile +++ b/arch/arm64/boot/dts/allwinner/Makefile @@ -49,5 +49,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb -dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts new file mode 100644 index 000000000000..a1d16b65ef5d --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts @@ -0,0 +1,145 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. + * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. + */ + +#include <dt-bindings/input/gpio-keys.h> +#include "sun50i-h700-anbernic-rg35xx-plus.dts" + +/ { + model = "Anbernic RG35XX SP"; + compatible = "anbernic,rg35xx-sp", "allwinner,sun50i-h700"; + + gpio-keys-lid { + compatible = "gpio-keys"; + + lid-switch { + label = "Lid Switch"; + gpios = <&pio 4 7 GPIO_ACTIVE_LOW>; /* PE7 */ + linux,can-disable; + linux,code = <SW_LID>; + linux,input-type = <EV_SW>; + wakeup-event-action = <EV_ACT_DEASSERTED>; + wakeup-source; + }; + }; +}; + +/delete-node/ &r_rsb; + +&r_i2c { + pinctrl-0 = <&r_i2c_pins>; + pinctrl-names = "default"; + status = "okay"; + + axp717: pmic@34 { + compatible = "x-powers,axp717"; + reg = <0x34>; + interrupt-controller; + #interrupt-cells = <1>; + interrupt-parent = <&nmi_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + + vin1-supply = <®_vcc5v>; + vin2-supply = <®_vcc5v>; + vin3-supply = <®_vcc5v>; + vin4-supply = <®_vcc5v>; + + regulators { + reg_dcdc1: dcdc1 { + regulator-always-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-cpu"; + }; + + reg_dcdc2: dcdc2 { + regulator-always-on; + regulator-min-microvolt = <940000>; + regulator-max-microvolt = <940000>; + regulator-name = "vdd-gpu-sys"; + }; + + reg_dcdc3: dcdc3 { + regulator-always-on; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-dram"; + }; + + reg_aldo1: aldo1 { + /* 1.8v - unused */ + }; + + reg_aldo2: aldo2 { + /* 1.8v - unused */ + }; + + reg_aldo3: aldo3 { + /* 1.8v - unused */ + }; + + reg_aldo4: aldo4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-pg"; + }; + + reg_bldo1: bldo1 { + /* 1.8v - unused */ + }; + + reg_bldo2: bldo2 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-pll"; + }; + + reg_bldo3: bldo3 { + /* 2.8v - unused */ + }; + + reg_bldo4: bldo4 { + /* 1.2v - unused */ + }; + + reg_cldo1: cldo1 { + /* 3.3v - audio codec - not yet implemented */ + }; + + reg_cldo2: cldo2 { + /* 3.3v - unused */ + }; + + reg_cldo3: cldo3 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-io"; + }; + + reg_cldo4: cldo4 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-wifi"; + }; + + reg_boost: boost { + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5200000>; + regulator-name = "boost"; + }; + + reg_cpusldo: cpusldo { + /* unused */ + }; + }; + }; + + rtc_ext: rtc@51 { + compatible = "nxp,pcf8563"; + reg = <0x51>; + }; +}; -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP 2024-06-05 18:53 ` [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP Chris Morgan @ 2024-06-06 9:51 ` Andre Przywara 2024-06-06 11:58 ` Chen-Yu Tsai 0 siblings, 1 reply; 15+ messages in thread From: Andre Przywara @ 2024-06-06 9:51 UTC (permalink / raw) To: Chris Morgan Cc: linux-sunxi, devicetree, mripard, ryan, samuel, jernej.skrabec, wens, conor+dt, krzk+dt, robh, Chris Morgan On Wed, 5 Jun 2024 13:53:39 -0500 Chris Morgan <macroalpha82@gmail.com> wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > clamshell form-factor. The key differences between the SP and the Plus > is a lid switch and an RTC on the same i2c bus as the PMIC. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > --- > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > 2 files changed, 147 insertions(+), 1 deletion(-) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > index 0db7b60b49a1..00bed412ee31 100644 > --- a/arch/arm64/boot/dts/allwinner/Makefile > +++ b/arch/arm64/boot/dts/allwinner/Makefile > @@ -49,5 +49,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb > -dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > new file mode 100644 > index 000000000000..a1d16b65ef5d > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > @@ -0,0 +1,145 @@ > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +/* > + * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. > + * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. > + */ > + > +#include <dt-bindings/input/gpio-keys.h> > +#include "sun50i-h700-anbernic-rg35xx-plus.dts" > + > +/ { > + model = "Anbernic RG35XX SP"; > + compatible = "anbernic,rg35xx-sp", "allwinner,sun50i-h700"; > + > + gpio-keys-lid { > + compatible = "gpio-keys"; > + > + lid-switch { > + label = "Lid Switch"; > + gpios = <&pio 4 7 GPIO_ACTIVE_LOW>; /* PE7 */ > + linux,can-disable; > + linux,code = <SW_LID>; > + linux,input-type = <EV_SW>; > + wakeup-event-action = <EV_ACT_DEASSERTED>; > + wakeup-source; > + }; > + }; > +}; > + > +/delete-node/ &r_rsb; I don't think deleting the *RSB* node is right here, if at all, I'd expect status="disabled", and then maybe deleting the axp717 node within? Or maybe factor the AXP node out into a separate file, and include it from the -2024.dts and from this one? Or move every board to I2C? What do people think about this? Cheers, Andre > + > +&r_i2c { > + pinctrl-0 = <&r_i2c_pins>; > + pinctrl-names = "default"; > + status = "okay"; > + > + axp717: pmic@34 { > + compatible = "x-powers,axp717"; > + reg = <0x34>; > + interrupt-controller; > + #interrupt-cells = <1>; > + interrupt-parent = <&nmi_intc>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > + > + vin1-supply = <®_vcc5v>; > + vin2-supply = <®_vcc5v>; > + vin3-supply = <®_vcc5v>; > + vin4-supply = <®_vcc5v>; > + > + regulators { > + reg_dcdc1: dcdc1 { > + regulator-always-on; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <1100000>; > + regulator-name = "vdd-cpu"; > + }; > + > + reg_dcdc2: dcdc2 { > + regulator-always-on; > + regulator-min-microvolt = <940000>; > + regulator-max-microvolt = <940000>; > + regulator-name = "vdd-gpu-sys"; > + }; > + > + reg_dcdc3: dcdc3 { > + regulator-always-on; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1100000>; > + regulator-name = "vdd-dram"; > + }; > + > + reg_aldo1: aldo1 { > + /* 1.8v - unused */ > + }; > + > + reg_aldo2: aldo2 { > + /* 1.8v - unused */ > + }; > + > + reg_aldo3: aldo3 { > + /* 1.8v - unused */ > + }; > + > + reg_aldo4: aldo4 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-name = "vcc-pg"; > + }; > + > + reg_bldo1: bldo1 { > + /* 1.8v - unused */ > + }; > + > + reg_bldo2: bldo2 { > + regulator-always-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-name = "vcc-pll"; > + }; > + > + reg_bldo3: bldo3 { > + /* 2.8v - unused */ > + }; > + > + reg_bldo4: bldo4 { > + /* 1.2v - unused */ > + }; > + > + reg_cldo1: cldo1 { > + /* 3.3v - audio codec - not yet implemented */ > + }; > + > + reg_cldo2: cldo2 { > + /* 3.3v - unused */ > + }; > + > + reg_cldo3: cldo3 { > + regulator-always-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-io"; > + }; > + > + reg_cldo4: cldo4 { > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-name = "vcc-wifi"; > + }; > + > + reg_boost: boost { > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5200000>; > + regulator-name = "boost"; > + }; > + > + reg_cpusldo: cpusldo { > + /* unused */ > + }; > + }; > + }; > + > + rtc_ext: rtc@51 { > + compatible = "nxp,pcf8563"; > + reg = <0x51>; > + }; > +}; ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP 2024-06-06 9:51 ` Andre Przywara @ 2024-06-06 11:58 ` Chen-Yu Tsai 2024-06-06 12:35 ` Andre Przywara 0 siblings, 1 reply; 15+ messages in thread From: Chen-Yu Tsai @ 2024-06-06 11:58 UTC (permalink / raw) To: Andre Przywara, Chris Morgan Cc: linux-sunxi, devicetree, mripard, ryan, samuel, jernej.skrabec, conor+dt, krzk+dt, robh, Chris Morgan On Thu, Jun 6, 2024 at 5:52 PM Andre Przywara <andre.przywara@arm.com> wrote: > > On Wed, 5 Jun 2024 13:53:39 -0500 > Chris Morgan <macroalpha82@gmail.com> wrote: > > > From: Chris Morgan <macromorgan@hotmail.com> > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > clamshell form-factor. The key differences between the SP and the Plus > > is a lid switch and an RTC on the same i2c bus as the PMIC. > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > --- > > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > > 2 files changed, 147 insertions(+), 1 deletion(-) > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > > index 0db7b60b49a1..00bed412ee31 100644 > > --- a/arch/arm64/boot/dts/allwinner/Makefile > > +++ b/arch/arm64/boot/dts/allwinner/Makefile > > @@ -49,5 +49,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb > > -dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > new file mode 100644 > > index 000000000000..a1d16b65ef5d > > --- /dev/null > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > @@ -0,0 +1,145 @@ > > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +/* > > + * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. > > + * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. > > + */ > > + > > +#include <dt-bindings/input/gpio-keys.h> > > +#include "sun50i-h700-anbernic-rg35xx-plus.dts" > > + > > +/ { > > + model = "Anbernic RG35XX SP"; > > + compatible = "anbernic,rg35xx-sp", "allwinner,sun50i-h700"; > > + > > + gpio-keys-lid { > > + compatible = "gpio-keys"; > > + > > + lid-switch { > > + label = "Lid Switch"; > > + gpios = <&pio 4 7 GPIO_ACTIVE_LOW>; /* PE7 */ > > + linux,can-disable; > > + linux,code = <SW_LID>; > > + linux,input-type = <EV_SW>; > > + wakeup-event-action = <EV_ACT_DEASSERTED>; > > + wakeup-source; > > + }; > > + }; > > +}; > > + > > +/delete-node/ &r_rsb; > > I don't think deleting the *RSB* node is right here, if at all, I'd expect > status="disabled", and then maybe deleting the axp717 node within? > Or maybe factor the AXP node out into a separate file, and include it from > the -2024.dts and from this one? Doesn't quite work because the unit address is different. > Or move every board to I2C? Doesn't this depend on the bootloader also running in RSB mode? My memory is a bit foggy on this, but IIRC we did a conversion on some other boards before? > What do people think about this? "disabled" in RSB node and deleting the axp717 node is probably the right thing to do. > Cheers, > Andre > > > + > > +&r_i2c { > > + pinctrl-0 = <&r_i2c_pins>; > > + pinctrl-names = "default"; > > + status = "okay"; > > + > > + axp717: pmic@34 { > > + compatible = "x-powers,axp717"; > > + reg = <0x34>; > > + interrupt-controller; > > + #interrupt-cells = <1>; > > + interrupt-parent = <&nmi_intc>; > > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > > + > > + vin1-supply = <®_vcc5v>; > > + vin2-supply = <®_vcc5v>; > > + vin3-supply = <®_vcc5v>; > > + vin4-supply = <®_vcc5v>; > > + > > + regulators { > > + reg_dcdc1: dcdc1 { > > + regulator-always-on; > > + regulator-min-microvolt = <900000>; > > + regulator-max-microvolt = <1100000>; > > + regulator-name = "vdd-cpu"; > > + }; > > + > > + reg_dcdc2: dcdc2 { > > + regulator-always-on; > > + regulator-min-microvolt = <940000>; > > + regulator-max-microvolt = <940000>; > > + regulator-name = "vdd-gpu-sys"; > > + }; > > + > > + reg_dcdc3: dcdc3 { > > + regulator-always-on; > > + regulator-min-microvolt = <1100000>; > > + regulator-max-microvolt = <1100000>; > > + regulator-name = "vdd-dram"; > > + }; > > + > > + reg_aldo1: aldo1 { > > + /* 1.8v - unused */ > > + }; You can drop all the unused ones, unless you plan to include *this* file from another one and use those nodes/labels. ChenYu > > + > > + reg_aldo2: aldo2 { > > + /* 1.8v - unused */ > > + }; > > + > > + reg_aldo3: aldo3 { > > + /* 1.8v - unused */ > > + }; > > + > > + reg_aldo4: aldo4 { > > + regulator-min-microvolt = <1800000>; > > + regulator-max-microvolt = <1800000>; > > + regulator-name = "vcc-pg"; > > + }; > > + > > + reg_bldo1: bldo1 { > > + /* 1.8v - unused */ > > + }; > > + > > + reg_bldo2: bldo2 { > > + regulator-always-on; > > + regulator-min-microvolt = <1800000>; > > + regulator-max-microvolt = <1800000>; > > + regulator-name = "vcc-pll"; > > + }; > > + > > + reg_bldo3: bldo3 { > > + /* 2.8v - unused */ > > + }; > > + > > + reg_bldo4: bldo4 { > > + /* 1.2v - unused */ > > + }; > > + > > + reg_cldo1: cldo1 { > > + /* 3.3v - audio codec - not yet implemented */ > > + }; > > + > > + reg_cldo2: cldo2 { > > + /* 3.3v - unused */ > > + }; > > + > > + reg_cldo3: cldo3 { > > + regulator-always-on; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-name = "vcc-io"; > > + }; > > + > > + reg_cldo4: cldo4 { > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + regulator-name = "vcc-wifi"; > > + }; > > + > > + reg_boost: boost { > > + regulator-min-microvolt = <5000000>; > > + regulator-max-microvolt = <5200000>; > > + regulator-name = "boost"; > > + }; > > + > > + reg_cpusldo: cpusldo { > > + /* unused */ > > + }; > > + }; > > + }; > > + > > + rtc_ext: rtc@51 { > > + compatible = "nxp,pcf8563"; > > + reg = <0x51>; > > + }; > > +}; > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP 2024-06-06 11:58 ` Chen-Yu Tsai @ 2024-06-06 12:35 ` Andre Przywara 2024-06-06 17:06 ` Chris Morgan 0 siblings, 1 reply; 15+ messages in thread From: Andre Przywara @ 2024-06-06 12:35 UTC (permalink / raw) To: Chen-Yu Tsai Cc: Chris Morgan, linux-sunxi, devicetree, mripard, ryan, samuel, jernej.skrabec, conor+dt, krzk+dt, robh, Chris Morgan On Thu, 6 Jun 2024 19:58:07 +0800 Chen-Yu Tsai <wens@csie.org> wrote: Hi Chen-Yu, > On Thu, Jun 6, 2024 at 5:52 PM Andre Przywara <andre.przywara@arm.com> wrote: > > > > On Wed, 5 Jun 2024 13:53:39 -0500 > > Chris Morgan <macroalpha82@gmail.com> wrote: > > > > > From: Chris Morgan <macromorgan@hotmail.com> > > > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > > clamshell form-factor. The key differences between the SP and the Plus > > > is a lid switch and an RTC on the same i2c bus as the PMIC. > > > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > > --- > > > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > > > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > > > 2 files changed, 147 insertions(+), 1 deletion(-) > > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > > > index 0db7b60b49a1..00bed412ee31 100644 > > > --- a/arch/arm64/boot/dts/allwinner/Makefile > > > +++ b/arch/arm64/boot/dts/allwinner/Makefile > > > @@ -49,5 +49,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb > > > -dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb > > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > new file mode 100644 > > > index 000000000000..a1d16b65ef5d > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > @@ -0,0 +1,145 @@ > > > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +/* > > > + * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. > > > + * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. > > > + */ > > > + > > > +#include <dt-bindings/input/gpio-keys.h> > > > +#include "sun50i-h700-anbernic-rg35xx-plus.dts" > > > + > > > +/ { > > > + model = "Anbernic RG35XX SP"; > > > + compatible = "anbernic,rg35xx-sp", "allwinner,sun50i-h700"; > > > + > > > + gpio-keys-lid { > > > + compatible = "gpio-keys"; > > > + > > > + lid-switch { > > > + label = "Lid Switch"; > > > + gpios = <&pio 4 7 GPIO_ACTIVE_LOW>; /* PE7 */ > > > + linux,can-disable; > > > + linux,code = <SW_LID>; > > > + linux,input-type = <EV_SW>; > > > + wakeup-event-action = <EV_ACT_DEASSERTED>; > > > + wakeup-source; > > > + }; > > > + }; > > > +}; > > > + > > > +/delete-node/ &r_rsb; > > > > I don't think deleting the *RSB* node is right here, if at all, I'd expect > > status="disabled", and then maybe deleting the axp717 node within? > > Or maybe factor the AXP node out into a separate file, and include it from > > the -2024.dts and from this one? > > Doesn't quite work because the unit address is different. Ah, right, good point. It's a bit annoying because the node name itself is mostly irrelevant, but I see that this wouldn't pass validation. > > Or move every board to I2C? > > Doesn't this depend on the bootloader also running in RSB mode? My memory > is a bit foggy on this, but IIRC we did a conversion on some other boards > before? In the SPL we use I2C only, mostly because we have an SPL capable I2C driver already. In U-Boot proper we use whatever the DT says, that should work like in the kernel. In TF-A we used to have one hardcoded transport per SoC, and that happens to be RSB everywhere at the moment, but I have a patch series [1] to determine this dynamically, via the DT. As it stands, that chooses the transport by looking at the PMIC (I2C for the AXP313, RSB for the AXP717 or AXP305), but I think it's fairly easy to check for the status property of both RSB and I2C, or look at the parent node of the AXP node to find the transport protocol to use. I will sketch something up. Chris has plans to auto-detect the exact Anbernic model in U-Boot, and switch to the right DT then automatically. IIUC I2C devices play a role in this, so switching to I2C for all Anbernic models would make this more viable. It just leaves a bit of a bitter taste that we now model the DT after this particular requirement, and not after what the hardware looks like. Cheers, Andre. [1] https://review.trustedfirmware.org/q/topic:%22h616_pmics%22 > > What do people think about this? > > "disabled" in RSB node and deleting the axp717 node is probably the right > thing to do. > > > > Cheers, > > Andre > > > > > + > > > +&r_i2c { > > > + pinctrl-0 = <&r_i2c_pins>; > > > + pinctrl-names = "default"; > > > + status = "okay"; > > > + > > > + axp717: pmic@34 { > > > + compatible = "x-powers,axp717"; > > > + reg = <0x34>; > > > + interrupt-controller; > > > + #interrupt-cells = <1>; > > > + interrupt-parent = <&nmi_intc>; > > > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > > > + > > > + vin1-supply = <®_vcc5v>; > > > + vin2-supply = <®_vcc5v>; > > > + vin3-supply = <®_vcc5v>; > > > + vin4-supply = <®_vcc5v>; > > > + > > > + regulators { > > > + reg_dcdc1: dcdc1 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <900000>; > > > + regulator-max-microvolt = <1100000>; > > > + regulator-name = "vdd-cpu"; > > > + }; > > > + > > > + reg_dcdc2: dcdc2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <940000>; > > > + regulator-max-microvolt = <940000>; > > > + regulator-name = "vdd-gpu-sys"; > > > + }; > > > + > > > + reg_dcdc3: dcdc3 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1100000>; > > > + regulator-max-microvolt = <1100000>; > > > + regulator-name = "vdd-dram"; > > > + }; > > > + > > > + reg_aldo1: aldo1 { > > > + /* 1.8v - unused */ > > > + }; > > You can drop all the unused ones, unless you plan to include *this* > file from another one and use those nodes/labels. > > ChenYu > > > > + > > > + reg_aldo2: aldo2 { > > > + /* 1.8v - unused */ > > > + }; > > > + > > > + reg_aldo3: aldo3 { > > > + /* 1.8v - unused */ > > > + }; > > > + > > > + reg_aldo4: aldo4 { > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <1800000>; > > > + regulator-name = "vcc-pg"; > > > + }; > > > + > > > + reg_bldo1: bldo1 { > > > + /* 1.8v - unused */ > > > + }; > > > + > > > + reg_bldo2: bldo2 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <1800000>; > > > + regulator-max-microvolt = <1800000>; > > > + regulator-name = "vcc-pll"; > > > + }; > > > + > > > + reg_bldo3: bldo3 { > > > + /* 2.8v - unused */ > > > + }; > > > + > > > + reg_bldo4: bldo4 { > > > + /* 1.2v - unused */ > > > + }; > > > + > > > + reg_cldo1: cldo1 { > > > + /* 3.3v - audio codec - not yet implemented */ > > > + }; > > > + > > > + reg_cldo2: cldo2 { > > > + /* 3.3v - unused */ > > > + }; > > > + > > > + reg_cldo3: cldo3 { > > > + regulator-always-on; > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-io"; > > > + }; > > > + > > > + reg_cldo4: cldo4 { > > > + regulator-min-microvolt = <3300000>; > > > + regulator-max-microvolt = <3300000>; > > > + regulator-name = "vcc-wifi"; > > > + }; > > > + > > > + reg_boost: boost { > > > + regulator-min-microvolt = <5000000>; > > > + regulator-max-microvolt = <5200000>; > > > + regulator-name = "boost"; > > > + }; > > > + > > > + reg_cpusldo: cpusldo { > > > + /* unused */ > > > + }; > > > + }; > > > + }; > > > + > > > + rtc_ext: rtc@51 { > > > + compatible = "nxp,pcf8563"; > > > + reg = <0x51>; > > > + }; > > > +}; > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP 2024-06-06 12:35 ` Andre Przywara @ 2024-06-06 17:06 ` Chris Morgan 2024-06-06 17:28 ` Andre Przywara 0 siblings, 1 reply; 15+ messages in thread From: Chris Morgan @ 2024-06-06 17:06 UTC (permalink / raw) To: Andre Przywara Cc: Chen-Yu Tsai, Chris Morgan, linux-sunxi, devicetree, mripard, ryan, samuel, jernej.skrabec, conor+dt, krzk+dt, robh On Thu, Jun 06, 2024 at 01:35:15PM +0100, Andre Przywara wrote: > On Thu, 6 Jun 2024 19:58:07 +0800 > Chen-Yu Tsai <wens@csie.org> wrote: > > Hi Chen-Yu, > > > On Thu, Jun 6, 2024 at 5:52 PM Andre Przywara <andre.przywara@arm.com> wrote: > > > > > > On Wed, 5 Jun 2024 13:53:39 -0500 > > > Chris Morgan <macroalpha82@gmail.com> wrote: > > > > > > > From: Chris Morgan <macromorgan@hotmail.com> > > > > > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > > > clamshell form-factor. The key differences between the SP and the Plus > > > > is a lid switch and an RTC on the same i2c bus as the PMIC. > > > > > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > > > --- > > > > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > > > > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > > > > 2 files changed, 147 insertions(+), 1 deletion(-) > > > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > > > > index 0db7b60b49a1..00bed412ee31 100644 > > > > --- a/arch/arm64/boot/dts/allwinner/Makefile > > > > +++ b/arch/arm64/boot/dts/allwinner/Makefile > > > > @@ -49,5 +49,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb > > > > -dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb > > > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > new file mode 100644 > > > > index 000000000000..a1d16b65ef5d > > > > --- /dev/null > > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > @@ -0,0 +1,145 @@ > > > > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > > +/* > > > > + * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. > > > > + * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. > > > > + */ > > > > + > > > > +#include <dt-bindings/input/gpio-keys.h> > > > > +#include "sun50i-h700-anbernic-rg35xx-plus.dts" > > > > + > > > > +/ { > > > > + model = "Anbernic RG35XX SP"; > > > > + compatible = "anbernic,rg35xx-sp", "allwinner,sun50i-h700"; > > > > + > > > > + gpio-keys-lid { > > > > + compatible = "gpio-keys"; > > > > + > > > > + lid-switch { > > > > + label = "Lid Switch"; > > > > + gpios = <&pio 4 7 GPIO_ACTIVE_LOW>; /* PE7 */ > > > > + linux,can-disable; > > > > + linux,code = <SW_LID>; > > > > + linux,input-type = <EV_SW>; > > > > + wakeup-event-action = <EV_ACT_DEASSERTED>; > > > > + wakeup-source; > > > > + }; > > > > + }; > > > > +}; > > > > + > > > > +/delete-node/ &r_rsb; > > > > > > I don't think deleting the *RSB* node is right here, if at all, I'd expect > > > status="disabled", and then maybe deleting the axp717 node within? > > > Or maybe factor the AXP node out into a separate file, and include it from > > > the -2024.dts and from this one? > > > > Doesn't quite work because the unit address is different. > > Ah, right, good point. It's a bit annoying because the node name itself is > mostly irrelevant, but I see that this wouldn't pass validation. > > > > Or move every board to I2C? > > > > Doesn't this depend on the bootloader also running in RSB mode? My memory > > is a bit foggy on this, but IIRC we did a conversion on some other boards > > before? > > In the SPL we use I2C only, mostly because we have an SPL capable I2C > driver already. > In U-Boot proper we use whatever the DT says, that should work like in the > kernel. > In TF-A we used to have one hardcoded transport per SoC, and that happens > to be RSB everywhere at the moment, but I have a patch series [1] to > determine this dynamically, via the DT. As it stands, that chooses the > transport by looking at the PMIC (I2C for the AXP313, RSB for the AXP717 > or AXP305), but I think it's fairly easy to check for the status property > of both RSB and I2C, or look at the parent node of the AXP node to find > the transport protocol to use. > I will sketch something up. > > Chris has plans to auto-detect the exact Anbernic model in U-Boot, and > switch to the right DT then automatically. IIUC I2C devices play a role in > this, so switching to I2C for all Anbernic models would make this more > viable. > It just leaves a bit of a bitter taste that we now model the DT after this > particular requirement, and not after what the hardware looks like. I honestly would rather simply have the Linux tree use i2c for all devices, to be honest. For at least the Anbernic RG35XXSP device as well as a device I haven't started yet (the RG28XX) there is an external rtc on the same i2c bus as the PMIC at 0x51. This device does not appear to be present on the other devices. I'm thinking that with U-Boot I can use a single bootloader and load one of five device trees based on what happens when I check for this RTC at 0x51, when I attempt to communicate with mmc1 (wifi), and when I check GPIO PE11. I don't need to actually use the wifi in U-Boot, just find out if it's there. This means basically: GPIO PE11 - RG35XX-H RTC present, wifi present - RG35XX-SP RTC present, wifi missing - RG28XX RTC missing, wifi missing - RG35XX-2024 RTC missing, wifi present - RG35XX-Plus Regardless of this though, I will find a way to manage no matter what we decide here. But for the RG35XX-SP and RG28XX (not yet submitted) I want to run the PMIC off i2c so I can use the external RTC too. Thank you, Chris. > > Cheers, > Andre. > > [1] https://review.trustedfirmware.org/q/topic:%22h616_pmics%22 > > > > What do people think about this? > > > > "disabled" in RSB node and deleting the axp717 node is probably the right > > thing to do. > > > > > > > Cheers, > > > Andre > > > > > > > + > > > > +&r_i2c { > > > > + pinctrl-0 = <&r_i2c_pins>; > > > > + pinctrl-names = "default"; > > > > + status = "okay"; > > > > + > > > > + axp717: pmic@34 { > > > > + compatible = "x-powers,axp717"; > > > > + reg = <0x34>; > > > > + interrupt-controller; > > > > + #interrupt-cells = <1>; > > > > + interrupt-parent = <&nmi_intc>; > > > > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > > > > + > > > > + vin1-supply = <®_vcc5v>; > > > > + vin2-supply = <®_vcc5v>; > > > > + vin3-supply = <®_vcc5v>; > > > > + vin4-supply = <®_vcc5v>; > > > > + > > > > + regulators { > > > > + reg_dcdc1: dcdc1 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <900000>; > > > > + regulator-max-microvolt = <1100000>; > > > > + regulator-name = "vdd-cpu"; > > > > + }; > > > > + > > > > + reg_dcdc2: dcdc2 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <940000>; > > > > + regulator-max-microvolt = <940000>; > > > > + regulator-name = "vdd-gpu-sys"; > > > > + }; > > > > + > > > > + reg_dcdc3: dcdc3 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <1100000>; > > > > + regulator-max-microvolt = <1100000>; > > > > + regulator-name = "vdd-dram"; > > > > + }; > > > > + > > > > + reg_aldo1: aldo1 { > > > > + /* 1.8v - unused */ > > > > + }; > > > > You can drop all the unused ones, unless you plan to include *this* > > file from another one and use those nodes/labels. > > > > ChenYu > > > > > > + > > > > + reg_aldo2: aldo2 { > > > > + /* 1.8v - unused */ > > > > + }; > > > > + > > > > + reg_aldo3: aldo3 { > > > > + /* 1.8v - unused */ > > > > + }; > > > > + > > > > + reg_aldo4: aldo4 { > > > > + regulator-min-microvolt = <1800000>; > > > > + regulator-max-microvolt = <1800000>; > > > > + regulator-name = "vcc-pg"; > > > > + }; > > > > + > > > > + reg_bldo1: bldo1 { > > > > + /* 1.8v - unused */ > > > > + }; > > > > + > > > > + reg_bldo2: bldo2 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <1800000>; > > > > + regulator-max-microvolt = <1800000>; > > > > + regulator-name = "vcc-pll"; > > > > + }; > > > > + > > > > + reg_bldo3: bldo3 { > > > > + /* 2.8v - unused */ > > > > + }; > > > > + > > > > + reg_bldo4: bldo4 { > > > > + /* 1.2v - unused */ > > > > + }; > > > > + > > > > + reg_cldo1: cldo1 { > > > > + /* 3.3v - audio codec - not yet implemented */ > > > > + }; > > > > + > > > > + reg_cldo2: cldo2 { > > > > + /* 3.3v - unused */ > > > > + }; > > > > + > > > > + reg_cldo3: cldo3 { > > > > + regulator-always-on; > > > > + regulator-min-microvolt = <3300000>; > > > > + regulator-max-microvolt = <3300000>; > > > > + regulator-name = "vcc-io"; > > > > + }; > > > > + > > > > + reg_cldo4: cldo4 { > > > > + regulator-min-microvolt = <3300000>; > > > > + regulator-max-microvolt = <3300000>; > > > > + regulator-name = "vcc-wifi"; > > > > + }; > > > > + > > > > + reg_boost: boost { > > > > + regulator-min-microvolt = <5000000>; > > > > + regulator-max-microvolt = <5200000>; > > > > + regulator-name = "boost"; > > > > + }; > > > > + > > > > + reg_cpusldo: cpusldo { > > > > + /* unused */ > > > > + }; > > > > + }; > > > > + }; > > > > + > > > > + rtc_ext: rtc@51 { > > > > + compatible = "nxp,pcf8563"; > > > > + reg = <0x51>; > > > > + }; > > > > +}; > > > > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP 2024-06-06 17:06 ` Chris Morgan @ 2024-06-06 17:28 ` Andre Przywara 0 siblings, 0 replies; 15+ messages in thread From: Andre Przywara @ 2024-06-06 17:28 UTC (permalink / raw) To: Chris Morgan Cc: Chen-Yu Tsai, Chris Morgan, linux-sunxi, devicetree, mripard, ryan, samuel, jernej.skrabec, conor+dt, krzk+dt, robh On Thu, 6 Jun 2024 12:06:54 -0500 Chris Morgan <macromorgan@hotmail.com> wrote: Hi, > On Thu, Jun 06, 2024 at 01:35:15PM +0100, Andre Przywara wrote: > > On Thu, 6 Jun 2024 19:58:07 +0800 > > Chen-Yu Tsai <wens@csie.org> wrote: > > > > Hi Chen-Yu, > > > > > On Thu, Jun 6, 2024 at 5:52 PM Andre Przywara <andre.przywara@arm.com> wrote: > > > > > > > > On Wed, 5 Jun 2024 13:53:39 -0500 > > > > Chris Morgan <macroalpha82@gmail.com> wrote: > > > > > > > > > From: Chris Morgan <macromorgan@hotmail.com> > > > > > > > > > > The Anbernic RG35XXSP is almost identical to the RG35XX-Plus, but in a > > > > > clamshell form-factor. The key differences between the SP and the Plus > > > > > is a lid switch and an RTC on the same i2c bus as the PMIC. > > > > > > > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > > > > --- > > > > > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > > > > > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > > > > > 2 files changed, 147 insertions(+), 1 deletion(-) > > > > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > > > > > index 0db7b60b49a1..00bed412ee31 100644 > > > > > --- a/arch/arm64/boot/dts/allwinner/Makefile > > > > > +++ b/arch/arm64/boot/dts/allwinner/Makefile > > > > > @@ -49,5 +49,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb > > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero3.dtb > > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-transpeed-8k618-t.dtb > > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.dtb > > > > > -dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > > > > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-h.dtb > > > > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-plus.dtb > > > > > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-sp.dtb > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > > new file mode 100644 > > > > > index 000000000000..a1d16b65ef5d > > > > > --- /dev/null > > > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > > @@ -0,0 +1,145 @@ > > > > > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > > > +/* > > > > > + * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. > > > > > + * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. > > > > > + */ > > > > > + > > > > > +#include <dt-bindings/input/gpio-keys.h> > > > > > +#include "sun50i-h700-anbernic-rg35xx-plus.dts" > > > > > + > > > > > +/ { > > > > > + model = "Anbernic RG35XX SP"; > > > > > + compatible = "anbernic,rg35xx-sp", "allwinner,sun50i-h700"; > > > > > + > > > > > + gpio-keys-lid { > > > > > + compatible = "gpio-keys"; > > > > > + > > > > > + lid-switch { > > > > > + label = "Lid Switch"; > > > > > + gpios = <&pio 4 7 GPIO_ACTIVE_LOW>; /* PE7 */ > > > > > + linux,can-disable; > > > > > + linux,code = <SW_LID>; > > > > > + linux,input-type = <EV_SW>; > > > > > + wakeup-event-action = <EV_ACT_DEASSERTED>; > > > > > + wakeup-source; > > > > > + }; > > > > > + }; > > > > > +}; > > > > > + > > > > > +/delete-node/ &r_rsb; > > > > > > > > I don't think deleting the *RSB* node is right here, if at all, I'd expect > > > > status="disabled", and then maybe deleting the axp717 node within? > > > > Or maybe factor the AXP node out into a separate file, and include it from > > > > the -2024.dts and from this one? > > > > > > Doesn't quite work because the unit address is different. > > > > Ah, right, good point. It's a bit annoying because the node name itself is > > mostly irrelevant, but I see that this wouldn't pass validation. > > > > > > Or move every board to I2C? > > > > > > Doesn't this depend on the bootloader also running in RSB mode? My memory > > > is a bit foggy on this, but IIRC we did a conversion on some other boards > > > before? > > > > In the SPL we use I2C only, mostly because we have an SPL capable I2C > > driver already. > > In U-Boot proper we use whatever the DT says, that should work like in the > > kernel. > > In TF-A we used to have one hardcoded transport per SoC, and that happens > > to be RSB everywhere at the moment, but I have a patch series [1] to > > determine this dynamically, via the DT. As it stands, that chooses the > > transport by looking at the PMIC (I2C for the AXP313, RSB for the AXP717 > > or AXP305), but I think it's fairly easy to check for the status property > > of both RSB and I2C, or look at the parent node of the AXP node to find > > the transport protocol to use. > > I will sketch something up. > > > > Chris has plans to auto-detect the exact Anbernic model in U-Boot, and > > switch to the right DT then automatically. IIUC I2C devices play a role in > > this, so switching to I2C for all Anbernic models would make this more > > viable. > > It just leaves a bit of a bitter taste that we now model the DT after this > > particular requirement, and not after what the hardware looks like. > > I honestly would rather simply have the Linux tree use i2c for all > devices, to be honest. For at least the Anbernic RG35XXSP device > as well as a device I haven't started yet (the RG28XX) there is an > external rtc on the same i2c bus as the PMIC at 0x51. This device > does not appear to be present on the other devices. > > I'm thinking that with U-Boot I can use a single bootloader and load > one of five device trees based on what happens when I check for this > RTC at 0x51, when I attempt to communicate with mmc1 (wifi), and when > I check GPIO PE11. I don't need to actually use the wifi in U-Boot, > just find out if it's there. > > This means basically: > > GPIO PE11 - RG35XX-H > RTC present, wifi present - RG35XX-SP > RTC present, wifi missing - RG28XX > RTC missing, wifi missing - RG35XX-2024 > RTC missing, wifi present - RG35XX-Plus > > Regardless of this though, I will find a way to manage no matter what > we decide here. But for the RG35XX-SP and RG28XX (not yet submitted) I > want to run the PMIC off i2c so I can use the external RTC too. Yes, if you have I2C devices connected to those pins, then we *need* to use I2C for the PMIC. We have the same situation for the Pine H64 board, check sun50i-h6-pine-h64.dts. That's why the idea to switch the others, too. Cheers, Andre > > > > [1] https://review.trustedfirmware.org/q/topic:%22h616_pmics%22 > > > > > > What do people think about this? > > > > > > "disabled" in RSB node and deleting the axp717 node is probably the right > > > thing to do. > > > > > > > > > > Cheers, > > > > Andre > > > > > > > > > + > > > > > +&r_i2c { > > > > > + pinctrl-0 = <&r_i2c_pins>; > > > > > + pinctrl-names = "default"; > > > > > + status = "okay"; > > > > > + > > > > > + axp717: pmic@34 { > > > > > + compatible = "x-powers,axp717"; > > > > > + reg = <0x34>; > > > > > + interrupt-controller; > > > > > + #interrupt-cells = <1>; > > > > > + interrupt-parent = <&nmi_intc>; > > > > > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; > > > > > + > > > > > + vin1-supply = <®_vcc5v>; > > > > > + vin2-supply = <®_vcc5v>; > > > > > + vin3-supply = <®_vcc5v>; > > > > > + vin4-supply = <®_vcc5v>; > > > > > + > > > > > + regulators { > > > > > + reg_dcdc1: dcdc1 { > > > > > + regulator-always-on; > > > > > + regulator-min-microvolt = <900000>; > > > > > + regulator-max-microvolt = <1100000>; > > > > > + regulator-name = "vdd-cpu"; > > > > > + }; > > > > > + > > > > > + reg_dcdc2: dcdc2 { > > > > > + regulator-always-on; > > > > > + regulator-min-microvolt = <940000>; > > > > > + regulator-max-microvolt = <940000>; > > > > > + regulator-name = "vdd-gpu-sys"; > > > > > + }; > > > > > + > > > > > + reg_dcdc3: dcdc3 { > > > > > + regulator-always-on; > > > > > + regulator-min-microvolt = <1100000>; > > > > > + regulator-max-microvolt = <1100000>; > > > > > + regulator-name = "vdd-dram"; > > > > > + }; > > > > > + > > > > > + reg_aldo1: aldo1 { > > > > > + /* 1.8v - unused */ > > > > > + }; > > > > > > You can drop all the unused ones, unless you plan to include *this* > > > file from another one and use those nodes/labels. > > > > > > ChenYu > > > > > > > > + > > > > > + reg_aldo2: aldo2 { > > > > > + /* 1.8v - unused */ > > > > > + }; > > > > > + > > > > > + reg_aldo3: aldo3 { > > > > > + /* 1.8v - unused */ > > > > > + }; > > > > > + > > > > > + reg_aldo4: aldo4 { > > > > > + regulator-min-microvolt = <1800000>; > > > > > + regulator-max-microvolt = <1800000>; > > > > > + regulator-name = "vcc-pg"; > > > > > + }; > > > > > + > > > > > + reg_bldo1: bldo1 { > > > > > + /* 1.8v - unused */ > > > > > + }; > > > > > + > > > > > + reg_bldo2: bldo2 { > > > > > + regulator-always-on; > > > > > + regulator-min-microvolt = <1800000>; > > > > > + regulator-max-microvolt = <1800000>; > > > > > + regulator-name = "vcc-pll"; > > > > > + }; > > > > > + > > > > > + reg_bldo3: bldo3 { > > > > > + /* 2.8v - unused */ > > > > > + }; > > > > > + > > > > > + reg_bldo4: bldo4 { > > > > > + /* 1.2v - unused */ > > > > > + }; > > > > > + > > > > > + reg_cldo1: cldo1 { > > > > > + /* 3.3v - audio codec - not yet implemented */ > > > > > + }; > > > > > + > > > > > + reg_cldo2: cldo2 { > > > > > + /* 3.3v - unused */ > > > > > + }; > > > > > + > > > > > + reg_cldo3: cldo3 { > > > > > + regulator-always-on; > > > > > + regulator-min-microvolt = <3300000>; > > > > > + regulator-max-microvolt = <3300000>; > > > > > + regulator-name = "vcc-io"; > > > > > + }; > > > > > + > > > > > + reg_cldo4: cldo4 { > > > > > + regulator-min-microvolt = <3300000>; > > > > > + regulator-max-microvolt = <3300000>; > > > > > + regulator-name = "vcc-wifi"; > > > > > + }; > > > > > + > > > > > + reg_boost: boost { > > > > > + regulator-min-microvolt = <5000000>; > > > > > + regulator-max-microvolt = <5200000>; > > > > > + regulator-name = "boost"; > > > > > + }; > > > > > + > > > > > + reg_cpusldo: cpusldo { > > > > > + /* unused */ > > > > > + }; > > > > > + }; > > > > > + }; > > > > > + > > > > > + rtc_ext: rtc@51 { > > > > > + compatible = "nxp,pcf8563"; > > > > > + reg = <0x51>; > > > > > + }; > > > > > +}; > > > > > > > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/2] Add Anbernic RG35XX-SP 2024-06-05 18:53 [PATCH 0/2] Add Anbernic RG35XX-SP Chris Morgan 2024-06-05 18:53 ` [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP Chris Morgan 2024-06-05 18:53 ` [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP Chris Morgan @ 2024-06-06 15:56 ` Rob Herring (Arm) 2024-06-06 16:52 ` Chris Morgan 2 siblings, 1 reply; 15+ messages in thread From: Rob Herring (Arm) @ 2024-06-06 15:56 UTC (permalink / raw) To: Chris Morgan Cc: conor+dt, linux-sunxi, devicetree, ryan, Chris Morgan, wens, mripard, jernej.skrabec, samuel, andre.przywara, krzk+dt On Wed, 05 Jun 2024 13:53:37 -0500, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Add support for the Anbernic RG35XX-SP handheld gaming device. The > Anbernic RG35XX-SP is a clamshell device, but hardware wise is very > similar to the RG35XX-Plus. The RG35XX-SP has a lid-switch and an > external RTC that necessitate a distinct device tree. > > Chris Morgan (2): > dt-bindings: arm: sunxi: Add Anbernic RG35XXSP > arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP > > .../devicetree/bindings/arm/sunxi.yaml | 24 ++- > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > 3 files changed, 156 insertions(+), 16 deletions(-) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > -- > 2.34.1 > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y allwinner/sun50i-h700-anbernic-rg35xx-sp.dtb' for 20240605185339.266833-1-macroalpha82@gmail.com: arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dtb: pmic@34: regulators: 'boost' does not match any of the regexes: '^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|cpusldo|drivevbus|dc5ldo)$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml# ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/2] Add Anbernic RG35XX-SP 2024-06-06 15:56 ` [PATCH 0/2] " Rob Herring (Arm) @ 2024-06-06 16:52 ` Chris Morgan 0 siblings, 0 replies; 15+ messages in thread From: Chris Morgan @ 2024-06-06 16:52 UTC (permalink / raw) To: Rob Herring (Arm) Cc: Chris Morgan, conor+dt, linux-sunxi, devicetree, ryan, wens, mripard, jernej.skrabec, samuel, andre.przywara, krzk+dt On Thu, Jun 06, 2024 at 09:56:13AM -0600, Rob Herring (Arm) wrote: > > On Wed, 05 Jun 2024 13:53:37 -0500, Chris Morgan wrote: > > From: Chris Morgan <macromorgan@hotmail.com> > > > > Add support for the Anbernic RG35XX-SP handheld gaming device. The > > Anbernic RG35XX-SP is a clamshell device, but hardware wise is very > > similar to the RG35XX-Plus. The RG35XX-SP has a lid-switch and an > > external RTC that necessitate a distinct device tree. > > > > Chris Morgan (2): > > dt-bindings: arm: sunxi: Add Anbernic RG35XXSP > > arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP > > > > .../devicetree/bindings/arm/sunxi.yaml | 24 ++- > > arch/arm64/boot/dts/allwinner/Makefile | 3 +- > > .../sun50i-h700-anbernic-rg35xx-sp.dts | 145 ++++++++++++++++++ > > 3 files changed, 156 insertions(+), 16 deletions(-) > > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dts > > > > -- > > 2.34.1 > > > > > > > > > My bot found new DTB warnings on the .dts files added or changed in this > series. > > Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings > are fixed by another series. Ultimately, it is up to the platform > maintainer whether these warnings are acceptable or not. No need to reply > unless the platform maintainer has comments. > > If you already ran DT checks and didn't see these error(s), then > make sure dt-schema is up to date: > > pip3 install dtschema --upgrade Sorry, while this error probably occurs on other upstream trees for the moment, this commit should fix the error [1]. [1] https://lore.kernel.org/linux-sunxi/20240418000736.24338-4-andre.przywara@arm.com/ Thank you, Chris. > > > New warnings running 'make CHECK_DTBS=y allwinner/sun50i-h700-anbernic-rg35xx-sp.dtb' for 20240605185339.266833-1-macroalpha82@gmail.com: > > arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-sp.dtb: pmic@34: regulators: 'boost' does not match any of the regexes: '^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|cpusldo|drivevbus|dc5ldo)$', 'pinctrl-[0-9]+' > from schema $id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml# > > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-06-06 17:28 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-06-05 18:53 [PATCH 0/2] Add Anbernic RG35XX-SP Chris Morgan 2024-06-05 18:53 ` [PATCH 1/2] dt-bindings: arm: sunxi: Add Anbernic RG35XXSP Chris Morgan 2024-06-06 6:43 ` Krzysztof Kozlowski 2024-06-06 10:26 ` Andre Przywara 2024-06-06 11:30 ` Maxime Ripard 2024-06-06 16:55 ` Chris Morgan 2024-06-06 17:04 ` Chen-Yu Tsai 2024-06-05 18:53 ` [PATCH 2/2] arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP Chris Morgan 2024-06-06 9:51 ` Andre Przywara 2024-06-06 11:58 ` Chen-Yu Tsai 2024-06-06 12:35 ` Andre Przywara 2024-06-06 17:06 ` Chris Morgan 2024-06-06 17:28 ` Andre Przywara 2024-06-06 15:56 ` [PATCH 0/2] " Rob Herring (Arm) 2024-06-06 16:52 ` Chris Morgan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).