Allow building the Atmel USART driver on Microchip LAN969X (ARCH_MICROCHIP)
in addition to ARCH_AT91, and match the new "microchip,lan9691-usart"
compatible alongside the existing AT91 variants.

Assisted-by: Claude-Code:claude-opus-5
Signed-off-by: Oleksij Rempel <[email protected]>
---
Link to v1: 
https://lore.barebox.org/barebox/[email protected]/

Changes v2:
- Kconfig: keep plain "default y" instead of "default y if ARCH_AT91"
  (Marco Felsch)
---
 drivers/serial/Kconfig | 8 ++++++--
 drivers/serial/atmel.c | 3 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 6ac1d94526c2..e2e7cea55e70 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -90,9 +90,13 @@ config DRIVER_SERIAL_NS16550_OMAP_TTYS
          used.
 
 config DRIVER_SERIAL_ATMEL
-       depends on ARCH_AT91
+       bool "Atmel USART support"
+       depends on ARCH_AT91 || ARCH_MICROCHIP
        default y
-       bool "Atmel serial driver"
+       help
+         This enables the driver for the on-chip UARTs of Atmel/Microchip
+         AT91, SAMA5, and LAN969X SoC families. The driver supports device
+         tree configuration and clock framework integration.
 
 config DRIVER_SERIAL_NS16550_PCI
        depends on DRIVER_SERIAL_NS16550
diff --git a/drivers/serial/atmel.c b/drivers/serial/atmel.c
index 2dcb458fbd30..13747ef8201b 100644
--- a/drivers/serial/atmel.c
+++ b/drivers/serial/atmel.c
@@ -442,8 +442,9 @@ static int atmel_serial_probe(struct device *dev)
 }
 
 static const struct of_device_id __maybe_unused atmel_serial_dt_ids[] = {
-       { .compatible = "atmel,at91rm9200-usart" },
+       { .compatible = "microchip,lan9691-usart" },
        { .compatible = "atmel,at91sam9260-usart" },
+       { .compatible = "atmel,at91rm9200-usart" },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, atmel_serial_dt_ids);
-- 
2.47.3


Reply via email to