Re: [PATCH v4 2/7] dt-bindings: serial: 8250: aspeed: add aspeed,vuart-over-pci bool prop
Krzysztof Kozlowski <[email protected]> Thu, 9 Jul 2026 10:54:53 +0200
| Newsgroups | org.ozlabs.lists.linux-aspeed,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-serial |
|---|---|
| Message-ID | <20260709-shaggy-discreet-dodo-e5ffbb@quoll> |
On Wed, Jul 08, 2026 at 03:35:54PM +0000, Grégoire Layet wrote: > The ASPEED AST2600 has 2 Virtual UARTs accessible over PCI. > The ASPEED AST2600 can be used as a PCI device. > 2 Virtual UART can be exposed to the host via this PCI device. > These are 8250-compatible register sets and can be used to have UART > communication between the PCI BMC and the host. > > This boolean can be set to specify if a VUART is used over PCI. A VUART > over PCI needs a syscon phandle. The syscon gives a regmap to the SCU, > which is used to set the enable bits of the PCI device. > On the aspeed's chips, the clocks phandle already points at the SCU node. > But deriving the regmap from the clock provider would misuse the clocks > binding. An explicit syscon phandle states the dependency directly. > > Signed-off-by: Grégoire Layet <[email protected]> > --- > .../devicetree/bindings/serial/8250.yaml | 22 +++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml > index 8f22121381fc..2ea8981bba80 100644 > --- a/Documentation/devicetree/bindings/serial/8250.yaml > +++ b/Documentation/devicetree/bindings/serial/8250.yaml > @@ -27,6 +27,16 @@ allOf: > enum: > - aspeed,ast2500-vuart > - aspeed,ast2600-vuart > + - if: > + required: > + - aspeed,vuart-over-pci > + then: > + required: > + - syscon > + properties: > + compatible: > + contains: > + const: aspeed,ast2600-vuart else: ... disallow new properties (see example-schema) > - if: > properties: > compatible: > @@ -223,6 +233,12 @@ properties: > - const: uartclk > - const: reg > > + syscon: That's explicitly forbidden by writing bindings (and mentioned as the antipattern in my older talks about DT). > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + Phandle to the SCU syscon, used to enable the VUART over the BMC PCI > + device. Only applicable to aspeed,ast2600-vuart. > + > dmas: > minItems: 1 > maxItems: 4 > @@ -316,6 +332,12 @@ properties: > polarity (IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_LEVEL_HIGH). Only > applicable to aspeed,ast2500-vuart and aspeed,ast2600-vuart. > > + aspeed,vuart-over-pci: > + type: boolean > + description: > + Enable the VUART over the BMC PCI device. Only applicable to > + aspeed,ast2600-vuart. > + > required: > - reg > - interrupts > -- > 2.54.0 >