From 07d824e5bbc17ecc00a5b0afd24963d27a3fca94 Mon Sep 17 00:00:00 2001 From: Angelo Dureghello Date: Tue, 24 Mar 2026 00:14:24 +0100 Subject: [PATCH] m68k: mcf5441x: create stub to use imx drivers Some NXP imx hardware ip module as the esdhc controller are exactly the same in some new ColdFire cpus. For the specific case, mcf5441x needs to use the existing fsl_esdhc_imx.c driver for the esdhc device. Create a stub to be able to use NXP "imx" serie drivers as the fsl_esdhc_imx in the ColdFire architecture. Signed-off-by: Angelo Dureghello --- arch/m68k/Kconfig | 1 + arch/m68k/include/asm/arch-mcf5445x/clock.h | 19 +++++++++++++++++ arch/m68k/lib/Makefile | 1 + arch/m68k/lib/clock.c | 23 +++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 arch/m68k/include/asm/arch-mcf5445x/clock.h create mode 100644 arch/m68k/lib/clock.c diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 6ce8f577e3a..00e89bd0a62 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -62,6 +62,7 @@ config MCF5441x select DM select DM_SERIAL select ARCH_COLDFIRE + select CREATE_ARCH_SYMLINK bool config M680x0 diff --git a/arch/m68k/include/asm/arch-mcf5445x/clock.h b/arch/m68k/include/asm/arch-mcf5445x/clock.h new file mode 100644 index 00000000000..10ceecafcea --- /dev/null +++ b/arch/m68k/include/asm/arch-mcf5445x/clock.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * ColdFire clock support + * + * Copyright 2026 Kernelspace. + * Angelo Dureghello + */ + +#ifndef __CLOCK_H +#define __CLOCK_H + +/* Stub to use fsl/nxp drivers. */ +enum mxc_clock { + MXC_ESDHC_CLK, +}; + +int mxc_get_clock(enum mxc_clock clk); + +#endif /* __CLOCK_H */ diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile index cf93715637a..9ad67c4272c 100644 --- a/arch/m68k/lib/Makefile +++ b/arch/m68k/lib/Makefile @@ -9,3 +9,4 @@ lib-$(CONFIG_USE_PRIVATE_LIBGCC) += lshrdi3.o muldi3.o ashldi3.o ashrdi3.o obj-$(CONFIG_CMD_BOOTM) += bootm.o obj-$(CONFIG_ARCH_COLDFIRE) += cache.o interrupts.o time.o traps.o bdinfo.o fec.o +obj-$(CONFIG_MCF5441x) += clock.o diff --git a/arch/m68k/lib/clock.c b/arch/m68k/lib/clock.c new file mode 100644 index 00000000000..5d9aeed96c3 --- /dev/null +++ b/arch/m68k/lib/clock.c @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2026 Kernelspace + * Angelo Dureghello + */ + +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; +/* + * Stub to use existing nxp/fsl drivers. + */ +int mxc_get_clock(enum mxc_clock clk) +{ + if (clk == MXC_ESDHC_CLK) + return gd->arch.sdhc_clk; + + printf("Unsupported MXC CLK: %d\n", clk); + + return 0; +}