This series improves support for UART attached Bluetooth modules on Amlogic Meson G12A and newer SoCs. These SoCs also support the "divide XTAL by 2" bit which (greatly) reduces jitter when generating baud rates such as 1500000 (which is used by the Bluetooth part of the RTL8822CS SDIO WiFi and UART Bluetooth combo chip). Without this the baud rate calculation is based on the XTAL clock (running at 24MHz) divided by 3 (meaning: 8MHz). 8MHz cannot be divided with integer division to a 1500000 baud rate. Using the "divide XTAL by 2" bit however means that we can achieve 1500000 cleanly, without any jitter. In future we should allow dynamic switching of these UART controller internal dividers to pick the best divider automatically for the requested baud rate. This however still requires the new compatible string - which is added by this series - to enable the "divide XTAL by 2" logic on SoCs that support it (G12A and newer). Changes since v1 at [1]: - make meson-gx-uart a valid fallback compatible string for the newer meson-g12a-uart - rebased on top of v6.3-rc1 Changes since v2 at [2]: - simplify the dt-bindings patch as suggested by Krzysztof Kozlowski (thank you!) which actually uncovers an unwanted change [0] https://lore.kernel.org/linux-bluetooth/3B9D4DB2-D2CD-44FE-817A-F6EA8A0AD734@xxxxxxxxx/ [1] https://lore.kernel.org/lkml/20230222210425.626474-1-martin.blumenstingl@xxxxxxxxxxxxxx/ [2] https://lore.kernel.org/lkml/20230306194223.1869814-1-martin.blumenstingl@xxxxxxxxxxxxxx/ Martin Blumenstingl (3): dt-bindings: serial: amlogic,meson-uart: Add compatible string for G12A tty: serial: meson: Add a new compatible string for the G12A SoC arm64: dts: meson-g12-common: Use the G12A UART compatible string .../bindings/serial/amlogic,meson-uart.yaml | 9 +++++++++ arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 15 ++++++++++----- drivers/tty/serial/meson_uart.c | 8 ++++++-- 3 files changed, 25 insertions(+), 7 deletions(-) -- 2.39.2