From patchwork Fri Sep 18 16:54:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikhail Kalashnikov X-Patchwork-Id: 3388 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4]) by mxe881.netcup.net (Postfix) with ESMTPS id 4EB711C4E7E for ; Fri, 18 Sep 2026 19:11:18 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 104.64.211.4) smtp.mailfrom=linux-sunxi+bounces-26045-noreply=patchwork.local@lists.linux.dev smtp.helo=sin.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 104.64.211.4 as permitted sender) client-ip=104.64.211.4; envelope-from=linux-sunxi+bounces-26045-noreply=patchwork.local@lists.linux.dev; helo=sin.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sin.lore.kernel.org (Postfix) with ESMTP id 5E8163336D for ; Fri, 18 Sep 2026 16:55:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 95AC051AEC0; Fri, 18 Sep 2026 16:55:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FNINAXMP" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-pz2-f41.google.com (mail-pz2-f41.google.com [74.125.228.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D24451AEE5 for ; Fri, 18 Sep 2026 16:55:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789750506; cv=none; b=FIncaqBZHg36rRM3xrrXWr73dEmhHx72lHaFz4Vtfs1XdU7n9RseAIAFIOkuQcUKRA3IVzmTrjYzfb7nl0lCWRdk6wkmLQNxhuXy73ZoNOdK7Yd0k5Kb43eDZL2lGysCNXCZE1y8iguJLywNFfzaFYiZIkNbt8Xi3KHY18b9hjE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789750506; c=relaxed/simple; bh=Tux15efZ2YcNvW9ry8usvdg2zR/J+JAW9ljaXl5e2lE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fTGCE5aZpduf0De/nm6oUZZbcW4rm8/hFYYMngJOF3dBfmTdpl3pGAWae5LoIMGTzW/Fdx375OG+RN3G6L6lcIggCdXhZzf6JXk2wZqLT6v9YlUntf2/8KdNpShYNJ1+UPyTyxG7Vns/npho2Sn/5Mvm3HocjYUXxeF8J2TYh7w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FNINAXMP; arc=none smtp.client-ip=74.125.228.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pz2-f41.google.com with SMTP id 41be03b00d2f7-cc50d1b048eso866106a12.1 for ; Fri, 18 Sep 2026 09:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789750502; x=1790355302; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ro54w7H8jC6p+K00CHwfdPRGov797nGcof5Jb8mK1zs=; b=FNINAXMPp24v26cmBDnESd2X3BusdnLHDUamNqlstmuBThF/3ncRXRdIsDrgMOk9eH c3NttxmSAYYAzCsR097/ER3pBA2CGSgnLMrtgH1biQ/xdAH3ScJS0nLKx9pLhRM7vlVc B6tw4xohQgs7KX+/ba2lxHjE7rRE2I8LH2TazlJc6Vk1ZFEaYWbFsZeHGDMNiQJ86Rh8 /i0eqDqMu2UVoPWrT5zPIhsNBLt19ts99Mm3mOy3+aYd2PTyf73isehVNjce7BQKYCcP etp0qHWh9n7CqEB+ds1/7HJnrWT7v+MLzuua6CB4BCGui7MGDjPAFBITh1vSRqHiSJer xPmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789750502; x=1790355302; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=ro54w7H8jC6p+K00CHwfdPRGov797nGcof5Jb8mK1zs=; b=tVV7SPVY1ob8UPbIC6d08TCYTWWB6UAJQTYrSzqfYNxhDJBdh+P3HZWNF5G27jDh3P wpPUghZz8APJNBXSlzR4gQRsYbbyFTyA/gmOp7JcYFEnxv94e8CCmRCNFhLNaTILP+P1 1Yh1ry0x67TYMypYxeZEV8ZIVohNpor2eoLzdTwO8PZGIvL8DJPQtIZbpuZhoeV0h6Bs oUqlgY8HAq7l3tl0/6JpAmhMAVMtGQNQUsj3eBohR3XSuIZJlwAGgd0DRcqr63zfwcwD XlSf/2N17s4YIYeh75/70zydgntYWVTWVHlYyvfpgU2v5N5p6ugNUKIXC/deUATnAC82 wqFQ== X-Forwarded-Encrypted: i=1; AKwUvBzeCKKmkPH16ELAlf56NWal5EYFOVsY4G01PBHKh2eqB0uDXDQ6oanBsBTFMN4SBwugwqYNJEwVJn6zKw==@lists.linux.dev X-Gm-Message-State: AFuF++lcHdi16H0uGVC1VVEarp9wjwnWSgdKGjlcGoO1eGdhkZh5LXNp mnxOe9c4/xlclFhzn5M4+ZkfIP751Q9HumJJwL0156N4kLAqEEeaj8jZ X-Gm-Gg: AYBFou33wykcHjoBait1g+C57P5/xxsCWDj55q3O3HD41vCNIjva14S+Q1uYEvnxNxT /xWsKlvcZNbVs9+BNoyJSlbKCMO1TI1AENuqFgSWrak7kXZ5cYfZVA4ASO3BwFE7c+uuOObKHi6 Mxf1b7RNPdCLQor+Cd+9BTD7fS5I88NsbEAm9QBzKnHpkmKj0DIgSHFNKrfu8/PLMjfIOY1igT2 UQe5zgM79CqqqdWCx6gpwPzcHRVgBONpj2Vsfbz/bsj8PbKMu6X/blKuKmbjsu02eTE1CQ2T3us QDbU5Qbn3BsrBnj3tA9xpvbUkWPikn7poFneHXEJBgJCFJK27UW501E55X+wUM0SgPaB8PFLNhD DJsfWHpdr8+DBgTbYSKVgTnBZE7DtWKUzkPKWchZh/+xNOnKPPPFDR8VX8UwpDcQdTy4EIBu1+r 8HLDxuZSq7MmF0c53MTG1UfIBKhXRbWPbs3fqGA3hrSgeL3UVDNQgEM82rqbFEsL0= X-Received: by 2002:a17:90b:398c:b0:39e:1c2c:1d4b with SMTP id 98e67ed59e1d1-39e54bcd0a9mr6865180a91.11.1789750502131; Fri, 18 Sep 2026 09:55:02 -0700 (PDT) Received: from archlinux ([207.90.239.231]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e6cb0190bsm240270a91.13.2026.09.18.09.54.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 09:55:01 -0700 (PDT) From: Mikhail Kalashnikov To: Chen-Yu Tsai , Jernej Skrabec , Samuel Holland Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Andre Przywara Subject: [PATCH 4/4] arm64: dts: allwinner: add Teclast P85T tablet Date: Sat, 19 Sep 2026 00:54:14 +0800 Message-ID: <20260918165414.1129076-5-iuncuim@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260918165414.1129076-1-iuncuim@gmail.com> References: <20260918165414.1129076-1-iuncuim@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [5.84 / 15.00]; RBL_SENDERSCORE(2.00)[104.64.211.4:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; BAD_REP_POLICIES(0.10)[]; MIME_GOOD(-0.10)[text/plain]; HAS_LIST_UNSUB(-0.01)[]; FROM_HAS_DN(0.00)[]; DBL_PROHIBIT(0.00)[0.0.0.40:email,0.0.0.36:email,0.0.0.1:email]; RCVD_COUNT_FIVE(0.00)[6]; PRECEDENCE_BULK(0.00)[]; TAGGED_RCPT(0.00)[]; FORGED_SENDER_MAILLIST(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[sin.lore.kernel.org:rdns,sin.lore.kernel.org:helo,0.0.0.34:email,0.0.0.26:email]; FROM_NEQ_ENVFROM(0.00)[iuncuim@gmail.com,linux-sunxi@lists.linux.dev]; TAGGED_FROM(0.00)[bounces-26045-noreply=patchwork.local]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[207.90.239.231:received]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[104.64.211.4:from]; ASN(0.00)[asn:63949, ipnet:104.64.192.0/19, country:SG]; R_SPF_ALLOW(0.00)[+ip4:104.64.211.4]; FREEMAIL_TO(0.00)[kernel.org,gmail.com,sholland.org]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_SEVEN(0.00)[8]; MIME_TRACE(0.00)[0:+]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 4EB711C4E7E X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= 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 (not supported in mainline 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 are not supported in mainline 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 --- arch/arm64/boot/dts/allwinner/Makefile | 1 + .../allwinner/sun55i-a523-teclast-p85t.dts | 420 ++++++++++++++++++ 2 files changed, 421 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..38a9c98ec --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523-teclast-p85t.dts @@ -0,0 +1,420 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR MIT) +/* + * Copyright (C) 2026 Mikhail Kalashnikov + */ + +/dts-v1/; + +#include "sun55i-a523.dtsi" + +#include +#include + +/ { + 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"; + }; + + iio-hwmon { + compatible = "iio-hwmon"; + io-channels = <&axp717_adc 3>, /* vsys_v */ + <&axp717_adc 4>; /* pmic_temp */ + }; + + 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_pio18: pio-18 { + compatible = "regulator-fixed"; + regulator-name = "pio-18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + 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>; + }; +}; + +&ehci0 { + status = "okay"; +}; + +&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"; +}; + +&ohci0 { + status = "okay"; +}; + +&pio { + vcc-pc-supply = <®_pio18>; + vcc-pe-supply = <®_pio18>; + vcc-pf-supply = <®_pio18>; + vcc-pg-supply = <®_pio18>; +}; + +&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_dcdc4: dcdc4 { + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-name = "vdd-dcdc4"; + }; + + 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 { + /* WiFi module 1.8V */ + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-wifi-1v8-b"; + }; + + 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-sd"; + }; + + 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 { + reg_aldo1_323: aldo1 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-aldo1-323"; + }; + + reg_dldo1_323: dldo1 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-dldo1-323"; + }; + + /* 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 */ + + reg_dcdc3_323: dcdc3 { + regulator-always-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-name = "vdd-dcdc3"; + }; + }; + }; +}; + +&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-supply = <®_vcc5v>; + status = "okay"; +};