From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from twmbx01.aspeedtech.com (mail.aspeedtech.com [211.20.114.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEC2F35836E; Tue, 23 Jun 2026 01:16:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.20.114.72 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782177368; cv=none; b=DpSMh1jTu8FjHY59C8VB8fiY4ltQFS3V9TvMOW1aGHX6T/HGOCE4b0awpWEJCIGMzEvFWR6ws5jhfFEefVT2YwgDbQlgJodYpPzeFSb+e840sD33ankZCFqxUHKfYi7qSykdypOinC7AY0B1LmZmYmT9OG0qV8ozIZlNgogulkw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782177368; c=relaxed/simple; bh=ktYoafNweHhZs0ZmbKaHwFTXK1XM2KW9vSEeOcsvt7o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=FoUejM+E84A50KRflHsxRZnR8/Nj51nJjWCtNDgKiLaXiP2IHuOWMI65pkvcpIF2FC8Dgj0K/pkMAf7wf6FJf4nzvOp7gQgd999Hk51CoRlDA++d1i6xhfr2+/eEu6R+KCbz7OVv08xz/lDwPjPdejyCQd86XXr+bN/20E81SLU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com; spf=pass smtp.mailfrom=aspeedtech.com; arc=none smtp.client-ip=211.20.114.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aspeedtech.com Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Tue, 23 Jun 2026 09:15:54 +0800 Received: from [127.0.1.1] (192.168.10.13) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1748.10 via Frontend Transport; Tue, 23 Jun 2026 09:15:54 +0800 From: Ryan Chen Date: Tue, 23 Jun 2026 09:15:50 +0800 Subject: [PATCH v33 1/5] dt-bindings: i2c: Split AST2600 binding into a new YAML Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-ID: <20260623-upstream_i2c-v33-1-6d5338fc56ed@aspeedtech.com> References: <20260623-upstream_i2c-v33-0-6d5338fc56ed@aspeedtech.com> In-Reply-To: <20260623-upstream_i2c-v33-0-6d5338fc56ed@aspeedtech.com> To: , , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Joel Stanley , Andrew Jeffery , "Benjamin Herrenschmidt" , Rayn Chen , Philipp Zabel CC: , , , , , , Ryan Chen , Conor Dooley X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1782177354; l=5270; i=ryan_chen@aspeedtech.com; s=20251126; h=from:subject:message-id; bh=ktYoafNweHhZs0ZmbKaHwFTXK1XM2KW9vSEeOcsvt7o=; b=15wTgx/txlXLlj1WyN8ZU/nn+ANo+gU1D5q7v6yNuadHMCPd8U6z2BD5WqLYgryD65tteHoeB yyVx+B0YnauDH6++g55SIzJfoN4Q6NyyZ8UuMD+k7NnwnVP9BNzRj5C X-Developer-Key: i=ryan_chen@aspeedtech.com; a=ed25519; pk=Xe73xY6tcnkuRjjbVAB/oU30KdB3FvG4nuJuILj7ZVc= The AST2600 I2C controller introduces a completely new register layout with separate controller and target register blocks, unlike the mixed register layout used by AST2400/AST2500. Move AST2600 I2C binding from aspeed,i2c.yaml to a dedicated aspeed,ast2600-i2c.yaml schema. Besides the split, this also adjusts for AST2600-specific requirements. - describe two reg regions (controller register block + buffer block); the second region is optional (minItems: 1) so existing AST2600 DTs that only declare the controller register block continue to validate - use clock-frequency for bus speed description - interrupts are required on AST2600 - use correct DTS coding style in example No compatible strings are changed. Acked-by: Conor Dooley Reviewed-by: Rob Herring (Arm) Signed-off-by: Ryan Chen --- Changes in v31: - Commit message body: clarify that the second reg region is optional (minItems: 1) rather than required, matching the schema and the v30 backward-compatibility fix (Sashiko AI review). Changes in v30: - Add minItems: 1 to reg so existing AST2600 DTs with a single reg region continue to validate (Sashiko AI review) - Retain bus-frequency as a deprecated property to avoid breaking existing AST2600 DTs under unevaluatedProperties: false (Sashiko AI review) Changes in v26: - commit message: include details of changes from original binding - fix example property ordering to follow DTS coding style - use consistent "AST2600" naming --- .../bindings/i2c/aspeed,ast2600-i2c.yaml | 73 ++++++++++++++++++++++ .../devicetree/bindings/i2c/aspeed,i2c.yaml | 3 +- MAINTAINERS | 1 + 3 files changed, 75 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/i2c/aspeed,ast2600-i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,ast2600-i2c.yaml new file mode 100644 index 000000000000..abc614315dff --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/aspeed,ast2600-i2c.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/i2c/aspeed,ast2600-i2c.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ASPEED I2C on the AST2600 SoCs + +maintainers: + - Ryan Chen + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml# + +properties: + compatible: + enum: + - aspeed,ast2600-i2c-bus + + reg: + minItems: 1 + items: + - description: controller registers + - description: controller buffer space + + interrupts: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-frequency: + description: Desired operating frequency of the I2C bus in Hz. + minimum: 500 + maximum: 4000000 + default: 100000 + + bus-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + deprecated: true + description: + Legacy name for clock-frequency. Existing AST2600 device trees + used this before the binding was split out. New device trees + should use the standard clock-frequency property instead. + minimum: 500 + maximum: 4000000 + + resets: + maxItems: 1 + +required: + - reg + - compatible + - clocks + - resets + - interrupts + +unevaluatedProperties: false + +examples: + - | + #include + #include + i2c@80 { + compatible = "aspeed,ast2600-i2c-bus"; + reg = <0x80 0x80>, <0xc00 0x20>; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&syscon ASPEED_CLK_APB>; + resets = <&syscon ASPEED_RESET_I2C>; + clock-frequency = <100000>; + interrupts = ; + }; diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml index 5b9bd2feda3b..d4e4f412feba 100644 --- a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/i2c/aspeed,i2c.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: ASPEED I2C on the AST24XX, AST25XX, and AST26XX SoCs +title: ASPEED I2C on the AST24XX, AST25XX SoCs maintainers: - Rayn Chen @@ -17,7 +17,6 @@ properties: enum: - aspeed,ast2400-i2c-bus - aspeed,ast2500-i2c-bus - - aspeed,ast2600-i2c-bus reg: minItems: 1 diff --git a/MAINTAINERS b/MAINTAINERS index 882214b0e7db..f9c929e86e64 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2596,6 +2596,7 @@ R: Joel Stanley L: linux-i2c@vger.kernel.org L: openbmc@lists.ozlabs.org (moderated for non-subscribers) S: Maintained +F: Documentation/devicetree/bindings/i2c/aspeed,ast2600-i2c.yaml F: Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml F: Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-i2c-ic.yaml F: drivers/i2c/busses/i2c-aspeed.c -- 2.34.1