Message ID | 20230307222651.2106615-4-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | meson-uart: Use "divide XTAL by 2" bit on G12A | expand |
On 07/03/2023 23:26, Martin Blumenstingl wrote: > Switch meson-12-common.dtsi to use the Meson G12A specific UART > compatible string. This enables the "divide XTAL by 2" divider which > improves support for UART attached Bluetooth modules (for example > RTL8822CS) running at a baud rate of 1500000. Without dividing XTAL > (24MHz) by 2 a baud rate of 1500000 cannot be generated cleanly and the > resulting jitter breaks communication with the module. > > Tested-by: Christian Hewitt <christianshewitt@gmail.com> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > --- > Greg, please don't take this through your tree. I included this patch > to show the overall goal of this series. If Neil won't take this as > part of another series then I'll send it separately. > > Changes from v1 -> v2: > - keep meson-gx-uart as fallback compatible string > > Changes from v2 -> v3: > - none > > > arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi > index 123a56f7f818..904bcd4d2acf 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi > @@ -2046,7 +2046,8 @@ pwm_AO_cd: pwm@2000 { > }; > > uart_AO: serial@3000 { > - compatible = "amlogic,meson-gx-uart", > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart", > "amlogic,meson-ao-uart"; > reg = <0x0 0x3000 0x0 0x18>; > interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; > @@ -2056,7 +2057,8 @@ uart_AO: serial@3000 { > }; > > uart_AO_B: serial@4000 { > - compatible = "amlogic,meson-gx-uart", > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart", > "amlogic,meson-ao-uart"; > reg = <0x0 0x4000 0x0 0x18>; > interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; > @@ -2293,7 +2295,8 @@ clk_msr: clock-measure@18000 { > }; > > uart_C: serial@22000 { > - compatible = "amlogic,meson-gx-uart"; > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart"; > reg = <0x0 0x22000 0x0 0x18>; > interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; > clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; > @@ -2302,7 +2305,8 @@ uart_C: serial@22000 { > }; > > uart_B: serial@23000 { > - compatible = "amlogic,meson-gx-uart"; > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart"; > reg = <0x0 0x23000 0x0 0x18>; > interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; > clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; > @@ -2311,7 +2315,8 @@ uart_B: serial@23000 { > }; > > uart_A: serial@24000 { > - compatible = "amlogic,meson-gx-uart"; > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart"; > reg = <0x0 0x24000 0x0 0x18>; > interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; > clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
On 07/03/2023 23:26, Martin Blumenstingl wrote: > Switch meson-12-common.dtsi to use the Meson G12A specific UART > compatible string. This enables the "divide XTAL by 2" divider which > improves support for UART attached Bluetooth modules (for example > RTL8822CS) running at a baud rate of 1500000. Without dividing XTAL > (24MHz) by 2 a baud rate of 1500000 cannot be generated cleanly and the > resulting jitter breaks communication with the module. > > Tested-by: Christian Hewitt <christianshewitt@gmail.com> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > --- > Greg, please don't take this through your tree. I included this patch > to show the overall goal of this series. If Neil won't take this as > part of another series then I'll send it separately. Actually I'm ok if Greg takes the whole patchset, including this one, via the tty tree. Neil > > Changes from v1 -> v2: > - keep meson-gx-uart as fallback compatible string > > Changes from v2 -> v3: > - none > > > arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi > index 123a56f7f818..904bcd4d2acf 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi > @@ -2046,7 +2046,8 @@ pwm_AO_cd: pwm@2000 { > }; > > uart_AO: serial@3000 { > - compatible = "amlogic,meson-gx-uart", > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart", > "amlogic,meson-ao-uart"; > reg = <0x0 0x3000 0x0 0x18>; > interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; > @@ -2056,7 +2057,8 @@ uart_AO: serial@3000 { > }; > > uart_AO_B: serial@4000 { > - compatible = "amlogic,meson-gx-uart", > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart", > "amlogic,meson-ao-uart"; > reg = <0x0 0x4000 0x0 0x18>; > interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; > @@ -2293,7 +2295,8 @@ clk_msr: clock-measure@18000 { > }; > > uart_C: serial@22000 { > - compatible = "amlogic,meson-gx-uart"; > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart"; > reg = <0x0 0x22000 0x0 0x18>; > interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; > clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; > @@ -2302,7 +2305,8 @@ uart_C: serial@22000 { > }; > > uart_B: serial@23000 { > - compatible = "amlogic,meson-gx-uart"; > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart"; > reg = <0x0 0x23000 0x0 0x18>; > interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; > clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; > @@ -2311,7 +2315,8 @@ uart_B: serial@23000 { > }; > > uart_A: serial@24000 { > - compatible = "amlogic,meson-gx-uart"; > + compatible = "amlogic,meson-g12a-uart", > + "amlogic,meson-gx-uart"; > reg = <0x0 0x24000 0x0 0x18>; > interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; > clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
On Wed, Mar 08, 2023 at 01:21:21PM +0100, neil.armstrong@linaro.org wrote: > On 07/03/2023 23:26, Martin Blumenstingl wrote: > > Switch meson-12-common.dtsi to use the Meson G12A specific UART > > compatible string. This enables the "divide XTAL by 2" divider which > > improves support for UART attached Bluetooth modules (for example > > RTL8822CS) running at a baud rate of 1500000. Without dividing XTAL > > (24MHz) by 2 a baud rate of 1500000 cannot be generated cleanly and the > > resulting jitter breaks communication with the module. > > > > Tested-by: Christian Hewitt <christianshewitt@gmail.com> > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > > --- > > Greg, please don't take this through your tree. I included this patch > > to show the overall goal of this series. If Neil won't take this as > > part of another series then I'll send it separately. > > Actually I'm ok if Greg takes the whole patchset, including this one, via > the tty tree. Ok, I'll take them all, thanks. greg k-h
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi index 123a56f7f818..904bcd4d2acf 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -2046,7 +2046,8 @@ pwm_AO_cd: pwm@2000 { }; uart_AO: serial@3000 { - compatible = "amlogic,meson-gx-uart", + compatible = "amlogic,meson-g12a-uart", + "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; reg = <0x0 0x3000 0x0 0x18>; interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; @@ -2056,7 +2057,8 @@ uart_AO: serial@3000 { }; uart_AO_B: serial@4000 { - compatible = "amlogic,meson-gx-uart", + compatible = "amlogic,meson-g12a-uart", + "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; reg = <0x0 0x4000 0x0 0x18>; interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; @@ -2293,7 +2295,8 @@ clk_msr: clock-measure@18000 { }; uart_C: serial@22000 { - compatible = "amlogic,meson-gx-uart"; + compatible = "amlogic,meson-g12a-uart", + "amlogic,meson-gx-uart"; reg = <0x0 0x22000 0x0 0x18>; interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; @@ -2302,7 +2305,8 @@ uart_C: serial@22000 { }; uart_B: serial@23000 { - compatible = "amlogic,meson-gx-uart"; + compatible = "amlogic,meson-g12a-uart", + "amlogic,meson-gx-uart"; reg = <0x0 0x23000 0x0 0x18>; interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; @@ -2311,7 +2315,8 @@ uart_B: serial@23000 { }; uart_A: serial@24000 { - compatible = "amlogic,meson-gx-uart"; + compatible = "amlogic,meson-g12a-uart", + "amlogic,meson-gx-uart"; reg = <0x0 0x24000 0x0 0x18>; interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;