From: Conor Dooley <conor@kernel.org>
To: Billy Tsai <billy_tsai@aspeedtech.com>
Cc: Linus Walleij <linusw@kernel.org>,
Tony Lindgren <tony@atomide.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Joel Stanley <joel@jms.id.au>,
Andrew Jeffery <andrew@codeconstruct.com.au>,
Bartosz Golaszewski <brgl@kernel.org>, Lee Jones <lee@kernel.org>,
Ryan Chen <ryan_chen@aspeedtech.com>,
patrickw3@meta.com, linux-gpio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-aspeed@lists.ozlabs.org, BMC-SW@aspeedtech.com,
openbmc@lists.ozlabs.org, Andrew Jeffery <andrew@aj.id.au>,
linux-clk@vger.kernel.org
Subject: Re: [PATCH v3 2/3] dt-bindings: pinctrl: Add aspeed,ast2700-soc1-pinctrl
Date: Fri, 15 May 2026 18:23:04 +0100 [thread overview]
Message-ID: <20260515-verify-awhile-cb0c72d49e91@spud> (raw)
In-Reply-To: <20260515-pinctrl-single-bit-v3-2-e97da4312104@aspeedtech.com>
[-- Attachment #1: Type: text/plain, Size: 18412 bytes --]
On Fri, May 15, 2026 at 05:37:38PM +0800, Billy Tsai wrote:
> SoC1 in the AST2700 integrates its own pin controller responsible for
> pin multiplexing and pin configuration.
>
> The controller manages various peripheral functions such as eSPI, LPC,
> VPI, SD, UART, I2C, I3C, PWM and others through SCU registers.
>
> The binding reuses the standard pinmux and generic pin configuration
> schemas and does not introduce custom Devicetree properties.
>
> Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
> ---
> .../pinctrl/aspeed,ast2700-soc1-pinctrl.yaml | 760 +++++++++++++++++++++
> 1 file changed, 760 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2700-soc1-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2700-soc1-pinctrl.yaml
> new file mode 100644
> index 000000000000..76944fd14e2c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2700-soc1-pinctrl.yaml
> @@ -0,0 +1,760 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/aspeed,ast2700-soc1-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ASPEED AST2700 SoC1 Pin Controller
> +
> +maintainers:
> + - Billy Tsai <billy_tsai@aspeedtech.com>
> +
> +description:
> + The AST2700 features a dual-SoC architecture with two interconnected SoCs,
> + each having its own System Control Unit (SCU) for independent pin control.
> + This pin controller manages the pin multiplexing for SoC1.
> +
> + The SoC1 pin controller manages pin functions including eSPI, LPC and I2C,
> + among others.
> +
> +properties:
> + compatible:
> + const: aspeed,ast2700-soc1-pinctrl
> + reg:
> + maxItems: 1
> +
> +patternProperties:
> + '-state$':
> + description: |
> + Pin control state.
> +
> + If `function` is present, the node describes a pinmux state and must
> + specify `groups`.
> +
> + For pin configuration, exactly one of `groups` or `pins` must be
> + specified in each state node. Group-level configuration applies to all
> + pins in the group. Pin-level configuration may be supplied in a
> + separate state node for individual pins; when both group-level and
> + pin-level configuration apply to the same pin, the pin-level
> + configuration takes precedence.
> +
> + type: object
> + allOf:
> + - $ref: pinmux-node.yaml#
> + - $ref: pincfg-node.yaml#
> + - if:
> + required:
> + - function
> + then:
> + required:
> + - groups
> + - oneOf:
> + - required:
> + - groups
> + - required:
> + - pins
> + additionalProperties: false
> +
> + properties:
> + function:
> + enum:
> + - ADC0
> + - ADC1
It'd be nice if you could use the other enum format I think so that
there's not 700 lines taken up by functions/groups/pins.
Otherwise, I really don't like this approach but it seems to be standard
on aspeed so whatever.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
Conor.
> + - ADC10
> + - ADC11
> + - ADC12
> + - ADC13
> + - ADC14
> + - ADC15
> + - ADC2
> + - ADC3
> + - ADC4
> + - ADC5
> + - ADC6
> + - ADC7
> + - ADC8
> + - ADC9
> + - AUXPWRGOOD0
> + - AUXPWRGOOD1
> + - CANBUS
> + - ESPI0
> + - ESPI1
> + - FSI0
> + - FSI1
> + - FSI2
> + - FSI3
> + - FWQSPI
> + - FWSPIABR
> + - FWWPN
> + - HBLED
> + - I2C0
> + - I2C1
> + - I2C10
> + - I2C11
> + - I2C12
> + - I2C13
> + - I2C14
> + - I2C15
> + - I2C2
> + - I2C3
> + - I2C4
> + - I2C5
> + - I2C6
> + - I2C7
> + - I2C8
> + - I2C9
> + - I2CF0
> + - I2CF1
> + - I2CF2
> + - I3C0
> + - I3C1
> + - I3C10
> + - I3C11
> + - I3C12
> + - I3C13
> + - I3C14
> + - I3C15
> + - I3C2
> + - I3C3
> + - I3C4
> + - I3C5
> + - I3C6
> + - I3C7
> + - I3C8
> + - I3C9
> + - JTAGM1
> + - LPC0
> + - LPC1
> + - LTPI
> + - MACLINK0
> + - MACLINK1
> + - MACLINK2
> + - MDIO0
> + - MDIO1
> + - MDIO2
> + - NCTS0
> + - NCTS1
> + - NCTS5
> + - NCTS6
> + - NDCD0
> + - NDCD1
> + - NDCD5
> + - NDCD6
> + - NDSR0
> + - NDSR1
> + - NDSR5
> + - NDSR6
> + - NDTR0
> + - NDTR1
> + - NDTR5
> + - NDTR6
> + - NRI0
> + - NRI1
> + - NRI5
> + - NRI6
> + - NRTS0
> + - NRTS1
> + - NRTS5
> + - NRTS6
> + - OSCCLK
> + - PCIERC
> + - PWM0
> + - PWM1
> + - PWM10
> + - PWM11
> + - PWM12
> + - PWM13
> + - PWM14
> + - PWM15
> + - PWM2
> + - PWM3
> + - PWM4
> + - PWM5
> + - PWM6
> + - PWM7
> + - PWM8
> + - PWM9
> + - QSPI0
> + - QSPI1
> + - QSPI2
> + - RGMII0
> + - RGMII1
> + - RMII0
> + - RMII0RCLKO
> + - RMII1
> + - RMII1RCLKO
> + - SALT0
> + - SALT1
> + - SALT10
> + - SALT11
> + - SALT12
> + - SALT13
> + - SALT14
> + - SALT15
> + - SALT2
> + - SALT3
> + - SALT4
> + - SALT5
> + - SALT6
> + - SALT7
> + - SALT8
> + - SALT9
> + - SD
> + - SGMII
> + - SGPM0
> + - SGPM1
> + - SGPS
> + - SIOONCTRLN0
> + - SIOONCTRLN1
> + - SIOPBIN0
> + - SIOPBIN1
> + - SIOPBON0
> + - SIOPBON1
> + - SIOPWREQN0
> + - SIOPWREQN1
> + - SIOPWRGD1
> + - SIOS3N0
> + - SIOS3N1
> + - SIOS5N0
> + - SIOS5N1
> + - SIOSCIN0
> + - SIOSCIN1
> + - SMON0
> + - SMON1
> + - SPI0
> + - SPI0ABR
> + - SPI0CS1
> + - SPI0WPN
> + - SPI1
> + - SPI1ABR
> + - SPI1CS1
> + - SPI1WPN
> + - SPI2
> + - SPI2CS1
> + - TACH0
> + - TACH1
> + - TACH10
> + - TACH11
> + - TACH12
> + - TACH13
> + - TACH14
> + - TACH15
> + - TACH2
> + - TACH3
> + - TACH4
> + - TACH5
> + - TACH6
> + - TACH7
> + - TACH8
> + - TACH9
> + - THRU0
> + - THRU1
> + - THRU2
> + - THRU3
> + - UART0
> + - UART1
> + - UART10
> + - UART11
> + - UART2
> + - UART3
> + - UART5
> + - UART6
> + - UART7
> + - UART8
> + - UART9
> + - USB2C
> + - USB2D
> + - USBUART
> + - VGA
> + - VPI
> + - WDTRST0N
> + - WDTRST1N
> + - WDTRST2N
> + - WDTRST3N
> + - WDTRST4N
> + - WDTRST5N
> + - WDTRST6N
> + - WDTRST7N
> +
> + groups:
> + enum:
> + - ADC0
> + - ADC1
> + - ADC10
> + - ADC11
> + - ADC12
> + - ADC13
> + - ADC14
> + - ADC15
> + - ADC2
> + - ADC3
> + - ADC4
> + - ADC5
> + - ADC6
> + - ADC7
> + - ADC8
> + - ADC9
> + - AUXPWRGOOD0
> + - AUXPWRGOOD1
> + - CANBUS
> + - DI2C0
> + - DI2C1
> + - DI2C10
> + - DI2C11
> + - DI2C12
> + - DI2C13
> + - DI2C14
> + - DI2C15
> + - DI2C2
> + - DI2C3
> + - DI2C8
> + - DI2C9
> + - DSGPM0
> + - ESPI0
> + - ESPI1
> + - FSI0
> + - FSI1
> + - FSI2
> + - FSI3
> + - FWQSPI
> + - FWSPIABR
> + - FWWPN
> + - HBLED
> + - HVI3C0
> + - HVI3C1
> + - HVI3C12
> + - HVI3C13
> + - HVI3C14
> + - HVI3C15
> + - HVI3C2
> + - HVI3C3
> + - I2C0
> + - I2C1
> + - I2C10
> + - I2C11
> + - I2C12
> + - I2C13
> + - I2C14
> + - I2C15
> + - I2C2
> + - I2C3
> + - I2C4
> + - I2C5
> + - I2C6
> + - I2C7
> + - I2C8
> + - I2C9
> + - I2CF0
> + - I2CF1
> + - I2CF2
> + - I3C10
> + - I3C11
> + - I3C4
> + - I3C5
> + - I3C6
> + - I3C7
> + - I3C8
> + - I3C9
> + - JTAGM1
> + - LPC0
> + - LPC1
> + - LTPI
> + - LTPI_PS_I2C0
> + - LTPI_PS_I2C1
> + - LTPI_PS_I2C2
> + - LTPI_PS_I2C3
> + - MACLINK0
> + - MACLINK1
> + - MACLINK2
> + - MDIO0
> + - MDIO1
> + - MDIO2
> + - NCTS0
> + - NCTS1
> + - NCTS5
> + - NCTS6
> + - NDCD0
> + - NDCD1
> + - NDCD5
> + - NDCD6
> + - NDSR0
> + - NDSR1
> + - NDSR5
> + - NDSR6
> + - NDTR0
> + - NDTR1
> + - NDTR5
> + - NDTR6
> + - NRI0
> + - NRI1
> + - NRI5
> + - NRI6
> + - NRTS0
> + - NRTS1
> + - NRTS5
> + - NRTS6
> + - OSCCLK
> + - PE2SGRSTN
> + - PWM0
> + - PWM1
> + - PWM10
> + - PWM11
> + - PWM12
> + - PWM13
> + - PWM14
> + - PWM15
> + - PWM2
> + - PWM3
> + - PWM4
> + - PWM5
> + - PWM6
> + - PWM7
> + - PWM8
> + - PWM9
> + - QSPI0
> + - QSPI1
> + - QSPI2
> + - RGMII0
> + - RGMII1
> + - RMII0
> + - RMII0RCLKO
> + - RMII1
> + - RMII1RCLKO
> + - SALT0
> + - SALT1
> + - SALT10
> + - SALT11
> + - SALT12
> + - SALT13
> + - SALT14
> + - SALT15
> + - SALT2
> + - SALT3
> + - SALT4
> + - SALT5
> + - SALT6
> + - SALT7
> + - SALT8
> + - SALT9
> + - SD
> + - SGMII
> + - SGPM0
> + - SGPM1
> + - SGPS
> + - SIOONCTRLN0
> + - SIOONCTRLN1
> + - SIOPBIN0
> + - SIOPBIN1
> + - SIOPBON0
> + - SIOPBON1
> + - SIOPWREQN0
> + - SIOPWREQN1
> + - SIOPWRGD1
> + - SIOS3N0
> + - SIOS3N1
> + - SIOS5N0
> + - SIOS5N1
> + - SIOSCIN0
> + - SIOSCIN1
> + - SMON0
> + - SMON1
> + - SPI0
> + - SPI0ABR
> + - SPI0CS1
> + - SPI0WPN
> + - SPI1
> + - SPI1ABR
> + - SPI1CS1
> + - SPI1WPN
> + - SPI2
> + - SPI2CS1
> + - TACH0
> + - TACH1
> + - TACH10
> + - TACH11
> + - TACH12
> + - TACH13
> + - TACH14
> + - TACH15
> + - TACH2
> + - TACH3
> + - TACH4
> + - TACH5
> + - TACH6
> + - TACH7
> + - TACH8
> + - TACH9
> + - THRU0
> + - THRU1
> + - THRU2
> + - THRU3
> + - UART0
> + - UART1
> + - UART10
> + - UART11
> + - UART2
> + - UART3
> + - UART5
> + - UART6
> + - UART7
> + - UART8
> + - UART9
> + - USB2CD
> + - USB2CH
> + - USB2CU
> + - USB2CUD
> + - USB2DD
> + - USB2DH
> + - USBUART
> + - VGA
> + - VPI
> + - WDTRST0N
> + - WDTRST1N
> + - WDTRST2N
> + - WDTRST3N
> + - WDTRST4N
> + - WDTRST5N
> + - WDTRST6N
> + - WDTRST7N
> +
> + pins:
> + enum:
> + - A14
> + - A15
> + - A18
> + - A19
> + - A21
> + - A22
> + - A23
> + - A24
> + - A25
> + - A26
> + - A6
> + - A7
> + - A8
> + - AA12
> + - AA13
> + - AA14
> + - AA15
> + - AA16
> + - AA17
> + - AA18
> + - AA20
> + - AA21
> + - AA22
> + - AA23
> + - AA24
> + - AA25
> + - AA26
> + - AB15
> + - AB16
> + - AB17
> + - AB18
> + - AB19
> + - AB20
> + - AB21
> + - AB22
> + - AB23
> + - AB24
> + - AB25
> + - AB26
> + - AC15
> + - AC16
> + - AC17
> + - AC18
> + - AC19
> + - AC20
> + - AC22
> + - AC24
> + - AC25
> + - AC26
> + - AD15
> + - AD16
> + - AD17
> + - AD18
> + - AD19
> + - AD20
> + - AD22
> + - AD25
> + - AD26
> + - AE16
> + - AE17
> + - AE18
> + - AE19
> + - AE20
> + - AE21
> + - AE23
> + - AE25
> + - AE26
> + - AF16
> + - AF17
> + - AF18
> + - AF19
> + - AF20
> + - AF21
> + - AF23
> + - AF25
> + - AF26
> + - B10
> + - B11
> + - B12
> + - B13
> + - B14
> + - B15
> + - B16
> + - B18
> + - B19
> + - B21
> + - B22
> + - B23
> + - B24
> + - B25
> + - B26
> + - B6
> + - B7
> + - B8
> + - B9
> + - C10
> + - C11
> + - C12
> + - C13
> + - C14
> + - C15
> + - C16
> + - C17
> + - C18
> + - C19
> + - C20
> + - C23
> + - C26
> + - C6
> + - C7
> + - C8
> + - C9
> + - D10
> + - D12
> + - D14
> + - D15
> + - D19
> + - D20
> + - D24
> + - D26
> + - D7
> + - D8
> + - D9
> + - E10
> + - E11
> + - E12
> + - E13
> + - E14
> + - E26
> + - E7
> + - E8
> + - E9
> + - F10
> + - F11
> + - F12
> + - F13
> + - F14
> + - F26
> + - F7
> + - F8
> + - F9
> + - G10
> + - G11
> + - G7
> + - G8
> + - G9
> + - H10
> + - H11
> + - H7
> + - H8
> + - H9
> + - J10
> + - J11
> + - J12
> + - J13
> + - J9
> + - K12
> + - K13
> + - L12
> + - M13
> + - M14
> + - M15
> + - M16
> + - N13
> + - N14
> + - N15
> + - N25
> + - N26
> + - P13
> + - P14
> + - P25
> + - P26
> + - R14
> + - R25
> + - R26
> + - T23
> + - T24
> + - U21
> + - U22
> + - U25
> + - U26
> + - V14
> + - V16
> + - V17
> + - V18
> + - V19
> + - V20
> + - V21
> + - V22
> + - V23
> + - V24
> + - W14
> + - W16
> + - W17
> + - W18
> + - W20
> + - W21
> + - W22
> + - W25
> + - W26
> + - Y11
> + - Y15
> + - Y16
> + - Y17
> + - Y18
> + - Y20
> + - Y21
> + - Y22
> + - Y23
> + - Y24
> + - Y25
> + - Y26
> +
> + drive-strength:
> + enum: [4, 8, 12, 16]
> +
> + bias-disable: true
> + bias-pull-up: true
> + bias-pull-down: true
> +
> +required:
> + - compatible
> + - reg
> +
> +allOf:
> + - $ref: pinctrl.yaml#
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pinctrl@400 {
> + compatible = "aspeed,ast2700-soc1-pinctrl";
> + reg = <0x400 0x2A0>;
> + sgpm0-state {
> + function = "SGPM0";
> + groups = "SGPM0";
> + };
> + };
>
> --
> 2.34.1
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2026-05-15 17:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 9:37 [PATCH v3 0/3] pinctrl: aspeed: Add AST2700 SoC1 support Billy Tsai
2026-05-15 9:37 ` [PATCH v3 1/3] dt-bindings: mfd: aspeed,ast2x00-scu: Support AST2700 SoC1 pinctrl Billy Tsai
2026-05-15 17:18 ` Conor Dooley
2026-05-15 9:37 ` [PATCH v3 2/3] dt-bindings: pinctrl: Add aspeed,ast2700-soc1-pinctrl Billy Tsai
2026-05-15 10:08 ` sashiko-bot
2026-05-15 17:23 ` Conor Dooley [this message]
2026-05-15 9:37 ` [PATCH v3 3/3] pinctrl: aspeed: Add AST2700 SoC1 support Billy Tsai
2026-05-15 10:40 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260515-verify-awhile-cb0c72d49e91@spud \
--to=conor@kernel.org \
--cc=BMC-SW@aspeedtech.com \
--cc=andrew@aj.id.au \
--cc=andrew@codeconstruct.com.au \
--cc=billy_tsai@aspeedtech.com \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=joel@jms.id.au \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=openbmc@lists.ozlabs.org \
--cc=patrickw3@meta.com \
--cc=robh@kernel.org \
--cc=ryan_chen@aspeedtech.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox