From patchwork Sun Sep 27 15:10:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3501 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74]) by mxe881.netcup.net (Postfix) with ESMTPS id 5DFC21C2F84 for ; Sun, 27 Sep 2026 17:11:44 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.232.135.74) smtp.mailfrom=linux-sunxi+bounces-26315-noreply=patchwork.local@lists.linux.dev smtp.helo=sto.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.232.135.74 as permitted sender) client-ip=172.232.135.74; envelope-from=linux-sunxi+bounces-26315-noreply=patchwork.local@lists.linux.dev; helo=sto.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 9EF5F604BA2 for ; Sun, 27 Sep 2026 15:11:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6038D3914FF; Sun, 27 Sep 2026 15:11:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oO9i0fi5" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 D222238D6A8 for ; Sun, 27 Sep 2026 15:11:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521899; cv=none; b=SyMbSnk90U+ZtBuXW1ZP+YkiTQwAaiWUgy7qkMzLrw9o3mgZn34tV9p+vnJ3D03+Wtpo5Dc9uUekWyD+gn7aBvR2yHpcUIFdqBfIRJbZa83qjOHKVnHqhzmtE5wRrQ3eRVIh+t2a+CZE92A27EfPUuv07udMbDDUOPUxL2PFGAY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521899; c=relaxed/simple; bh=MrFw8HsYf1WGSbJh/2gG3na1ccwgspJiiKfTITG0GkY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Agb9n3mwdFNmDgC0cXjRRL8UCEiZWlhbVHf6SUG1PqawLJSufZRp9gKpjAx7RqsNWsYnP25t1QeKXiuMBEmMD+jCfjju2j1N6OhKIcaXNSFD1KzqYH4YXxg1yTFkGH2mSd0DeA/ofuStjYu8ew+Ftt2Og8Lx0pjZrlaYgkqmfg8= 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=oO9i0fi5; arc=none smtp.client-ip=209.85.128.46 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-wm1-f46.google.com with SMTP id 5b1f17b1804b1-49e73611928so21071075e9.1 for ; Sun, 27 Sep 2026 08:11:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521892; x=1791126692; 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=6HXbMRgIpW1xfL0vVAELOv8qR2MQ01942FUYAID9kA8=; b=oO9i0fi53lTOajxpLV74hyNq32boxJ+OfHlWAPZshvkJnCRsCODt39/81xdHZkmBtY pNQKZz14JTc1fFqBXmvNQHGB3JcsDBbccD4/5cTqi4BGLqDuHikgnhBKoV1yPN9fnTWr 8W1H5u/uQtX5kUE+QSDw00PFkZ70bEMAQuyehWlbwRcOOCPoLTD6Tn7uCM5dAIxvrFu5 18jE8rSBvbBAsJVBs9xae6n+ozpbAKksDi1XaUeuNWemZ3J8dnHR90swGF7NOYgsjQ2s hZP26acpQuT9SeBksGDPHBfoOaY+je1+Yd3sR6iAaDP0KYSvEV2IVBBqKiS4FOvBHJ8z 9ybA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521892; x=1791126692; 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=6HXbMRgIpW1xfL0vVAELOv8qR2MQ01942FUYAID9kA8=; b=ZcXHecRjCPeU4jjcUn2qC/NCvU8FzeseT/uC07+O7Si15AnBp9M6oEcptQQhRU0d/T pRJ3OI8ltzRLHQixby7EJ9edUDGMzHl/vEedC0Xd47BxYJH7+Vhrd0Q/JwwymOR7XF3l f+jFCEE521kRaFHtiMogvOertsbjJZywxzVY3d2zTlmro9LbZ0Bz5LXOyL7qELz13zh+ Bd+8W7kjgZbxQ0+CDaOlurJKdkT5Yg1BLHxIRyBW31Qj5ucQyEy2i/Bb6KQP6OaaVDYa 1cJbzfsaAOZAJyQnmRh18Z1jTt+Ljk11PDXedb7sIdbW29u8roJfqNa0+NhmOXHgoneN WcOQ== X-Forwarded-Encrypted: i=1; AKwUvBxQsNcPyvh+u0dvt4QZoQEX9gigjwB06WDcdixVPdmhdl/REaq2hphg7sN6sZEOdm3kN06nN+d0s3ivFQ==@lists.linux.dev X-Gm-Message-State: AFuF++l30d/Of3FrdYA64f+Yl9yll/+ww6U+YumeHicnz/GR3mOiySRd naiuAUXuf1SX1RZLARqmnqMRaB+mJBPyS500p83zsOkGpPc4R1ChyB3r X-Gm-Gg: AYBFou1cGFDt41qDj08LCZRBaQEkkoq5fwfawPMMylc5/XNwZmujocp4LLqwbH7Kj8T aMFk61XOZfbrZ+uojyhDQrK15vor8GelsW4SLDs9MPLMuTrw5DdqSN+2jPD/MzU5gn9/hIq3rSe bjyhFt+s+Io2MWLNNGHrXYw6Y6zEff26FcD7rzWTj3RVR6hbFRXTbB42xCnuPwBqhkDz3Qaxs9r 6CfqD277XoZRSML7o/5pTfpCJPzKyu1LdKyGdn+dygqBxQZd3hNTC/CEgrXiQNcV5YtpMkmoecC WdDo1PI8UIJS9ATIbQbjIRN6eiP/6tZ3HLW86oRASthM28LaHlaqe/RA3Hc6nd8se6SiPKFAwcl rD7ksxRgq/voCto+qZcrxAEA5DIRZoeSVuJ+zUcDH4z7EnhvIkg14f619dFxeElYJMXfT0S7TPG FXI9siB1ozWwgJBDLXZoKSXExeXzg5Mgw7QvK9jRiVabJNgpd8bnLyw7FMDKsiSE5NzazluXJCJ cYGVCEuBATAsNtt28rQhoOW3ftpaza9 X-Received: by 2002:a7b:c314:0:b0:49f:bb49:9cca with SMTP id 5b1f17b1804b1-49fe66cf67amr152831735e9.5.1790521892183; Sun, 27 Sep 2026 08:11:32 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.11.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:11:31 -0700 (PDT) From: Pablo Mazzini To: Brian Masney , Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Jerome Brunet , Krzysztof Kozlowski , Maxime Ripard , Philipp Zabel , Rob Herring , Samuel Holland , Stephen Boyd Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 01/11] dt-bindings: clock: sun4i-a10-ccu: add Allwinner B288 Date: Sun, 27 Sep 2026 16:10:06 +0100 Message-ID: <20260927151016.186493-2-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@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)[172.232.135.74:from]; SUSPICIOUS_RECIPS(1.50)[]; MID_CONTAINS_FROM(1.00)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; PRECEDENCE_BULK(0.00)[]; TAGGED_RCPT(0.00)[clk,dt]; RCPT_COUNT_TWELVE(0.00)[17]; FORGED_SENDER_MAILLIST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,vger.kernel.org,lists.infradead.org,lists.linux.dev]; FROM_HAS_DN(0.00)[]; FROM_NEQ_ENVFROM(0.00)[pmazzini@gmail.com,linux-sunxi@lists.linux.dev]; TAGGED_FROM(0.00)[bounces-26315-noreply=patchwork.local]; R_SPF_ALLOW(0.00)[+ip4:172.232.135.74]; FREEMAIL_TO(0.00)[redhat.com,kernel.org,gmail.com,baylibre.com,pengutronix.de,sholland.org]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:63949, ipnet:172.232.128.0/19, country:SG]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 5DFC21C2F84 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 B288 (sun8iw10p1) is a dual Cortex-A7 SoC used in e-book readers. Its CCU needs only the two oscillator inputs, so it fits the existing schema without changes. Signed-off-by: Pablo Mazzini Acked-by: Krzysztof Kozlowski --- .../clock/allwinner,sun4i-a10-ccu.yaml | 1 + include/dt-bindings/clock/sun8i-b288-ccu.h | 88 +++++++++++++++++++ include/dt-bindings/reset/sun8i-b288-ccu.h | 45 ++++++++++ 3 files changed, 134 insertions(+) create mode 100644 include/dt-bindings/clock/sun8i-b288-ccu.h create mode 100644 include/dt-bindings/reset/sun8i-b288-ccu.h diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml index 1690b9d99c3d..cc3f62d3554c 100644 --- a/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml +++ b/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml @@ -28,6 +28,7 @@ properties: - allwinner,sun8i-a33-ccu - allwinner,sun8i-a83t-ccu - allwinner,sun8i-a83t-r-ccu + - allwinner,sun8i-b288-ccu - allwinner,sun8i-h3-ccu - allwinner,sun8i-h3-r-ccu - allwinner,sun8i-r40-ccu diff --git a/include/dt-bindings/clock/sun8i-b288-ccu.h b/include/dt-bindings/clock/sun8i-b288-ccu.h new file mode 100644 index 000000000000..8983c6d2f362 --- /dev/null +++ b/include/dt-bindings/clock/sun8i-b288-ccu.h @@ -0,0 +1,88 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */ +#ifndef _DT_BINDINGS_CLK_SUN8I_B288_H_ +#define _DT_BINDINGS_CLK_SUN8I_B288_H_ + +#define CLK_PLL_CPUX 0 +#define CLK_PLL_AUDIO_BASE 1 +#define CLK_PLL_VIDEO0 2 +#define CLK_PLL_DDR0 3 +#define CLK_PLL_PERIPH0 4 +#define CLK_PLL_VIDEO1 5 +#define CLK_PLL_24M 6 +#define CLK_PLL_PERIPH1 7 +#define CLK_PLL_DE 8 +#define CLK_PLL_DDR1 9 + +#define CLK_PLL_PERIPH0_2X 10 +#define CLK_PLL_PERIPH1_2X 11 +#define CLK_CPUX 12 +#define CLK_AXI 13 +#define CLK_CPUAPB 14 +#define CLK_AHB1 15 +#define CLK_APB1 16 +#define CLK_APB2 17 + +#define CLK_NAND 18 +#define CLK_MMC0 19 +#define CLK_MMC1 20 +#define CLK_MMC2 21 +#define CLK_MMC3 22 +#define CLK_SPI0 23 +#define CLK_SPI1 24 +#define CLK_SPI2 25 +#define CLK_DRAM 26 +#define CLK_DE 27 +#define CLK_EE 28 +#define CLK_EDMA 29 +#define CLK_TCON0 30 +#define CLK_MBUS 31 + +#define CLK_BUS_THS 32 +#define CLK_BUS_NAND 33 +#define CLK_BUS_SDMMC0_BUS 34 +#define CLK_BUS_SDMMC1_BUS 35 +#define CLK_BUS_SDMMC2_BUS 36 +#define CLK_BUS_SDMMC3_BUS 37 +#define CLK_BUS_SPI0 38 +#define CLK_BUS_SPI1 39 +#define CLK_BUS_SPI2 40 +#define CLK_BUS_I2S0 41 +#define CLK_BUS_I2S1 42 +#define CLK_BUS_SPDIF 43 +#define CLK_BUS_DSD 44 +#define CLK_BUS_DMIC 45 +#define CLK_BUS_USBOHCI0 46 +#define CLK_BUS_USBEHCI0 47 +#define CLK_BUS_USBOTG 48 +#define CLK_BUS_DE 49 +#define CLK_BUS_EE 50 +#define CLK_BUS_TCON0 51 +#define CLK_BUS_CSI 52 +#define CLK_BUS_ADDA 53 +#define CLK_BUS_SDRAM 54 +#define CLK_BUS_PSRAM 55 +#define CLK_BUS_DMA 56 +#define CLK_BUS_UART0 57 +#define CLK_BUS_UART1 58 +#define CLK_BUS_UART2 59 +#define CLK_BUS_UART3 60 +#define CLK_BUS_UART4 61 +#define CLK_BUS_UART5 62 +#define CLK_BUS_TWI0 63 +#define CLK_BUS_TWI1 64 +#define CLK_BUS_TWI2 65 +#define CLK_BUS_PIO 66 +#define CLK_BUS_GPADC 67 +#define CLK_BUS_KEYADC 68 + +/* + * mmc0 and mmc1 are v4p1x controllers driven in the old timing mode, which + * needs the sample and output phase clocks. mmc2 and mmc3 are newer blocks + * that do their own delay calibration and have none. + */ +#define CLK_MMC0_SAMPLE 69 +#define CLK_MMC0_OUTPUT 70 +#define CLK_MMC1_SAMPLE 71 +#define CLK_MMC1_OUTPUT 72 + +#endif diff --git a/include/dt-bindings/reset/sun8i-b288-ccu.h b/include/dt-bindings/reset/sun8i-b288-ccu.h new file mode 100644 index 000000000000..675145654548 --- /dev/null +++ b/include/dt-bindings/reset/sun8i-b288-ccu.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */ +#ifndef _DT_BINDINGS_RST_SUN8I_B288_H_ +#define _DT_BINDINGS_RST_SUN8I_B288_H_ + +#define RST_BUS_THS 0 +#define RST_BUS_NAND 1 +#define RST_BUS_MMC0 2 +#define RST_BUS_MMC1 3 +#define RST_BUS_MMC2 4 +#define RST_BUS_MMC3 5 +#define RST_BUS_SPI0 6 +#define RST_BUS_SPI1 7 +#define RST_BUS_SPI2 8 +#define RST_BUS_I2S0 9 +#define RST_BUS_I2S1 10 +#define RST_BUS_SPDIF 11 +#define RST_BUS_DSD 12 +#define RST_BUS_DMIC 13 +#define RST_USBPHY0 14 +#define RST_BUS_OHCI0 15 +#define RST_BUS_EHCI0 16 +#define RST_BUS_OTG 17 +#define RST_BUS_DE 18 +#define RST_BUS_EE 19 +#define RST_BUS_TCON0 20 +#define RST_BUS_CSI 21 +#define RST_BUS_ADDA 22 +#define RST_BUS_WLAN 23 +#define RST_MBUS 24 +#define RST_BUS_DRAM 25 +#define RST_BUS_PSRAM 26 +#define RST_BUS_DMA 27 +#define RST_BUS_UART0 28 +#define RST_BUS_UART1 29 +#define RST_BUS_UART2 30 +#define RST_BUS_UART3 31 +#define RST_BUS_UART4 32 +#define RST_BUS_UART5 33 +#define RST_BUS_I2C0 34 +#define RST_BUS_I2C1 35 +#define RST_BUS_I2C2 36 +#define RST_BUS_GPADC 37 +#define RST_BUS_KEYADC 38 + +#endif From patchwork Sun Sep 27 15:10:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3502 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74]) by mxe881.netcup.net (Postfix) with ESMTPS id A650B1C2980 for ; Sun, 27 Sep 2026 17:11:52 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.232.135.74) smtp.mailfrom=linux-sunxi+bounces-26316-noreply=patchwork.local@lists.linux.dev smtp.helo=sto.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.232.135.74 as permitted sender) client-ip=172.232.135.74; envelope-from=linux-sunxi+bounces-26316-noreply=patchwork.local@lists.linux.dev; helo=sto.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 1E06D604B6D for ; Sun, 27 Sep 2026 15:11:52 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3B83339021A; Sun, 27 Sep 2026 15:11:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lfEjSUkW" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 A5035390CAC for ; Sun, 27 Sep 2026 15:11:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521911; cv=none; b=rrjtRiM3eRZ10OEeOrlzYgm6dSnlGe61EcCZNZNlQoxmEzNe+942tCX7AOYSFVyHYEvfGT6ASLaQmaQhpVf0+XJ7uRdW102WzpSIuhH5xBwku5VsOlPmyOr1G4Ib1cUUFy7Jkm+/MDOsVDzagKYGWsaf0m3/Wqxk92/ZCdEJThI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521911; c=relaxed/simple; bh=LT42v2FIJTPHmUe/jMGTfQ1E8FdSDvkcm6JyGl9tAPc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T7DW3JlRVsbykfi5GvieLAz4bqB2XwJ6qfAy8nF6aJ0lgYQlA16lIx30rMVWqmu7uNDP0gDw0tnfALpABl/aDwrtYqq/T612ID4apdLPImwJqPgbxl5VffRI/1e7+VjUtqErZogvwnpeQaFEVB/uKLn560/AZS3Wa5+yjKYAE7Q= 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=lfEjSUkW; arc=none smtp.client-ip=209.85.221.49 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-wr1-f49.google.com with SMTP id ffacd0b85a97d-488615e6cfcso1628100f8f.0 for ; Sun, 27 Sep 2026 08:11:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521907; x=1791126707; 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=dVgE4+lE15THezbwDVRTpRuVlTrZ4B1+a7ZbB13xgs4=; b=lfEjSUkWsqBuiWMtGWxQ86PmTzvn2LbCdflvg4PlYzqSEEA3JOKlmDsUlSm8U7DnKp WfFZIDmhbHLOHdR8l7TvLS5scFbMW7rm6IKe7GnamvZLApIYFxFeoDCqNJPc+xNIZAe0 PJJN3x/oHVKWSrOgwvpaqAcxunsuSMJl+VYMLHiimmKWhx9w/O9GmBTXjR6qfKV7Dhx3 BUTk2BOWJEhV2AT99sDfSXCNnJP9OohHjPQMXm5pNq1+3B1qfj3cbgO8qreSYEkWt+7S LniVkWYto1y1VleWP+NOTOt+hJBOIaNKXh/Mtrk6DJywx5X6SAqT99IEqo3U00mQOZml 6oEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521907; x=1791126707; 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=dVgE4+lE15THezbwDVRTpRuVlTrZ4B1+a7ZbB13xgs4=; b=rzfbewHi1SuFCx4mcLNhr/sN6cb/cTl28GHAsSYwv472qrwbDPUDj/Amd18ZlOA/d4 8f4V6s4/eou7fPgXpZNeOEog/zMBtisJJQi0saXAwBP95ovn9tEUlcTsbrD0aVApjj+A dUuxU3Ld6dANB0ZHGMCV3iKmzQ0UZsEgmZVPjhSQFTDb2uTg3YgDWKcHdgY/J3dtxSJS lywetI8r7aLH5ay2SLs26h/MVo/1pzPNhR4TrnSSaajRVXXdIF/YXMPCQFxJx44IIGsz mGMAR86+wsxtIsxuNeIM4SksR+3hoc+Q8R2v9qoO8Iy4B+YvNjkPWy5U88a7O9xFawrq jDvw== X-Forwarded-Encrypted: i=1; AKwUvBybGPi6gMlTBZT0eTNSNbSZD6f0XVM9ot+zmCITVxwR3gFI2TWFYJ03w2S8QcEYUKqlB9CULUTKelBIwg==@lists.linux.dev X-Gm-Message-State: AFq9FYKpf2XOVeYhBkpH0PANC9GPDlyAaQseflt74oQXeaaoYluWJhSP I884K+sYGeOSoGAaYs1nhwKzXUPToG1IvAii6S7wdGqm9j0LgCWIkCZT X-Gm-Gg: AYBFou28a9Syl/UMN58R93FnZAAovmMXA2oYycxNsSX12Srx9PlKYMldbCXcionWX6l 7AUs7Z4nvziDZGKepd+vvNNlMFJxzT600mhBuqMKdxsiojIVYRCaBEMQtitBi1hYm0ndYWf4jQe p7FTOfjXWllj/f2gp1rTVvBylLNDVF3al/ZIyxLLDdGxlDEYFgn0rxr2y37xpKfQLNmGOYFPQYe nYsGdpwVwwKR4JFRTy3MpkOjqCZ4+mdbAOd+FfmZcbzORxfpj3AcwuAxBAv0bQ+axEGNqdITHuJ /gv5QIhWSmmEjujIn2i1/jbFUq0siiTxmABx7RdU3BZWgB9FdqMfqrQk/HlBufty177ifdynMFp SgwF42yjvD1/F3Z6DO7+dM6iOX0+npyAdpkQE5PLGLcx5U8Urwp28KCHobGnojE2lHLgoX9ikir SsHqhcFXjvZLoTWbU6wf4DtbRe7n8SVpHQKvhvPEyGcguJWZQnpWredB5eohJdo5uBYTkbH+x0b brEWkGTakVCBG2uGjS28hIuyzQBy0R4 X-Received: by 2002:a05:6000:3c9:b0:487:fb2:1a0f with SMTP id ffacd0b85a97d-488716a2f18mr23490198f8f.6.1790521906731; Sun, 27 Sep 2026 08:11:46 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.11.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:11:46 -0700 (PDT) From: Pablo Mazzini To: Brian Masney , Chen-Yu Tsai , Jernej Skrabec , Jerome Brunet , Samuel Holland , Stephen Boyd Cc: Pablo Mazzini , linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 02/11] clk: sunxi-ng: add Allwinner B288 CCU driver Date: Sun, 27 Sep 2026 16:10:07 +0100 Message-ID: <20260927151016.186493-3-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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?= Covers the PLLs, the CPU/AHB/APB tree, the module clocks and the bus gates and resets. Signed-off-by: Pablo Mazzini --- drivers/clk/sunxi-ng/Kconfig | 5 + drivers/clk/sunxi-ng/Makefile | 1 + drivers/clk/sunxi-ng/ccu-sun8i-b288.c | 660 ++++++++++++++++++++++++++ drivers/clk/sunxi-ng/ccu-sun8i-b288.h | 10 + 4 files changed, 676 insertions(+) create mode 100644 drivers/clk/sunxi-ng/ccu-sun8i-b288.c create mode 100644 drivers/clk/sunxi-ng/ccu-sun8i-b288.h diff --git a/drivers/clk/sunxi-ng/Kconfig b/drivers/clk/sunxi-ng/Kconfig index 6af2d020e03e..5bdfb8574794 100644 --- a/drivers/clk/sunxi-ng/Kconfig +++ b/drivers/clk/sunxi-ng/Kconfig @@ -88,6 +88,11 @@ config SUN6I_RTC_CCU default ARCH_SUNXI depends on MACH_SUN8I || ARM64 || RISCV || COMPILE_TEST +config SUN8I_B288_CCU + tristate "Support for the Allwinner B288 CCU" + default ARCH_SUNXI + depends on MACH_SUN8I || COMPILE_TEST + config SUN8I_A23_CCU tristate "Support for the Allwinner A23 CCU" default ARCH_SUNXI diff --git a/drivers/clk/sunxi-ng/Makefile b/drivers/clk/sunxi-ng/Makefile index a1c4087d7241..dcc377a09ccc 100644 --- a/drivers/clk/sunxi-ng/Makefile +++ b/drivers/clk/sunxi-ng/Makefile @@ -40,6 +40,7 @@ obj-$(CONFIG_SUN4I_A10_CCU) += sun4i-a10-ccu.o obj-$(CONFIG_SUN5I_CCU) += sun5i-ccu.o obj-$(CONFIG_SUN6I_A31_CCU) += sun6i-a31-ccu.o obj-$(CONFIG_SUN6I_RTC_CCU) += sun6i-rtc-ccu.o +obj-$(CONFIG_SUN8I_B288_CCU) += ccu-sun8i-b288.o obj-$(CONFIG_SUN8I_A23_CCU) += sun8i-a23-ccu.o obj-$(CONFIG_SUN8I_A33_CCU) += sun8i-a33-ccu.o obj-$(CONFIG_SUN8I_A83T_CCU) += sun8i-a83t-ccu.o diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-b288.c b/drivers/clk/sunxi-ng/ccu-sun8i-b288.c new file mode 100644 index 000000000000..3327517c4c36 --- /dev/null +++ b/drivers/clk/sunxi-ng/ccu-sun8i-b288.c @@ -0,0 +1,660 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Clock Control Unit driver for the Allwinner B288 (sun8iw10p1). + * + * Closely related to the A64; most of its PLLs are bit-identical. + * Transcribed from the BSP clk-sun8iw10.{c,h} and cross-checked against + * ccu-sun50i-a64.c; divergences are called out inline. + * + * The audio clock tree (i2s/spdif/dsd/dmic/adda) is not implemented. + */ + +#include +#include +#include +#include +#include + +#include "ccu_common.h" +#include "ccu_reset.h" + +#include "ccu_div.h" +#include "ccu_gate.h" +#include "ccu_mp.h" +#include "ccu_mult.h" +#include "ccu_nk.h" +#include "ccu_nkm.h" +#include "ccu_nkmp.h" +#include "ccu_nm.h" +#include "ccu_phase.h" + +#include "ccu-sun8i-b288.h" + +/* + * PLL_CPU @ 0x000 -- N[12:8] K[5:4] M[1:0] P[17:16], gate 31, lock 28. + * Identical to sun50i-a64. + */ +static struct ccu_nkmp pll_cpux_clk = { + .enable = BIT(31), + .lock = BIT(28), + .n = _SUNXI_CCU_MULT(8, 5), + .k = _SUNXI_CCU_MULT(4, 2), + .m = _SUNXI_CCU_DIV(0, 2), + .p = _SUNXI_CCU_DIV_MAX(16, 2, 4), + .common = { + .reg = 0x000, + .hw.init = CLK_HW_INIT("pll-cpux", "osc24M", + &ccu_nkmp_ops, + CLK_SET_RATE_UNGATE), + }, +}; + +/* + * PLL_AUDIO @ 0x008 -- N[14:8] M[4:0], gate 31, lock 28. + * The vendor also writes a sigma-delta pattern at PLL_AUDIOPAT (0x284); + * not transcribed, so plain NM here. + */ +static SUNXI_CCU_NM_WITH_GATE_LOCK(pll_audio_base_clk, "pll-audio-base", + "osc24M", 0x008, + 8, 7, /* N */ + 0, 5, /* M */ + BIT(31), /* gate */ + BIT(28), /* lock */ + CLK_SET_RATE_UNGATE); + +/* PLL_VIDEO0 @ 0x010 -- identical to sun50i-a64. */ +static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_video0_clk, "pll-video0", + "osc24M", 0x010, + 8, 7, /* N */ + 0, 4, /* M */ + BIT(24), /* frac enable */ + BIT(25), /* frac select */ + 270000000, /* frac rate 0 */ + 297000000, /* frac rate 1 */ + BIT(31), /* gate */ + BIT(28), /* lock */ + CLK_SET_RATE_UNGATE); + +/* + * PLL_DDR0 @ 0x020 -- DIVERGES FROM A64, which is NKM with N[12:8] K[5:4]. + * The B288 has a 7-bit N and no K: the value boot0 leaves here sets + * bit 13, which the A64's 5-bit N field cannot hold. + * + * The vendor's bit-30 apply/update has no mainline equivalent and is not + * modelled, nor are the sigma-delta patterns at 0x2ac..0x2b8. + */ +static SUNXI_CCU_NM_WITH_GATE_LOCK(pll_ddr0_clk, "pll-ddr0", + "osc24M", 0x020, + 8, 7, /* N */ + 0, 2, /* M */ + BIT(31), /* gate */ + BIT(28), /* lock */ + CLK_SET_RATE_UNGATE); + +/* PLL_PERIPH0 @ 0x028 -- identical to sun50i-a64, incl. fixed post-div 2. */ +static struct ccu_nk pll_periph0_clk = { + .enable = BIT(31), + .lock = BIT(28), + .n = _SUNXI_CCU_MULT(8, 5), + .k = _SUNXI_CCU_MULT_MIN(4, 2, 2), + .fixed_post_div = 2, + .common = { + .reg = 0x028, + .features = CCU_FEATURE_FIXED_POSTDIV, + .hw.init = CLK_HW_INIT("pll-periph0", "osc24M", + &ccu_nk_ops, 0), + }, +}; + +/* PLL_VIDEO1 @ 0x030 -- same layout as PLL_VIDEO0. */ +static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_video1_clk, "pll-video1", + "osc24M", 0x030, + 8, 7, /* N */ + 0, 4, /* M */ + BIT(24), /* frac enable */ + BIT(25), /* frac select */ + 270000000, /* frac rate 0 */ + 297000000, /* frac rate 1 */ + BIT(31), /* gate */ + BIT(28), /* lock */ + CLK_SET_RATE_UNGATE); + +/* + * PLL_24M @ 0x034 -- B288 only, no a64 equivalent. + * Vendor: N[14:8] K[20:16] M[1:0] P[7:4]. The unusual K position means the + * generic NKMP macro cannot be used; declared longhand. + */ +static struct ccu_nkmp pll_24m_clk = { + .enable = BIT(31), + .lock = BIT(28), + .n = _SUNXI_CCU_MULT(8, 7), + .k = _SUNXI_CCU_MULT(16, 5), + .m = _SUNXI_CCU_DIV(0, 2), + .p = _SUNXI_CCU_DIV(4, 4), + .common = { + .reg = 0x034, + .hw.init = CLK_HW_INIT("pll-24m", "osc24M", + &ccu_nkmp_ops, + CLK_SET_RATE_UNGATE), + }, +}; + +/* PLL_PERIPH1 @ 0x044 -- identical to sun50i-a64. */ +static struct ccu_nk pll_periph1_clk = { + .enable = BIT(31), + .lock = BIT(28), + .n = _SUNXI_CCU_MULT(8, 5), + .k = _SUNXI_CCU_MULT_MIN(4, 2, 2), + .fixed_post_div = 2, + .common = { + .reg = 0x044, + .features = CCU_FEATURE_FIXED_POSTDIV, + .hw.init = CLK_HW_INIT("pll-periph1", "osc24M", + &ccu_nk_ops, 0), + }, +}; + +/* PLL_DE @ 0x048 -- identical to sun50i-a64. */ +static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_de_clk, "pll-de", + "osc24M", 0x048, + 8, 7, /* N */ + 0, 4, /* M */ + BIT(24), /* frac enable */ + BIT(25), /* frac select */ + 270000000, /* frac rate 0 */ + 297000000, /* frac rate 1 */ + BIT(31), /* gate */ + BIT(28), /* lock */ + CLK_SET_RATE_UNGATE); + +/* PLL_DDR1 @ 0x04c -- B288 only. Same layout; this is the one feeding DRAM. */ +static SUNXI_CCU_NM_WITH_GATE_LOCK(pll_ddr1_clk, "pll-ddr1", + "osc24M", 0x04c, + 8, 7, /* N */ + 0, 2, /* M */ + BIT(31), /* gate */ + BIT(28), /* lock */ + CLK_SET_RATE_UNGATE); + +/* + * Multiplied PLL outputs. pll_periph{0,1} carry a fixed /2 post-divider, so + * the "2x" clocks the vendor's periphx2_parents refer to are the raw outputs. + */ +static CLK_FIXED_FACTOR_HW(pll_periph0_2x_clk, "pll-periph0-2x", + &pll_periph0_clk.common.hw, + 1, 2, 0); +static CLK_FIXED_FACTOR_HW(pll_periph1_2x_clk, "pll-periph1-2x", + &pll_periph1_clk.common.hw, + 1, 2, 0); + +/* + * CPU_CFG @ 0x050 -- mux[17:16], CPUAPB divider [9:8], AXI divider [1:0]. + * Same layout as the H3 and the A64. + */ +/* vendor: cpu_parents */ +static const char * const cpux_parents[] = { "osc32k", "osc24M", + "pll-cpux", "pll-cpux" }; +static SUNXI_CCU_MUX(cpux_clk, "cpux", cpux_parents, + 0x050, 16, 2, CLK_IS_CRITICAL | CLK_SET_RATE_PARENT); + +static SUNXI_CCU_M(axi_clk, "axi", "cpux", 0x050, 0, 2, 0); +static SUNXI_CCU_M(cpuapb_clk, "cpuapb", "cpux", 0x050, 8, 2, 0); + +/* + * AHB1_CFG @ 0x054 -- mux[13:12], AHB1 P2 divider [5:4], PLL_PERIPH0-only + * pre-divider [7:6], APB1 divider [9:8]. + */ +/* vendor: ahb1_parents, with pll_periphahb0 folded into the prediv */ +static const char * const ahb1_parents[] = { "osc32k", "osc24M", + "axi", "pll-periph0" }; +static const struct ccu_mux_var_prediv ahb1_predivs[] = { + { .index = 3, .shift = 6, .width = 2 }, +}; + +static struct ccu_div ahb1_clk = { + .div = _SUNXI_CCU_DIV_FLAGS(4, 2, CLK_DIVIDER_POWER_OF_TWO), + + .mux = { + .shift = 12, + .width = 2, + + .var_predivs = ahb1_predivs, + .n_var_predivs = ARRAY_SIZE(ahb1_predivs), + }, + + .common = { + .reg = 0x054, + .features = CCU_FEATURE_VARIABLE_PREDIV, + .hw.init = CLK_HW_INIT_PARENTS("ahb1", + ahb1_parents, + &ccu_div_ops, + 0), + }, +}; + +static struct clk_div_table apb1_div_table[] = { + { .val = 0, .div = 2 }, + { .val = 1, .div = 2 }, + { .val = 2, .div = 4 }, + { .val = 3, .div = 8 }, + { /* Sentinel */ }, +}; + +static SUNXI_CCU_DIV_TABLE(apb1_clk, "apb1", "ahb1", + 0x054, 8, 2, apb1_div_table, 0); + +/* + * APB2_CFG @ 0x058 -- M[4:0] P[17:16] mux[25:24]. The divider matches the + * H3, but mux index 2 selects PLL_24M here rather than PLL_PERIPH0_2X. + */ +/* vendor: apb2_parents */ +static const char * const apb2_parents[] = { "osc32k", "osc24M", + "pll-24m", "pll-periph0-2x" }; +static SUNXI_CCU_MP_WITH_MUX(apb2_clk, "apb2", apb2_parents, 0x058, + 0, 5, /* M */ + 16, 2, /* P */ + 24, 2, /* mux */ + 0); + +/* vendor: periphx2_parents */ +static const char * const mod0_parents[] = { "osc24M", "pll-periph0-2x", + "pll-periph1-2x" }; +/* vendor: de_parents */ +static const char * const de_parents[] = { "pll-periph0-2x", "pll-de" }; +/* vendor: tcon0_parents */ +static const char * const tcon0_parents[] = { "pll-video0", "pll-video1" }; +/* vendor: mbus_parents */ +static const char * const mbus_parents[] = { "osc24M", "pll-periph0-2x", + "pll-ddr0", "pll-ddr1" }; +/* vendor: sdram_parents */ +static const char * const dram_parents[] = { "pll-ddr0", "pll-ddr1", + "pll-periph0-2x" }; + +/* NAND_CFG @ 0x080 -- M[3:0] P[17:16] mux[25:24] gate 31 */ +static SUNXI_CCU_MP_WITH_MUX_GATE(nand_clk, "nand", mod0_parents, 0x080, + 0, 4, /* M */ + 16, 2, /* P */ + 24, 2, /* mux */ + BIT(31), /* gate */ + 0); + +/* + * SD{0..3}_CFG @ 0x088/0x08c/0x090/0x094 -- same layout as NAND. + * + * The four controllers are not the same IP. The vendor device tree calls + * mmc0 and mmc1 "sunxi-mmc-v4p1x" and mmc3 "sunxi-mmc-v4p5x" (mmc2 is a + * different block again). The v4p1x pair run in the old timing mode: no + * internal halving, so no post-divider, and they need the sample and output + * phase clocks. mmc2 and mmc3 use the new timing mode like the A64, where + * the module clock is internally halved -- hence the post-divider of two. + */ +static SUNXI_CCU_MP_WITH_MUX_GATE(mmc0_clk, "mmc0", mod0_parents, 0x088, + 0, 4, /* M */ + 16, 2, /* P */ + 24, 2, /* mux */ + BIT(31), /* gate */ + 0); +static SUNXI_CCU_PHASE(mmc0_sample_clk, "mmc0_sample", "mmc0", 0x088, 20, 3, 0); +static SUNXI_CCU_PHASE(mmc0_output_clk, "mmc0_output", "mmc0", 0x088, 8, 3, 0); + +static SUNXI_CCU_MP_WITH_MUX_GATE(mmc1_clk, "mmc1", mod0_parents, 0x08c, + 0, 4, /* M */ + 16, 2, /* P */ + 24, 2, /* mux */ + BIT(31), /* gate */ + 0); +static SUNXI_CCU_PHASE(mmc1_sample_clk, "mmc1_sample", "mmc1", 0x08c, 20, 3, 0); +static SUNXI_CCU_PHASE(mmc1_output_clk, "mmc1_output", "mmc1", 0x08c, 8, 3, 0); +static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc2_clk, "mmc2", mod0_parents, + 0x090, 0, 4, 16, 2, 24, 2, + BIT(31), 2, 0); +static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc3_clk, "mmc3", mod0_parents, + 0x094, 0, 4, 16, 2, 24, 2, + BIT(31), 2, 0); + +/* SPI{0..2}_CFG @ 0x0a0/0x0a4/0x0a8 -- same layout as NAND. */ +static SUNXI_CCU_MP_WITH_MUX_GATE(spi0_clk, "spi0", mod0_parents, 0x0a0, + 0, 4, 16, 2, 24, 2, BIT(31), 0); +static SUNXI_CCU_MP_WITH_MUX_GATE(spi1_clk, "spi1", mod0_parents, 0x0a4, + 0, 4, 16, 2, 24, 2, BIT(31), 0); +static SUNXI_CCU_MP_WITH_MUX_GATE(spi2_clk, "spi2", mod0_parents, 0x0a8, + 0, 4, 16, 2, 24, 2, BIT(31), 0); + +/* DRAM_CFG @ 0x0f4 -- M[1:0] mux[21:20] gate 31 */ +static SUNXI_CCU_M_WITH_MUX_GATE(dram_clk, "dram", dram_parents, 0x0f4, + 0, 2, /* M */ + 20, 2, /* mux */ + BIT(31), /* gate */ + CLK_IS_CRITICAL); + +/* DE_CFG @ 0x104, EE_CFG @ 0x108, EDMA_CFG @ 0x10c -- M[3:0] mux[26:24] gate 31 */ +static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents, 0x104, + 0, 4, 24, 3, BIT(31), CLK_SET_RATE_PARENT); +static SUNXI_CCU_M_WITH_MUX_GATE(ee_clk, "ee", de_parents, 0x108, + 0, 4, 24, 3, BIT(31), CLK_SET_RATE_PARENT); +static SUNXI_CCU_M_WITH_MUX_GATE(edma_clk, "edma", de_parents, 0x10c, + 0, 4, 24, 3, BIT(31), CLK_SET_RATE_PARENT); + +/* TCON_CFG @ 0x118 -- mux[26:24] gate 31, no divider */ +static SUNXI_CCU_MUX_WITH_GATE(tcon0_clk, "tcon0", tcon0_parents, 0x118, + 24, 3, /* mux */ + BIT(31), /* gate */ + CLK_SET_RATE_PARENT); + +/* MBUS_CFG @ 0x15c -- M[2:0] mux[25:24] gate 31 */ +static SUNXI_CCU_M_WITH_MUX_GATE(mbus_clk, "mbus", mbus_parents, 0x15c, + 0, 3, 24, 2, BIT(31), CLK_IS_CRITICAL); + +static SUNXI_CCU_GATE(bus_ths_clk, "bus-ths", "apb1", + 0x068, BIT(8), 0); +static SUNXI_CCU_GATE(bus_nand_clk, "bus-nand", "ahb1", + 0x060, BIT(13), 0); +static SUNXI_CCU_GATE(bus_sdmmc0_bus_clk, "bus-sdmmc0-bus", "ahb1", + 0x060, BIT(8), 0); +static SUNXI_CCU_GATE(bus_sdmmc1_bus_clk, "bus-sdmmc1-bus", "ahb1", + 0x060, BIT(9), 0); +static SUNXI_CCU_GATE(bus_sdmmc2_bus_clk, "bus-sdmmc2-bus", "ahb1", + 0x060, BIT(10), 0); +static SUNXI_CCU_GATE(bus_sdmmc3_bus_clk, "bus-sdmmc3-bus", "ahb1", + 0x060, BIT(11), 0); +static SUNXI_CCU_GATE(bus_spi0_clk, "bus-spi0", "ahb1", + 0x060, BIT(20), 0); +static SUNXI_CCU_GATE(bus_spi1_clk, "bus-spi1", "ahb1", + 0x060, BIT(21), 0); +static SUNXI_CCU_GATE(bus_spi2_clk, "bus-spi2", "ahb1", + 0x060, BIT(22), 0); +static SUNXI_CCU_GATE(bus_i2s0_clk, "bus-i2s0", "apb1", + 0x068, BIT(12), 0); +static SUNXI_CCU_GATE(bus_i2s1_clk, "bus-i2s1", "apb1", + 0x068, BIT(13), 0); +static SUNXI_CCU_GATE(bus_spdif_clk, "bus-spdif", "apb1", + 0x068, BIT(1), 0); +static SUNXI_CCU_GATE(bus_dsd_clk, "bus-dsd", "apb1", + 0x068, BIT(2), 0); +static SUNXI_CCU_GATE(bus_dmic_clk, "bus-dmic", "apb1", + 0x068, BIT(3), 0); +static SUNXI_CCU_GATE(bus_usbohci0_clk, "bus-usbohci0", "ahb1", + 0x060, BIT(29), 0); +static SUNXI_CCU_GATE(bus_usbehci0_clk, "bus-usbehci0", "ahb1", + 0x060, BIT(26), 0); +static SUNXI_CCU_GATE(bus_usbotg_clk, "bus-usbotg", "ahb1", + 0x060, BIT(24), 0); +static SUNXI_CCU_GATE(bus_de_clk, "bus-de", "ahb1", + 0x064, BIT(12), 0); +static SUNXI_CCU_GATE(bus_ee_clk, "bus-ee", "ahb1", + 0x064, BIT(13), 0); +static SUNXI_CCU_GATE(bus_tcon0_clk, "bus-tcon0", "ahb1", + 0x064, BIT(4), 0); +/* csi_s, csi_m and csi_misc share one bus gate, as on the A64. */ +static SUNXI_CCU_GATE(bus_csi_clk, "bus-csi", "ahb1", + 0x064, BIT(8), 0); +static SUNXI_CCU_GATE(bus_adda_clk, "bus-adda", "apb1", + 0x068, BIT(0), 0); +static SUNXI_CCU_GATE(bus_sdram_clk, "bus-sdram", "ahb1", + 0x060, BIT(14), 0); +static SUNXI_CCU_GATE(bus_psram_clk, "bus-psram", "ahb1", + 0x060, BIT(15), 0); +static SUNXI_CCU_GATE(bus_dma_clk, "bus-dma", "ahb1", + 0x060, BIT(6), 0); +static SUNXI_CCU_GATE(bus_uart0_clk, "bus-uart0", "apb2", + 0x06c, BIT(16), 0); +static SUNXI_CCU_GATE(bus_uart1_clk, "bus-uart1", "apb2", + 0x06c, BIT(17), 0); +static SUNXI_CCU_GATE(bus_uart2_clk, "bus-uart2", "apb2", + 0x06c, BIT(18), 0); +static SUNXI_CCU_GATE(bus_uart3_clk, "bus-uart3", "apb2", + 0x06c, BIT(19), 0); +static SUNXI_CCU_GATE(bus_uart4_clk, "bus-uart4", "apb2", + 0x06c, BIT(20), 0); +static SUNXI_CCU_GATE(bus_uart5_clk, "bus-uart5", "apb2", + 0x06c, BIT(21), 0); +static SUNXI_CCU_GATE(bus_twi0_clk, "bus-twi0", "apb2", + 0x06c, BIT(0), 0); +static SUNXI_CCU_GATE(bus_twi1_clk, "bus-twi1", "apb2", + 0x06c, BIT(1), 0); +static SUNXI_CCU_GATE(bus_twi2_clk, "bus-twi2", "apb2", + 0x06c, BIT(2), 0); +static SUNXI_CCU_GATE(bus_pio_clk, "bus-pio", "apb1", + 0x068, BIT(5), 0); +static SUNXI_CCU_GATE(bus_gpadc_clk, "bus-gpadc", "apb1", + 0x068, BIT(10), 0); +static SUNXI_CCU_GATE(bus_keyadc_clk, "bus-keyadc", "apb1", + 0x068, BIT(9), 0); +/* losc_out: its gate lies outside the CCU window, in another block */ + +static const struct ccu_reset_map sun8i_b288_ccu_resets[] = { + [RST_BUS_THS] = { 0x2d0, BIT(8) }, + [RST_BUS_NAND] = { 0x2c0, BIT(13) }, + [RST_BUS_MMC0] = { 0x2c0, BIT(8) }, + [RST_BUS_MMC1] = { 0x2c0, BIT(9) }, + [RST_BUS_MMC2] = { 0x2c0, BIT(10) }, + [RST_BUS_MMC3] = { 0x2c0, BIT(11) }, + [RST_BUS_SPI0] = { 0x2c0, BIT(20) }, + [RST_BUS_SPI1] = { 0x2c0, BIT(21) }, + [RST_BUS_SPI2] = { 0x2c0, BIT(22) }, + [RST_BUS_I2S0] = { 0x2d0, BIT(12) }, + [RST_BUS_I2S1] = { 0x2d0, BIT(13) }, + [RST_BUS_SPDIF] = { 0x2d0, BIT(1) }, + [RST_BUS_DSD] = { 0x2d0, BIT(2) }, + [RST_BUS_DMIC] = { 0x2d0, BIT(3) }, + [RST_USBPHY0] = { 0x0cc, BIT(0) }, + [RST_BUS_OHCI0] = { 0x2c0, BIT(29) }, + [RST_BUS_EHCI0] = { 0x2c0, BIT(26) }, + [RST_BUS_OTG] = { 0x2c0, BIT(24) }, + [RST_BUS_DE] = { 0x2c4, BIT(12) }, + [RST_BUS_EE] = { 0x2c4, BIT(13) }, + [RST_BUS_TCON0] = { 0x2c4, BIT(4) }, + [RST_BUS_CSI] = { 0x2c4, BIT(8) }, + [RST_BUS_ADDA] = { 0x2d0, BIT(0) }, + [RST_BUS_WLAN] = { 0x2c4, BIT(1) }, + [RST_MBUS] = { 0x0fc, BIT(31) }, + [RST_BUS_DRAM] = { 0x2c0, BIT(14) }, + [RST_BUS_PSRAM] = { 0x2c0, BIT(15) }, + [RST_BUS_DMA] = { 0x2c0, BIT(6) }, + [RST_BUS_UART0] = { 0x2d8, BIT(16) }, + [RST_BUS_UART1] = { 0x2d8, BIT(17) }, + [RST_BUS_UART2] = { 0x2d8, BIT(18) }, + [RST_BUS_UART3] = { 0x2d8, BIT(19) }, + [RST_BUS_UART4] = { 0x2d8, BIT(20) }, + [RST_BUS_UART5] = { 0x2d8, BIT(21) }, + [RST_BUS_I2C0] = { 0x2d8, BIT(0) }, + [RST_BUS_I2C1] = { 0x2d8, BIT(1) }, + [RST_BUS_I2C2] = { 0x2d8, BIT(2) }, + [RST_BUS_GPADC] = { 0x2d0, BIT(10) }, + [RST_BUS_KEYADC] = { 0x2d0, BIT(9) }, +}; + +static struct ccu_common *sun8i_b288_ccu_clks[] = { + &pll_cpux_clk.common, + &pll_audio_base_clk.common, + &pll_video0_clk.common, + &pll_ddr0_clk.common, + &pll_periph0_clk.common, + &pll_video1_clk.common, + &pll_24m_clk.common, + &pll_periph1_clk.common, + &pll_de_clk.common, + &pll_ddr1_clk.common, + &cpux_clk.common, + &axi_clk.common, + &cpuapb_clk.common, + &ahb1_clk.common, + &apb1_clk.common, + &apb2_clk.common, + &nand_clk.common, + &mmc0_clk.common, + &mmc0_sample_clk.common, + &mmc0_output_clk.common, + &mmc1_clk.common, + &mmc1_sample_clk.common, + &mmc1_output_clk.common, + &mmc2_clk.common, + &mmc3_clk.common, + &spi0_clk.common, + &spi1_clk.common, + &spi2_clk.common, + &dram_clk.common, + &de_clk.common, + &ee_clk.common, + &edma_clk.common, + &tcon0_clk.common, + &mbus_clk.common, + &bus_ths_clk.common, + &bus_nand_clk.common, + &bus_sdmmc0_bus_clk.common, + &bus_sdmmc1_bus_clk.common, + &bus_sdmmc2_bus_clk.common, + &bus_sdmmc3_bus_clk.common, + &bus_spi0_clk.common, + &bus_spi1_clk.common, + &bus_spi2_clk.common, + &bus_i2s0_clk.common, + &bus_i2s1_clk.common, + &bus_spdif_clk.common, + &bus_dsd_clk.common, + &bus_dmic_clk.common, + &bus_usbohci0_clk.common, + &bus_usbehci0_clk.common, + &bus_usbotg_clk.common, + &bus_de_clk.common, + &bus_ee_clk.common, + &bus_tcon0_clk.common, + &bus_csi_clk.common, + &bus_adda_clk.common, + &bus_sdram_clk.common, + &bus_psram_clk.common, + &bus_dma_clk.common, + &bus_uart0_clk.common, + &bus_uart1_clk.common, + &bus_uart2_clk.common, + &bus_uart3_clk.common, + &bus_uart4_clk.common, + &bus_uart5_clk.common, + &bus_twi0_clk.common, + &bus_twi1_clk.common, + &bus_twi2_clk.common, + &bus_pio_clk.common, + &bus_gpadc_clk.common, + &bus_keyadc_clk.common, +}; + +static struct clk_hw_onecell_data sun8i_b288_hw_clks = { + .hws = { + [CLK_PLL_CPUX] = &pll_cpux_clk.common.hw, + [CLK_PLL_AUDIO_BASE] = &pll_audio_base_clk.common.hw, + [CLK_PLL_VIDEO0] = &pll_video0_clk.common.hw, + [CLK_PLL_DDR0] = &pll_ddr0_clk.common.hw, + [CLK_PLL_PERIPH0] = &pll_periph0_clk.common.hw, + [CLK_PLL_VIDEO1] = &pll_video1_clk.common.hw, + [CLK_PLL_24M] = &pll_24m_clk.common.hw, + [CLK_PLL_PERIPH1] = &pll_periph1_clk.common.hw, + [CLK_PLL_DE] = &pll_de_clk.common.hw, + [CLK_PLL_DDR1] = &pll_ddr1_clk.common.hw, + [CLK_PLL_PERIPH0_2X] = &pll_periph0_2x_clk.hw, + [CLK_PLL_PERIPH1_2X] = &pll_periph1_2x_clk.hw, + [CLK_CPUX] = &cpux_clk.common.hw, + [CLK_AXI] = &axi_clk.common.hw, + [CLK_CPUAPB] = &cpuapb_clk.common.hw, + [CLK_AHB1] = &ahb1_clk.common.hw, + [CLK_APB1] = &apb1_clk.common.hw, + [CLK_APB2] = &apb2_clk.common.hw, + [CLK_NAND] = &nand_clk.common.hw, + [CLK_MMC0] = &mmc0_clk.common.hw, + [CLK_MMC0_SAMPLE] = &mmc0_sample_clk.common.hw, + [CLK_MMC0_OUTPUT] = &mmc0_output_clk.common.hw, + [CLK_MMC1] = &mmc1_clk.common.hw, + [CLK_MMC1_SAMPLE] = &mmc1_sample_clk.common.hw, + [CLK_MMC1_OUTPUT] = &mmc1_output_clk.common.hw, + [CLK_MMC2] = &mmc2_clk.common.hw, + [CLK_MMC3] = &mmc3_clk.common.hw, + [CLK_SPI0] = &spi0_clk.common.hw, + [CLK_SPI1] = &spi1_clk.common.hw, + [CLK_SPI2] = &spi2_clk.common.hw, + [CLK_DRAM] = &dram_clk.common.hw, + [CLK_DE] = &de_clk.common.hw, + [CLK_EE] = &ee_clk.common.hw, + [CLK_EDMA] = &edma_clk.common.hw, + [CLK_TCON0] = &tcon0_clk.common.hw, + [CLK_MBUS] = &mbus_clk.common.hw, + [CLK_BUS_THS] = &bus_ths_clk.common.hw, + [CLK_BUS_NAND] = &bus_nand_clk.common.hw, + [CLK_BUS_SDMMC0_BUS] = &bus_sdmmc0_bus_clk.common.hw, + [CLK_BUS_SDMMC1_BUS] = &bus_sdmmc1_bus_clk.common.hw, + [CLK_BUS_SDMMC2_BUS] = &bus_sdmmc2_bus_clk.common.hw, + [CLK_BUS_SDMMC3_BUS] = &bus_sdmmc3_bus_clk.common.hw, + [CLK_BUS_SPI0] = &bus_spi0_clk.common.hw, + [CLK_BUS_SPI1] = &bus_spi1_clk.common.hw, + [CLK_BUS_SPI2] = &bus_spi2_clk.common.hw, + [CLK_BUS_I2S0] = &bus_i2s0_clk.common.hw, + [CLK_BUS_I2S1] = &bus_i2s1_clk.common.hw, + [CLK_BUS_SPDIF] = &bus_spdif_clk.common.hw, + [CLK_BUS_DSD] = &bus_dsd_clk.common.hw, + [CLK_BUS_DMIC] = &bus_dmic_clk.common.hw, + [CLK_BUS_USBOHCI0] = &bus_usbohci0_clk.common.hw, + [CLK_BUS_USBEHCI0] = &bus_usbehci0_clk.common.hw, + [CLK_BUS_USBOTG] = &bus_usbotg_clk.common.hw, + [CLK_BUS_DE] = &bus_de_clk.common.hw, + [CLK_BUS_EE] = &bus_ee_clk.common.hw, + [CLK_BUS_TCON0] = &bus_tcon0_clk.common.hw, + [CLK_BUS_CSI] = &bus_csi_clk.common.hw, + [CLK_BUS_ADDA] = &bus_adda_clk.common.hw, + [CLK_BUS_SDRAM] = &bus_sdram_clk.common.hw, + [CLK_BUS_PSRAM] = &bus_psram_clk.common.hw, + [CLK_BUS_DMA] = &bus_dma_clk.common.hw, + [CLK_BUS_UART0] = &bus_uart0_clk.common.hw, + [CLK_BUS_UART1] = &bus_uart1_clk.common.hw, + [CLK_BUS_UART2] = &bus_uart2_clk.common.hw, + [CLK_BUS_UART3] = &bus_uart3_clk.common.hw, + [CLK_BUS_UART4] = &bus_uart4_clk.common.hw, + [CLK_BUS_UART5] = &bus_uart5_clk.common.hw, + [CLK_BUS_TWI0] = &bus_twi0_clk.common.hw, + [CLK_BUS_TWI1] = &bus_twi1_clk.common.hw, + [CLK_BUS_TWI2] = &bus_twi2_clk.common.hw, + [CLK_BUS_PIO] = &bus_pio_clk.common.hw, + [CLK_BUS_GPADC] = &bus_gpadc_clk.common.hw, + [CLK_BUS_KEYADC] = &bus_keyadc_clk.common.hw, + }, + .num = CLK_NUMBER, +}; + +static const struct sunxi_ccu_desc sun8i_b288_ccu_desc = { + .ccu_clks = sun8i_b288_ccu_clks, + .num_ccu_clks = ARRAY_SIZE(sun8i_b288_ccu_clks), + + .hw_clks = &sun8i_b288_hw_clks, + + .resets = sun8i_b288_ccu_resets, + .num_resets = ARRAY_SIZE(sun8i_b288_ccu_resets), + +}; + +static int sun8i_b288_ccu_probe(struct platform_device *pdev) +{ + void __iomem *reg; + + reg = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(reg)) + return PTR_ERR(reg); + + return devm_sunxi_ccu_probe(&pdev->dev, reg, &sun8i_b288_ccu_desc); +} + +static const struct of_device_id sun8i_b288_ccu_ids[] = { + { .compatible = "allwinner,sun8i-b288-ccu" }, + { } +}; +MODULE_DEVICE_TABLE(of, sun8i_b288_ccu_ids); + +static struct platform_driver sun8i_b288_ccu_driver = { + .probe = sun8i_b288_ccu_probe, + .driver = { + .name = "sun8i-b288-ccu", + .suppress_bind_attrs = true, + .of_match_table = sun8i_b288_ccu_ids, + }, +}; +module_platform_driver(sun8i_b288_ccu_driver); + +MODULE_IMPORT_NS("SUNXI_CCU"); +MODULE_DESCRIPTION("Allwinner B288 (sun8iw10p1) CCU driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-b288.h b/drivers/clk/sunxi-ng/ccu-sun8i-b288.h new file mode 100644 index 000000000000..805df2d6d99c --- /dev/null +++ b/drivers/clk/sunxi-ng/ccu-sun8i-b288.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _CCU_SUN8I_B288_H_ +#define _CCU_SUN8I_B288_H_ + +#include +#include + +#define CLK_NUMBER (CLK_MMC1_OUTPUT + 1) + +#endif /* _CCU_SUN8I_B288_H_ */ From patchwork Sun Sep 27 15:10:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3508 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10]) by mxe881.netcup.net (Postfix) with ESMTPS id B02F41C2A1A for ; Sun, 27 Sep 2026 17:13:45 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.234.253.10) smtp.mailfrom=linux-sunxi+bounces-26317-noreply=patchwork.local@lists.linux.dev smtp.helo=sea.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.234.253.10 as permitted sender) client-ip=172.234.253.10; envelope-from=linux-sunxi+bounces-26317-noreply=patchwork.local@lists.linux.dev; helo=sea.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sea.lore.kernel.org (Postfix) with ESMTP id 6DC7F2CFD4 for ; Sun, 27 Sep 2026 15:12:01 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0A63C3911DD; Sun, 27 Sep 2026 15:12:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EKUZrSCP" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f35.google.com (mail-wr2-f35.google.com [74.125.225.99]) (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 708A437F002 for ; Sun, 27 Sep 2026 15:11:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.99 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521920; cv=none; b=iY7LnHy9PR4PMomNx+xrv1OfLQLEHim/WAHAXQL2ErPCDcDkseGiVkRMwYAEsVn9l7g3J7Rc8DVHKiyahG0RHDUEYBsnB+GyRChK8kdnVNemZ5Lw6ZAtpiQVXo6p4c2JiaXcmX4sjGcf9LlYJmFb9o+F1SOBz2SHOx+8upSnU/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521920; c=relaxed/simple; bh=Ai/Pt6iwST/hPrf66UHaVA/fpcI2B9b/ey70FIEcV90=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iqn9z162JvnpjcVJVDc+u/znQprOd0hbVRCZB7uayGb+wYFZfTDuC3ievkMnY2LnjpVSR8tcwVZC8hS5y8c9Dqd+rUew9LsOtvc1ueqN2hcZC1koEA/FZrUn7S1Bi3JdUlrbBLDpPkAhw5Gps49AQmxgJFxR8iuws5ozbL6ovks= 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=EKUZrSCP; arc=none smtp.client-ip=74.125.225.99 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-wr2-f35.google.com with SMTP id ffacd0b85a97d-4885a1480a2so1217802f8f.3 for ; Sun, 27 Sep 2026 08:11:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521918; x=1791126718; 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=lKsiUf1zswQ5v01inYZcqNF5S6iWN3Iz43ERd6nymQA=; b=EKUZrSCPw+BBrtlEIrffA0GcdOlrFkQeDRJCJroqY5KAt/wmXqZdHeAusJavVxu1gZ ITHBU85zo5xUPRzYgx7wxAYjx5q466AIGT1LFeT2FSBPGQoBfo2+DG+pG31iQPtUMsEM 6xHUO6VChTZxZXDprNr/HcJtyIFKnmg34uHLktnOzU87LaN7X0uzXenoqN46aXmNPpdh mVWkGd7rZQsEBP9pXjpT7VewUyrQcNytqioso0gSKXJFChcl+EEnbYi9X9Y+D4vzJgxp aNbBT3qKYffp0xkonBsbQXPdDX4bAECglNYZcjUmgoCt06nMtH2pf9X9lEQw/9oNpMgl jLaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521918; x=1791126718; 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=lKsiUf1zswQ5v01inYZcqNF5S6iWN3Iz43ERd6nymQA=; b=q/jVFOmlT/3hPP3QXaG5nAYOH8qHQZK3cKSML1WWeByXulNfr8589X0SlMWhZ9M2e4 5O6/7sWEl+ow+0+dj0CfhDMh50iRre3/Bt243ShSLeCaGWlVv+0cz0kquJyiScKezokN Cprh7pNEnGoefL/bfxzpWxo08t/UmP9AC0RP7XwYEXbaT4D2i8bhQTsvIGHnFERxiiYO LvznyafQVLQLIHw0QwoXVW76bJmC+FBbFG1Mf4I9p6xK21Ic77eVYWxLkZiXPa18wK3f pP9eY1Srg5jIiq6SDRafrXn6RZ1wFVpKiZm1F5wMGW3QJZQZzRJImyxe9cehPYAyp8wt fp0A== X-Forwarded-Encrypted: i=1; AKwUvBzqAOJZDH8YO13pVrPCy4T5CctnX/CLJKeth4hiJQgFh9T/HKBpzdQ8aIod01q1PsRhGlpUw7SnXZP2jg==@lists.linux.dev X-Gm-Message-State: AFq9FYLRDwE/8ejFORseoiFIIFlGR1tvUj5znGZujIZBadmT99WJ0QzX Z4oTo8WWObtcKI2t9XDZ+mHeu4VvASQmjKxPmThaU69apgJRjHPwlRzj X-Gm-Gg: AYBFou0YX1faikhEDH+w7pVEQC/IQrRw0fBTYXRkzBwHXm7b7Tmi7MT0tlMkE8aCFRa Eu7mJuKVgfEkwDhz/HNStXWJrvxNu03JB64mmkradU518N+z5IMNJPf4wpegPX4fQq1BrazLc10 YSpJum4Kp11INTWndNnKbxCpEIdlU19DW/IWx5KVL4dBnQVC/CgIT4dsDsI8s3lEj3UQZgFl7P9 8gXlhxueM2Axcwp0b9qgWWuj+hBHEqHJJI70IH3/kHkDTbhECRW0XoajgrWQ8UvFpcWMAYrmTQ1 mqbfAAS224HJlEi2gli688wJr3+uN06A5CbYua4GmExtt3Qd+42dVA3VJV+5UOPbP9w+sXzvm6v 6Bd8u9ieqBg6BobZKJu880LveAnEXivqnymcJT6y3SjTHMrD8MFDWxeHmIoQfw5ytbP+S69nKnQ S7CKGN0OkClpxUyo32JTf1PuxEui8ZXISYQS6uSx4NGtdWecpmQ/Z6f3hjZ40vxyFfUz3uZQ7+2 UJV2ag8VW79FTcWVzS/CWd0AG5uZjUx X-Received: by 2002:a05:6000:288e:b0:488:820b:7e24 with SMTP id ffacd0b85a97d-488820b7fedmr12875064f8f.28.1790521917582; Sun, 27 Sep 2026 08:11:57 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.11.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:11:56 -0700 (PDT) From: Pablo Mazzini To: Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Krzysztof Kozlowski , Linus Walleij , Maxime Ripard , Rob Herring , Samuel Holland Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 03/11] dt-bindings: pinctrl: sun4i-a10: add Allwinner B288 Date: Sun, 27 Sep 2026 16:10:08 +0100 Message-ID: <20260927151016.186493-4-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 B288 driver takes its mux values from the DT, so allwinner,pinmux becomes an allowed property here, required for this compatible only. Signed-off-by: Pablo Mazzini --- .../pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml index 45b7a0b6c626..6fe3b6410734 100644 --- a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml @@ -39,6 +39,7 @@ properties: - allwinner,sun8i-a33-pinctrl - allwinner,sun8i-a83t-pinctrl - allwinner,sun8i-a83t-r-pinctrl + - allwinner,sun8i-b288-pinctrl - allwinner,sun8i-h3-pinctrl - allwinner,sun8i-h3-r-pinctrl - allwinner,sun8i-r40-pinctrl @@ -120,6 +121,15 @@ patternProperties: $ref: /schemas/types.yaml#/definitions/uint32 enum: [10, 20, 30, 40] + allwinner,pinmux: + $ref: /schemas/types.yaml#/definitions/uint32-array + description: + Pinmux selector value, for each pin. Only used by SoCs whose + driver takes the mux values from the DT instead of an in-driver + table. Almost every time this value is the same for all pins, so + any array shorter than the number of pins will repeat the last + value, to allow just specifying a single cell, for all cells. + required: - pins - function @@ -144,6 +154,19 @@ allOf: # warnings. - $ref: pinctrl.yaml# + + # The B288 driver has no in-driver pin table, so the mux values have to + # come from the DT. + - if: + properties: + compatible: + const: allwinner,sun8i-b288-pinctrl + + then: + patternProperties: + "^([rs]-)?(([a-z0-9]{3,}|[a-oq-z0-9][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$": + required: + - allwinner,pinmux - if: not: properties: From patchwork Sun Sep 27 15:10:09 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3503 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id 4BA5D1C2980 for ; Sun, 27 Sep 2026 17:12:22 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-26318-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-26318-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 234E42D989 for ; Sun, 27 Sep 2026 15:12:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DF8143921C1; Sun, 27 Sep 2026 15:12:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EvyvEGSZ" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f34.google.com (mail-wr2-f34.google.com [74.125.225.98]) (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 46DA6388E49 for ; Sun, 27 Sep 2026 15:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521933; cv=none; b=iZwW2XWRoTHTIi0bbNpTQ77FG+Ih85/zfPwZDa2El8kdguTRR7e98ogGSc6C37XsastPsAafcXbLnc7DbHj33G61SH+SvRg9h2kgaNyNCtVcptZ6TBiXvwlJ3obdaoG2y/Hz73p0ntqGq2ylfCzaW8ge6gfGGRr6O0Ih8oYeMXY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521933; c=relaxed/simple; bh=96ftkQ5iFQxw5QZ9xU7GhEsTXdenW99uAU0uo70hPRk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aeQWc2LVIvM2Ce0wleP14x+nJb5TpNwaPfIuEoi+Fl4FtLNeClmx+GmPoiLRGKrsbtyX2eEtpj0YlHopEA2S1/Bts3a81DMHXkBrSYp8IN+i+PmuQISjLmnNPxLdHNwZG/4oG1rUVkqqv7aPo9j4avvMXyHiQhaexi1zBDXTivA= 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=EvyvEGSZ; arc=none smtp.client-ip=74.125.225.98 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-wr2-f34.google.com with SMTP id ffacd0b85a97d-48884b0219bso775301f8f.2 for ; Sun, 27 Sep 2026 08:12:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521929; x=1791126729; 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=rs4mPvhdimrxqSm9i6pYQocUZNbH6k7UKi/I3AiX7uM=; b=EvyvEGSZh7YualpRpy0GcZdWkUw50aJhZyYd1krofQwj7zpfui8WPTqC9gtgEHb+gI LTlEHuby/hxkQTyntUcb4E671VQxAio3fNsX43wLjB3SbxseU1wUHVjFrgpMlVSKxFCr b8kzyM5LjRXS0kU43UF67X/xsta4toNnBaOvTpV+qK8SBueEJekXfGrmFjh1XeOLmRKC H9qBA+gfeU5A2GVW5w03IGMn4iNFhiCRtG3gCK/j7AR23O+TaXMsdWy3USUoWuou8C13 8SBbuWE3StZWPaURftJ3iHgj8Okc+AK8R6g3VM58PUZOa/Dj2M/ggePvFKgy4dKGDREy PTbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521929; x=1791126729; 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=rs4mPvhdimrxqSm9i6pYQocUZNbH6k7UKi/I3AiX7uM=; b=u5OJSYvy8W5xzjwhrok17iGXMHS3x6F1Iix6BNi5UkPKmRS+cgofnmrrOe6Ra0HKtM fLEHS/Qq/WUYc04TqXbfN9Tn3sY3/q5wk3ANV0kNjTjMZyUf4hoEVxT+2DIBkwwxrrfY iXKUTsx08fgPAJbY5NEBsIXaFl6lRuZgLXNVElKaIs78Zf4OL1MQHzYbBovyDP5NNmHZ kpJurMqW34VF/fv3QocuSZQfnvRE2wqgfubznF9MCC/BFYrdi/rjRZ4Vz3wVNHA27kiR A8yAaIz/Yajlln0SrOu8LkbwN5cmEfO/F9sQQhw4J73W/nvMvjB/I3mOfDsrIXskEf5f 4QSw== X-Forwarded-Encrypted: i=1; AKwUvBwywAvtypwT3lkRXVqokZyA9A339YZEfpDiAwIPAmHWidwDJBVGwfU+yslCdA1P6qokgATlywOyxddOow==@lists.linux.dev X-Gm-Message-State: AFq9FYKcLd20sHdIJMrMuIi8Xx318nYN1Ofaneh9Mv67HrMgajo0X4Qg 55QvlnpjlOlIb3eXvMKYWRzVCN8yt37pOPzj6o0fbAFkdylR/A8FzKtY X-Gm-Gg: AYBFou0Aor6+vUU36YQDF1ry6Z2JkB9xR0+4vIZ3mp60qQ+iCK8goHnOrPohgwLXGe/ W9B4Noybht/HM+xf4ZxE0e0HniQNiBJwQ6/leCigbM9GUCUtaJVG/etkMRZ1hi26SnH3vodQ//M 2T0m1lzsmhZqrp21jd7yGZSIFCEfwu7dUulSlzsB5qLhtyWvnvBUhL7EGjxC3uWZWBZT1kM1duZ 8nHkdcHu/6QDnsJRNFB4b1EX5yKHZFxh+qdx2niNS9aIEY29U5hTq2Fd4H+OlfhH36mqvLn0lQ4 v1FFPB8jLMH5BMg2sQw/57kD+A54sLii3CRCsVOoE/EFw1fML7AZHf28onenVPhI1k1x1CZ1prG ReW/RuezqNuFks2+JrVwPM8sP4e4N6st6adMeU4kw9OLvVh0XhtvJ4MU1XJNOjpmbERpKVai1Dx mESUIaV2P5CeO3CJzdrI4EtdY6t9jD7s1Wbj6q1uh1Wihkr9AEPh5ofZFcKdEkWvGH/dkR5TH+A Y3KUQ5M9g2XxYmbOKssUm/678tn3MND X-Received: by 2002:a05:6000:4692:b0:488:6ed9:b11d with SMTP id ffacd0b85a97d-48884e0d903mr5840808f8f.52.1790521929459; Sun, 27 Sep 2026 08:12:09 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:08 -0700 (PDT) From: Pablo Mazzini To: Chen-Yu Tsai , Jernej Skrabec , Linus Walleij , Samuel Holland Cc: Pablo Mazzini , linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 04/11] pinctrl: sunxi: add Allwinner B288 pin controller driver Date: Sun, 27 Sep 2026 16:10:09 +0100 Message-ID: <20260927151016.186493-5-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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?= 80 pins across ports B, C, D, F and G; the mux values come from the DT. Port C has no external interrupts. PH0 is BSP FPGA-only and omitted. Signed-off-by: Pablo Mazzini --- drivers/pinctrl/sunxi/Kconfig | 10 ++++ drivers/pinctrl/sunxi/Makefile | 1 + drivers/pinctrl/sunxi/pinctrl-sun8i-b288.c | 53 ++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun8i-b288.c diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig index dc62eba96348..a08186133090 100644 --- a/drivers/pinctrl/sunxi/Kconfig +++ b/drivers/pinctrl/sunxi/Kconfig @@ -56,6 +56,16 @@ config PINCTRL_SUN8I_A23_R default MACH_SUN8I select PINCTRL_SUNXI +config PINCTRL_SUN8I_B288 + bool "Support for the Allwinner B288 PIO" + default MACH_SUN8I + select PINCTRL_SUNXI + help + Say Y here to enable pin controller and GPIO support for the + Allwinner B288 (sun8iw10p1) SoC, as used in e-book readers such + as the PocketBook Verse. This covers ports B, C, D, F and G, + including the four banks of external interrupt capable pins. + config PINCTRL_SUN8I_H3 bool "Support for the Allwinner H3 PIO" default MACH_SUN8I diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile index 951b3f1e4b4f..5129c0f19f3e 100644 --- a/drivers/pinctrl/sunxi/Makefile +++ b/drivers/pinctrl/sunxi/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_PINCTRL_SUN50I_A100) += pinctrl-sun50i-a100.o obj-$(CONFIG_PINCTRL_SUN50I_A100_R) += pinctrl-sun50i-a100-r.o obj-$(CONFIG_PINCTRL_SUN8I_A83T) += pinctrl-sun8i-a83t.o obj-$(CONFIG_PINCTRL_SUN8I_A83T_R) += pinctrl-sun8i-a83t-r.o +obj-$(CONFIG_PINCTRL_SUN8I_B288) += pinctrl-sun8i-b288.o obj-$(CONFIG_PINCTRL_SUN8I_H3) += pinctrl-sun8i-h3.o obj-$(CONFIG_PINCTRL_SUN8I_H3_R) += pinctrl-sun8i-h3-r.o obj-$(CONFIG_PINCTRL_SUN8I_V3S) += pinctrl-sun8i-v3s.o diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-b288.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-b288.c new file mode 100644 index 000000000000..98dd4ead4c32 --- /dev/null +++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-b288.c @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Allwinner B288 (sun8iw10p1) SoC pinctrl driver. + * + * Bank sizes and the interrupt mux derived from Allwinner's BSP driver + * pinctrl-sun8iw10p1.c, which is: + * Copyright (C) 2014 Jackie Hwang + */ + +#include +#include +#include +#include + +#include "pinctrl-sunxi.h" + +/* PH0 exists only on the BSP's FPGA platform and is omitted. */ +static const u8 b288_nr_bank_pins[SUNXI_PINCTRL_MAX_BANKS] = +/* PA PB PC PD PE PF PG */ + { 0, 17, 15, 29, 0, 7, 12 }; + +/* Port C has no external interrupts. */ +static const unsigned int b288_irq_bank_map[] = { 1, 3, 5, 6 }; + +static const u8 b288_irq_bank_muxes[SUNXI_PINCTRL_MAX_BANKS] = +/* PA PB PC PD PE PF PG */ + { 0, 6, 0, 6, 0, 6, 6 }; + +static struct sunxi_pinctrl_desc b288_pinctrl_data = { + .irq_banks = ARRAY_SIZE(b288_irq_bank_map), + .irq_bank_map = b288_irq_bank_map, +}; + +static int b288_pinctrl_probe(struct platform_device *pdev) +{ + return sunxi_pinctrl_dt_table_init(pdev, b288_nr_bank_pins, + b288_irq_bank_muxes, + &b288_pinctrl_data, 0); +} + +static const struct of_device_id b288_pinctrl_match[] = { + { .compatible = "allwinner,sun8i-b288-pinctrl", }, + {} +}; + +static struct platform_driver b288_pinctrl_driver = { + .probe = b288_pinctrl_probe, + .driver = { + .name = "sun8i-b288-pinctrl", + .of_match_table = b288_pinctrl_match, + }, +}; +builtin_platform_driver(b288_pinctrl_driver); From patchwork Sun Sep 27 15:10:10 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3504 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id 5F2BF1C2980 for ; Sun, 27 Sep 2026 17:12:32 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-26319-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-26319-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id B53C728AA8 for ; Sun, 27 Sep 2026 15:12:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EAF093932D4; Sun, 27 Sep 2026 15:12:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AufMBlHb" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f35.google.com (mail-wr2-f35.google.com [74.125.225.99]) (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 8933C39021A for ; Sun, 27 Sep 2026 15:12:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.99 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521946; cv=none; b=rVb5t75vivI9KOUrue7PJcXtYOJQy+A8s+kg/G2ZjT2x3L/FoJvmthNAbevQl9u/06PaolbI9T5YCFbBNKZK2wFeM/CYmgTIwIwU3bqWPebAUqFFeHDU0+9w4PufUk1tQjvl0OFpqORYA2ED2d1FUreEDkcLlxSek0JQ3GwUHZ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521946; c=relaxed/simple; bh=IKu+NW7V12nnMBgKKHdP7rj1fpU2GspG4UzSnncTVMc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jh9ZopZngWD0K6xRqMe7JteitZ9h/uHDkAdupgxScHvINaX77NulG5JUVPPxyDDaeFavQnXyUsR1y5NG1dysh+7yv/QiuYjv577aOk1pRLzetsqHP/tCVlMsmf06UCFS+bfkCGFCTZgkTsy4zyxoSIokA7m8BaIKW2I9yTpGyU8= 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=AufMBlHb; arc=none smtp.client-ip=74.125.225.99 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-wr2-f35.google.com with SMTP id ffacd0b85a97d-4888129c46eso1080653f8f.1 for ; Sun, 27 Sep 2026 08:12:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521943; x=1791126743; 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=qQkzg0CGegWquCnbwRamX/sZPF4fvz02MpKEACpVE4E=; b=AufMBlHbkp3/9CEFmGXxeFsr0rdd5a2U/4LMuEi61IRB50b5sgYIbH1UyqCh9MbD5X 5ZijPrX+sNxIe7+aLTOzkzBH86d53uIeUQuAU4WOgP3uK1zi6ESE41xVHnPaCATb/vk7 /DHTZCwjTWyXdCBxbJg/BJ7K3yJGk2CZIt23uWQKPUIswf6dLRwxQLdO2cNOcneVZHig qVPcLH0T1fAgciNBOlaTeAjRTT38bSlyRi85ApEz9akjc7A+0LG+VpQZQhDMCMCl+tyK dHRr/0zHba3Jt50G0H0qYcaOzOcuGwKCXMiCRvgOkjaOGnANG9cxmLjXfR2FzYRwDRI5 b7Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521943; x=1791126743; 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=qQkzg0CGegWquCnbwRamX/sZPF4fvz02MpKEACpVE4E=; b=azHVup/fLqseUzul7oPS4Q+gyq0AOAb8hQ3lo9aNNgL8Uy2vFwGVnQ+CEYCytZWj/s 42nBw0QJ4mJSWbYLBEaCjw1ZYeFd3o8vKYtUp7XUj7kKOcTElH7VXYOu+WvMKzB93Mu/ ixK43AtZSB5v19v1985L7483/CDPCfxJXeF4F7C9aNkBUdMhxuMT+uniZcTRxIWhNWFE Zy4Ap34DOEROAKH8Gi2f64sTCneabl3zLnW7qufbpl0jcQx5VlKGSPPNc7xJY2TFqu3O 6LyiX2anQNzfbb+udTHzm+WrV86IANrHOTSVtDuTqefxvYFzMl2RVA+7DzvIPM74njHL mvVw== X-Forwarded-Encrypted: i=1; AKwUvBwZ6h2MbjEn/03T7pFA/r8dCII+svmb89lWOJyZ4ZCrIdzz9sgAGas6t3VJ0dZn+QStwxhY/xGh/Gtikg==@lists.linux.dev X-Gm-Message-State: AFq9FYKgAGohykvXZNUyEVNQupxFP9ArY6FRiDgQ6ESOHDqbV+A0x5Wf pnPFlocDPGctQbUl8s7thhfo6iRJb4bJbgh1EqztJK79RG/AbbAEYAo5 X-Gm-Gg: AYBFou2wb5Jb6o/gCkbftxx3wcjN5uctjFuUfygqbdkgMfWGoFR8zDcfxyGMqjLG/96 +Zm2LgWrGzHSoYplTbkfCYlB0Ts2yrxhlm44GzcWobswBXHfeJpTd/6KpBlfcpWU5EtJnWCzFPX jKlCgQgloes4Vb2aPjcbKvmsmEqQ8WUPAyulthpvyHd/vw2dL1dL9M7AI/OYl2sFeBS8cvq80Gm akgRfEpzimvQUvHF4xQKnGLNzK8U7Q6W5Uo01bv0RUBz0/m47LA9jMROu7XCBW/VC/R42efGsLK 5gxsW9f2j32DvHyQ8dqRersilLuZI7ultW38Tli+gBvBpDtq+cZFYffL6i8vXSG06wHXfFDHZT1 x/ZZpAL0q0dNAVPysK7pR3p4O12FgP8ZLBBPD1yB2KpWqHhmgVIFtSBxgIOo9Q0NULiIQCTVSit hvofU4iAgpsMrxghkdSKhIj7BzL3+V681TR3tdTw+4HYfiYWtTDUpQvevEIuSl0HhsS7z0RFAOF /DcBNqQXb1b0QfCfibj6BfF8XwB4Sdt X-Received: by 2002:a05:6000:4693:b0:487:342:d141 with SMTP id ffacd0b85a97d-488774f4f02mr11163439f8f.23.1790521942896; Sun, 27 Sep 2026 08:12:22 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:22 -0700 (PDT) From: Pablo Mazzini To: Alexandre Belloni , Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Krzysztof Kozlowski , Maxime Ripard , Rob Herring , Samuel Holland Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rtc@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 05/11] dt-bindings: rtc: sun6i-a31: add Allwinner B288 Date: Sun, 27 Sep 2026 16:10:10 +0100 Message-ID: <20260927151016.186493-6-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@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)[172.105.105.114: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]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; RCPT_COUNT_TWELVE(0.00)[14]; PRECEDENCE_BULK(0.00)[]; TAGGED_RCPT(0.00)[dt]; DBL_BLOCKED_OPENRESOLVER(0.00)[tor.lore.kernel.org:rdns,tor.lore.kernel.org:helo]; FREEMAIL_CC(0.00)[gmail.com,vger.kernel.org,lists.infradead.org,lists.linux.dev]; FORGED_SENDER_MAILLIST(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; FREEMAIL_FROM(0.00)[gmail.com]; FREEMAIL_TO(0.00)[bootlin.com,kernel.org,gmail.com,sholland.org]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114:c]; TO_DN_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[pmazzini@gmail.com,linux-sunxi@lists.linux.dev]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; TAGGED_FROM(0.00)[bounces-26319-noreply=patchwork.local]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 5F2BF1C2980 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 B288 RTC wires one alarm interrupt, not two. Signed-off-by: Pablo Mazzini --- .../devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml index f2b91186ed37..1699e3576b91 100644 --- a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml +++ b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml @@ -19,6 +19,7 @@ properties: - enum: - allwinner,sun6i-a31-rtc - allwinner,sun8i-a23-rtc + - allwinner,sun8i-b288-rtc - allwinner,sun8i-h3-rtc - allwinner,sun8i-r40-rtc - allwinner,sun8i-v3-rtc @@ -162,6 +163,7 @@ allOf: compatible: contains: enum: + - allwinner,sun8i-b288-rtc - allwinner,sun8i-r40-rtc - allwinner,sun50i-h616-rtc - allwinner,sun50i-r329-rtc From patchwork Sun Sep 27 15:10:11 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3505 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id F3EA11C2980 for ; Sun, 27 Sep 2026 17:12:53 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-26320-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-26320-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 0C59D2F73C for ; Sun, 27 Sep 2026 15:12:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 32D61392C34; Sun, 27 Sep 2026 15:12:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ULd1AXUv" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wm2-f13.google.com (mail-wm2-f13.google.com [74.125.225.141]) (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 998483932CA for ; Sun, 27 Sep 2026 15:12:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521952; cv=none; b=NaYh/Jv/f8OK7gj0YYuP2+IzZNEBtdH/l5sC0blpW2CeS7OOEk11hS7yfiPMwAwY+FF+Pz+71CdYCsur9Q9jxc9+5EidOFN2CpuHwUkd8WAQjfQqH1WXAbhSLUl/uN+CdZh92o4vCit1bl+qa4YS5q/8mTIMAJL550wZidHCSAU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521952; c=relaxed/simple; bh=iGxLkAPjn7iwM0RTaaX+V0ufn+VTyGjgMAZb+r2eUQ4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KZnvOFRczRl1S3l5QgD18p3VpHhy2Hlo67/QcFI53zoRJo6fIxXAvMynA3nIixWzvjXUg1DlWJV0Uj9VemWhBDUhicN+D5RTWgnlk+X1VA8RKfyOkIgTJ/7wPd3AvrCkEAqLQHJykvq3bPQG8Si/J2miLP+K74sVtCppbFpdSaI= 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=ULd1AXUv; arc=none smtp.client-ip=74.125.225.141 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-wm2-f13.google.com with SMTP id 5b1f17b1804b1-49e79a408deso13159375e9.2 for ; Sun, 27 Sep 2026 08:12:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521949; x=1791126749; 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=SnMP+yO9gTVCT1ht/mZTNiN+id9GPVSfGNROClqfyxw=; b=ULd1AXUv9ysrxVHN8WzFqMBSboNUnznnK9Gak4RigE1pjyU9qZ3rz5UjOn2uWRyPVi UaOJfz6LDRI5sGqvzxdXxLwHnsBmdqfwvsEFsUpPBJMhScTpKZgRbCvOzE2Y1pDmTeb7 05tdyE+xLHI2/Xh//CZoqG+ic6wSv6JGrtaW0Ys2oM2Cp1ZhHBbao59AIDxVQzkwQriT +u4obosz835ASZE4wl2lcJZmGTFDZtn7a6fpKh2E9PIUyQIuOAmPbKDsWAT81uO4kqnV pBHJVMrt/1VSIDZmjSN1AhMU/3ogqs1SC7lUdi1S6FQYBlS4IngRZzZM/HtksjIkN/GX olRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521949; x=1791126749; 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=SnMP+yO9gTVCT1ht/mZTNiN+id9GPVSfGNROClqfyxw=; b=x/oGupKS7zH2aA0jD3v/NncILpg+O321Q0A6jC2pYT15OpfOcj5KksxCb2qshhHZ13 QX2WlvwmMlY3VgtB+0IH1b8QMqePjyuQHVybGrk8mVI3++4DCaQLC/H6ybtGGas5v+lI G6l+VJo4z2OhVjy8SGYfBVQDI7GaZoX5XY5rSHAyYjkvx1dQbUbCBBtD38SwKZXqvL0A YgywhUYc6SuMizgB6I8ctZwcHquhcND0MWjadm/Zah/1ebmxieznxCnIQeROVd0sXPzS TYuxZiAxAHH7LTjiFyhX0yh3YTaPbN9UNywt3M6FW7kQUbOVhBT+r4qiHL5vx5zeI8Sl HVaQ== X-Forwarded-Encrypted: i=1; AKwUvBwQH3ojzjIBRrkIE9PMw095YMXAhqSWPM79bmCSx+REGGisgFFG1fGF+qocJeQ8LA25DhuLrTUtVc6+uw==@lists.linux.dev X-Gm-Message-State: AFuF++nZ38LNF9uCcr+FdhEgKiUZ+YOgxWaEo3JhxrJote3ZARAsT32L FKtPG8qvnjZuIhbUyl3MeC6eG9RK8OjEATcKBOAFbL//EVYuLddT+4N/ X-Gm-Gg: AYBFou3Mfry3bsu0PkTcnQXAgBSPkFy/cMruJMVExxjQNCrnYFmUiz/3RYx3xUFb4T4 ix8wQZfngSDobVGYzla7XSP1C1/Q0zSPwovKfH4EIsW2CikGi42nySxaTJlS8KuzCHZoJmd1+sA 9cdYeF0zOJa7veUQEgx/nvvRFhqKMbSIftHQAXpRUpXejjrbZuVmX0l+kvCjDLa8XuqrAqycX82 iuSFATnGLHhY7CoNay0Khkf7RezO8loPEE9bkjscwQTZW1Ith4YA2eCY6uNuPSa3fOtx+HTS235 iBGPUY/un5fzbIIIRg7nJ5IER54hRM9qJfXUQsSdPYPkXq31hGp5ngnGiR+R5XpkAXeXSthxy8h Wr6gKeR0KKyqHuCOTjnT2WWwc6zdz3Q43+K1ZaTr8wLAl1nC8yXrh9W1wZmky9IEZSlBsJGWvwx k9EwZFil6nRvZCt2t1Id7OsB4ic44+duM2nbMbqOL/mBYIAks/stV83r0Qb70NxhK5jzjuwrN7a U0Liv7bZfSk6E+KBu9PekTxQLGLnY/HHTYMyPreRkU= X-Received: by 2002:a05:600c:4694:b0:4a0:54a:bd36 with SMTP id 5b1f17b1804b1-4a0054abee2mr1501255e9.35.1790521948886; Sun, 27 Sep 2026 08:12:28 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:28 -0700 (PDT) From: Pablo Mazzini To: Alexandre Belloni , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland Cc: Pablo Mazzini , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rtc@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 06/11] rtc: sun6i: add Allwinner B288 compatible Date: Sun, 27 Sep 2026 16:10:11 +0100 Message-ID: <20260927151016.186493-7-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@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 [0.34 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[172.105.105.114:from]; SUSPICIOUS_RECIPS(1.50)[]; MID_CONTAINS_FROM(1.00)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[tor.lore.kernel.org:rdns,tor.lore.kernel.org:helo]; FROM_HAS_DN(0.00)[]; FORGED_SENDER_MAILLIST(0.00)[]; PRECEDENCE_BULK(0.00)[]; TAGGED_RCPT(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,lists.infradead.org,vger.kernel.org,lists.linux.dev]; FROM_NEQ_ENVFROM(0.00)[pmazzini@gmail.com,linux-sunxi@lists.linux.dev]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114]; RCPT_COUNT_SEVEN(0.00)[9]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; FREEMAIL_TO(0.00)[bootlin.com,kernel.org,gmail.com,sholland.org]; MIME_TRACE(0.00)[0:+]; TAGGED_FROM(0.00)[bounces-26320-noreply=patchwork.local]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; RCVD_TLS_LAST(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: F3EA11C2980 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 driver only uses one alarm interrupt, so no functional change. Signed-off-by: Pablo Mazzini --- drivers/rtc/rtc-sun6i.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c index 7fc60880e409..cd6ac5bb20cd 100644 --- a/drivers/rtc/rtc-sun6i.c +++ b/drivers/rtc/rtc-sun6i.c @@ -859,6 +859,7 @@ static int sun6i_rtc_probe(struct platform_device *pdev) static const struct of_device_id sun6i_rtc_dt_ids[] = { { .compatible = "allwinner,sun6i-a31-rtc" }, { .compatible = "allwinner,sun8i-a23-rtc" }, + { .compatible = "allwinner,sun8i-b288-rtc" }, { .compatible = "allwinner,sun8i-h3-rtc" }, { .compatible = "allwinner,sun8i-r40-rtc" }, { .compatible = "allwinner,sun8i-v3-rtc" }, From patchwork Sun Sep 27 15:10:13 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3507 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id 9CC081C2980 for ; Sun, 27 Sep 2026 17:13:31 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-26321-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-26321-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 61FD331B7F for ; Sun, 27 Sep 2026 15:12:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 24FD339183C; Sun, 27 Sep 2026 15:12:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mtyE7oTl" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f12.google.com (mail-wr2-f12.google.com [74.125.225.76]) (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 74CB5393DDC for ; Sun, 27 Sep 2026 15:12:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.76 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521956; cv=none; b=RwIpesaHKZPA3+9w1R/jD2PnFuu2VW3F6J+zrR+/HXG7IEl2CYJKqPZOtVfApXxDpMKIr/K9Yj324Y2TkoLgJI7NwyTl7e1b4es9BWvifb6gSTLcApShpbD5aDaC7617JmCn/rIVujG5htJ3lsUOideW0+fLHk6pdeyIYxrcBkc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521956; c=relaxed/simple; bh=dplioYOzQkTgB7OtXIdIJ8d7kiQ1EMlzvR3wJI4xDb0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XRdXvemRYTXRKIz/llbGM+kpLU7M1RGiVO32b9Fe02bvAUc+J+GUE2w1KBSDSXEOcHoFtP2EMzKE/wZo7rWkyB0aAiUa6CNe8FJhvUG88kdI/vq4MUEazh6Ose6b0TzSom2pcr0xHamRNu25mTYKgQdmSojiRpv12eU6O1+AHbQ= 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=mtyE7oTl; arc=none smtp.client-ip=74.125.225.76 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-wr2-f12.google.com with SMTP id ffacd0b85a97d-482f6350f91so1274956f8f.1 for ; Sun, 27 Sep 2026 08:12:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521953; x=1791126753; 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=JVRS8IDqRClJGzLh+AyZKtdvQwPlkBwHKoeRoTOl5Sw=; b=mtyE7oTlJ44p4/F0+/NrQoGcJKBrBoFsslhsHsAWKmapP8Mvapb8uo5Vq81QolysWa ucH4QPhyl80DK3XLZTo3fq+wz9oDFrN3sr5cQVjx9F4cGVvYvleKR2jxOilydxSqAdOk YM+3TsBKre4qqtPxXT6KDzFn98D2KO7hRNG29nr2m+YWzJC62dHUSG6sVmZJj1dBiNXB slsTffa3P2KfAXvd9HoAZYqBPEuBSnmPzBHlF8tokAept0YlPK9ClioEIP+sQkO9VAi9 0o0+JiuRM2WoBmrZfAy005B7aq8gFs6WZlVi+wbuXRDcX7oFCakLlvz+sQDC7uboexOU Mtiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521953; x=1791126753; 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=JVRS8IDqRClJGzLh+AyZKtdvQwPlkBwHKoeRoTOl5Sw=; b=rAbkJX2z8rFl59s5HTDf7ACXvowN41b8S3ax6vKNEcHkuOkfdZd2GiPY4iq5+laXQ/ YkRPlyzBwjHpCnqgEWyO+r5bL3wfSb/RMCjtSp+a4XpIrHu0ffotRtQ3oPAYkCgDfQgg Do48CY7ANGCCQH9VD1YkgFoYhDSQbaY1XPBLMX5SmBGfgpETQreM9b1jeLaa9Je7biaP JVzvVsrYHr83xJyOhGz9BNlOTSEBbDIpzUDu6KBrTjrE5AN0yQOnN35S3gritSGesYCQ 32PP0xC3I0B4eR35RIHxsnF0OqUgd4fysApqe3PZBwvixjXinGhIarlNAFbQ9VphWGtE 2CuA== X-Forwarded-Encrypted: i=1; AKwUvBxh8mdwoheF2BVYzxw6wR6EBMXxqWJclkpc0iItx9DvxNtumpJtrD4zf/jucll5x602jo7Q1AtYFl2BNw==@lists.linux.dev X-Gm-Message-State: AFuF++kRxrhuQPRhgJn8i+7d9WiiOd1Z3UuN7GZ2CxH+urYXsggNSOd5 loD3aYnipaVzerr6XPb9+lWSCyOXORh2nZuDMh/WE1PubbKKulMUC0Zk X-Gm-Gg: AYBFou2wey5t5A8JRkX4AuklkIIPQpjFkW9BYB+0Wwug36X+aVRrRK4K4BiUxLjxksb zMRrZfWzbRmReRjtOQOV2fETeuTrhHfjBcbYoxGiuBsUDYhRpm2ghFHCatolfyjEPb52Om2QOUt q7T4LK51pZq7FeIWNXbZkRVqWk+SRtUQKj/r+Dxv+UV3+ZUrZ+7nB1AjiX8WYo0d+MmKZ8YMkeQ afLLQWTr3lWUmI9YosRLyNQm4+OE4os2b+AS8L40d48JGtvJ01VfB2+XNbzOb6IhtOviJbe4vYM BwNV80a2xmsmtufVZa+E5Mo9h4v1XY+iwxwYc0fL5z1H6RqcINCnbqVbLfPzTRTOcG5IyIAuhyF pNfsAWdRohOWSPrJDTBIR5TFzx8ygVDsCbexP0/2mpAvh23Z1sSVfmMrI5hRW8GxLHP0Octpncz IpZVABWAbhDs3rZWQ85v37GeKUWOQavF0FLTVYzr4YEyD6fLWvJjMpV6/9A8XBDNwgSGVT6dmuZ QDFooG6NzDAjqC5N2Y0g8tnddu9ttGC X-Received: by 2002:a05:600c:609a:b0:49c:dca2:ac47 with SMTP id 5b1f17b1804b1-49ff06b2db4mr139499825e9.2.1790521952673; Sun, 27 Sep 2026 08:12:32 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:31 -0700 (PDT) From: Pablo Mazzini To: Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Krzysztof Kozlowski , Maxime Ripard , Rob Herring , Samuel Holland , Ulf Hansson Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 08/11] dt-bindings: mmc: sun4i-a10-mmc: add Allwinner B288 Date: Sun, 27 Sep 2026 16:10:13 +0100 Message-ID: <20260927151016.186493-9-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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?= Add the MMC and eMMC compatibles. Signed-off-by: Pablo Mazzini Acked-by: Krzysztof Kozlowski --- .../devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml b/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml index 9e9610bb1eda..c2ec7151dccf 100644 --- a/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml +++ b/Documentation/devicetree/bindings/mmc/allwinner,sun4i-a10-mmc.yaml @@ -32,10 +32,12 @@ properties: - items: - enum: - allwinner,sun8i-a83t-mmc + - allwinner,sun8i-b288-mmc - allwinner,suniv-f1c100s-mmc - const: allwinner,sun7i-a20-mmc - items: - enum: + - allwinner,sun8i-b288-emmc - allwinner,sun8i-r40-emmc - allwinner,sun50i-h5-emmc - allwinner,sun50i-h6-emmc From patchwork Sun Sep 27 15:10:14 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3506 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74]) by mxe881.netcup.net (Postfix) with ESMTPS id 984B31C2980 for ; Sun, 27 Sep 2026 17:12:58 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.232.135.74) smtp.mailfrom=linux-sunxi+bounces-26322-noreply=patchwork.local@lists.linux.dev smtp.helo=sto.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.232.135.74 as permitted sender) client-ip=172.232.135.74; envelope-from=linux-sunxi+bounces-26322-noreply=patchwork.local@lists.linux.dev; helo=sto.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id D7BCA6058B9 for ; Sun, 27 Sep 2026 15:12:47 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 02F14390219; Sun, 27 Sep 2026 15:12:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cavDKUkf" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f34.google.com (mail-wr2-f34.google.com [74.125.225.98]) (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 63FAD394464 for ; Sun, 27 Sep 2026 15:12:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521957; cv=none; b=VkryD3lXpgMhX5yNuaqT5TCZ3Ki5pDPEAZlOeT3/2naX2NE7FNFwSymNjZBmZekjFPhNzMrkbMbFnnMv+yDxdIL3MI+1oQPeppPju8KkYn6bEcGPy8h1h2phtxsnGKIL9XIUwU21fhOk3dQlY3KbHErvvL2XIiDf3ODwze/c95s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521957; c=relaxed/simple; bh=HqfZG9G5ZIenBJJAaY9rfjLXNR0FjaP1nUhMOUSdumE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UT4iTwnf5p/MY9yewydmW8YjI9Bx+v/1MlR2xtJ13jjxaNylBk/RFOXSxhqZzUkHxK1Ig+ImuOvjBE3Nt+eudDEl+1hpP1SC0H7yGkWi21tpvS8PYu6LzVLXFX3coOyBpzIXp+Z7hbYxagymd0cSuAjudHWHGnK7ggZrzBkHvSo= 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=cavDKUkf; arc=none smtp.client-ip=74.125.225.98 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-wr2-f34.google.com with SMTP id ffacd0b85a97d-48884b926f0so1140561f8f.3 for ; Sun, 27 Sep 2026 08:12:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521954; x=1791126754; 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=gSdVTPRqn06pkAsO84XJHQb2v3v0xthABnxiNhSpNuo=; b=cavDKUkf5dzhn2U8pXNjbRjNAqck5HfudQHfkmAicE14pETv37w9f+vx/HtfJJ0RQf 5bQbG/LmuzMUSwEhvfpzkIB+nKRUYg8J9fJLiCu4qAJy0rR4XJnrC84paOWNkttnDlvo IfRi9yB3FlnndKh87FbayuTKdnTF0kiY4QX/8OSfwrqDY/VELj72AWSAsOAn3k+i8KXz 0U0n33qQHmpTI2PrcCqxtEI5/ZCatEDOhvxs6mxqlK4G276RN6uxYL0qDWs7RdFJtmu/ DSGVuH1yUTO1418P+el8fMWrGFXtTLsDlWKbKtkEgyxgfihzLFj11ibB+yTHZBWbShSD HXRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521954; x=1791126754; 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=gSdVTPRqn06pkAsO84XJHQb2v3v0xthABnxiNhSpNuo=; b=t8P+PVZ2UILBLX2a/UBI+9ypz8a5xzWL0wOQpYrlUVm2ankjjBQpn7029CJotfYyGD 1K8liOPxAGHK11OUsiwcoBMHkdkC2Bm90G/3wVoSoMRqdmiHKFe9p/GOlevLjohY9cVe 6T+3/G94lwWBGLFe/LxOsAynjdYeuaGqJcYYXPBfzcPzn8t34MFRyAjiRr8WXVj/fk3f njH6cLBlilZ6h5kVKptuMfaw9TbfYdoGr2/1HDTSTPK1SaAiQkhLcAYG1OkRtsVecWED zNjTU+VA0EawGm8FIlSu2iJRsR8fNy6jUqnNHB/VaqT9P/ptwDyGj39uc3Ut9vil2fs9 u0yA== X-Forwarded-Encrypted: i=1; AKwUvBwdQNzz0s04SsDQu0i10gaRc/WZiJGp/CDurks8xieTMtKGvqhM4/HDl/KbL6ZkzMnGLWcxlqlCl/tSIA==@lists.linux.dev X-Gm-Message-State: AFq9FYKKRVJR8udB7xMlVqawalC71WYoTvZbQwhts8opP99f+TwnBP2M d+kH+24nq3SZ2Hfc4kpYC5HIZkcQJMtDumYY7rGHfoxZcBr8qzLQAzZ6 X-Gm-Gg: AYBFou2kVSmaxy7wjU4ABSzu9Wl002PYcS05fMyqhhrhhYPYA5Fn0HWTPE48RJgr+cX tfd1yU0SZdXApXSQaN6tTxVhXHi5SKPV+sE5bLLuX1Vh7/dyJWxLZqFc0gtrzB/AWH0GmHqdpyY rqmPoxz2aAceJSNSzY/djRol3r3qQMnW9ZT1LunfwB7CCyziTftqmW9tf14aECcX8AHP6wbJAtp tuTwO/t4u6wNIQvZFxTPpKLj4gLLXwmYABIwnZI3xVshWiggM88MNT5H848yir7tgPXgZH9ienP +HUw9dJ0WIqwXtBUfCMkwdgkBvzXlea3LPZJnUwycBV4jeH3H9JeyXQH/WE0Rb2IkAlLsG2Coas 7dmLTxA6aQtnRWK8uP0cmX8i0i1EAFpakvtGsS2gBiYQKPq3RmlboU8IEooqhOazJVgYqGGX6WD pINqyP/fhMaECwyq6HAxDiuInRxovbTnj5NShIEQvnMDAADxNihLu0wkK3UoWWTNDnDXrG9Mwgt 08M8s677zcB4Kgi+ciN97ozqpc27E1c X-Received: by 2002:a05:6000:1a8a:b0:485:8cc8:1f5f with SMTP id ffacd0b85a97d-4887187595emr20616765f8f.42.1790521954539; Sun, 27 Sep 2026 08:12:34 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:33 -0700 (PDT) From: Pablo Mazzini To: Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Krzysztof Kozlowski , Maxime Ripard , Radu Rendec , Rob Herring , Samuel Holland , Thomas Gleixner Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 09/11] dt-bindings: interrupt-controller: add Allwinner B288 NMI Date: Sun, 27 Sep 2026 16:10:14 +0100 Message-ID: <20260927151016.186493-10-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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?= Same register layout as the sun9i-a80 NMI, like the V3s. Signed-off-by: Pablo Mazzini Acked-by: Krzysztof Kozlowski --- .../interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml index bb9273ec2457..179e7842bf46 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml @@ -29,6 +29,7 @@ properties: - const: allwinner,sun55i-a523-nmi - items: - enum: + - allwinner,sun8i-b288-nmi - allwinner,sun8i-v3s-nmi - allwinner,sun50i-a100-nmi - allwinner,sun50i-h616-nmi From patchwork Sun Sep 27 15:10:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3509 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 E02C41C2980 for ; Sun, 27 Sep 2026 17:13:39 +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-26323-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-26323-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 88B9029780 for ; Sun, 27 Sep 2026 15:12:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 33677397B0B; Sun, 27 Sep 2026 15:12:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TaRjbmrZ" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f12.google.com (mail-wr2-f12.google.com [74.125.225.76]) (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 42EB43976A0 for ; Sun, 27 Sep 2026 15:12:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.76 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521960; cv=none; b=j6jt4cUjX7oYmRIXyvxRe6ZjlJf4Gka3gvi69i5kOrj0hr3wkppoNdhGiH9EtrnrvvtAFMjBlkLHJsICftbIah4WA7RfDRnGfZHJdFc2rlmNe/96RMZMHmezkAjTJQcosxl6DV5jE2lvdvXV2hUZkHMD3sR+MLFFNyoLJp+i2X0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521960; c=relaxed/simple; bh=ctaMtyihF0ajmk4Gl6vHmDSDBA1iaCLst8FkJRBGR68=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g8Q0cjJ+NFgx7P6onDC32hztzQwM6na0uvCMQAtjKd3yrZWWIBSjAejnklTz14tdHDHFcPJHcflkew25ZwTu+l8ucMqczrioGaaBsr0HrEMVp6tqzsSO/JVgtKZA3tp3uVkbzF4k+/ya1VEr9e+m/K+Wkgx32p7RDzAkySjApQs= 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=TaRjbmrZ; arc=none smtp.client-ip=74.125.225.76 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-wr2-f12.google.com with SMTP id ffacd0b85a97d-4843796e373so1261108f8f.1 for ; Sun, 27 Sep 2026 08:12:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521956; x=1791126756; 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=OBwIwOCuc7HMhoKI+9bOx8aeWrQw+h7eCYLVVq2oCws=; b=TaRjbmrZDb8zlIXoPZxJJuPCUj4JKwCAHaKrSJkvyf0bBlsgsmQICn+Sxb5WJqycFu 5ix09L5l/LZNSWjHpUP+X2PrEtG1pXjly3uhQh1+3AjXbJugMRYSt81dwAAAW+mZ7UW6 vVNiCl2iLfFA/3q/eUOcRK89wFhjtw1sOeHsNuYyEebLPdBDy06HWPGDzkc2agbhGmqF Oj1hCn6XQNbBluCwwWv/Febj+ZILD4Vgwn1S3Qjqcv2v7M2Xw3LEI7+nolXyWklKAIDC LBlHwjRyNCb/wLbLaE4hDsa5HZ4lSCaWK96w95XFia3iRQ+wqMgnMdiKL4YGHR7+dON5 9RhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521956; x=1791126756; 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=OBwIwOCuc7HMhoKI+9bOx8aeWrQw+h7eCYLVVq2oCws=; b=hVSA9uYF7qOEzL6gv/FyljtwNOhsW+rOQ/znmftLdVbSYuHtBNL9E06Sr9W0y9dTX0 BH0vgaWnJOT0LjqQFjzcXGBOUora04PTd2qX206fsuNTPBGVHP8rbUU7G6LogfgRmiC/ XX2QPtLaavlBAmls9efsB9eMStsNGboyLm4Se3GY0ngUmJftpiOYT1BYX10d8o8WWw2r unTVXugJSqUpJ4SYZGX/3/dQ+PnneMOBAm4U+J+SHnpv7MRhSE3KScMdTPwqv+XbCLJj n8hTAsldGUYvScuva8xm9MywYkD2lOMqHVCQ1kQRgXdejHYRCctFAy+aigYV+zxwKyYt wV2g== X-Forwarded-Encrypted: i=1; AKwUvBxruNJQ5ez8SYtb7D+Z026Q5fpWto0C5Y48PYyiGtcrGTF1FjG+nLvJeJw1bvM1vlTU+xs72pwVa+WCjg==@lists.linux.dev X-Gm-Message-State: AFq9FYJv/ybQ7prCv1Dgu0v/v20N5xWeGbr1Muvf2XW2xSn6SZpPOJ2h aWS9NupcNDCRY2dRPbhlZOKp28BmdYiXwWNJCuQAMBGhvbym/geK4L1f X-Gm-Gg: AYBFou0OFPXkhXacAYVwCWgcZ46N2uUkpH7m6rpvTzaVRYGYnpBqAVk2TuumXyY9xjX xAYI5BnpId2kS3YJT0nbO9K38BQAuqDBpBQRtYlwpBp2bIn/s/UHkCHQH57nrs9CTZaxMI6wfQX fXFa2qh5dbOYvzO/uOa6+xiqkhwV7K5k94cutrTktvOLziuMj3XhCj512HjuEA8iY5usNp+Ztyr tNjeOnypDoSYakJPnwo0tl0lIwKrWLB21QZArp8ij7PnryoIP+6AobLqx2Z6XkVAMFhfSiBaJq8 cMYfGRGdzQVVkK0oagmmBXEwXGHEQeG9u+ssWOmLlLXnwicN9grHqilybCiMdEe4cJslh9Fp5Fz ogdw6qhyy+CFYDPj5AZmIwPbDScYpzlA8WKom2omfRhHQzSZ5LqqMQisBttTQDl7UMcbCsAmxwi 1D5+mWKK2CxsXY6PxzSvyRS710NNJ3MTKhVZh+K2Z2++fePicQra3Xq+UfNk5bRXq4N1xVETjLH zi3GEFgB9eEBKeBxfZyxJwoPAA5734/ X-Received: by 2002:a05:6000:4b09:b0:487:767:b301 with SMTP id ffacd0b85a97d-48879df7009mr13521375f8f.57.1790521956427; Sun, 27 Sep 2026 08:12:36 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:35 -0700 (PDT) From: Pablo Mazzini To: Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Krzysztof Kozlowski , Maxime Ripard , Rob Herring , Samuel Holland Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 10/11] dt-bindings: arm: sunxi: add PocketBook Verse Date: Sun, 27 Sep 2026 16:10:15 +0100 Message-ID: <20260927151016.186493-11-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@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)[]; MID_CONTAINS_FROM(1.00)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; PRECEDENCE_BULK(0.00)[]; TAGGED_RCPT(0.00)[dt]; DBL_BLOCKED_OPENRESOLVER(0.00)[sin.lore.kernel.org:rdns,sin.lore.kernel.org:helo]; FREEMAIL_CC(0.00)[gmail.com,vger.kernel.org,lists.infradead.org,lists.linux.dev]; RCPT_COUNT_TWELVE(0.00)[12]; FORGED_SENDER_MAILLIST(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; R_SPF_ALLOW(0.00)[+ip4:104.64.211.4]; FREEMAIL_TO(0.00)[kernel.org,gmail.com,sholland.org]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[pmazzini@gmail.com,linux-sunxi@lists.linux.dev]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; TAGGED_FROM(0.00)[bounces-26323-noreply=patchwork.local]; ASN(0.00)[asn:63949, ipnet:104.64.192.0/19, country:SG]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: E02C41C2980 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?= A 6" e-book reader built around the Allwinner B288. Signed-off-by: Pablo Mazzini --- 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 f04db28c630a..f66c681d3788 100644 --- a/Documentation/devicetree/bindings/arm/sunxi.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml @@ -811,6 +811,11 @@ properties: - const: pocketbook,614-plus - const: allwinner,sun5i-a13 + - description: PocketBook Verse (PB629) + items: + - const: pocketbook,verse + - const: allwinner,sun8i-b288 + - description: Point of View Protab2-IPS9 items: - const: pov,protab2-ips9 From patchwork Sun Sep 27 15:10:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pablo Mazzini X-Patchwork-Id: 3510 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id 6838F1C2980 for ; Sun, 27 Sep 2026 17:14:41 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-26324-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-26324-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 53ADD2D3F0 for ; Sun, 27 Sep 2026 15:12:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1E216399CF2; Sun, 27 Sep 2026 15:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SShhe8q6" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-wr2-f35.google.com (mail-wr2-f35.google.com [74.125.225.99]) (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 6D58A392C25 for ; Sun, 27 Sep 2026 15:12:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.99 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521963; cv=none; b=nGOYQMoMCM0Qi/f9lamt6ktG7mX0k5/bGeb4vWV+dtIzPLSg3+6W9Y4bOhSBXWFqbStTVsWd1OfETc6foD6M+8LRdEWw+MHYH0pT1TvVOiTwgWUUpaArrrgX/HIxdoPA+1+a8iIYcm20J63CgdMX86kf2thkfJC/H/41A9QGvg0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790521963; c=relaxed/simple; bh=8EOWWwnuhjdj2NBdmDHi2y9qj8C4h6LlxK00gi7W808=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SV/502qD+VLMGRe641UcLFVof/WH3SqOQ86Ia6rqQydogqVzVkXas+IbJ7mRLRSGrlcF+EmnS7W+3racgXQw50f9Q1yBx+d0nG9MCl9eMzvbRWEzbmWU8iCIza/B1SOWOPpuf1J1lE7ZpDR7FvVGCvKx0LNIHIJ66zgFp9XIUsc= 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=SShhe8q6; arc=none smtp.client-ip=74.125.225.99 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-wr2-f35.google.com with SMTP id ffacd0b85a97d-488780459e2so2273467f8f.2 for ; Sun, 27 Sep 2026 08:12:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790521958; x=1791126758; 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=kp1PQqGUGWpZxUys5pByJrwoE69ft+7LJPagJSESpNs=; b=SShhe8q6MmJp0hOhXDJqBIoRqMXx2J+1xhd0ZC4XBcyK3ZLFcKppp/fp985ZKaq+bG WsZrZ1VRkBcdSUor+Po3nzw4mKzKQ5MJhFHjHtoY/XxCrbYCFxqbyAKs5f4huxeXoEZF EyC0tnS3W59OBNxzlObhGZNySF+4+wjd/tw3GnSCmCzwYAOjy4LzWqiggYUiux/jDvO/ hCU6GTDpWIJnBQRVOn1YYldwWmNIMcKLG1lbXoAVJDPY/7kiBeHFLybBwsuTHSTJvx3w /Dfl3eBsyrw9UqmkONKb0f/S5/DMYdXC5G0SLgDuuq+0nLol/sBLaE7eedXLJqvL312F YlIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790521958; x=1791126758; 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=kp1PQqGUGWpZxUys5pByJrwoE69ft+7LJPagJSESpNs=; b=0Flehzz5CuIpqVWXk4qdkDITMM+Foo/lt52NugzV8/MHNHlU0uMaN6p/mtuTGSWX+q gy15HckoWViUHm4E6hzCD0Y+2zQHm+lQG/hPzY9rjLXuAze8qyPngFUzC4o4CwvGpEAc 5FATJtg1kgdimRhKgqGNBqij7wo3wjBxMp41UQucCfWhIGLHUgK8mLpytCYHMDQyT5Y8 u9Lthh4utrTvQy4Sg/UdfuNtOijRxxNigIucPA7j+AW7w6y35Wt6AVZ+IVzmQmi0mM4+ kaeXT0N9KGen8J5zfeNZFqIWLp1yPgNlQFx6FHx/vzVZnMuwBn0UToOEScls9n439g5K OVtw== X-Forwarded-Encrypted: i=1; AKwUvBwjVs3oGo7BPqEk5AgsAFE806TNxoGpHTi+Sya9CX3A/Fr8xh62IhOODabTNILp6YWGpt4t16Etx6w3rQ==@lists.linux.dev X-Gm-Message-State: AFq9FYKktSaiaQN9c8/gLF6aIBVLlv6dKvX6P9pfxkPt9iGfWAL+fhZ8 HxFcUjDK+FTUOB7raurXPayFVseluKf4BVuzKEJ3vLpIfeuuaNQ5DA9h X-Gm-Gg: AYBFou31KHuDJw8gA5xsRIxGLnVHa1OsRLbp50Mq8djd26LAD//QkTmiKkMI/8s8Per //L4CPV0coK5W0iJKS8paZKzX/I3A2XqYyn+wbfVI3TyBU9+uNPwlGelQIj4RyN52+IwO/dYn2Z fesk9dbwv02YpY6YmUjV2Ri8Lb+H/0YI95nf9PJ4Fc6LIvX8L/MUUC1tBrVyYvToyZhtdnqZVke GqI1/Qpg3x4hEFYCfOs/PWFIyKUaIf+RwFQEeaVDdMHTbpd+DrJ1i9IgvOwqiznXLch+91YtkaG /HhtDICFDzKLOPZLFUsZbKOn88i4HcxuLYvtuk9DBC5tW7dUdYf/0bYFfZUgHVucegH4bPQUguB FVba7aqHAGpGaL7l8iStH4fr5QiKRRfNYqVZYCZRUl+vlY5nZXR3vUzReaw9hFPNingk4K6iRfK 1HbcW/kDL3ln5glBmt1NE5hfihSuDeVg6ekbeAno1ndKx3IM1EA5mXpqd7/drEJ0smpUXpSpHQQ XjndVMlhVM5tPKzu3qJi/U8Ld3hsn4kfCndRdCsFCI= X-Received: by 2002:a05:6000:2999:10b0:488:7dc6:4e9 with SMTP id ffacd0b85a97d-4887dc60767mr9344511f8f.10.1790521958532; Sun, 27 Sep 2026 08:12:38 -0700 (PDT) Received: from debian (ip-78-137-176-146.broadband.digiweb.ie. [78.137.176.146]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a746c57sm19764208f8f.35.2026.09.27.08.12.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 08:12:37 -0700 (PDT) From: Pablo Mazzini To: Chen-Yu Tsai , Conor Dooley , Jernej Skrabec , Krzysztof Kozlowski , Rob Herring , Samuel Holland Cc: Pablo Mazzini , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: [PATCH v2 11/11] ARM: sunxi: add B288 and the PocketBook Verse board Date: Sun, 27 Sep 2026 16:10:16 +0100 Message-ID: <20260927151016.186493-12-pmazzini@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260927151016.186493-1-pmazzini@gmail.com> References: <20260927151016.186493-1-pmazzini@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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?= arm,cpu-registers-not-fw-configured is required: Allwinner's boot0 sets neither CNTFRQ nor CNTVOFF, so the virtual timer storms. Same reason as commit 121b96cd9d7e ("ARM: sun6i: Enable ARM arch timers"). The watchdog interrupt was measured on hardware via GICD_ISPENDR. Signed-off-by: Pablo Mazzini --- arch/arm/boot/dts/allwinner/Makefile | 1 + .../allwinner/sun8i-b288-pocketbook-verse.dts | 122 +++++++ arch/arm/boot/dts/allwinner/sun8i-b288.dtsi | 304 ++++++++++++++++++ arch/arm/mach-sunxi/sunxi.c | 1 + 4 files changed, 428 insertions(+) create mode 100644 arch/arm/boot/dts/allwinner/sun8i-b288-pocketbook-verse.dts create mode 100644 arch/arm/boot/dts/allwinner/sun8i-b288.dtsi diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile index 75b2b6a2f7a6..2dfdc01e4825 100644 --- a/arch/arm/boot/dts/allwinner/Makefile +++ b/arch/arm/boot/dts/allwinner/Makefile @@ -227,6 +227,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a83t-bananapi-m3.dtb \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dtb \ + sun8i-b288-pocketbook-verse.dtb \ sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-r1.dtb \ diff --git a/arch/arm/boot/dts/allwinner/sun8i-b288-pocketbook-verse.dts b/arch/arm/boot/dts/allwinner/sun8i-b288-pocketbook-verse.dts new file mode 100644 index 000000000000..91c89d5a097e --- /dev/null +++ b/arch/arm/boot/dts/allwinner/sun8i-b288-pocketbook-verse.dts @@ -0,0 +1,122 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * PocketBook Verse (PB629), an Allwinner B288 based e-reader. + */ + +/dts-v1/; +#include "sun8i-b288.dtsi" + +#include + +/ { + model = "PocketBook Verse"; + compatible = "pocketbook,verse", "allwinner,sun8i-b288"; + + aliases { + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x20000000>; + }; +}; + +&uart0 { + status = "okay"; +}; + +&mmc0 { + vmmc-supply = <®_dldo2>; + bus-width = <4>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ + status = "okay"; +}; + +&mmc3 { + vmmc-supply = <®_dcdc1>; + vqmmc-supply = <®_dldo1>; + bus-width = <8>; + non-removable; + cap-mmc-hw-reset; + status = "okay"; +}; + +&pio { + vcc-pc-supply = <®_dldo1>; + vcc-pd-supply = <®_dldo1>; + /* + * PC and PD are named in the vendor rail list; PF is not. It is not + * on dldo2: with that rail off, a pull-up on PF6 still reads card + * detect correctly, so the bank has its own supply. dcdc1 is the + * only remaining candidate, carrying vcc-io and vcc-card. Derived + * from the rail naming plus that measurement, not from a schematic. + */ + vcc-pf-supply = <®_dcdc1>; +}; + +&i2c0 { + status = "okay"; + + axp22x: pmic@34 { + compatible = "x-powers,axp221"; + reg = <0x34>; + interrupt-parent = <&nmi_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + }; +}; + +#include "axp22x.dtsi" + +®_dcdc1 { + regulator-always-on; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-name = "vcc-io"; +}; + +®_dcdc2 { + regulator-always-on; + regulator-min-microvolt = <1260000>; + regulator-max-microvolt = <1260000>; + regulator-name = "vdd-cpu"; +}; + +®_dcdc4 { + regulator-always-on; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-sys"; +}; + +®_dcdc5 { + regulator-always-on; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-name = "vcc-dram"; +}; + +®_aldo3 { + regulator-always-on; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-name = "avcc"; +}; + +®_dldo1 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-pc"; +}; + +®_dldo2 { + /* Powers the microSD slot (slot pin 4), switched per card scan. */ + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-sdcv"; +}; diff --git a/arch/arm/boot/dts/allwinner/sun8i-b288.dtsi b/arch/arm/boot/dts/allwinner/sun8i-b288.dtsi new file mode 100644 index 000000000000..f5feec87defc --- /dev/null +++ b/arch/arm/boot/dts/allwinner/sun8i-b288.dtsi @@ -0,0 +1,304 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Allwinner B288 (sun8iw10p1) SoC + * + * Addresses and interrupts come from the PocketBook Verse (PB629) vendor + * device tree, cross-checked against the BSP clk-sun8iw10.c. + */ + +#include +#include +#include + +/ { + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; + + clocks { + osc24M: osc24M-clk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <24000000>; + clock-output-names = "osc24M"; + }; + + osc32k: osc32k-clk { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <32768>; + clock-output-names = "osc32k"; + }; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + compatible = "arm,cortex-a7"; + device_type = "cpu"; + reg = <0>; + clocks = <&ccu CLK_CPUX>; + clock-names = "cpu"; + }; + + cpu1: cpu@1 { + compatible = "arm,cortex-a7"; + device_type = "cpu"; + reg = <1>; + clocks = <&ccu CLK_CPUX>; + clock-names = "cpu"; + }; + }; + + timer { + compatible = "arm,armv7-timer"; + interrupts = , + , + , + ; + clock-frequency = <24000000>; + arm,cpu-registers-not-fw-configured; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* + * mmc0 is a v4p1x controller, so it runs in the old timing + * mode and needs the sample and output phase clocks. Do not + * give it the sun50i-a64-mmc fallback: that selects the new + * timing mode, which this block does not implement. + */ + nmi_intc: interrupt-controller@1c000d0 { + compatible = "allwinner,sun8i-b288-nmi", + "allwinner,sun9i-a80-nmi"; + interrupt-controller; + #interrupt-cells = <2>; + reg = <0x01c000d0 0x0c>; + interrupts = ; + }; + + mmc0: mmc@1c0f000 { + compatible = "allwinner,sun8i-b288-mmc", + "allwinner,sun7i-a20-mmc"; + reg = <0x01c0f000 0x1000>; + clocks = <&ccu CLK_BUS_SDMMC0_BUS>, + <&ccu CLK_MMC0>, + <&ccu CLK_MMC0_OUTPUT>, + <&ccu CLK_MMC0_SAMPLE>; + clock-names = "ahb", "mmc", "output", "sample"; + resets = <&ccu RST_BUS_MMC0>; + reset-names = "ahb"; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + /* SDXC v4.5. The soldered eMMC; shares the PC pads with mmc2. */ + mmc3: mmc@1c12000 { + compatible = "allwinner,sun8i-b288-emmc", + "allwinner,sun50i-a64-emmc"; + reg = <0x01c12000 0x1000>; + clocks = <&ccu CLK_BUS_SDMMC3_BUS>, <&ccu CLK_MMC3>; + clock-names = "ahb", "mmc"; + resets = <&ccu RST_BUS_MMC3>; + reset-names = "ahb"; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&mmc3_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + /* + * mmc2 (0x01c11000) is an SDHCI-style controller, not SDXC, and + * has no upstream binding. It loses the PC pad arbitration to + * mmc3 and is unused here, so it is left undescribed rather than + * given a wrong compatible. + */ + + ccu: clock-controller@1c20000 { + compatible = "allwinner,sun8i-b288-ccu"; + reg = <0x01c20000 0x400>; + clocks = <&osc24M>, <&osc32k>; + clock-names = "hosc", "losc"; + #clock-cells = <1>; + #reset-cells = <1>; + }; + + rtc: rtc@1c20400 { + compatible = "allwinner,sun8i-b288-rtc"; + reg = <0x01c20400 0x400>; + interrupts = ; + clock-output-names = "osc32k"; + clocks = <&osc32k>; + #clock-cells = <1>; + }; + + pio: pinctrl@1c20800 { + compatible = "allwinner,sun8i-b288-pinctrl"; + reg = <0x01c20800 0x400>; + interrupts = , + , + , + ; + clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>; + clock-names = "apb", "hosc", "losc"; + gpio-controller; + #gpio-cells = <3>; + interrupt-controller; + #interrupt-cells = <3>; + + mmc0_pins: mmc0-pins { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + allwinner,pinmux = <2>; + drive-strength = <30>; + bias-pull-up; + }; + + i2c0_pins: i2c0-pins { + pins = "PB6", "PB7"; + function = "twi0"; + allwinner,pinmux = <2>; + }; + + mmc3_pins: mmc3-pins { + pins = "PC1", "PC4", "PC5", "PC6", + "PC7", "PC8", "PC9", "PC10", + "PC11", "PC12", "PC13", "PC14"; + function = "sdc3"; + allwinner,pinmux = <5>; + drive-strength = <40>; + bias-pull-up; + }; + + uart0_pb_pins: uart0-pb-pins { + pins = "PB4", "PB5"; + function = "uart0"; + allwinner,pinmux = <2>; + }; + }; + + wdt: watchdog@1c20ca0 { + compatible = "allwinner,sun6i-a31-wdt"; + reg = <0x01c20ca0 0x20>; + interrupts = ; + clocks = <&osc24M>; + }; + + uart0: serial@1c28000 { + compatible = "snps,dw-apb-uart"; + reg = <0x01c28000 0x400>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&ccu CLK_BUS_UART0>; + resets = <&ccu RST_BUS_UART0>; + status = "disabled"; + }; + + uart1: serial@1c28400 { + compatible = "snps,dw-apb-uart"; + reg = <0x01c28400 0x400>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&ccu CLK_BUS_UART1>; + resets = <&ccu RST_BUS_UART1>; + status = "disabled"; + }; + + uart2: serial@1c28800 { + compatible = "snps,dw-apb-uart"; + reg = <0x01c28800 0x400>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&ccu CLK_BUS_UART2>; + resets = <&ccu RST_BUS_UART2>; + status = "disabled"; + }; + + uart3: serial@1c28c00 { + compatible = "snps,dw-apb-uart"; + reg = <0x01c28c00 0x400>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&ccu CLK_BUS_UART3>; + resets = <&ccu RST_BUS_UART3>; + status = "disabled"; + }; + + uart4: serial@1c29000 { + compatible = "snps,dw-apb-uart"; + reg = <0x01c29000 0x400>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + clocks = <&ccu CLK_BUS_UART4>; + resets = <&ccu RST_BUS_UART4>; + status = "disabled"; + }; + + i2c0: i2c@1c2ac00 { + compatible = "allwinner,sun8i-b288-i2c", + "allwinner,sun6i-a31-i2c"; + reg = <0x01c2ac00 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_TWI0>; + resets = <&ccu RST_BUS_I2C0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c1: i2c@1c2b000 { + compatible = "allwinner,sun8i-b288-i2c", + "allwinner,sun6i-a31-i2c"; + reg = <0x01c2b000 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_TWI1>; + resets = <&ccu RST_BUS_I2C1>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c2: i2c@1c2b400 { + compatible = "allwinner,sun8i-b288-i2c", + "allwinner,sun6i-a31-i2c"; + reg = <0x01c2b400 0x400>; + interrupts = ; + clocks = <&ccu CLK_BUS_TWI2>; + resets = <&ccu RST_BUS_I2C2>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + + gic: interrupt-controller@1c81000 { + compatible = "arm,gic-400"; + reg = <0x01c81000 0x1000>, + <0x01c82000 0x2000>, + <0x01c84000 0x2000>, + <0x01c86000 0x2000>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <3>; + }; + }; +}; diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c index e1b7945aac99..c5b19d0e63f9 100644 --- a/arch/arm/mach-sunxi/sunxi.c +++ b/arch/arm/mach-sunxi/sunxi.c @@ -61,6 +61,7 @@ MACHINE_END static const char * const sun8i_board_dt_compat[] = { "allwinner,sun8i-a23", "allwinner,sun8i-a33", + "allwinner,sun8i-b288", "allwinner,sun8i-h2-plus", "allwinner,sun8i-h3", "allwinner,sun8i-r40",