Re: [PATCH RFC 05/12] dt-bindings: serial: Add BL808 UART

From: Conor Dooley

Date: Thu Oct 29 2026 - 15:18:52 EST


On Thu, Oct 29, 2026 at 06:54:49PM +0000, Conor Dooley wrote:
> On Thu, Oct 29, 2026 at 01:05:46AM -0400, Kwanghoon Son wrote:
> > Describe the UART register range, interrupt and baud clock input.
> > Initial Linux support targets the BL808 32-byte FIFO and reuses
> > Zephyr's bflb,uart compatible. UART3 is D0 PLIC source 20.
> >
> > Link: https://docs.zephyrproject.org/latest/build/dts/api/bindings/serial/bflb,uart.html
> >
> > Signed-off-by: Kwanghoon Son <asdfkwang@xxxxxxxxx>
> > ---
> > .../devicetree/bindings/serial/bflb,uart.yaml | 57 ++++++++++++++++++++++
> > 1 file changed, 57 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/serial/bflb,uart.yaml b/Documentation/devicetree/bindings/serial/bflb,uart.yaml
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..df29d258f0a1c6d7bb283cf19c4157436991b64b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/serial/bflb,uart.yaml
> > @@ -0,0 +1,57 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/serial/bflb,uart.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Bouffalo Lab UART Controller
> > +
> > +description: |
> > + UART IP used by Bouffalo Lab SoCs. Initial Linux support covers the
> > + BL808 controller with a 32-byte FIFO. The compatible follows Zephyr.
> > +
> > +maintainers:
> > + - Kwanghoon Son <asdfkwang@xxxxxxxxx>
> > +
> > +allOf:
> > + - $ref: serial.yaml#
> > +
> > +properties:
> > + compatible:
> > + const: bflb,uart
>
> This needs to be a device-specific compatible - please just use the
> binding already reviewed and agreed upon in Jisheng's 2023 series.
>
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + items:
> > + - description: Baud rate generator clock
> > +
> > + clock-names:
> > + items:
> > + - const: baud
>
> Drop this clock name, with only one clock there's no more need for it
> than the interrupt-names or reg-names that you do not use either.

And additionally, I see no value in picking something to suit zephyr,
when zephyr uses things like "bflb,clock-controller" or "bflb,pwm-1" and
"bflb,pwm2" and so on. Make a clean break and do things correctly rather
than try (and fail) to be compatible with the zephyr dts.

>
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/interrupt-controller/irq.h>
> > +
> > + uart3: serial@30002000 {
> > + compatible = "bflb,uart";
> > + reg = <0x30002000 0x1000>;
> > + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&uart_baud>;
> > + clock-names = "baud";
> > + };
> > +...
> >
> > --
> > 2.47.3
> >


Attachment: signature.asc
Description: PGP signature