On Fri, Feb 19, 2021 at 03:37:07PM -0500, Al Cooper wrote: > Add DT bindings for the Broadcom 8250 based UART driver. This > UART is based on an 8250 but adds additional functionality. The > additional features include the ability to use DMA for transfers and > a baud rate clock system that is more accurate at high baud rates. > This UART is backward compatible with the standard 8250 UART. > > Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx> > --- > .../bindings/serial/brcm,bcm7271-uart.yaml | 96 +++++++++++++++++++ > 1 file changed, 96 insertions(+) > create mode 100644 Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml > > diff --git a/Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml b/Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml > new file mode 100644 > index 000000000000..f3d58e613480 > --- /dev/null > +++ b/Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml > @@ -0,0 +1,96 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/serial/brcm,bcm7271-uart.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Broadcom 8250 based serial port devicetree bindings > + > +maintainers: > + - Al Cooper <alcooperx@xxxxxxxxx> > + > +description: |+ > + The Broadcom UART is based on the basic 8250 UART but with > + enhancements for more accurate high speed baud rates and support > + for DMA. > + > +properties: > + $nodename: > + pattern: "^serial@[0-9a-f]+$" Reference serial.yaml and you can drop this (and have slave devices). You'll need to use 'unevaluatedProperties' instead of 'additionalProperties' as well. > + > + compatible: > + items: > + - enum: > + - brcm,bcm7271-uart > + - brcm,bcm7278-uart Blank line. > + reg: > + minItems: 1 > + maxItems: 5 > + > + reg-names: > + description: The UART register block and optionally the DMA register blocks. > + oneOf: > + - items: > + - const: uart > + - items: > + - const: uart > + - const: dma_arb > + - const: dma_rx > + - const: dma_tx > + - const: dma_intr2 > + > + clocks: > + minItems: 1 > + > + clock-names: > + const: sw_baud > + > + interrupts: > + minItems: 1 > + maxItems: 2 > + > + interrupt-names: > + description: The UART interrupt and optionally the DMA interrupt. > + oneOf: > + - items: > + - const: uart > + - items: > + - const: uart > + - const: dma Drop the oneOf and add 'minItems: 1'. > + > +required: > + - compatible > + - reg > + - reg-names > + - clocks > + - clock-names > + - interrupts > + - interrupt-names > + > +additionalProperties: false > + > +examples: > + - | > + serial@840d000 { > + compatible = "brcm,bcm7271-uart"; > + reg = <0x840d000 0x20>; > + reg-names = "uart"; > + interrupts = <0x0 0x62 0x4>; > + interrupt-names = "uart"; > + clocks = <&scmi_clk 190>; > + clock-names = "sw_baud"; > + }; > + > + serial@840e000 { > + compatible = "brcm,bcm7271-uart"; > + reg = <0x840e000 0x20>, > + <0x840e080 0x8>, > + <0x840e100 0xa8>, > + <0x840e200 0x4c>, > + <0x840e300 0x30>; > + reg-names = "uart", "dma_arb", "dma_rx", "dma_tx", "dma_intr2"; > + interrupts = <0x0 0x62 0x4>, <0x0 0x75 0x4>; > + interrupt-names = "uart", "dma"; > + clocks = <&scmi_clk 190>; > + clock-names = "sw_baud"; > + }; > -- > 2.17.1 >