* [PATCH v2 0/4] arm64: dts: allwinner: add Teclast P85T (A523) support
@ 2026-10-01 2:24 Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add vendor prefix for Teclast Mikhail Kalashnikov
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Mikhail Kalashnikov @ 2026-10-01 2:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Andre Przywara
This series adds initial support for the Teclast P85T, an 8-inch tablet
based on the Allwinner A523 (sun55i) SoC.
This initial submission enables only what has a binding today.
Display (DE/TCON/DSI), PWM backlight, audio codec, camera (CSI/VIN)
and LRADC keys are deliberately left out, as those blocks is not ready
yet. They will be sent separately.
Patches 1 and 2 overlap with Andre's series
https://lore.kernel.org/linux-sunxi/20260914210115.28151-1-andre.przywara@arm.com/T/#ma8a2554315eccbccdb15ee7ac212a4d0afb45a5c
They are included for compatibility and differ only in the full company
name in the description.
Touchscreen operation requires firmware extracted from the Android
firmware; the file will be added to a public repository later.
The touchscreen values below were obtained experimentally via evtest
and may be inaccurate:
touchscreen-size-x = <1786>;
touchscreen-size-y = <1128>;
With the values below the touchscreen and display coordinates match:
touchscreen-inverted-y;
touchscreen-swapped-x-y;
The battery values are taken from the battery label
(5000 mAh, 4.4 V max charge) and the Android DTB
(pmu_runtime_chgcur = <0x320>, i.e. 800 mA safe charge current).
U-Boot support requires an LPDDR3 driver for the A523, which will be
sent a bit later.
A ready-to-use image with working display, audio and touchscreen can be
found on the Manjaro forum. Patches will be added as other contributors
add their parts.
Changes since v1 [1]:
- Added Reviewed-by from Andre Przywara for patch 3;
- Replaced the dummy 1.8V pio-18 regulator with the real PMIC rails;
- Dropped reg_dcdc4: no consumers, the kernel would turn it off;
- Dropped AXP323 aldo1/dldo1: no consumers - the board is verified
to work with both rails disabled;
- Renamed bldo2 to "vcc-dram-1v8" (needs to be kept always-on).
- Renamed cldo1 from "vcc-codec-sd" to "vcc-codec-mmc";
- Described AXP323 dcdc3 as the RISC-V management core supply, like
on the other A523 boards;
- USB: removed the inbound 5V rail from usb0_vbus-supply and dropped
ehci0/ohci0; the port is works like peripheral-only, using
usb0_vbus_det-gpios for VBUS sensing;
- Dropped the iio-hwmon node due to invalid values;
- Commit message wording: those blocks "don't have a binding yet".
[1] https://lore.kernel.org/linux-sunxi/20260918165414.1129076-1-iuncuim@gmail.com/
Based on 7.3-rc3.
Mikhail Kalashnikov (4):
dt-bindings: vendor-prefixes: Add vendor prefix for Teclast
dt-bindings: arm: sunxi: Add Teclast P85T tablet
arm64: dts: allwinner: sun55i-a523: add I2C0 and I2C1 pin groups
arm64: dts: allwinner: add Teclast P85T tablet
.../devicetree/bindings/arm/sunxi.yaml | 5 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../allwinner/sun55i-a523-teclast-p85t.dts | 386 ++++++++++++++++++
.../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 18 +
5 files changed, 412 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523-teclast-p85t.dts
--
2.55.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add vendor prefix for Teclast
2026-10-01 2:24 [PATCH v2 0/4] arm64: dts: allwinner: add Teclast P85T (A523) support Mikhail Kalashnikov
@ 2026-10-01 2:24 ` Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 2/4] dt-bindings: arm: sunxi: Add Teclast P85T tablet Mikhail Kalashnikov
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Mikhail Kalashnikov @ 2026-10-01 2:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Andre Przywara
Teclast is a Chinese consumer-electronics brand. Add its vendor prefix
so that board compatible strings can use it.
Assisted-by: OpenCode:DeepSeek-V4.1-Flash
Signed-off-by: Mikhail Kalashnikov <iuncuim@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 ba2002969..c7c2fcd37 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1694,6 +1694,8 @@ patternProperties:
description: Techvision Intelligent Technology Co., Ltd
"^techwell,.*":
description: Techwell, Inc.
+ "^teclast,.*":
+ description: Guangzhou Shangke Information Technology Co., Ltd.
"^teejet,.*":
description: TeeJet
"^teltonika,.*":
--
2.55.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/4] dt-bindings: arm: sunxi: Add Teclast P85T tablet
2026-10-01 2:24 [PATCH v2 0/4] arm64: dts: allwinner: add Teclast P85T (A523) support Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add vendor prefix for Teclast Mikhail Kalashnikov
@ 2026-10-01 2:24 ` Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 3/4] arm64: dts: allwinner: sun55i-a523: add I2C0 and I2C1 pin groups Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 4/4] arm64: dts: allwinner: add Teclast P85T tablet Mikhail Kalashnikov
3 siblings, 0 replies; 5+ messages in thread
From: Mikhail Kalashnikov @ 2026-10-01 2:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Andre Przywara
Document the compatible for the Teclast P85T tablet, which is based on
the Allwinner A523 SoC.
Assisted-by: OpenCode:DeepSeek-V4.1-Flash
Signed-off-by: Mikhail Kalashnikov <iuncuim@gmail.com>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index f04db28c6..b9c2268fe 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -933,6 +933,11 @@ properties:
- const: tbs-biometrics,a711
- const: allwinner,sun8i-a83t
+ - description: Teclast P85T
+ items:
+ - const: teclast,p85t
+ - const: allwinner,sun55i-a523
+
- description: Topwise A721 Tablet
items:
- const: topwise,a721
--
2.55.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 3/4] arm64: dts: allwinner: sun55i-a523: add I2C0 and I2C1 pin groups
2026-10-01 2:24 [PATCH v2 0/4] arm64: dts: allwinner: add Teclast P85T (A523) support Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add vendor prefix for Teclast Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 2/4] dt-bindings: arm: sunxi: Add Teclast P85T tablet Mikhail Kalashnikov
@ 2026-10-01 2:24 ` Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 4/4] arm64: dts: allwinner: add Teclast P85T tablet Mikhail Kalashnikov
3 siblings, 0 replies; 5+ messages in thread
From: Mikhail Kalashnikov @ 2026-10-01 2:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Andre Przywara
Add the pin groups for the I2C0 (PH0/PH1) and I2C1 (PH2/PH3) controllers
that used on some A523 boards.
Assisted-by: OpenCode:DeepSeek-V4.1-Flash
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Mikhail Kalashnikov <iuncuim@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
index 85ef492ff..0ec5d19f7 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
@@ -147,6 +147,24 @@ pio: pinctrl@2000000 {
interrupt-controller;
#interrupt-cells = <3>;
+ /omit-if-no-ref/
+ i2c0_pins: i2c0-pins {
+ pins = "PH0", "PH1";
+ function = "i2c0";
+ allwinner,pinmux = <2>;
+ drive-strength = <10>;
+ bias-pull-up;
+ };
+
+ /omit-if-no-ref/
+ i2c1_pins: i2c1-pins {
+ pins = "PH2", "PH3";
+ function = "i2c1";
+ allwinner,pinmux = <2>;
+ drive-strength = <10>;
+ bias-pull-up;
+ };
+
/omit-if-no-ref/
i2s2_pi_pins: i2s2-pi-pins {
pins = "PI2", "PI3", "PI4", "PI5";
--
2.55.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 4/4] arm64: dts: allwinner: add Teclast P85T tablet
2026-10-01 2:24 [PATCH v2 0/4] arm64: dts: allwinner: add Teclast P85T (A523) support Mikhail Kalashnikov
` (2 preceding siblings ...)
2026-10-01 2:24 ` [PATCH v2 3/4] arm64: dts: allwinner: sun55i-a523: add I2C0 and I2C1 pin groups Mikhail Kalashnikov
@ 2026-10-01 2:24 ` Mikhail Kalashnikov
3 siblings, 0 replies; 5+ messages in thread
From: Mikhail Kalashnikov @ 2026-10-01 2:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel, Andre Przywara
The Teclast P85T is an 8-inch tablet that was announced in 2023
based on the Allwinner A523 (sun55i) SoC.
Hardware summary:
- Allwinner A523, 8x Cortex-A55 (2 clusters)
- 4 GiB LPDDR3 DRAM
- 64 GiB eMMC
- microSD card slot
- AXP717 and AXP323 PMICs
- USB-C port wired to the USB2 OTG controller
- combined WiFi and Bluetooth module based on AIC8800 (SDIO+UART)
- 800x1280 MIPI-DSI panel (no mainline binding yet)
- Silead GSL1680 touchscreen
- MiraMEMS DA280 accelerometer
- AXP717 battery/charger
- USB-C OTG port (also for charging)
- secure boot, but takes any key
This initial submission enables only what mainline supports today:
both PMICs, battery/charger, GPU (Panfrost), eMMC, SD card,
SDIO WiFi (can be used with out of tree driver), USB device (without
otg function), UART0 console, UART1 Bluetooth, I2C0 touchscreen, I2C1
accelerometer and the RTC with the external 32 kHz oscillator.
Display (DE/TCON/DSI), PWM backlight, audio codec, camera (CSI/VIN)
and LRADC keys are deliberately left out, as those blocks don't have a
binding yet.
The tablet uses secure boot, so it needs a signed TOC0 wrapped image to
boot, but it has no key hash burnt into the efuses, so it accepts an
image signed with any key. U-Boot support in progress.
Later, a tablet with an Allwinner A537 processor and 3 GB of DRAM was
released under the same name. This version is not supported by mainline.
Assisted-by: OpenCode:DeepSeek-V4.1-Flash
Signed-off-by: Mikhail Kalashnikov <iuncuim@gmail.com>
---
arch/arm64/boot/dts/allwinner/Makefile | 1 +
.../allwinner/sun55i-a523-teclast-p85t.dts | 386 ++++++++++++++++++
2 files changed, 387 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun55i-a523-teclast-p85t.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index aa21f58a4..7025ba959 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -63,6 +63,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h700-anbernic-rg35xx-2024.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
+dtb-$(CONFIG_ARCH_SUNXI) += sun55i-a523-teclast-p85t.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun55i-a527-cubie-a5e.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun55i-h728-x96qpro+.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun55i-t527-avaota-a1.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523-teclast-p85t.dts b/arch/arm64/boot/dts/allwinner/sun55i-a523-teclast-p85t.dts
new file mode 100644
index 000000000..d144f81d8
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun55i-a523-teclast-p85t.dts
@@ -0,0 +1,386 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
+/*
+ * Copyright (C) 2026 Mikhail Kalashnikov <iuncuim@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "sun55i-a523.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ model = "Teclast P85T";
+ compatible = "teclast,p85t", "allwinner,sun55i-a523";
+ chassis-type = "tablet";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ battery: battery {
+ compatible = "simple-battery";
+ constant-charge-current-max-microamp = <800000>;
+ voltage-max-design-microvolt = <4400000>;
+ charge-full-design-microamp-hours = <5000000>;
+ energy-full-design-microwatt-hours = <19250000>;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ ext_osc32k: ext-osc32k-clk {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "ext_osc32k";
+ };
+
+ reg_vcc5v: vcc5v {
+ /* board wide 5V supply from the USB-C connector */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-5v";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ reg_vmmc1: vmmc1 {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc-wifi";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <®_aldo3>;
+ gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
+ enable-active-high;
+ };
+
+ wifi_pwrseq: pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 1 1 GPIO_ACTIVE_LOW>; /* PM1 */
+ post-power-on-delay-ms = <200>;
+ };
+};
+
+&gpu {
+ mali-supply = <®_dcdc2>;
+ status = "okay";
+};
+
+&i2c0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_pins>;
+ clock-frequency = <400000>;
+ status = "okay";
+
+ touchscreen@40 {
+ compatible = "silead,gsl1680";
+ reg = <0x40>;
+ interrupt-parent = <&pio>;
+ interrupts = <7 9 IRQ_TYPE_EDGE_FALLING>; /* PH9 */
+ power-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
+ touchscreen-size-x = <1786>;
+ touchscreen-size-y = <1128>;
+ touchscreen-inverted-y;
+ touchscreen-swapped-x-y;
+ silead,max-fingers = <5>;
+ avdd-supply = <®_cldo2>;
+ };
+};
+
+&i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_pins>;
+ status = "okay";
+
+ accelerometer@26 {
+ compatible = "miramems,da280";
+ reg = <0x26>;
+ interrupt-parent = <&pio>;
+ interrupts = <7 11 IRQ_TYPE_LEVEL_LOW>; /* PH11 */
+ };
+};
+
+&mmc0 {
+ vmmc-supply = <®_cldo3>;
+ cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */
+ bus-width = <4>;
+ status = "okay";
+};
+
+&mmc1 {
+ vmmc-supply = <®_vmmc1>;
+ vqmmc-supply = <®_bldo1>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ wifi@1 {
+ reg = <1>;
+ interrupt-parent = <&r_pio>;
+ interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
+ interrupt-names = "host-wake";
+ };
+};
+
+&mmc2 {
+ vmmc-supply = <®_cldo3>;
+ vqmmc-supply = <®_cldo1>;
+ bus-width = <8>;
+ non-removable;
+ cap-mmc-hw-reset;
+ mmc-ddr-1_8v;
+ mmc-hs200-1_8v;
+ status = "okay";
+};
+
+&pio {
+ vcc-pc-supply = <®_cldo1>;
+ vcc-pf-supply = <®_cldo3>;
+ vcc-pg-supply = <®_bldo1>;
+};
+
+&r_i2c0 {
+ 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>;
+ aldoin-supply = <®_vcc5v>;
+ bldoin-supply = <®_vcc5v>;
+ cldoin-supply = <®_vcc5v>;
+
+ axp717_adc: adc {
+ compatible = "x-powers,axp717-adc";
+ #io-channel-cells = <1>;
+ };
+
+ battery-power {
+ compatible = "x-powers,axp717-battery-power-supply";
+ monitored-battery = <&battery>;
+ };
+
+ regulators {
+ /* Supplies the "little" cluster (1.0(?) GHz cores) */
+ reg_dcdc1: dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-name = "vdd-cpul";
+ };
+
+ reg_dcdc2: dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <920000>;
+ regulator-max-microvolt = <920000>;
+ regulator-name = "vdd-gpu-sys";
+ };
+
+ reg_dcdc3: dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <1260000>;
+ regulator-max-microvolt = <1260000>;
+ regulator-name = "vdd-dram";
+ };
+
+ reg_aldo1: aldo1 {
+ /* camera sensor AVDD */
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-name = "avdd-csi";
+ };
+
+ reg_aldo2: aldo2 {
+ /* camera sensor IOVDD */
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "iovdd-csi";
+ };
+
+ reg_aldo3: aldo3 {
+ /*
+ * supplies the I2C pins for this PMIC
+ * and the WiFi module
+ */
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-pl-pm";
+ };
+
+ reg_aldo4: aldo4 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-pll-dxco-avcc";
+ };
+
+ reg_bldo1: bldo1 {
+ /* WiFi module 1.8V */
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-wifi-1v8";
+ };
+
+ reg_bldo2: bldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-dram-1v8";
+ };
+
+ reg_bldo3: bldo3 {
+ /* camera sensor DVDD/cameravdd */
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-name = "vcc-csi";
+ };
+
+ reg_bldo4: bldo4 {
+ /* camera sensor DVDD */
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-name = "dvdd-csi";
+ };
+
+ reg_cldo1: cldo1 {
+ /* codec CPVIN, SD/eMMC 1.8V IO */
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc-codec-mmc";
+ };
+
+ reg_cldo2: cldo2 {
+ /* touch panel supply */
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-ctp";
+ };
+
+ reg_cldo3: cldo3 {
+ /* SD/eMMC VMMC, codec VDD, UART0, g-sensor */
+ regulator-always-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-io-mmc";
+ };
+
+ reg_cldo4: cldo4 {
+ /* LCD panel supply */
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-lcd";
+ };
+
+ reg_cpusldo: cpusldo {
+ /* supplies the management core */
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <900000>;
+ regulator-name = "vdd-cpus";
+ };
+ };
+
+ usb-power {
+ compatible = "x-powers,axp717-usb-power-supply";
+ input-current-limit-microamp = <1750000>;
+ };
+ };
+
+ axp323: pmic@36 {
+ compatible = "x-powers,axp323";
+ reg = <0x36>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupt-parent = <&nmi_intc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+ vin1-supply = <®_vcc5v>;
+ vin2-supply = <®_vcc5v>;
+ vin3-supply = <®_vcc5v>;
+
+ regulators {
+ /*
+ * ALDO1 (1.8V) and DLDO1 (3.3V) have no consumers,
+ * although BSP enables them; the board works fine
+ * with both rails disabled.
+ */
+
+ /* Supplies the "big" cluster (1.8 GHz cores) */
+ reg_dcdc1_323: dcdc1 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1160000>;
+ regulator-name = "vdd-cpub";
+ };
+
+ /* DCDC2 is polyphased with DCDC1 */
+
+ /* Some RISC-V management core related voltage */
+ reg_dcdc3_323: dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <900000>;
+ regulator-name = "vdd-dnr";
+ };
+ };
+ };
+};
+
+&r_pio {
+/*
+ * Specifying the supply would create a circular dependency.
+ *
+ * vcc-pl-supply = <®_aldo3>;
+ */
+ vcc-pm-supply = <®_aldo3>;
+};
+
+&rtc {
+ clocks = <&r_ccu CLK_BUS_R_RTC>, <&osc24M>,
+ <&r_ccu CLK_R_AHB>, <&ext_osc32k>;
+ clock-names = "bus", "hosc", "ahb", "ext-osc32k";
+ assigned-clocks = <&rtc CLK_OSC32K>;
+ assigned-clock-rates = <32768>;
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pb_pins>;
+ status = "okay";
+};
+
+&uart1 {
+ /* Bluetooth HCI, 4-wire with RTS/CTS */
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+ uart-has-rtscts;
+ status = "okay";
+};
+
+&usb_otg {
+ /*
+ * The USB-C port is the primary power supply; VBUS control is not
+ * wired in mainline (AXP717 has no drivevbus), so the port can only
+ * act as a USB device powered from the host side.
+ */
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&usbphy {
+ usb0_vbus_det-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
+ status = "okay";
+};
--
2.55.0
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-01 2:24 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-01 2:24 [PATCH v2 0/4] arm64: dts: allwinner: add Teclast P85T (A523) support Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add vendor prefix for Teclast Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 2/4] dt-bindings: arm: sunxi: Add Teclast P85T tablet Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 3/4] arm64: dts: allwinner: sun55i-a523: add I2C0 and I2C1 pin groups Mikhail Kalashnikov
2026-10-01 2:24 ` [PATCH v2 4/4] arm64: dts: allwinner: add Teclast P85T tablet Mikhail Kalashnikov
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®