From patchwork Mon Aug 3 05:14:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 2901 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 F0A291C057E for ; Mon, 3 Aug 2026 07:21:12 +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-24918-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-24918-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 D6DE6309DAC1 for ; Mon, 3 Aug 2026 05:15:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D09E39185A; Mon, 3 Aug 2026 05:15:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WuZslsfX" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) (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 3C6A638E5ED for ; Mon, 3 Aug 2026 05:15:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785734138; cv=none; b=NSGJDOxn+JmvQ/40JnY/FxDnEG3d0+ICkjHmuPrHBcRQsyPUe1G9m00u+VJynUfRNxt+cIDVoAIEON5Tbyk5pOEdnci9r8m+4s+mKBBHIlNickqDw6/grPqoP91Uf3hPTPboelKwuhBzE/Ou78B1CpTZSUI0EX11xVJ7yAxmPZA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785734138; c=relaxed/simple; bh=6OQnGRpMnyrb+bp+bGTn43xoUYsbGDK19SjrvuCzOUU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W+bH64u0aIbHHVS2wohnnk3v9JappABhRSRAMzIJvwJ6B9yvg9CZNSK1vTR0ISa5/t+ZWRe3qhLPYUXUzCIrNhs5T6eYjLbdsjKv2G+X2k/cUFq52SGzfykn9rTJ0xP76LaaE6RwtsT5MKRvKPn+UHGMMMmRLN7eFrc8Obywmxo= 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=WuZslsfX; arc=none smtp.client-ip=209.85.210.50 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-ot1-f50.google.com with SMTP id 46e09a7af769-7e9ecb1e13cso3366344a34.3 for ; Sun, 02 Aug 2026 22:15:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785734132; x=1786338932; darn=lists.linux.dev; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ws0LFhZuUjZTnhwPoD3ztO16rIL3gtosandi83LBFNY=; b=WuZslsfXI4IkD1It7KD8ELwzrH7eC320X2pb+4Gt4DWrpWarSaXAXR+m2wXTmACOi5 lmiWSDJu/9mJj7Jq50qhOBdR6WuXScfXBqoEiF9+XhtAbth0zC0MIOrYQBJuR7fmV6rG ObyXoaCT7c8oFEOFWuBdZvGZjPRTrKVe/RjLacYazWTHdqWcNePMd+JcD6gYY2p4iQUJ Wdq6v1g0700yQiiZzE0i2Vb4mnc/y3skPXfhYKmvMpsb4i+tluGRQqBzDMWhxhJmgZ5G W0YPWqHNkA2soe3mTHN8bxfpw+7aAkzcVH5YEJfY8tptFWFJNthkUiWAajK8Z8VVsP0x qMdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785734132; x=1786338932; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ws0LFhZuUjZTnhwPoD3ztO16rIL3gtosandi83LBFNY=; b=QvkQo7n6OvljNc6CgCPXWoc7bsoqcx1bmG/72W0Y7Xu7c8FLAVmHjdUIse9SQmcYDa czZ3cLotDSP9IjNwfu76e2WU43sgl48aU78dUkHGVAEAzfBZ7D4fQtR6tmHuOMXyFag6 +o+qyxPC0G1GBeglfcSNo5LRUYvJrsaAv9DmMV8sahFjKILa4KH6V5iPYgyEpiWOf6BU 51A6VD0IdVBj2D64nea1Wwx82KaaCnKEbzW/ljCx7wDZtdxUulQJnY6EChHQSe/i2k/J 19uTPPTHqJBN6wxgZcq0E3Q2r752Ti53iYkFUUZAB0//xCIy1Tk8tBrJI7EoVlluPcKU CrQw== X-Forwarded-Encrypted: i=1; AHgh+Rp8tOd4d+hFeQqINP0B4p0DCKBRXzZYO6s+CaUybOWBt5p4BgCVIkQ0Bc49U9cpHd8dM1VVcV64fmf+uQ==@lists.linux.dev X-Gm-Message-State: AOJu0YwHMGcOTLQ67kkCWAJGorqZvYWpezkffXWWQpq4x3qY1dClL9NT IsKN9kDXx+lPDISIrm9SSw3GEUXKhC6cUJSz7oPc9RTRF/kBbnJ+GXvu X-Gm-Gg: AR+sD11mGWV8dhfQkjtrf0okDb7L9Y49CitUObOx0B5JY+gB3garj0eoEp4+m5oUg5Y uEzcpH8FsXqr5l0HL0loDgx1xaPNqFqPeCiXyBPw6EwMdXtOhVWodC8Ev0jKbssaQzA8V4tmz8g oG55LCCrdFrm2L/pqCz7EIvjLr4p0NnATmMwJ2p+55ITezFWnvWoAVsrHEt/i7hcHJyq/Fftt2D pd/sFDF5IouIXDUXb3Br+Otct+IaGANWfoKsm/Rs8TGIDUDb7XG6RHL9j7WtXVJzN4RKRdugGva KSRCY9EvWjMJ7J2fCowU4StmoK37UcUKqgfaQR9vlBmuFuDf9C3N1RQaubqFI2JGwbFXT4GNllY rMCyDd72eggkGsOHGZOhfHPVliz3k6oCFkVN28IdhFUPuA+KGIqJFjs0PCegLVwUVIXJtbscpPj oBOboAmlrGwgUZRfCfw8GGsjnwp7YvO78Yjb9FNaEa/TJKXtshPc9A9VFx0czdhiCTx5+dfDZWP Qh2RIOvQqBKawfubHaSQb7I+q8LT2Ui1M+2IEN3fSGsnu0ks05mLtegpmlGhkAAOQ5VTyZyQieH 8yI2mRz32C/dmzR9fy7ZJaiEag7slP4+Dg/E+mfY6Pv72LBedtBZMcnLvzILoT0YKyg72+gRyLW GyfFBxJD1hXlyrZWP X-Received: by 2002:a05:6830:6737:b0:7dc:df37:844b with SMTP id 46e09a7af769-7f196baee6fmr14985696a34.4.1785734132204; Sun, 02 Aug 2026 22:15:32 -0700 (PDT) Received: from [127.0.1.1] (184-96-154-59.hlrn.qwest.net. [184.96.154.59]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7f18f07a5e3sm6787108a34.15.2026.08.02.22.15.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 22:15:31 -0700 (PDT) From: James Hilliard Date: Sun, 02 Aug 2026 23:14:18 -0600 Subject: [PATCH 08/21] dt-bindings: mfd: x-powers: add AC200 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20260802-submit-acx00-of-dynamic-v1-v1-8-0a53cd9e21cc@gmail.com> References: <20260802-submit-acx00-of-dynamic-v1-v1-0-0a53cd9e21cc@gmail.com> In-Reply-To: <20260802-submit-acx00-of-dynamic-v1-v1-0-0a53cd9e21cc@gmail.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Andre Przywara , Richard Genoud , Maxime Ripard , Alexandre Torgue , Giuseppe Cavallaro , Jose Abreu , Maxime Chevallier , Maxime Coquelin , Andrew Lunn , Heiner Kallweit , Russell King , Saravana Kannan , Lee Jones , Heiko Stuebner Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, mfd@lists.linux.dev, linux-rockchip@lists.infradead.org, James Hilliard X-Mailer: b4 0.15.2 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 AC200 is an I2C-controlled mixed-signal companion IC containing audio, video, RTC and Fast Ethernet PHY functions. Describe the parent device, its input clock, required function supplies, the optional SID bandgap calibration cell used by the vendor initialization sequence, and its optional Ethernet PHY control child. Document the 24 and 27 MHz rates encoded by the public EPHY clock selector. Also describe the optional open-drain, level-triggered INTB output and the nested interrupt controller which exposes the TV encoder, Ethernet PHY and RTC sources. Define the interrupt source numbers for child consumers. Signed-off-by: James Hilliard --- .../devicetree/bindings/mfd/x-powers,ac200.yaml | 118 +++++++++++++++++++++ include/dt-bindings/mfd/x-powers,ac200.h | 13 +++ 2 files changed, 131 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/x-powers,ac200.yaml b/Documentation/devicetree/bindings/mfd/x-powers,ac200.yaml new file mode 100644 index 000000000000..017629cca73c --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/x-powers,ac200.yaml @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/x-powers,ac200.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: X-Powers AC200 mixed-signal IC + +maintainers: + - James Hilliard + +description: + The AC200 is a mixed-signal companion IC containing audio, video, RTC and + Fast Ethernet PHY functions. Its control registers are accessed over I2C. + +properties: + compatible: + const: x-powers,ac200 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + description: + AC200 input clock. When using the Ethernet PHY, its configured rate must + be 24 or 27 MHz, matching the rates encoded by the documented EPHY clock + selector. + + interrupts: + maxItems: 1 + description: + The INTB pin, which is a shared open-drain, level-triggered output for + the TV encoder, Ethernet PHY and RTC interrupt sources. + + interrupt-controller: true + + '#interrupt-cells': + const: 1 + description: + The interrupt number, as defined in + include/dt-bindings/mfd/x-powers,ac200.h. + + ac-ldoin-supply: + description: 3.3 V supply for the audio-codec LDO input + + ephy-vcc-supply: + description: 3.3 V supply for the Ethernet PHY analog front end + + rtc-vcc-supply: + description: 3.3 V supply for the RTC + + tv-vcc-supply: + description: 3.3 V supply for the TV encoder DAC + + nvmem-cells: + maxItems: 1 + description: + Optional SoC SID cell containing the AC200 bandgap calibration value. + The trim is used by the TV encoder; the public AC200 datasheet does not + document the corresponding register fields. + + nvmem-cell-names: + const: bandgap + + ethernet-phy-control: + $ref: /schemas/net/x-powers,ac200-ephy-ctl.yaml# + +required: + - compatible + - reg + - clocks + - ac-ldoin-supply + - ephy-vcc-supply + - rtc-vcc-supply + - tv-vcc-supply + +dependencies: + interrupts: [ interrupt-controller ] + interrupt-controller: [ '#interrupt-cells', interrupts ] + '#interrupt-cells': [ interrupt-controller ] + nvmem-cells: [ nvmem-cell-names ] + nvmem-cell-names: [ nvmem-cells ] + +additionalProperties: false + +examples: + - | + #include + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + mixed-signal@10 { + compatible = "x-powers,ac200"; + reg = <0x10>; + clocks = <&pwm 5>; + ac-ldoin-supply = <®_3v3>; + ephy-vcc-supply = <®_3v3>; + rtc-vcc-supply = <®_3v3>; + tv-vcc-supply = <®_3v3>; + interrupt-parent = <&pio>; + interrupts = <1 20 IRQ_TYPE_LEVEL_LOW>; + interrupt-controller; + #interrupt-cells = <1>; + nvmem-cells = <&ac200_bandgap>; + nvmem-cell-names = "bandgap"; + + ethernet-phy-control { + compatible = "x-powers,ac200-ephy-ctl"; + nvmem-cells = <&ephy_calibration>; + nvmem-cell-names = "calibration"; + phy-mode = "rmii"; + }; + }; + }; +... diff --git a/include/dt-bindings/mfd/x-powers,ac200.h b/include/dt-bindings/mfd/x-powers,ac200.h new file mode 100644 index 000000000000..cc59e2ab4912 --- /dev/null +++ b/include/dt-bindings/mfd/x-powers,ac200.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Interrupt numbers of the X-Powers AC200 interrupt controller. + */ + +#ifndef _DT_BINDINGS_MFD_X_POWERS_AC200_H +#define _DT_BINDINGS_MFD_X_POWERS_AC200_H + +#define AC200_IRQ_TVE 0 +#define AC200_IRQ_EPHY 1 +#define AC200_IRQ_RTC 2 + +#endif /* _DT_BINDINGS_MFD_X_POWERS_AC200_H */