--- /dev/null
+#
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_VERSION:=2025.01
+PKG_HASH:=cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f
+PKG_RELEASE:=1
+
+include $(INCLUDE_DIR)/u-boot.mk
+include $(INCLUDE_DIR)/package.mk
+
+TOOLCHAIN_NAME:=openwrt-toolchain-24.10.4-mpc85xx-p2020_gcc-13.3.0_musl.Linux-x86_64
+TOOLCHAIN_FILE:=$(TOOLCHAIN_NAME).tar.zst
+TOOLCHAIN_PATH:=$(PKG_BUILD_DIR)/$(TOOLCHAIN_NAME)/toolchain-powerpc_8548_gcc-13.3.0_musl/bin
+TOOLCHAIN_CROSS_COMPILE:=powerpc-openwrt-linux-musl-
+
+define Download/uboot-qoriq-toolchain
+ FILE:=$(TOOLCHAIN_FILE)
+ URL:=https://downloads.openwrt.org/releases/24.10.4/targets/mpc85xx/p2020/
+ URL_FILE:=$(TOOLCHAIN_FILE)
+ HASH:=c16566bb3625b6c45e4184b9d37953d4c3c1dcdec1141a45df834da626d4c08d
+endef
+
+define U-Boot/Default
+ BUILD_TARGET:=qoriq
+ BUILD_SUBTARGET:=generic
+ BUILD_DEVICES:=$(1)
+ ENV_SIZE:=0x2000
+endef
+
+define U-Boot/fsl_t4240rdb-nor
+ NAME:=NXP T4240RDB NOR Boot
+ UBOOT_CONFIG:=T4240RDB
+ UBOOT_IMAGE:=u-boot-dtb.bin
+endef
+
+define U-Boot/fsl_t4240rdb-sdboot
+ NAME:=NXP T4240RDB SD Card Boot
+ UBOOT_CONFIG:=T4240RDB_SDCARD
+ UBOOT_IMAGE:=u-boot-with-spl-pbl.bin
+endef
+
+UBOOT_TARGETS := \
+ fsl_t4240rdb-nor \
+ fsl_t4240rdb-sdboot
+
+define Build/Prepare
+ $(Build/Prepare/Default)
+ $(TAR) -I $(STAGING_DIR_HOST)/bin/zstd -xf $(DL_DIR)/$(TOOLCHAIN_FILE) -C $(PKG_BUILD_DIR)/
+endef
+
+define Build/Compile/U-Boot
+ +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+ CROSS_COMPILE=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_CROSS_COMPILE) \
+ $(if $(DTC),DTC="$(DTC)") \
+ $(UBOOT_MAKE_FLAGS)
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) \
+ $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-uboot.bin
+ $(PKG_BUILD_DIR)/tools/mkenvimage -b -s $(ENV_SIZE) \
+ -o $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-uboot-env.bin \
+ files/$(BUILD_VARIANT)-uEnv.txt
+endef
+
+define Package/u-boot/install/default
+endef
+
+$(eval $(call Download,uboot-qoriq-toolchain))
+$(eval $(call BuildPackage/U-Boot))
--- /dev/null
+loadaddr=0x2000000
+fwaddr=0xe8000000
+hwconfig=fsl_ddr:ctlr_intlv=3way_4KB,bank_intlv=auto;usb1:dr_mode=host,phy_type=utmi
+nor_boot=bootm $fwaddr
+bootargs=console=ttyS0,115200
+bootcmd=echo starting OpenWrt ...;run nor_boot
+bootdelay=3
--- /dev/null
+loadaddr=0x2000000
+hwconfig=fsl_ddr:ctlr_intlv=3way_4KB,bank_intlv=auto;usb1:dr_mode=host,phy_type=utmi
+sd_boot=ext4load mmc 0:1 $loadaddr fitImage;bootm $loadaddr
+bootargs=root=/dev/mmcblk0p2 rw rootwait rootfstype=squashfs,f2fs noinitrd console=ttyS0,115200
+bootcmd=echo starting OpeWwrt ...;run sd_boot
+bootdelay=3
--- /dev/null
+From ec36a44809e22a60fc153a4078d35c83a2bf9676 Mon Sep 17 00:00:00 2001
+Date: Thu, 6 Oct 2022 15:18:38 +0200
+Subject: [PATCH] mpc85xx: adjust T4240RDB config for OpenWrt
+
+---
+ configs/T4240RDB_SDCARD_defconfig | 6 ++++--
+ include/configs/T4240RDB.h | 6 +++++-
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+--- a/configs/T4240RDB_SDCARD_defconfig
++++ b/configs/T4240RDB_SDCARD_defconfig
+@@ -4,7 +4,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
+ CONFIG_SPL_LIBGENERIC_SUPPORT=y
+ CONFIG_SF_DEFAULT_SPEED=10000000
+ CONFIG_ENV_SIZE=0x2000
+-CONFIG_ENV_OFFSET=0x100000
++CONFIG_ENV_OFFSET=0x101000
+ CONFIG_DEFAULT_DEVICE_TREE="t4240rdb"
+ CONFIG_SYS_MONITOR_LEN=786432
+ CONFIG_SPL_MMC=y
+@@ -35,7 +35,7 @@ CONFIG_FIT_VERBOSE=y
+ CONFIG_RAMBOOT_PBL=y
+ CONFIG_SYS_FSL_PBL_PBI="$(SRCTREE)/board/freescale/t4rdb/t4_pbi.cfg"
+ CONFIG_SYS_FSL_PBL_RCW="$(SRCTREE)/board/freescale/t4rdb/t4_sd_rcw.cfg"
+-CONFIG_BOOTDELAY=10
++CONFIG_BOOTDELAY=1
+ CONFIG_OF_BOARD_SETUP=y
+ CONFIG_OF_STDOUT_VIA_ALIAS=y
+ CONFIG_USE_BOOTCOMMAND=y
+@@ -71,6 +71,7 @@ CONFIG_CMD_DHCP=y
+ CONFIG_CMD_MII=y
+ CONFIG_CMD_PING=y
+ CONFIG_CMD_EXT2=y
++CONFIG_CMD_EXT4=y
+ CONFIG_CMD_FAT=y
+ CONFIG_OF_CONTROL=y
+ CONFIG_ENV_OVERWRITE=y
+@@ -108,7 +109,8 @@ CONFIG_SPI_FLASH_SST=y
+ CONFIG_PHYLIB=y
+ CONFIG_PHYLIB_10G=y
+ CONFIG_PHY_CORTINA=y
+-CONFIG_CORTINA_FW_ADDR=0x77f000
++CONFIG_SYS_CORTINA_FW_IN_MMC=y
++CONFIG_CORTINA_FW_ADDR=0x200000
+ CONFIG_PHY_TERANETICS=y
+ CONFIG_PHY_VITESSE=y
+ CONFIG_DM_MDIO=y
+--- a/configs/T4240RDB_defconfig
++++ b/configs/T4240RDB_defconfig
+@@ -26,7 +26,7 @@ CONFIG_SYS_FSL_NUM_CC_PLLS=5
+ CONFIG_MP=y
+ CONFIG_FIT=y
+ CONFIG_FIT_VERBOSE=y
+-CONFIG_BOOTDELAY=10
++CONFIG_BOOTDELAY=1
+ CONFIG_OF_BOARD_SETUP=y
+ CONFIG_OF_STDOUT_VIA_ALIAS=y
+ CONFIG_USE_BOOTCOMMAND=y
+@@ -76,6 +76,7 @@ CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
+ CONFIG_SYS_FLASH_EMPTY_INFO=y
+ CONFIG_SYS_FLASH_CFI=y
+ CONFIG_SYS_FLASH_QUIET_TEST=y
++CONFIG_SYS_MALLOC_F_LEN=0x1000
+ CONFIG_SYS_MAX_FLASH_SECT=1024
+ CONFIG_SYS_MAX_FLASH_BANKS=2
+ CONFIG_DM_SPI_FLASH=y
--- /dev/null
+From 7041fc96942acca920699b354e956bc4966c9b00 Mon Sep 17 00:00:00 2001
+Date: Wed, 19 Nov 2025 11:58:10 +0100
+Subject: [PATCH] Revert "fsl: mxc: Drop legacy I2c"
+
+This reverts commit 98dfa70f84f036c7423f1eddf00af8ea555fed8f.
+
+It broke SDCARD boot in T4240RDB.
+
+---
+ drivers/ddr/fsl/main.c | 3 ++-
+ drivers/i2c/mxc_i2c.c | 1 -
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/ddr/fsl/main.c
++++ b/drivers/ddr/fsl/main.c
+@@ -111,7 +111,7 @@ static int ddr_i2c_read(DEV_TYPE *dev, u
+ #if CONFIG_IS_ENABLED(DM_I2C)
+ ret = dm_i2c_read(dev, 0, buf, len);
+ #else
+- ret = 0;
++ ret = i2c_read(dev->chip, addr, alen, buf, len);
+ #endif
+
+ return ret;
+@@ -162,6 +162,7 @@ static void __get_spd(generic_spd_eeprom
+ };
+ dev = &ldev;
+
++ i2c_set_bus_num(CONFIG_SYS_SPD_BUS_NUM);
+ #endif
+
+ #ifdef CONFIG_SYS_FSL_DDR4
+--- a/drivers/i2c/mxc_i2c.c
++++ b/drivers/i2c/mxc_i2c.c
+@@ -619,7 +619,6 @@ int enable_i2c_clk(unsigned char enable,
+ __attribute__((weak, alias("__enable_i2c_clk")));
+
+ #if !CONFIG_IS_ENABLED(DM_I2C)
+-
+ /*
+ * Read data from I2C device
+ *