diff --git a/boot/bootm_os.c b/boot/bootm_os.c
index 39623f9..e635c72 100644
--- a/boot/bootm_os.c
+++ b/boot/bootm_os.c
@@ -138,28 +138,6 @@
 }
 #endif /* CONFIG_BOOTM_NETBSD*/
 
-#ifdef CONFIG_LYNXKDI
-static int do_bootm_lynxkdi(int flag, int argc, char *const argv[],
-			    bootm_headers_t *images)
-{
-	image_header_t *hdr = &images->legacy_hdr_os_copy;
-
-	if (flag != BOOTM_STATE_OS_GO)
-		return 0;
-
-#if defined(CONFIG_FIT)
-	if (!images->legacy_hdr_valid) {
-		fit_unsupported_reset("Lynx");
-		return 1;
-	}
-#endif
-
-	lynxkdi_boot((image_header_t *)hdr);
-
-	return 1;
-}
-#endif /* CONFIG_LYNXKDI */
-
 #ifdef CONFIG_BOOTM_RTEMS
 static int do_bootm_rtems(int flag, int argc, char *const argv[],
 			  bootm_headers_t *images)
@@ -570,9 +548,6 @@
 #ifdef CONFIG_BOOTM_NETBSD
 	[IH_OS_NETBSD] = do_bootm_netbsd,
 #endif
-#ifdef CONFIG_LYNXKDI
-	[IH_OS_LYNXOS] = do_bootm_lynxkdi,
-#endif
 #ifdef CONFIG_BOOTM_RTEMS
 	[IH_OS_RTEMS] = do_bootm_rtems,
 #endif
diff --git a/boot/image.c b/boot/image.c
index 3fa60b5..992e729 100644
--- a/boot/image.c
+++ b/boot/image.c
@@ -106,7 +106,7 @@
 	{	IH_OS_INVALID,	"invalid",	"Invalid OS",		},
 	{       IH_OS_ARM_TRUSTED_FIRMWARE, "arm-trusted-firmware", "ARM Trusted Firmware"  },
 	{	IH_OS_LINUX,	"linux",	"Linux",		},
-#if defined(CONFIG_LYNXKDI) || defined(USE_HOSTCC)
+#if defined(USE_HOSTCC)
 	{	IH_OS_LYNXOS,	"lynxos",	"LynxOS",		},
 #endif
 	{	IH_OS_NETBSD,	"netbsd",	"NetBSD",		},
diff --git a/common/Makefile b/common/Makefile
index afaf8e5..c500bcd 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -41,7 +41,6 @@
 endif
 obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o
 obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o
-obj-$(CONFIG_LYNXKDI) += lynxkdi.o
 obj-$(CONFIG_MENU) += menu.o
 obj-$(CONFIG_UPDATE_COMMON) += update.o
 obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
diff --git a/common/lynxkdi.c b/common/lynxkdi.c
deleted file mode 100644
index 1c8e122..0000000
--- a/common/lynxkdi.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) Orbacom Systems, Inc <www.orbacom.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are freely
- * permitted provided that the above copyright notice and this
- * paragraph and the following disclaimer are duplicated in all
- * such forms.
- *
- * This software is provided "AS IS" and without any express or
- * implied warranties, including, without limitation, the implied
- * warranties of merchantability and fitness for a particular
- * purpose.
- */
-
-#include <common.h>
-#include <asm/processor.h>
-#include <image.h>
-#include <net.h>
-
-#include <lynxkdi.h>
-
-#error "Lynx KDI support not implemented for configured CPU"
diff --git a/doc/README.lynxkdi b/doc/README.lynxkdi
deleted file mode 100644
index 076f018..0000000
--- a/doc/README.lynxkdi
+++ /dev/null
@@ -1,57 +0,0 @@
-			   LYNX KDI SUPPORT
-
-		    Last Update: July 20, 2003
-=======================================================================
-
-This file describes support for LynuxWorks KDI within U-Boot. Support
-is enabled by defining CONFIG_LYNXKDI.
-
-
-LYNXOS AND BLUECAT SUPPORTED
-============================
-Both LynxOS and BlueCat linux KDIs are supported. The implementation
-automatically detects which is being booted. When you use mkimage
-you should specify "lynxos" for both (see target-specific notes).
-
-
-SUPPORTED ARCHITECTURE/TARGETS
-==============================
-The following targets have been tested:
-
--PowerPC  MPC8260ADS
-
-
-FILES TO LOOK AT
-================
-include/lynxkdi.h    -defines a simple struct passed to a kdi.
-common/lynxkdi.c     -implements the call to the kdi.
-common/cmd_bootm.c   -top-level command implementation ("bootm").
-
-
-====================================================================
-TARGET SPECIFIC NOTES
-====================================================================
-
-MPC8260ADS
-===========
-The default LynxOS and BlueCat implementations require some
-modifications to the config file.
-
-Edit include/configs/MPC8260ADS.h to use the following:
-
-#define CONFIG_SYS_IMMR	0xFA200000
-#define CONFIG_SYS_BCSR	0xFA100000
-#define CONFIG_SYS_BR1_PRELIM	0xFA101801
-
-When creating a LynxOS or BlueCat u-boot image using mkimage,
-you must specify the following:
-
-Both:    -A ppc -O lynxos -T kernel -C none
-LynxOS:  -a 0x00004000 -e 0x00004020
-BlueCat: -a 0x00500000 -e 0x00507000
-
-To pass the MAC address to BlueCat you should define the
-"fcc2_ether_addr" parameter in the "bootargs" environment
-variable. E.g.:
-
-==> setenv bootargs fcc2_ether_addr=00:11:22:33:44:55:66
diff --git a/include/bootm.h b/include/bootm.h
index 7f88ec7..48fc668 100644
--- a/include/bootm.h
+++ b/include/bootm.h
@@ -39,7 +39,6 @@
 extern boot_os_fn do_bootm_vxworks;
 
 int do_bootelf(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
-void lynxkdi_boot(image_header_t *hdr);
 
 boot_os_fn *bootm_os_get_boot_func(int os);
 
diff --git a/include/lynxkdi.h b/include/lynxkdi.h
deleted file mode 100644
index 3864027..0000000
--- a/include/lynxkdi.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2003
- * Orbacom Systems, Inc.
- */
-
-#ifndef __LYNXKDI_H__
-#define __LYNXKDI_H__
-
-
-/* Boot parameter struct passed to kernel
- */
-typedef struct lynxos_bootparms_t {
-	uint8_t		rsvd1[2];	/* Reserved			*/
-	uint8_t		ethaddr[6];	/* Ethernet address		*/
-	uint16_t	flags;		/* Boot flags			*/
-	uint32_t	rate;		/* System frequency		*/
-	uint32_t	clock_ref;	/* Time reference		*/
-	uint32_t	dramsz;		/* DRAM size			*/
-	uint32_t	rsvd2;		/* Reserved			*/
-} lynxos_bootparms_t;
-
-
-#endif	/* __LYNXKDI_H__ */
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index f6ca93f..34c9ef0 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -741,7 +741,6 @@
 CONFIG_LS102XA_STREAM_ID
 CONFIG_LSCHLV2
 CONFIG_LSXHL
-CONFIG_LYNXKDI
 CONFIG_M41T94_SPI_CS
 CONFIG_M520x
 CONFIG_M5301x
