From: Vinicius Pedrosa <vinicius.eduardo.pedrosa@gmail.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Chen-Yu Tsai <wens@kernel.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Samuel Holland <samuel@sholland.org>
Cc: Andre Przywara <andre.przywara@arm.com>,
Enzo Adriano <enzo.adriano.code@gmail.com>,
Maxime Ripard <mripard@kernel.org>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: [PATCH 2/3] arm64: dts: allwinner: add Radxa Cubie A7Z board
Date: Wed, 11 Nov 2026 10:49:16 -0300 [thread overview]
Message-ID: <20261111134919.90264-3-vinicius.eduardo.pedrosa@gmail.com> (raw)
In-Reply-To: <20261111134919.90264-1-vinicius.eduardo.pedrosa@gmail.com>
Add the device tree for the Radxa Cubie A7Z. Describe UART0, the AXP318W
PMIC over R-I2C0, MMC0, RTC and the bank supplies. It is based on the
Cubie A7S DT.
Unlike the A7S, this board uses BLDO5 for PG and a SY8089 regulator for
the PMIC's BLDO and CLDO inputs, and the microSD card-detect line has an
external pull-up, so no internal pull-down is used. ELDO1 only supplies
VDD2L for LPDDR5 and this board uses LPDDR4, so it is not described.
SWOUT1 only feeds ports D and J on the 40-pin header, so it is not kept
always-on.
Signed-off-by: Vinicius Pedrosa <vinicius.eduardo.pedrosa@gmail.com>
---
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../dts/allwinner/sun60i-a733-cubie-a7z.dts | 286 ++++++++++++++++++
2 files changed, 287 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun60i-a733-cubie-a7z.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 792152525b43..2eee91dcbd77 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -69,3 +69,4 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun55i-h728-x96qpro+.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-avaota-a1.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-orangepi-4a.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun60i-a733-cubie-a7s.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun60i-a733-cubie-a7z.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun60i-a733-cubie-a7z.dts b/arch/arm64/boot/dts/allwinner/sun60i-a733-cubie-a7z.dts
new file mode 100644
index 000000000000..ab3d3d70f9ff
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun60i-a733-cubie-a7z.dts
@@ -0,0 +1,286 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
+/dts-v1/;
+
+#include "sun60i-a733.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ model = "Radxa Cubie A7Z";
+ compatible = "radxa,cubie-a7z", "allwinner,sun60i-a733";
+
+ aliases {
+ mmc0 = &mmc0;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ reg_ps: regulator-system-power {
+ compatible = "regulator-fixed";
+ regulator-name = "ps";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ reg_ldo_input: regulator-ldo-input {
+ compatible = "regulator-fixed";
+ regulator-name = "ldo2v5-input";
+ /* SY8089: 0.6 V * (1 + RP11 / RP6), 30k / 10k. */
+ regulator-min-microvolt = <2400000>;
+ regulator-max-microvolt = <2400000>;
+ regulator-always-on;
+ vin-supply = <®_ps>;
+ };
+
+ osc32k: osc32k-clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <®_dcdc5>;
+};
+
+&cpu1 {
+ cpu-supply = <®_dcdc5>;
+};
+
+&cpu2 {
+ cpu-supply = <®_dcdc5>;
+};
+
+&cpu3 {
+ cpu-supply = <®_dcdc5>;
+};
+
+&cpu4 {
+ cpu-supply = <®_dcdc5>;
+};
+
+&cpu5 {
+ cpu-supply = <®_dcdc5>;
+};
+
+&cpu6 {
+ cpu-supply = <®_dcdc3>;
+};
+
+&cpu7 {
+ cpu-supply = <®_dcdc3>;
+};
+
+&mmc0 {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ /* PF6 has an external 10k pull-up and reads high with a card. */
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+ disable-wp;
+ max-frequency = <50000000>;
+ no-1-8-v;
+ vmmc-supply = <®_swout2>;
+ /* The 3.3 V path uses VCC-IO; no Port F voltage switching yet. */
+ vqmmc-supply = <®_swout2>;
+ status = "okay";
+};
+
+&osc {
+ clock-frequency = <26000000>;
+};
+
+&pio {
+ vcc-pb-supply = <®_swout2>;
+ vcc-pc-supply = <®_cldo5>;
+ vcc-pd-supply = <®_swout1>;
+ vcc-pe-supply = <®_bldo1>;
+ /* CLDO5 feeds VCC18-PF; the 3.3 V path uses VCC-IO. */
+ vcc-pf-supply = <®_cldo5>;
+ vcc-pg-supply = <®_bldo5>;
+ vcc-ph-supply = <®_swout2>;
+ vcc-pj-supply = <®_swout1>;
+ vcc-pk-supply = <®_bldo1>;
+};
+
+&r_i2c0 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_i2c0_pl_pins>;
+
+ axp318w: pmic@36 {
+ compatible = "x-powers,axp318w";
+ reg = <0x36>;
+ interrupt-parent = <&nmi_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+
+ aldo156in-supply = <®_ps>;
+ aldo234in-supply = <®_aldo1>;
+ bldoin-supply = <®_ldo_input>;
+ cldoin-supply = <®_ldo_input>;
+ dldoin-supply = <®_ps>;
+ eldoin-supply = <®_dcdc9>;
+ ips-supply = <®_ps>;
+ vin19-supply = <®_ps>;
+ vin23-supply = <®_ps>;
+ vin45-supply = <®_ps>;
+ vin678-supply = <®_ps>;
+
+ regulators {
+ reg_dcdc1: dcdc1 {
+ regulator-name = "vcc-3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ reg_dcdc2: dcdc2 {
+ regulator-name = "vdd-sys";
+ regulator-always-on;
+ };
+
+ reg_dcdc3: dcdc3 {
+ regulator-name = "vdd-cpub";
+ regulator-always-on;
+ };
+
+ reg_dcdc4: dcdc4 {
+ regulator-name = "vdd-gpu";
+ regulator-always-on;
+ };
+
+ reg_dcdc5: dcdc5 {
+ regulator-name = "vdd-cpul";
+ regulator-always-on;
+ };
+
+ reg_dcdc6: dcdc6 {
+ regulator-name = "vcc-draml";
+ regulator-always-on;
+ };
+
+ reg_dcdc7: dcdc7 {
+ regulator-name = "vcc-dram";
+ regulator-always-on;
+ };
+
+ reg_dcdc8: dcdc8 {
+ regulator-name = "vcc-ufs-io";
+ regulator-always-on;
+ };
+
+ reg_dcdc9: dcdc9 {
+ regulator-name = "eldo-input";
+ regulator-always-on;
+ };
+
+ reg_swout1: swout1 {
+ regulator-name = "vcc33-lcd";
+ };
+
+ reg_swout2: swout2 {
+ regulator-name = "vcc-io-card";
+ regulator-always-on;
+ };
+
+ reg_aldo1: aldo1 {
+ regulator-name = "vcc-pl";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ reg_bldo1: bldo1 {
+ regulator-name = "vcc-pe-pk-mcsi";
+ };
+
+ reg_bldo2: bldo2 {
+ regulator-name = "vcc-lvds0";
+ regulator-always-on;
+ };
+
+ reg_bldo4: bldo4 {
+ regulator-name = "vcc18-codec";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ reg_bldo5: bldo5 {
+ regulator-name = "vcc-pg";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ reg_cldo1: cldo1 {
+ regulator-name = "vcc33-18-usb";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ reg_cldo2: cldo2 {
+ regulator-name = "vcc18-hdmi";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ reg_cldo3: cldo3 {
+ regulator-name = "vcc-pll-dram";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ reg_cldo5: cldo5 {
+ regulator-name = "vcc18-pf-pc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ reg_dldo1: dldo1 {
+ regulator-name = "vcc-efuse";
+ regulator-always-on;
+ };
+
+ reg_dldo6: dldo6 {
+ regulator-name = "vcc-ufs";
+ regulator-always-on;
+ };
+
+ reg_eldo6: eldo6 {
+ regulator-name = "vdd-cpus";
+ regulator-always-on;
+ };
+
+ reg_rtc_ldo: rtc-ldo {
+ regulator-name = "vcc-rtc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&r_pio {
+ /* PL powers the PMIC bus itself; firmware must keep ALDO1 enabled. */
+ vcc-pm-supply = <®_aldo1>;
+};
+
+&rtc {
+ clocks = <&r_ccu CLK_BUS_R_RTC>, <&osc>, <&r_ccu CLK_R_AHB>,
+ <&osc32k>;
+ clock-names = "bus", "hosc", "ahb", "ext-osc32k";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pb_pins>;
+ status = "okay";
+};
--
2.43.0
next prev parent reply other threads:[~2026-11-11 13:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-11 13:49 [PATCH 0/3] arm64: dts: allwinner: add Radxa Cubie A7Z support Vinicius Pedrosa
2026-11-11 13:49 ` [PATCH 1/3] dt-bindings: arm: sunxi: document Radxa Cubie A7Z Vinicius Pedrosa
2026-11-11 13:49 ` Vinicius Pedrosa [this message]
2026-11-11 13:49 ` [PATCH 3/3] arm64: dts: allwinner: sun60i-a733-cubie-a7z: add the user LED Vinicius Pedrosa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261111134919.90264-3-vinicius.eduardo.pedrosa@gmail.com \
--to=vinicius.eduardo.pedrosa@gmail.com \
--cc=andre.przywara@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=enzo.adriano.code@gmail.com \
--cc=jernej.skrabec@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=mripard@kernel.org \
--cc=robh@kernel.org \
--cc=samuel@sholland.org \
--cc=wens@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®