* [PATCH 0/5] serial: mcf: add devicetree support
@ 2026-10-13 12:06 Greg Ungerer
2026-10-13 12:06 ` [PATCH 1/5] serial: mcf: update author email address Greg Ungerer
` (4 more replies)
0 siblings, 5 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-13 12:06 UTC (permalink / raw)
To: linux-m68k, linux-serial; +Cc: Greg Ungerer
This patch series is designed to add devicetree support to the ColdFire
serial driver (mcf.c). The m68k/ColdFire arch support is not devicetree
capable itself yet, but this is an important first step.
The first patch is a cleanup, the second is about normalizing the existing
platform device setup. The third changes the driver to always use dynamic
memory allocation for devices, the forth and fifth patches add the
devicetree support itself.
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
---
b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml | 43 ++
b/arch/m68k/coldfire/device.c | 179 +++++++----
b/arch/m68k/include/asm/mcfuart.h | 10
b/drivers/tty/serial/mcf.c | 4
drivers/tty/serial/mcf.c | 93 +++--
5 files changed, 235 insertions(+), 94 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/5] serial: mcf: update author email address
2026-10-13 12:06 [PATCH 0/5] serial: mcf: add devicetree support Greg Ungerer
@ 2026-10-13 12:06 ` Greg Ungerer
2026-10-13 12:07 ` [PATCH 2/5] serial: mcf: convert to use proper platform resources Greg Ungerer
` (3 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-13 12:06 UTC (permalink / raw)
To: linux-m68k, linux-serial; +Cc: Greg Ungerer
The copyright and author email address of gerg@uclinux.org is no longer
valid. Change to a current valid email address, gerg@linux-m68k.org.
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
---
drivers/tty/serial/mcf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 93e7dda4d39a..2b862dfe39ab 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -4,7 +4,7 @@
/*
* mcf.c -- Freescale ColdFire UART driver
*
- * (C) Copyright 2003-2007, Greg Ungerer <gerg@uclinux.org>
+ * (C) Copyright 2003-2007, Greg Ungerer <gerg@linux-m68k.org>
*/
/****************************************************************************/
@@ -654,7 +654,7 @@ static void __exit mcf_exit(void)
module_init(mcf_init);
module_exit(mcf_exit);
-MODULE_AUTHOR("Greg Ungerer <gerg@uclinux.org>");
+MODULE_AUTHOR("Greg Ungerer <gerg@linux-m68k.org>");
MODULE_DESCRIPTION("Freescale ColdFire UART driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:mcfuart");
--
2.55.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/5] serial: mcf: convert to use proper platform resources
2026-10-13 12:06 [PATCH 0/5] serial: mcf: add devicetree support Greg Ungerer
2026-10-13 12:06 ` [PATCH 1/5] serial: mcf: update author email address Greg Ungerer
@ 2026-10-13 12:07 ` Greg Ungerer
2026-10-13 12:07 ` [PATCH 3/5] serial: mcf: dynamically allocate memory Greg Ungerer
` (2 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-13 12:07 UTC (permalink / raw)
To: linux-m68k, linux-serial; +Cc: Greg Ungerer
The ColdFire SoC device setup code supplies a non-standard array of
hardware address information (memory address and IRQ) for initializing
the UARTS - which it does as a single blob. The mcf serial probe
function processes the whole set in one go from a single platform entry.
Convert this setup to use the proper resource structures, with one for
each UART present on a platform. Modify the probe function to process
a single platform device per call, and use the proper platform resource
API to get the memory and IRQ addresses. This results in the proper
entries now being present in /proc/iomem.
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
---
arch/m68k/coldfire/device.c | 179 +++++++++++++++++++++++---------
arch/m68k/include/asm/mcfuart.h | 10 --
drivers/tty/serial/mcf.c | 45 ++++----
3 files changed, 154 insertions(+), 80 deletions(-)
diff --git a/arch/m68k/coldfire/device.c b/arch/m68k/coldfire/device.c
index 9a0258acd998..e32bc3322c97 100644
--- a/arch/m68k/coldfire/device.c
+++ b/arch/m68k/coldfire/device.c
@@ -18,8 +18,8 @@
#include <asm/traps.h>
#include <asm/coldfire.h>
#include <asm/mcfsim.h>
-#include <asm/mcfuart.h>
#include <asm/mcfqspi.h>
+#include <linux/platform_device.h>
#include <linux/platform_data/edma.h>
#include <linux/platform_data/dma-mcf-edma.h>
#include <linux/platform_data/mmc-esdhc-mcf.h>
@@ -27,71 +27,125 @@
/*
* All current ColdFire parts contain from 2, 3, 4 or 10 UARTS.
*/
-static struct mcf_platform_uart mcf_uart_platform_data[] = {
- {
- .mapbase = MCFUART_BASE0,
- .irq = MCF_IRQ_UART0,
- },
- {
- .mapbase = MCFUART_BASE1,
- .irq = MCF_IRQ_UART1,
- },
+static struct resource mcf_uart0_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE0, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART0),
+};
+static struct platform_device mcf_uart0 = {
+ .name = "mcfuart",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(mcf_uart0_resources),
+ .resource = mcf_uart0_resources,
+};
+
+#ifdef MCFUART_BASE1
+static struct resource mcf_uart1_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE1, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART1),
+};
+static struct platform_device mcf_uart1 = {
+ .name = "mcfuart",
+ .id = 1,
+ .num_resources = ARRAY_SIZE(mcf_uart1_resources),
+ .resource = mcf_uart1_resources,
+};
+#endif
#ifdef MCFUART_BASE2
- {
- .mapbase = MCFUART_BASE2,
- .irq = MCF_IRQ_UART2,
- },
+static struct resource mcf_uart2_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE2, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART2),
+};
+static struct platform_device mcf_uart2 = {
+ .name = "mcfuart",
+ .id = 2,
+ .num_resources = ARRAY_SIZE(mcf_uart2_resources),
+ .resource = mcf_uart2_resources,
+};
#endif
#ifdef MCFUART_BASE3
- {
- .mapbase = MCFUART_BASE3,
- .irq = MCF_IRQ_UART3,
- },
+static struct resource mcf_uart3_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE3, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART3),
+};
+static struct platform_device mcf_uart3 = {
+ .name = "mcfuart",
+ .id = 3,
+ .num_resources = ARRAY_SIZE(mcf_uart3_resources),
+ .resource = mcf_uart3_resources,
+};
#endif
#ifdef MCFUART_BASE4
- {
- .mapbase = MCFUART_BASE4,
- .irq = MCF_IRQ_UART4,
- },
+static struct resource mcf_uart4_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE4, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART4),
+};
+static struct platform_device mcf_uart4 = {
+ .name = "mcfuart",
+ .id = 4,
+ .num_resources = ARRAY_SIZE(mcf_uart4_resources),
+ .resource = mcf_uart4_resources,
+};
#endif
#ifdef MCFUART_BASE5
- {
- .mapbase = MCFUART_BASE5,
- .irq = MCF_IRQ_UART5,
- },
+static struct resource mcf_uart5_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE5, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART5),
+};
+static struct platform_device mcf_uart5 = {
+ .name = "mcfuart",
+ .id = 5,
+ .num_resources = ARRAY_SIZE(mcf_uart5_resources),
+ .resource = mcf_uart5_resources,
+};
#endif
#ifdef MCFUART_BASE6
- {
- .mapbase = MCFUART_BASE6,
- .irq = MCF_IRQ_UART6,
- },
+static struct resource mcf_uart6_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE6, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART6),
+};
+static struct platform_device mcf_uart6 = {
+ .name = "mcfuart",
+ .id = 6,
+ .num_resources = ARRAY_SIZE(mcf_uart6_resources),
+ .resource = mcf_uart6_resources,
+};
#endif
#ifdef MCFUART_BASE7
- {
- .mapbase = MCFUART_BASE7,
- .irq = MCF_IRQ_UART7,
- },
+static struct resource mcf_uart7_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE7, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART7),
+};
+static struct platform_device mcf_uart7 = {
+ .name = "mcfuart",
+ .id = 7,
+ .num_resources = ARRAY_SIZE(mcf_uart7_resources),
+ .resource = mcf_uart7_resources,
+};
#endif
#ifdef MCFUART_BASE8
- {
- .mapbase = MCFUART_BASE8,
- .irq = MCF_IRQ_UART8,
- },
+static struct resource mcf_uart8_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE8, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART8),
+};
+static struct platform_device mcf_uart8 = {
+ .name = "mcfuart",
+ .id = 8,
+ .num_resources = ARRAY_SIZE(mcf_uart8_resources),
+ .resource = mcf_uart8_resources,
+};
#endif
#ifdef MCFUART_BASE9
- {
- .mapbase = MCFUART_BASE9,
- .irq = MCF_IRQ_UART9,
- },
-#endif
- { },
+static struct resource mcf_uart9_resources[] = {
+ DEFINE_RES_MEM(MCFUART_BASE9, 0x80),
+ DEFINE_RES_IRQ(MCF_IRQ_UART9),
};
-
-static struct platform_device mcf_uart = {
+static struct platform_device mcf_uart9 = {
.name = "mcfuart",
- .id = 0,
- .dev.platform_data = mcf_uart_platform_data,
+ .id = 9,
+ .num_resources = ARRAY_SIZE(mcf_uart9_resources),
+ .resource = mcf_uart9_resources,
};
+#endif
#ifdef MCFFEC_BASE0
@@ -623,7 +677,34 @@ static struct platform_device mcf_flexcan0 = {
#endif /* MCFFLEXCAN_SIZE */
static struct platform_device *mcf_devices[] __initdata = {
- &mcf_uart,
+ &mcf_uart0,
+#ifdef MCFUART_BASE1
+ &mcf_uart1,
+#endif
+#ifdef MCFUART_BASE2
+ &mcf_uart2,
+#endif
+#ifdef MCFUART_BASE3
+ &mcf_uart3,
+#endif
+#ifdef MCFUART_BASE4
+ &mcf_uart4,
+#endif
+#ifdef MCFUART_BASE5
+ &mcf_uart5,
+#endif
+#ifdef MCFUART_BASE6
+ &mcf_uart6,
+#endif
+#ifdef MCFUART_BASE7
+ &mcf_uart7,
+#endif
+#ifdef MCFUART_BASE8
+ &mcf_uart8,
+#endif
+#ifdef MCFUART_BASE9
+ &mcf_uart9,
+#endif
#ifdef MCFFEC_BASE0
&mcf_fec0,
#endif
diff --git a/arch/m68k/include/asm/mcfuart.h b/arch/m68k/include/asm/mcfuart.h
index a1f35352f328..c80b022c1ebb 100644
--- a/arch/m68k/include/asm/mcfuart.h
+++ b/arch/m68k/include/asm/mcfuart.h
@@ -13,16 +13,6 @@
#define mcfuart_h
/****************************************************************************/
-#include <linux/serial_core.h>
-#include <linux/platform_device.h>
-
-struct mcf_platform_uart {
- unsigned long mapbase; /* Physical address base */
- void __iomem *membase; /* Virtual address if mapped */
- unsigned int irq; /* Interrupt vector */
- unsigned int uartclk; /* UART clock rate */
-};
-
/*
* Define the ColdFire UART register set addresses.
*/
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 2b862dfe39ab..3651910dff99 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -570,31 +570,34 @@ static struct uart_driver mcf_driver = {
static int mcf_probe(struct platform_device *pdev)
{
- struct mcf_platform_uart *platp = dev_get_platdata(&pdev->dev);
struct uart_port *port;
- int i;
+ struct resource *res;
- for (i = 0; ((i < MCF_MAXPORTS) && (platp[i].mapbase)); i++) {
- port = &mcf_ports[i].port;
+ if (pdev->id >= MCF_MAXPORTS)
+ return -ENODEV;
+ port = &mcf_ports[pdev->id].port;
- port->line = i;
- port->type = PORT_MCF;
- port->mapbase = platp[i].mapbase;
- port->membase = (platp[i].membase) ? platp[i].membase :
- (unsigned char __iomem *) platp[i].mapbase;
- port->dev = &pdev->dev;
- port->iotype = SERIAL_IO_MEM;
- port->irq = platp[i].irq;
- port->uartclk = MCF_BUSCLK;
- port->ops = &mcf_uart_ops;
- port->flags = UPF_BOOT_AUTOCONF;
- port->rs485_config = mcf_config_rs485;
- port->rs485_supported = mcf_rs485_supported;
- port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MCF_CONSOLE);
-
- uart_add_one_port(&mcf_driver, port);
- }
+ port->membase = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
+ if (IS_ERR(port->membase))
+ return PTR_ERR(port->membase);
+ port->mapbase = res->start;
+
+ port->irq = platform_get_irq(pdev, 0);
+ if (port->irq < 0)
+ return port->irq;
+ port->line = pdev->id;
+ port->type = PORT_MCF;
+ port->dev = &pdev->dev;
+ port->iotype = SERIAL_IO_MEM;
+ port->uartclk = MCF_BUSCLK;
+ port->ops = &mcf_uart_ops;
+ port->flags = UPF_BOOT_AUTOCONF;
+ port->rs485_config = mcf_config_rs485;
+ port->rs485_supported = mcf_rs485_supported;
+ port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MCF_CONSOLE);
+
+ uart_add_one_port(&mcf_driver, port);
return 0;
}
--
2.55.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 3/5] serial: mcf: dynamically allocate memory
2026-10-13 12:06 [PATCH 0/5] serial: mcf: add devicetree support Greg Ungerer
2026-10-13 12:06 ` [PATCH 1/5] serial: mcf: update author email address Greg Ungerer
2026-10-13 12:07 ` [PATCH 2/5] serial: mcf: convert to use proper platform resources Greg Ungerer
@ 2026-10-13 12:07 ` Greg Ungerer
2026-10-13 12:07 ` [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart Greg Ungerer
2026-10-13 12:07 ` [PATCH 5/5] serial: mcf: add devicetree support Greg Ungerer
4 siblings, 0 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-13 12:07 UTC (permalink / raw)
To: linux-m68k, linux-serial; +Cc: Greg Ungerer
Modify the ColdFire serial driver to dynamically allocate the local uart
port structures as required at init time. Currently it uses a fixed
size array - a little wasteful of memory on most parts with only a
couple of UARTs.
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
---
drivers/tty/serial/mcf.c | 36 ++++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 3651910dff99..7cbe43cbe3a0 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -55,6 +55,14 @@ struct mcf_uart {
unsigned char imr; /* Local IMR mirror */
};
+/*
+ * Define maximum number of UARTs this driver will support.
+ * This is set to maximum number on any known ColdFire SoC.
+ */
+#define MCF_MAXPORTS 10
+
+static struct mcf_uart *mcf_ports[MCF_MAXPORTS];
+
/****************************************************************************/
static unsigned int mcf_tx_empty(struct uart_port *port)
@@ -462,19 +470,19 @@ static const struct uart_ops mcf_uart_ops = {
.verify_port = mcf_verify_port,
};
-static struct mcf_uart mcf_ports[10];
-
-#define MCF_MAXPORTS ARRAY_SIZE(mcf_ports)
-
/****************************************************************************/
#if defined(CONFIG_SERIAL_MCF_CONSOLE)
/****************************************************************************/
static void mcf_console_putc(struct console *co, const char c)
{
- struct uart_port *port = &(mcf_ports + co->index)->port;
+ struct uart_port *port;
int i;
+ if ((co->index < 0) || (co->index >= MCF_MAXPORTS))
+ co->index = 0;
+ port = &mcf_ports[co->index]->port;
+
for (i = 0; (i < 0x10000); i++) {
if (readb(port->membase + MCFUART_USR) & MCFUART_USR_TXREADY)
break;
@@ -509,9 +517,9 @@ static int __init mcf_console_setup(struct console *co, char *options)
if ((co->index < 0) || (co->index >= MCF_MAXPORTS))
co->index = 0;
- port = &mcf_ports[co->index].port;
- if (port->membase == 0)
+ if (mcf_ports[co->index] == NULL)
return -ENODEV;
+ port = &mcf_ports[co->index]->port;
if (options)
uart_parse_options(options, &baud, &parity, &bits, &flow);
@@ -572,10 +580,16 @@ static int mcf_probe(struct platform_device *pdev)
{
struct uart_port *port;
struct resource *res;
+ struct mcf_uart *mp;
if (pdev->id >= MCF_MAXPORTS)
return -ENODEV;
- port = &mcf_ports[pdev->id].port;
+
+ mp = devm_kzalloc(&pdev->dev, sizeof(*mp), GFP_KERNEL);
+ if (mp == NULL)
+ return -ENOMEM;
+ mcf_ports[pdev->id] = mp;
+ port = &mp->port;
port->membase = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(port->membase))
@@ -605,13 +619,11 @@ static int mcf_probe(struct platform_device *pdev)
static void mcf_remove(struct platform_device *pdev)
{
- struct uart_port *port;
int i;
for (i = 0; (i < MCF_MAXPORTS); i++) {
- port = &mcf_ports[i].port;
- if (port)
- uart_remove_one_port(&mcf_driver, port);
+ if (mcf_ports[i])
+ uart_remove_one_port(&mcf_driver, &mcf_ports[i]->port);
}
}
--
2.55.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-13 12:06 [PATCH 0/5] serial: mcf: add devicetree support Greg Ungerer
` (2 preceding siblings ...)
2026-10-13 12:07 ` [PATCH 3/5] serial: mcf: dynamically allocate memory Greg Ungerer
@ 2026-10-13 12:07 ` Greg Ungerer
2026-10-14 11:24 ` Krzysztof Kozlowski
2026-10-13 12:07 ` [PATCH 5/5] serial: mcf: add devicetree support Greg Ungerer
4 siblings, 1 reply; 17+ messages in thread
From: Greg Ungerer @ 2026-10-13 12:07 UTC (permalink / raw)
To: linux-m68k, linux-serial; +Cc: Greg Ungerer, devicetree
Create documentation for a new binding to support the Freescale ColdFire
UART hardware block. This is found on pretty much all variants of the
M68K derived Freescale ColdFire family of System-on-Chip devices.
It is not compatible with any other known UARTs.
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
---
.../bindings/serial/fsl,mcf-uart.yaml | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
diff --git a/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
new file mode 100644
index 000000000000..d1dba518f67a
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/serial/fsl-mcf-uart.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale ColdFire UART
+
+maintainers:
+ - Greg Ungerer <gerg@linux-m68k.org>
+
+allof:
+ - $ref: serial.yaml#
+
+properties:
+ compatible:
+ const: fsl,mcf-uart
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ uart0: serial@fc060000 {
+ compatible = "fsl,mcf-uart";
+ reg = <0xfc060000 0x80>;
+ interrupts = <90>;
+ clocks = <&coreclk>;
+ };
--
2.55.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 5/5] serial: mcf: add devicetree support
2026-10-13 12:06 [PATCH 0/5] serial: mcf: add devicetree support Greg Ungerer
` (3 preceding siblings ...)
2026-10-13 12:07 ` [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart Greg Ungerer
@ 2026-10-13 12:07 ` Greg Ungerer
4 siblings, 0 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-13 12:07 UTC (permalink / raw)
To: linux-m68k, linux-serial; +Cc: Greg Ungerer
Add basic support for probing the ColdFire UARTs via a devicetree.
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
---
drivers/tty/serial/mcf.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 7cbe43cbe3a0..01b3ab6e7dba 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -21,6 +21,7 @@
#include <linux/io.h>
#include <linux/uaccess.h>
#include <linux/platform_device.h>
+#include <linux/of.h>
#include <asm/coldfire.h>
#include <asm/mcfsim.h>
#include <asm/mcfuart.h>
@@ -62,6 +63,7 @@ struct mcf_uart {
#define MCF_MAXPORTS 10
static struct mcf_uart *mcf_ports[MCF_MAXPORTS];
+static int mcf_numports;
/****************************************************************************/
@@ -582,6 +584,8 @@ static int mcf_probe(struct platform_device *pdev)
struct resource *res;
struct mcf_uart *mp;
+ if (pdev->id == -1)
+ pdev->id = mcf_numports;
if (pdev->id >= MCF_MAXPORTS)
return -ENODEV;
@@ -612,6 +616,8 @@ static int mcf_probe(struct platform_device *pdev)
port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MCF_CONSOLE);
uart_add_one_port(&mcf_driver, port);
+
+ mcf_numports++;
return 0;
}
@@ -629,11 +635,17 @@ static void mcf_remove(struct platform_device *pdev)
/****************************************************************************/
+static const struct of_device_id mcf_uart_dt_ids[] = {
+ { .compatible = "fsl,mcf-uart", },
+ { }
+};
+
static struct platform_driver mcf_platform_driver = {
.probe = mcf_probe,
.remove = mcf_remove,
.driver = {
.name = "mcfuart",
+ .of_match_table = mcf_uart_dt_ids,
},
};
--
2.55.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-13 12:07 ` [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart Greg Ungerer
@ 2026-10-14 11:24 ` Krzysztof Kozlowski
2026-10-14 12:48 ` Greg Ungerer
0 siblings, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-14 11:24 UTC (permalink / raw)
To: Greg Ungerer; +Cc: linux-m68k, linux-serial, devicetree
On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
> Create documentation for a new binding to support the Freescale ColdFire
> UART hardware block. This is found on pretty much all variants of the
> M68K derived Freescale ColdFire family of System-on-Chip devices.
>
> It is not compatible with any other known UARTs.
You never tested this, so limited review.
>
> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
> ---
> .../bindings/serial/fsl,mcf-uart.yaml | 43 +++++++++++++++++++
> 1 file changed, 43 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
>
> diff --git a/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
> new file mode 100644
> index 000000000000..d1dba518f67a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/serial/fsl-mcf-uart.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale ColdFire UART
> +
> +maintainers:
> + - Greg Ungerer <gerg@linux-m68k.org>
> +
> +allof:
> + - $ref: serial.yaml#
> +
> +properties:
> + compatible:
> + const: fsl,mcf-uart
What is the SoC name? MCF? Compatibles must be specific (see writing
bindings doc).
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + uart0: serial@fc060000 {
Drop unused label
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-14 11:24 ` Krzysztof Kozlowski
@ 2026-10-14 12:48 ` Greg Ungerer
2026-10-15 8:56 ` Krzysztof Kozlowski
2026-10-15 9:19 ` Geert Uytterhoeven
0 siblings, 2 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-14 12:48 UTC (permalink / raw)
To: Krzysztof Kozlowski; +Cc: linux-m68k, linux-serial, devicetree
On 14/10/26 21:24, Krzysztof Kozlowski wrote:
> On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
>> Create documentation for a new binding to support the Freescale ColdFire
>> UART hardware block. This is found on pretty much all variants of the
>> M68K derived Freescale ColdFire family of System-on-Chip devices.
>>
>> It is not compatible with any other known UARTs.
>
> You never tested this, so limited review.
It is tested. It is working and running on multiple ColdFire platforms.
>> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
>> ---
>> .../bindings/serial/fsl,mcf-uart.yaml | 43 +++++++++++++++++++
>> 1 file changed, 43 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
>> new file mode 100644
>> index 000000000000..d1dba518f67a
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
>> @@ -0,0 +1,43 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/serial/fsl-mcf-uart.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Freescale ColdFire UART
>> +
>> +maintainers:
>> + - Greg Ungerer <gerg@linux-m68k.org>
>> +
>> +allof:
>> + - $ref: serial.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: fsl,mcf-uart
>
> What is the SoC name? MCF? Compatibles must be specific (see writing
> bindings doc).
Yes. MCF = "Motorola ColdFire". It is the SoC prefix used for naming of all
ColdFire parts (which is dozens of variants):
MCF5206
MCF5208
MCF5307
MCF54415
etc
Even when Motorola became Freescale they stuck with MCF on all ColdFire parts.
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - clocks
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + uart0: serial@fc060000 {
>
> Drop unused label
Ok, will drop.
Thanks for the review.
Regards
Greg
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-14 12:48 ` Greg Ungerer
@ 2026-10-15 8:56 ` Krzysztof Kozlowski
2026-10-15 12:44 ` Greg Ungerer
2026-10-15 9:19 ` Geert Uytterhoeven
1 sibling, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-15 8:56 UTC (permalink / raw)
To: Greg Ungerer; +Cc: linux-m68k, linux-serial, devicetree
On Wed, Oct 14, 2026 at 10:48:41PM +1000, Greg Ungerer wrote:
>
> On 14/10/26 21:24, Krzysztof Kozlowski wrote:
> > On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
> >> Create documentation for a new binding to support the Freescale ColdFire
> >> UART hardware block. This is found on pretty much all variants of the
> >> M68K derived Freescale ColdFire family of System-on-Chip devices.
> >>
> >> It is not compatible with any other known UARTs.
> >
> > You never tested this, so limited review.
>
> It is tested. It is working and running on multiple ColdFire platforms.
You cannot run a binding. It's impossible, otherwise show me how do you
execute that code.
But as proven already on the lists, no it WAS NOT tested. You have clear
a warning.
Otherwise you claim that tests shown errors and then you decided to
still send it with errors, so then th enext question: why do you send
code which your tests tell it is wrong?
Also, this misses to cc actual maintainers, so I don't have it even in
my mailbox except Patchwork.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-14 12:48 ` Greg Ungerer
2026-10-15 8:56 ` Krzysztof Kozlowski
@ 2026-10-15 9:19 ` Geert Uytterhoeven
2026-10-15 9:58 ` Krzysztof Kozlowski
` (2 more replies)
1 sibling, 3 replies; 17+ messages in thread
From: Geert Uytterhoeven @ 2026-10-15 9:19 UTC (permalink / raw)
To: Greg Ungerer; +Cc: Krzysztof Kozlowski, linux-m68k, linux-serial, devicetree
Hi Greg,
On Wed, 14 Oct 2026 at 14:56, Greg Ungerer <gerg@linux-m68k.org> wrote:
> On 14/10/26 21:24, Krzysztof Kozlowski wrote:
> > On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
> >> Create documentation for a new binding to support the Freescale ColdFire
> >> UART hardware block. This is found on pretty much all variants of the
> >> M68K derived Freescale ColdFire family of System-on-Chip devices.
> >>
> >> It is not compatible with any other known UARTs.
> >
> > You never tested this, so limited review.
>
> It is tested. It is working and running on multiple ColdFire platforms.
>
> >> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
> >> +properties:
> >> + compatible:
> >> + const: fsl,mcf-uart
> >
> > What is the SoC name? MCF? Compatibles must be specific (see writing
> > bindings doc).
>
> Yes. MCF = "Motorola ColdFire". It is the SoC prefix used for naming of all
> ColdFire parts (which is dozens of variants):
>
> MCF5206
> MCF5208
> MCF5307
> MCF54415
> etc
>
> Even when Motorola became Freescale they stuck with MCF on all ColdFire parts.
I guess you want:
items:
- enum:
- fsl,mcf5206
- fsl,mcf5208
- fsl,mcf5307
[...]
- const: fsl,mcf-uart
As no new (possibly incompatible) Coldfire parts will appear, a generic
fallback looks reasonable to me.
An "mcf" vs. "motorola" vendor prefix might still be a discussion point ;-)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 9:19 ` Geert Uytterhoeven
@ 2026-10-15 9:58 ` Krzysztof Kozlowski
2026-10-15 13:14 ` Greg Ungerer
2026-10-15 22:39 ` Finn Thain
2 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-15 9:58 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Greg Ungerer, linux-m68k, linux-serial, devicetree
On Thu, Oct 15, 2026 at 11:19:31AM +0200, Geert Uytterhoeven wrote:
> I guess you want:
>
> items:
> - enum:
> - fsl,mcf5206
> - fsl,mcf5208
> - fsl,mcf5307
> [...]
> - const: fsl,mcf-uart
>
> As no new (possibly incompatible) Coldfire parts will appear, a generic
> fallback looks reasonable to me.
Yes, although still preference is to use one device as a fallback.
>
> An "mcf" vs. "motorola" vendor prefix might still be a discussion point ;-)
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 8:56 ` Krzysztof Kozlowski
@ 2026-10-15 12:44 ` Greg Ungerer
2026-10-15 13:06 ` Geert Uytterhoeven
0 siblings, 1 reply; 17+ messages in thread
From: Greg Ungerer @ 2026-10-15 12:44 UTC (permalink / raw)
To: Krzysztof Kozlowski; +Cc: linux-m68k, linux-serial, devicetree
On 15/10/26 18:56, Krzysztof Kozlowski wrote:
> On Wed, Oct 14, 2026 at 10:48:41PM +1000, Greg Ungerer wrote:
>>
>> On 14/10/26 21:24, Krzysztof Kozlowski wrote:
>>> On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
>>>> Create documentation for a new binding to support the Freescale ColdFire
>>>> UART hardware block. This is found on pretty much all variants of the
>>>> M68K derived Freescale ColdFire family of System-on-Chip devices.
>>>>
>>>> It is not compatible with any other known UARTs.
>>>
>>> You never tested this, so limited review.
>>
>> It is tested. It is working and running on multiple ColdFire platforms.
>
> You cannot run a binding. It's impossible, otherwise show me how do you
> execute that code.
Of course you cannot run a binding. I took your statement to mean that
this series as a whole was not tested. Which is wrong.
> But as proven already on the lists, no it WAS NOT tested. You have clear
> a warning.
>
> Otherwise you claim that tests shown errors and then you decided to
> still send it with errors, so then th enext question: why do you send
> code which your tests tell it is wrong?
Sorry, I have no idea what you are talking about.
This series of 5 patches was tested before sending, on multiple targets
that use this code (obviously all m68k/ColdFire platforms).
Just in case I missed something I re-ran testing with a fresh 7.3-rc7
code base. All 5 patches applied cleanly, with a clean compile. My testing
showed no new problems in normal operation. Granted sashkio did find a
couple of error case checking issues that you just do not normally encounter
in practice (but I will of course fix those for v2).
So, no, I didn't just send it knowing that it was failing any tests.
Regards
Greg
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 12:44 ` Greg Ungerer
@ 2026-10-15 13:06 ` Geert Uytterhoeven
2026-10-15 14:01 ` Greg Ungerer
0 siblings, 1 reply; 17+ messages in thread
From: Geert Uytterhoeven @ 2026-10-15 13:06 UTC (permalink / raw)
To: Greg Ungerer; +Cc: Krzysztof Kozlowski, linux-m68k, linux-serial, devicetree
Hi Greg,
On Thu, 15 Oct 2026 at 14:53, Greg Ungerer <gerg@linux-m68k.org> wrote:
> On 15/10/26 18:56, Krzysztof Kozlowski wrote:
> > But as proven already on the lists, no it WAS NOT tested. You have clear
> > a warning.
> >
> > Otherwise you claim that tests shown errors and then you decided to
> > still send it with errors, so then th enext question: why do you send
> > code which your tests tell it is wrong?
>
> Sorry, I have no idea what you are talking about.
>
> This series of 5 patches was tested before sending, on multiple targets
> that use this code (obviously all m68k/ColdFire platforms).
>
> Just in case I missed something I re-ran testing with a fresh 7.3-rc7
> code base. All 5 patches applied cleanly, with a clean compile. My testing
> showed no new problems in normal operation. Granted sashkio did find a
> couple of error case checking issues that you just do not normally encounter
> in practice (but I will of course fix those for v2).
make dt_binding_check dtbs_check
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 9:19 ` Geert Uytterhoeven
2026-10-15 9:58 ` Krzysztof Kozlowski
@ 2026-10-15 13:14 ` Greg Ungerer
2026-10-27 21:07 ` Rob Herring
2026-10-15 22:39 ` Finn Thain
2 siblings, 1 reply; 17+ messages in thread
From: Greg Ungerer @ 2026-10-15 13:14 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Krzysztof Kozlowski, linux-m68k, linux-serial, devicetree
Hi Geert,
On 15/10/26 19:19, Geert Uytterhoeven wrote:
> On Wed, 14 Oct 2026 at 14:56, Greg Ungerer <gerg@linux-m68k.org> wrote:
>> On 14/10/26 21:24, Krzysztof Kozlowski wrote:
>>> On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
>>>> Create documentation for a new binding to support the Freescale ColdFire
>>>> UART hardware block. This is found on pretty much all variants of the
>>>> M68K derived Freescale ColdFire family of System-on-Chip devices.
>>>>
>>>> It is not compatible with any other known UARTs.
>>>
>>> You never tested this, so limited review.
>>
>> It is tested. It is working and running on multiple ColdFire platforms.
>>
>>>> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
>
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
>
>>>> +properties:
>>>> + compatible:
>>>> + const: fsl,mcf-uart
>>>
>>> What is the SoC name? MCF? Compatibles must be specific (see writing
>>> bindings doc).
>>
>> Yes. MCF = "Motorola ColdFire". It is the SoC prefix used for naming of all
>> ColdFire parts (which is dozens of variants):
>>
>> MCF5206
>> MCF5208
>> MCF5307
>> MCF54415
>> etc
>>
>> Even when Motorola became Freescale they stuck with MCF on all ColdFire parts.
>
> I guess you want:
>
> items:
> - enum:
> - fsl,mcf5206
> - fsl,mcf5208
> - fsl,mcf5307
> [...]
> - const: fsl,mcf-uart
>
> As no new (possibly incompatible) Coldfire parts will appear, a generic
> fallback looks reasonable to me.
It will be a long list of variants - thanks Freescale. Quite a few of the SoC
parts have sub-parts with different single digits, for example:
mcf54410, mcf54415, mcf54416, mcf54417, mcf54118
At a quick count I can see about 42 variants.
I don't mind adding the full list if that is preferred.
> An "mcf" vs. "motorola" vendor prefix might still be a discussion point ;-)
At least they didn't rename the chip part numbers when they renamed the company ;-)
Regards
Greg
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 13:06 ` Geert Uytterhoeven
@ 2026-10-15 14:01 ` Greg Ungerer
0 siblings, 0 replies; 17+ messages in thread
From: Greg Ungerer @ 2026-10-15 14:01 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Krzysztof Kozlowski, linux-m68k, linux-serial, devicetree
Hi Geert,
On 15/10/26 23:06, Geert Uytterhoeven wrote:
> Hi Greg,
>
> On Thu, 15 Oct 2026 at 14:53, Greg Ungerer <gerg@linux-m68k.org> wrote:
>> On 15/10/26 18:56, Krzysztof Kozlowski wrote:
>>> But as proven already on the lists, no it WAS NOT tested. You have clear
>>> a warning.
>>>
>>> Otherwise you claim that tests shown errors and then you decided to
>>> still send it with errors, so then th enext question: why do you send
>>> code which your tests tell it is wrong?
>>
>> Sorry, I have no idea what you are talking about.
>>
>> This series of 5 patches was tested before sending, on multiple targets
>> that use this code (obviously all m68k/ColdFire platforms).
>>
>> Just in case I missed something I re-ran testing with a fresh 7.3-rc7
>> code base. All 5 patches applied cleanly, with a clean compile. My testing
>> showed no new problems in normal operation. Granted sashkio did find a
>> couple of error case checking issues that you just do not normally encounter
>> in practice (but I will of course fix those for v2).
>
> make dt_binding_check dtbs_check
I wasn't aware of that. Thanks for pointing it out! Makes more sense now.
I can see that running it throws up the same 2 errors that sashiko found,
so easily fixed for v2.
Regards
Greg
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 9:19 ` Geert Uytterhoeven
2026-10-15 9:58 ` Krzysztof Kozlowski
2026-10-15 13:14 ` Greg Ungerer
@ 2026-10-15 22:39 ` Finn Thain
2 siblings, 0 replies; 17+ messages in thread
From: Finn Thain @ 2026-10-15 22:39 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Greg Ungerer, Krzysztof Kozlowski, linux-m68k, linux-serial,
devicetree
On Thu, 15 Oct 2026, Geert Uytterhoeven wrote:
>
> An "mcf" vs. "motorola" vendor prefix might still be a discussion point ;-)
>
Motorola Solutions is still trading under that name. Sure, that entity is
unrelated to the Coldfire silicon presently marketed NXP, but I would not
presume that Motorola Solutions has no interest in this namespace.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart
2026-10-15 13:14 ` Greg Ungerer
@ 2026-10-27 21:07 ` Rob Herring
0 siblings, 0 replies; 17+ messages in thread
From: Rob Herring @ 2026-10-27 21:07 UTC (permalink / raw)
To: Greg Ungerer
Cc: Geert Uytterhoeven, Krzysztof Kozlowski, linux-m68k, linux-serial,
devicetree
On Thu, Oct 15, 2026 at 11:14:26PM +1000, Greg Ungerer wrote:
> Hi Geert,
>
> On 15/10/26 19:19, Geert Uytterhoeven wrote:
> > On Wed, 14 Oct 2026 at 14:56, Greg Ungerer <gerg@linux-m68k.org> wrote:
> >> On 14/10/26 21:24, Krzysztof Kozlowski wrote:
> >>> On Tue, Oct 13, 2026 at 10:07:02PM +1000, Greg Ungerer wrote:
> >>>> Create documentation for a new binding to support the Freescale ColdFire
> >>>> UART hardware block. This is found on pretty much all variants of the
> >>>> M68K derived Freescale ColdFire family of System-on-Chip devices.
> >>>>
> >>>> It is not compatible with any other known UARTs.
> >>>
> >>> You never tested this, so limited review.
> >>
> >> It is tested. It is working and running on multiple ColdFire platforms.
> >>
> >>>> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
> >
> >>>> --- /dev/null
> >>>> +++ b/Documentation/devicetree/bindings/serial/fsl,mcf-uart.yaml
> >
> >>>> +properties:
> >>>> + compatible:
> >>>> + const: fsl,mcf-uart
> >>>
> >>> What is the SoC name? MCF? Compatibles must be specific (see writing
> >>> bindings doc).
> >>
> >> Yes. MCF = "Motorola ColdFire". It is the SoC prefix used for naming of all
> >> ColdFire parts (which is dozens of variants):
> >>
> >> MCF5206
> >> MCF5208
> >> MCF5307
> >> MCF54415
> >> etc
> >>
> >> Even when Motorola became Freescale they stuck with MCF on all ColdFire parts.
> >
> > I guess you want:
> >
> > items:
> > - enum:
> > - fsl,mcf5206
> > - fsl,mcf5208
> > - fsl,mcf5307
> > [...]
> > - const: fsl,mcf-uart
> >
> > As no new (possibly incompatible) Coldfire parts will appear, a generic
> > fallback looks reasonable to me.
>
> It will be a long list of variants - thanks Freescale. Quite a few of the SoC
> parts have sub-parts with different single digits, for example:
>
> mcf54410, mcf54415, mcf54416, mcf54417, mcf54118
I imagine all of those are just package or marketing differences.
Freescale did not have the money to tapeout 5 different parts. Just
using one compatible for all of them is fine.
> At a quick count I can see about 42 variants.
> I don't mind adding the full list if that is preferred.
Just add what you care about or know people use. I imagine that's a much
smaller subset.
Probably not many users today of the 5272 I worked on which was designed
for ISDN modems.
Rob
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2026-10-27 21:07 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13 12:06 [PATCH 0/5] serial: mcf: add devicetree support Greg Ungerer
2026-10-13 12:06 ` [PATCH 1/5] serial: mcf: update author email address Greg Ungerer
2026-10-13 12:07 ` [PATCH 2/5] serial: mcf: convert to use proper platform resources Greg Ungerer
2026-10-13 12:07 ` [PATCH 3/5] serial: mcf: dynamically allocate memory Greg Ungerer
2026-10-13 12:07 ` [PATCH 4/5] dt-bindings: serial: create binding for mcf-uart Greg Ungerer
2026-10-14 11:24 ` Krzysztof Kozlowski
2026-10-14 12:48 ` Greg Ungerer
2026-10-15 8:56 ` Krzysztof Kozlowski
2026-10-15 12:44 ` Greg Ungerer
2026-10-15 13:06 ` Geert Uytterhoeven
2026-10-15 14:01 ` Greg Ungerer
2026-10-15 9:19 ` Geert Uytterhoeven
2026-10-15 9:58 ` Krzysztof Kozlowski
2026-10-15 13:14 ` Greg Ungerer
2026-10-27 21:07 ` Rob Herring
2026-10-15 22:39 ` Finn Thain
2026-10-13 12:07 ` [PATCH 5/5] serial: mcf: add devicetree support Greg Ungerer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox