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

Conor Dooley conor at kernel.org
Thu Oct 29 12:18:38 PDT 2026


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 at gmail.com>
> > ---
> >  .../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 at gmail.com>
> > +
> > +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 at 30002000 {
> > +        compatible = "bflb,uart";
> > +        reg = <0x30002000 0x1000>;
> > +        interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
> > +        clocks = <&uart_baud>;
> > +        clock-names = "baud";
> > +    };
> > +...
> > 
> > -- 
> > 2.47.3
> > 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20261029/1c5bb4ae/attachment.sig>


More information about the linux-riscv mailing list