[PATCH v7 1/3] dt-bindings: pinctrl: Add aspeed,ast2700-soc0-pinctrl

Billy Tsai billy_tsai at aspeedtech.com
Fri Apr 17 12:20:25 AEST 2026


> > +    properties:
> > +      function:
> > +        enum:
> > +          - EMMC
> > +          - JTAGDDR
> > +          - JTAGM0
> > +          - JTAGPCIEA
> > +          - JTAGPCIEB
> > +          - JTAGPSP
> > +          - JTAGSSP
> > +          - JTAGTSP
> > +          - JTAGUSB3A
> > +          - JTAGUSB3B
> > +          - PCIERC0PERST
> > +          - PCIERC1PERST
> > +          - TSPRSTN
> > +          - UFSCLKI
> > +          - USB2AD0
> > +          - USB2AD1
> > +          - USB2AH
> > +          - USB2AHP
> > +          - USB2AHPD0
> > +          - USB2AXH
> > +          - USB2AXH2B
> > +          - USB2AXHD1
> > +          - USB2AXHP
> > +          - USB2AXHP2B
> > +          - USB2AXHPD1
> > +          - USB2BD0
> > +          - USB2BD1
> > +          - USB2BH
> > +          - USB2BHP
> > +          - USB2BHPD0
> > +          - USB2BXH
> > +          - USB2BXH2A
> > +          - USB2BXHD1
> > +          - USB2BXHP
> > +          - USB2BXHP2A
> > +          - USB2BXHPD1
> > +          - USB3AXH
> > +          - USB3AXH2B
> > +          - USB3AXHD
> > +          - USB3AXHP
> > +          - USB3AXHP2B
> > +          - USB3AXHPD
> > +          - USB3BXH
> > +          - USB3BXH2A
> > +          - USB3BXHD
> > +          - USB3BXHP
> > +          - USB3BXHP2A
> > +          - USB3BXHPD
> > +          - VB
> > +          - VGADDC
> > +
> > +      groups:
> > +        enum:
> > +          - EMMCCDN
> > +          - EMMCG1
> > +          - EMMCG4
> > +          - EMMCG8
> > +          - EMMCWPN
> > +          - JTAG0
> > +          - PCIERC0PERST
> > +          - PCIERC1PERST
> > +          - TSPRSTN
> > +          - UFSCLKI
> > +          - USB2A
> > +          - USB2AAP
> > +          - USB2ABP
> > +          - USB2ADAP
> > +          - USB2AH
> > +          - USB2AHAP
> > +          - USB2B
> > +          - USB2BAP
> > +          - USB2BBP
> > +          - USB2BDBP
> > +          - USB2BH
> > +          - USB2BHBP
> > +          - USB3A
> > +          - USB3AAP
> > +          - USB3ABP
> > +          - USB3B
> > +          - USB3BAP
> > +          - USB3BBP
> > +          - VB0
> > +          - VB1
> > +          - VGADDC
> > +      pins:
> > +        enum:
> > +          - AB13
> > +          - AB14
> > +          - AC13
> > +          - AC14
> > +          - AD13
> > +          - AD14
> > +          - AE13
> > +          - AE14
> > +          - AE15
> > +          - AF13
> > +          - AF14
> > +          - AF15

> Why do you have groups and pins?

> Is it valid in your device to have groups and pins in the same node?

The intent is to support both group-based mux selection and
configuration, as well as per-pin configuration.

In our hardware:

- `function` + `groups` are used for pinmux selection.
- `pins` is used for per-pin configuration (e.g. drive strength,
  bias settings).
- `groups` may also be used for group-level configuration.

As a result, both `groups` and `pins` may appear in the same node,
but they serve different purposes and do not conflict:

- `groups` selects the mux function and may apply configuration to
  the entire group.
- `pins` allows overriding or specifying configuration for individual
  pins.

In most cases, only one of them is needed, but both are allowed when
both group-level and per-pin configuration are required.

Thanks
Billy Tsai


More information about the openbmc mailing list