Devicetree
 help / color / mirror / Atom feed
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 --]

  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