On Friday 15 October 2021 11:09:37 Pali Rohár wrote: > On Thursday 14 October 2021 17:13:03 Stephen Boyd wrote: > > Quoting Pali Rohár (2021-09-30 02:58:35) > > > diff --git a/Documentation/devicetree/bindings/clock/marvell,armada-3700-uart-clock.yaml b/Documentation/devicetree/bindings/clock/marvell,armada-3700-uart-clock.yaml > > > new file mode 100644 > > > index 000000000000..175f5c8f2bc5 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/clock/marvell,armada-3700-uart-clock.yaml > > > @@ -0,0 +1,59 @@ > > [..] > > > + '#clock-cells': > > > + const: 1 > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - clocks > > > + - clock-names > > > + - '#clock-cells' > > > + > > > +additionalProperties: false > > > + > > > +examples: > > > + - | > > > + uartclk: clock-controller@12010 { > > > > The uart device is at 0x12000 and the clock-controller is at 0x12010? > > This looks like a node is being put into DT to represent a clk driver. > > Why can't we register a clk from the uart device driver itself? I think > > we talked about this a month or two ago but it still isn't clear to me. > > We have already talked about it and I have already wrote reasons. UART > clk is shared for both UART1 and UART2. And UART clk regs are in both > address spaces of UART1 and UART2. UART1 or UART2 can be independently > disabled on particular board (as pins are MPP which may be configured to > different function). So you have a board only with UART2, you have to > disable UART1 node, but at the same time you have to access UART clk to > drive UART2. And UART clk bits are in UART1 address space. It is explained also in commit message of patch 2/6. > > > + 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>; > > > + }; > > > -- > > > 2.20.1 > > >