Re: [PATCH v4 3/6] dt-bindings: mvebu-uart: document DT bindings for marvell,armada-3700-uart-clock

From: Pali Rohár
Date: Fri Aug 06 2021 - 04:28:31 EST


On Thursday 05 August 2021 17:30:19 Stephen Boyd wrote:
> > diff --git a/Documentation/devicetree/bindings/clock/armada3700-uart-clock.yaml b/Documentation/devicetree/bindings/clock/armada3700-uart-clock.yaml
> > new file mode 100644
> > index 000000000000..5ef04f3affda
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/armada3700-uart-clock.yaml
> > @@ -0,0 +1,49 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/clock/marvell,armada-3700-uart-clock#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +title: Marvell Armada 3720 UART clocks
>
> Please add a newline here
>
> > +properties:
> > + compatible:
> > + const: marvell,armada-3700-uart-clock
>
> Please add a newline here
>
> > + reg:
> > + items:
> > + - description: UART Clock Control Register
> > + - description: UART 2 Baud Rate Divisor Register
>
> Please add a newline here
>
> > + clocks:
> > + description: |
> > + List of parent clocks suitable for UART from following set:
> > + "TBG-A-P", "TBG-B-P", "TBG-A-S", "TBG-B-S", "xtal"
> > + UART clock can use one from this set and when more are provided
> > + then kernel would choose and configure the most suitable one.
> > + It is suggest to specify at least one TBG clock to achieve
> > + baudrates above 230400 and also to specify clock which bootloader
> > + used for UART (most probably xtal) for smooth boot log on UART.
>
> Please use items and const like clock-names for the clocks property.

It is already there, see below.

> The description makes me feel like the DT is configuring the choices
> available.

See description. It is kernel (driver) who is choosing one clock from
the set and then configure it a UART clock.

> Ideally, the clocks and clock-names properties are fixed in
> length and never change unless the compatible changes.
>
> Please add a newline here
>
> > + clock-names:
> > + items:
> > + - const: TBG-A-P
> > + - const: TBG-B-P
> > + - const: TBG-A-S
> > + - const: TBG-B-S
> > + - const: xtal
> > + minItems: 1
> > + maxItems: 5
>
> Please add a newline here
>
> > + '#clock-cells':
> > + const: 1
>
> Please add a newline here
>
> > +required:
> > + - compatible
> > + - reg
> > + - clocks
> > + - clock-names
> > + - '#clock-cells'
>
> Please add a newline here
>
> > +additionalProperties: false
>
> Please add a newline here
>
> > +examples:
> > + - |
> > + uartclk: uartclk@12000 {
> > + compatible = "marvell,armada-3700-uart-clock";
> > + reg = <0x12010 0x4>, <0x12210 0x4>;
> > + clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, <&tbg 3>, <&xtalclk>;
> > + clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S", "TBG-B-S", "xtal";
> > + #clock-cells = <1>;
> > + };