Message ID | 20210930095838.28145-6-pali@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | serial: mvebu-uart: Support for higher baudrates | expand |
Hello Pali, > This change defines DT node for UART clock "marvell,armada-3700-uart-clock" > and use this UART clock as a base clock for all UART devices. > > Signed-off-by: Pali Rohár <pali@kernel.org> > > --- > Changes in v6: > * Do not disable uartclk by default > * Rename node to clock-controller@12010 > --- > arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi > index 9acc5d2b5a00..f9bfe73d8ec2 100644 > --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi > +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi > @@ -132,10 +132,20 @@ > reg = <0x11500 0x40>; > }; > > + uartclk: clock-controller@12010 { > + 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>; > + }; > + > uart0: serial@12000 { > compatible = "marvell,armada-3700-uart"; > reg = <0x12000 0x18>; > - clocks = <&xtalclk>; > + clocks = <&uartclk 0>; What happens if we have a new kernel using on old device tree ? Gregory > interrupts = > <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, > <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, > @@ -147,7 +157,7 @@ > uart1: serial@12200 { > compatible = "marvell,armada-3700-uart-ext"; > reg = <0x12200 0x30>; > - clocks = <&xtalclk>; > + clocks = <&uartclk 1>; > interrupts = > <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, > <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; > -- > 2.20.1 >
On Wednesday 13 October 2021 16:13:16 Gregory CLEMENT wrote: > Hello Pali, > > > This change defines DT node for UART clock "marvell,armada-3700-uart-clock" > > and use this UART clock as a base clock for all UART devices. > > > > Signed-off-by: Pali Rohár <pali@kernel.org> > > > > --- > > Changes in v6: > > * Do not disable uartclk by default > > * Rename node to clock-controller@12010 > > --- > > arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 14 ++++++++++++-- > > 1 file changed, 12 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi > > index 9acc5d2b5a00..f9bfe73d8ec2 100644 > > --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi > > +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi > > @@ -132,10 +132,20 @@ > > reg = <0x11500 0x40>; > > }; > > > > + uartclk: clock-controller@12010 { > > + 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>; > > + }; > > + > > uart0: serial@12000 { > > compatible = "marvell,armada-3700-uart"; > > reg = <0x12000 0x18>; > > - clocks = <&xtalclk>; > > + clocks = <&uartclk 0>; > > What happens if we have a new kernel using on old device tree ? Hello! There would be no change. New kernel would work as old kernel. Into clocks property you can still set xtatclk as before and it would still works. > Gregory > > > interrupts = > > <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, > > <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, > > @@ -147,7 +157,7 @@ > > uart1: serial@12200 { > > compatible = "marvell,armada-3700-uart-ext"; > > reg = <0x12200 0x30>; > > - clocks = <&xtalclk>; > > + clocks = <&uartclk 1>; > > interrupts = > > <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, > > <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; > > -- > > 2.20.1 > > > > -- > Gregory Clement, Bootlin > Embedded Linux and Kernel engineering > http://bootlin.com
diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi index 9acc5d2b5a00..f9bfe73d8ec2 100644 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi @@ -132,10 +132,20 @@ reg = <0x11500 0x40>; }; + uartclk: clock-controller@12010 { + 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>; + }; + uart0: serial@12000 { compatible = "marvell,armada-3700-uart"; reg = <0x12000 0x18>; - clocks = <&xtalclk>; + clocks = <&uartclk 0>; interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, @@ -147,7 +157,7 @@ uart1: serial@12200 { compatible = "marvell,armada-3700-uart-ext"; reg = <0x12200 0x30>; - clocks = <&xtalclk>; + clocks = <&uartclk 1>; interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
This change defines DT node for UART clock "marvell,armada-3700-uart-clock" and use this UART clock as a base clock for all UART devices. Signed-off-by: Pali Rohár <pali@kernel.org> --- Changes in v6: * Do not disable uartclk by default * Rename node to clock-controller@12010 --- arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)