Hi Jisheng, On 5/18/23 10:22, Jisheng Zhang wrote: > Add bindings doc for Bouffalolab UART Driver > > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx> > Acked-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> > --- > .../serial/bouffalolab,bl808-uart.yaml | 47 +++++++++++++++++++ > 1 file changed, 47 insertions(+) > create mode 100644 Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml > > diff --git a/Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml b/Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml > new file mode 100644 > index 000000000000..0ef858e50efb > --- /dev/null > +++ b/Documentation/devicetree/bindings/serial/bouffalolab,bl808-uart.yaml > @@ -0,0 +1,47 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2022 Jisheng Zhang <jszhang@xxxxxxxxxx> > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/serial/bouffalolab,bl808-uart.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Bouffalolab UART Controller > + > +maintainers: > + - Jisheng Zhang <jszhang@xxxxxxxxxx> > + > +allOf: > + - $ref: serial.yaml# > + > +properties: > + compatible: > + const: bouffalolab,bl808-uart > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + maxItems: 1 This is not complete. There are separate APB and module (baud) clocks, as well as a peripheral reset line. If we are going to keep the binding stable, these need to be described up front. (I still don't fully understand the clock tree, and so far that has been the main blocker for me sending a follow-up series with additional bindings for hardware that's otherwise already supported, like the Ethernet MAC.) Regards, Samuel > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + > + uart0: serial@30002000 { > + compatible = "bouffalolab,bl808-uart"; > + reg = <0x30002000 0x1000>; > + interrupts = <53 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&xtal>; > + }; > +...