|  |  | 
 |  |  | diff -Nuar -x tools uboot-imx/arch/arm/dts/igkboard-6ull.dts uboot-imx-lf-5.15.71-2.2.0/arch/arm/dts/igkboard-6ull.dts | 
 |  |  | --- uboot-imx/arch/arm/dts/igkboard-6ull.dts    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/arch/arm/dts/igkboard-6ull.dts    2023-07-19 16:26:51.047476885 +0800 | 
 |  |  | @@ -0,0 +1,316 @@ | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/arch/arm/dts/igkboard-6ull.dts    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,377 @@ | 
 |  |  | +// SPDX-License-Identifier: (GPL-2.0 OR MIT) | 
 |  |  | +// | 
 |  |  | +// Copyright (C) 2023 LingYun IoT System Studio | 
 |  |  | 
 |  |  | +        off-on-delay-us = <20000>; | 
 |  |  | +        enable-active-high; | 
 |  |  | +    }; | 
 |  |  | +}; | 
 |  |  | + | 
 |  |  | +&clks { | 
 |  |  | +    assigned-clocks = <&clks IMX6UL_CLK_PLL3_PFD2>; | 
 |  |  | +    assigned-clock-rates = <320000000>; | 
 |  |  | +}; | 
 |  |  | + | 
 |  |  | +&fec1 { | 
 |  |  | 
 |  |  | +    keep-power-in-suspend; | 
 |  |  | +    wakeup-source; | 
 |  |  | +    vmmc-supply = <®_sd1_vmmc>; | 
 |  |  | +    status = "okay"; | 
 |  |  | +}; | 
 |  |  | + | 
 |  |  | +&usdhc2 { | 
 |  |  | +    pinctrl-names = "default"; | 
 |  |  | +    pinctrl-0 = <&pinctrl_usdhc2>; | 
 |  |  | +    no-1-8-v; | 
 |  |  | +    broken-cd; | 
 |  |  | +    keep-power-in-suspend; | 
 |  |  | +    wakeup-source; | 
 |  |  | +    status = "okay"; | 
 |  |  | +}; | 
 |  |  | + | 
 |  |  | 
 |  |  | +        >; | 
 |  |  | +    }; | 
 |  |  | + | 
 |  |  | +    pinctrl_usdhc2: usdhc2grp { | 
 |  |  | +        fsl,pins = < | 
 |  |  | +            MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059 | 
 |  |  | +        >; | 
 |  |  | +    }; | 
 |  |  | + | 
 |  |  | +    pinctrl_usdhc2_8bit: usdhc2grp_8bit { | 
 |  |  | +        fsl,pins = < | 
 |  |  | +            MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x10069 | 
 |  |  | +            MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x17059 | 
 |  |  | +            MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x17059 | 
 |  |  | +        >; | 
 |  |  | +    }; | 
 |  |  | + | 
 |  |  | +    pinctrl_usdhc2_8bit_100mhz: usdhc2grp_8bit_100mhz { | 
 |  |  | +        fsl,pins = < | 
 |  |  | +            MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x100b9 | 
 |  |  | +            MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x170b9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x170b9 | 
 |  |  | +        >; | 
 |  |  | +    }; | 
 |  |  | + | 
 |  |  | +    pinctrl_usdhc2_8bit_200mhz: usdhc2grp_8bit_200mhz { | 
 |  |  | +        fsl,pins = < | 
 |  |  | +            MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x100f9 | 
 |  |  | +            MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x170f9 | 
 |  |  | +            MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x170f9 | 
 |  |  | +        >; | 
 |  |  | +    }; | 
 |  |  | + | 
 |  |  | +    pinctrl_wdog: wdoggrp { | 
 |  |  | +        fsl,pins = < | 
 |  |  | +            MX6UL_PAD_LCD_RESET__WDOG1_WDOG_ANY    0x30b0 | 
 |  |  | 
 |  |  | +}; | 
 |  |  | diff -Nuar -x tools uboot-imx/arch/arm/dts/Makefile uboot-imx-lf-5.15.71-2.2.0/arch/arm/dts/Makefile | 
 |  |  | --- uboot-imx/arch/arm/dts/Makefile    2023-03-01 18:01:20.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/arch/arm/dts/Makefile    2023-07-19 16:22:02.327542742 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/arch/arm/dts/Makefile    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -871,6 +871,7 @@ | 
 |  |  |      imx6ull-kontron-n641x-s.dtb | 
 |  |  |   | 
 |  |  | 
 |  |  |      imx6ull-14x14-ddr3-val-emmc.dtb \ | 
 |  |  | diff -Nuar -x tools uboot-imx/arch/arm/mach-imx/mx6/Kconfig uboot-imx-lf-5.15.71-2.2.0/arch/arm/mach-imx/mx6/Kconfig | 
 |  |  | --- uboot-imx/arch/arm/mach-imx/mx6/Kconfig    2023-03-01 18:01:20.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/arch/arm/mach-imx/mx6/Kconfig    2023-07-19 16:21:20.553833849 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/arch/arm/mach-imx/mx6/Kconfig    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -157,6 +157,16 @@ | 
 |  |  |      prompt "MX6 board select" | 
 |  |  |      optional | 
 |  |  | 
 |  |  |  endif | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/igkboard-6ull.c uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/igkboard-6ull.c | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/igkboard-6ull.c    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/igkboard-6ull.c    2023-07-19 16:18:02.800518843 +0800 | 
 |  |  | @@ -0,0 +1,376 @@ | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/igkboard-6ull.c    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,362 @@ | 
 |  |  | +// SPDX-License-Identifier: GPL-2.0+ | 
 |  |  | +/* | 
 |  |  | + * Copyright (C) 2016 Freescale Semiconductor, Inc. | 
 |  |  | 
 |  |  | +    env_set("tee", "yes"); | 
 |  |  | +#endif | 
 |  |  | + | 
 |  |  | +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG | 
 |  |  | +    env_set("board_name", "EVK"); | 
 |  |  | + | 
 |  |  | +    if (is_mx6ull_9x9_evk()) | 
 |  |  | +        env_set("board_rev", "9X9"); | 
 |  |  | +    else | 
 |  |  | +        env_set("board_rev", "14X14"); | 
 |  |  | + | 
 |  |  | +    if (is_cpu_type(MXC_CPU_MX6ULZ)) { | 
 |  |  | +        env_set("board_name", "ULZ-EVK"); | 
 |  |  | +        env_set("usb_net_cmd", "usb start"); | 
 |  |  | +    } | 
 |  |  | +#endif | 
 |  |  | + | 
 |  |  | +    setup_lcd(); | 
 |  |  | + | 
 |  |  | +#ifdef CONFIG_ENV_IS_IN_MMC | 
 |  |  | 
 |  |  | +} | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/imximage.cfg uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/imximage.cfg | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/imximage.cfg    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/imximage.cfg    2023-07-19 16:14:20.424101683 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/imximage.cfg    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,120 @@ | 
 |  |  | +/* SPDX-License-Identifier: GPL-2.0+ */ | 
 |  |  | +/* | 
 |  |  | 
 |  |  | +#endif | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/imximage_lpddr2.cfg uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/imximage_lpddr2.cfg | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/imximage_lpddr2.cfg    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/imximage_lpddr2.cfg    2023-07-19 16:27:22.905684619 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/imximage_lpddr2.cfg    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,125 @@ | 
 |  |  | +/* | 
 |  |  | + * Copyright (C) 2016 Freescale Semiconductor, Inc. | 
 |  |  | 
 |  |  | +#endif | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/Kconfig uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/Kconfig | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/Kconfig    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/Kconfig    2023-07-19 16:31:27.087858672 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/Kconfig    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,14 @@ | 
 |  |  | +if TARGET_LINGYUN_IGKBOARD_6ULL | 
 |  |  | + | 
 |  |  | 
 |  |  | +endif | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/MAINTAINERS uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/MAINTAINERS | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/MAINTAINERS    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/MAINTAINERS    2023-07-19 16:28:05.531281866 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/MAINTAINERS    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,7 @@ | 
 |  |  | +LingYun i.MX6ULL IoT Gateway Board(IGKBoard-6ULL) | 
 |  |  | +M:    Guo Wenxue <guowenxue@gmail.com> | 
 |  |  | 
 |  |  | + | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/Makefile uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/Makefile | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/Makefile    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/Makefile    2023-07-19 16:18:11.184072127 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/Makefile    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,5 @@ | 
 |  |  | +# SPDX-License-Identifier: GPL-2.0+ | 
 |  |  | +# (C) Copyright 2016 Freescale Semiconductor, Inc. | 
 |  |  | 
 |  |  | +obj-y  += ../../freescale/common/mmc.o | 
 |  |  | diff -Nuar -x tools uboot-imx/board/lingyun/igkboard-6ull/plugin.S uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/plugin.S | 
 |  |  | --- uboot-imx/board/lingyun/igkboard-6ull/plugin.S    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/plugin.S    2023-07-19 16:14:20.428101479 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/board/lingyun/igkboard-6ull/plugin.S    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,263 @@ | 
 |  |  | +/* SPDX-License-Identifier: GPL-2.0+ */ | 
 |  |  | +/* | 
 |  |  | 
 |  |  | +#include <asm/arch/mx6_plugin.S> | 
 |  |  | diff -Nuar -x tools uboot-imx/configs/igkboard-6ull_defconfig uboot-imx-lf-5.15.71-2.2.0/configs/igkboard-6ull_defconfig | 
 |  |  | --- uboot-imx/configs/igkboard-6ull_defconfig    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/configs/igkboard-6ull_defconfig    2023-07-19 16:23:36.958317520 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/configs/igkboard-6ull_defconfig    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,113 @@ | 
 |  |  | +CONFIG_ARM=y | 
 |  |  | +CONFIG_ARCH_MX6=y | 
 |  |  | 
 |  |  | +CONFIG_DM_SERIAL=y | 
 |  |  | diff -Nuar -x tools uboot-imx/drivers/fastboot/fb_fsl/fb_fsl_partitions.c uboot-imx-lf-5.15.71-2.2.0/drivers/fastboot/fb_fsl/fb_fsl_partitions.c | 
 |  |  | --- uboot-imx/drivers/fastboot/fb_fsl/fb_fsl_partitions.c    2023-03-01 18:01:21.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/drivers/fastboot/fb_fsl/fb_fsl_partitions.c    2023-07-19 16:14:20.428101479 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/drivers/fastboot/fb_fsl/fb_fsl_partitions.c    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -188,6 +188,11 @@ | 
 |  |  |              user_partition = FASTBOOT_MMC_USER_PARTITION_ID; | 
 |  |  |              boot_loader_psize = mmc->capacity_boot; | 
 |  |  | 
 |  |  |              fastboot_devinfo.type); | 
 |  |  | diff -Nuar -x tools uboot-imx/drivers/net/phy/phy.c uboot-imx-lf-5.15.71-2.2.0/drivers/net/phy/phy.c | 
 |  |  | --- uboot-imx/drivers/net/phy/phy.c    2023-03-01 18:01:21.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/drivers/net/phy/phy.c    2023-07-19 16:14:20.428101479 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/drivers/net/phy/phy.c    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -182,6 +182,8 @@ | 
 |  |  |  { | 
 |  |  |      int result; | 
 |  |  | 
 |  |  |   | 
 |  |  | diff -Nuar -x tools uboot-imx/include/configs/igkboard-6ull.h uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard-6ull.h | 
 |  |  | --- uboot-imx/include/configs/igkboard-6ull.h    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard-6ull.h    2023-07-19 16:29:43.889718995 +0800 | 
 |  |  | @@ -0,0 +1,172 @@ | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard-6ull.h    2023-07-25 22:54:54.335601637 +0800 | 
 |  |  | @@ -0,0 +1,135 @@ | 
 |  |  | +/* SPDX-License-Identifier: GPL-2.0+ */ | 
 |  |  | +/* | 
 |  |  | + * Copyright (C) 2016 Freescale Semiconductor, Inc. | 
 |  |  | + * Copyright 2017 NXP | 
 |  |  | + * Copyright (C) 2023 LingYun IoT System Studio | 
 |  |  | + * | 
 |  |  | + * Configuration settings for the Freescale i.MX6UL 14x14 EVK board. | 
 |  |  | + * Configuration settings for LingYun IGKBoard(IoT Gateway Kits Board) based on i.MX6ULL | 
 |  |  | + */ | 
 |  |  | +#ifndef __IGKBOARD_6ULL_CONFIG_H | 
 |  |  | +#define __IGKBOARD_6ULL_CONFIG_H | 
 |  |  | + | 
 |  |  | + | 
 |  |  | +#include <asm/arch/imx-regs.h> | 
 |  |  | +#include <linux/sizes.h> | 
 |  |  | 
 |  |  | +#include "mx6_common.h" | 
 |  |  | +#include <asm/mach-imx/gpio.h> | 
 |  |  | +#include "imx_env.h" | 
 |  |  | +#include "igkboard-dtoverlay.h" | 
 |  |  | + | 
 |  |  | +#define is_mx6ull_9x9_evk()    CONFIG_IS_ENABLED(TARGET_MX6ULL_9X9_EVK) | 
 |  |  | + | 
 |  |  | 
 |  |  | +    "mtdparts=" MFG_NAND_PARTITION \ | 
 |  |  | +    "\0"\ | 
 |  |  | + | 
 |  |  | +#if defined(CONFIG_NAND_BOOT) | 
 |  |  | +#define CONFIG_EXTRA_ENV_SETTINGS \ | 
 |  |  | +    CONFIG_MFG_ENV_SETTINGS \ | 
 |  |  | +    TEE_ENV \ | 
 |  |  | +    "splashimage=0x8c000000\0" \ | 
 |  |  | +    "fdt_addr=0x83000000\0" \ | 
 |  |  | +    "fdt_high=0xffffffff\0"      \ | 
 |  |  | +    "tee_addr=0x84000000\0" \ | 
 |  |  | +    "console=ttymxc0\0" \ | 
 |  |  | +    "bootargs=console=ttymxc0,115200 ubi.mtd=nandrootfs "  \ | 
 |  |  | +        "root=ubi0:rootfs rootfstype=ubifs "             \ | 
 |  |  | +        BOOTARGS_CMA_SIZE \ | 
 |  |  | +        MFG_NAND_PARTITION \ | 
 |  |  | +        "\0" \ | 
 |  |  | +    "bootcmd=nand read ${loadaddr} 0x4000000 0xc00000;"\ | 
 |  |  | +        "nand read ${fdt_addr} 0x5000000 0x100000;"\ | 
 |  |  | +        "if test ${tee} = yes; then " \ | 
 |  |  | +            "nand read ${tee_addr} 0x6000000 0x400000;"\ | 
 |  |  | +            "bootm ${tee_addr} - ${fdt_addr};" \ | 
 |  |  | +        "else " \ | 
 |  |  | +            "bootz ${loadaddr} - ${fdt_addr};" \ | 
 |  |  | +        "fi\0" | 
 |  |  | + | 
 |  |  | +#else | 
 |  |  | +#include "igkboard_overlay.h" | 
 |  |  | + | 
 |  |  | +#define CONFIG_EXTRA_ENV_SETTINGS \ | 
 |  |  | +    "env_conf=config.txt\0" \ | 
 |  |  | +    "upmode=fastboot 0\0" \ | 
 |  |  | +    "envconf=config.txt\0" \ | 
 |  |  | +    "image=zImage\0" \ | 
 |  |  | +    "console=ttymxc0\0" \ | 
 |  |  | +    "board=igkboard-6ull\0" \ | 
 |  |  | +    "fdt_file=igkboard-6ull.dtb\0" \ | 
 |  |  | +    "fdt_size=0x10000\0" \ | 
 |  |  | +    "fdt_addr=0x83000000\0" \ | 
 |  |  | +    "dtbo_addr=0x83010000\0" \ | 
 |  |  | +    "dtbo_dir=overlays\0" \ | 
 |  |  | +    "splashimage=0x8c000000\0" \ | 
 |  |  | +    "ipaddr=192.168.2.22\0" \ | 
 |  |  | +    "serverip=192.168.2.2\0" \ | 
 |  |  | +    "mmcpart=1\0" \ | 
 |  |  | +    "mmcargs=setenv bootargs console=${console},${baudrate} root=/dev/mmcblk${mmc_no}p2 rootwait rw net.ifnames=0\0" \ | 
 |  |  | +    "loadenvconf=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${env_conf};env import -t ${loadaddr} ${filesize}\0" \ | 
 |  |  | +    "loadenvconf=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${envconf};env import -t ${loadaddr} ${filesize}\0" \ | 
 |  |  | +    "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ | 
 |  |  | +    "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ | 
 |  |  | +    "bootos=bootz ${loadaddr} - ${fdt_addr}\0" \ | 
 |  |  | +    "mmcboot=mmc dev ${mmcdev};run mmcargs;run loadimage;run loadfdt;run bootos\0" \ | 
 |  |  | +    "netboot=tftp $loadaddr $image; tftp $fdt_addr ${fdt_file}; run mmcargs; run bootos\0" \ | 
 |  |  | +    "bbl=tftp ${loadaddr} u-boot-${board}.imx && mmc dev ${mmcdev} 1 && mmc write ${loadaddr} 2 0x800\0" \ | 
 |  |  | +    "bdtb=tftp $fdt_addr $fdt_file && fatwrite mmc 1:1 $fdt_addr $fdt_file $filesize\0" \ | 
 |  |  | +    "bker=tftp $loadaddr $image&& fatwrite mmc 1:1 $loadaddr $image $filesize\0" \ | 
 |  |  | +    "bsys=run bdtb && run bker\0" \ | 
 |  |  | +    "mmcboot=echo Booting from mmc ...; " \ | 
 |  |  | +        "mmc dev ${mmcdev}; " \ | 
 |  |  | +        "run mmcargs; run loadenvconf;" \ | 
 |  |  | +        "run loadimage; run loadfdt; " \ | 
 |  |  | +        "bootz ${loadaddr} - ${fdt_addr}\0" \ | 
 |  |  | +    "netboot=echo Booting from net ...; " \ | 
 |  |  | +        "tftp $loadaddr $image; tftp $fdt_addr ${fdt_file};" \ | 
 |  |  | +        "run mmcargs; " \ | 
 |  |  | +        "bootz ${loadaddr} - ${fdt_addr}\0" \ | 
 |  |  | +    "upmode=fastboot 0\0" \ | 
 |  |  | +    "bbl=tftp ${loadaddr} u-boot-igkboard-6ull.imx && mmc dev ${mmcdev} 1 && mmc write ${loadaddr} 2 0x500\0" \ | 
 |  |  | +    MMC_FDT_OVERLAY_SETTING \ | 
 |  |  | +    "bootcmd=run mmcbootdto\0" \ | 
 |  |  | +    "author=linke\0" | 
 |  |  | +    "bsys=run bdtb && run bker\0" | 
 |  |  | + | 
 |  |  | +#ifdef IGKBOARD_DTOVERLAY_SUPPORT | 
 |  |  | +#undef  CONFIG_BOOTCOMMAND | 
 |  |  | +#define CONFIG_BOOTCOMMAND      MMC_BOOT_WITH_FDT_OVERLAY | 
 |  |  | +#endif | 
 |  |  | + | 
 |  |  | +/* Miscellaneous configurable options */ | 
 |  |  | 
 |  |  | + | 
 |  |  | +#define CONFIG_IOMUX_LPSR | 
 |  |  | + | 
 |  |  | +/* NAND stuff */ | 
 |  |  | +#ifdef CONFIG_NAND_MXS | 
 |  |  | +#define CONFIG_SYS_MAX_NAND_DEVICE    1 | 
 |  |  | +#define CONFIG_SYS_NAND_BASE        0x40000000 | 
 |  |  | +#define CONFIG_SYS_NAND_USE_FLASH_BBT | 
 |  |  | + | 
 |  |  | +/* DMA stuff, needed for GPMI/MXS NAND support */ | 
 |  |  | +#endif | 
 |  |  | + | 
 |  |  | +/* USB Configs */ | 
 |  |  | +#ifdef CONFIG_CMD_USB | 
 |  |  | +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET | 
 |  |  | 
 |  |  | +#endif | 
 |  |  | + | 
 |  |  | +#endif | 
 |  |  | diff -Nuar -x tools uboot-imx/include/configs/igkboard_overlay.h uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard_overlay.h | 
 |  |  | --- uboot-imx/include/configs/igkboard_overlay.h    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard_overlay.h    2023-07-19 16:14:20.428101479 +0800 | 
 |  |  | @@ -0,0 +1,88 @@ | 
 |  |  | diff -Nuar -x tools uboot-imx/include/configs/igkboard-dtoverlay.h uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard-dtoverlay.h | 
 |  |  | --- uboot-imx/include/configs/igkboard-dtoverlay.h    1970-01-01 08:00:00.000000000 +0800 | 
 |  |  | +++ uboot-imx-lf-5.15.71-2.2.0/include/configs/igkboard-dtoverlay.h    2023-07-25 22:34:02.088832373 +0800 | 
 |  |  | @@ -0,0 +1,60 @@ | 
 |  |  | +/* SPDX-License-Identifier: GPL-2.0+ */ | 
 |  |  | +/* | 
 |  |  | + * Copyright (C) 2022 LingYun IoT System Studio | 
 |  |  | + * Copyright (C) 2023 LingYun IoT System Studio | 
 |  |  | + * | 
 |  |  | + * Device Tree overlay env for the LingYun IoT Gateway Board. | 
 |  |  | + */ | 
 |  |  | +#ifndef  __IGKBOARD_OVERLAY_H | 
 |  |  | +#define  __IGKBOARD_OVERLAY_H | 
 |  |  | +#ifndef __IGKBOARD_DTOVERLAY_H | 
 |  |  | +#define __IGKBOARD_DTOVERLAY_H | 
 |  |  | + | 
 |  |  | +#if 0 | 
 |  |  | + dtoverlay_xxx is set in uEnv.txt, then load the corresponding dtbo file | 
 |  |  | + | 
 |  |  | + if env exists dtoverlay_lcd && test ${dtoverlay_lcd} = 1 -o ${dtoverlay_lcd} = yes ; then | 
 |  |  | +    dtbo_file=lcd.dtbo; | 
 |  |  | +    echo "Applying DT overlay: $dtbo_file"; | 
 |  |  | +    fatload mmc ${mmcdev}:${mmcpart} ${dtbo_addr} ${dtbo_dir}/${dtbo_file}; | 
 |  |  | +    fdt addr ${fdt_addr}; | 
 |  |  | +    fdt resize ${fdt_size}; | 
 |  |  | +    fdt apply ${dtbo_addr}; | 
 |  |  | + fi; | 
 |  |  | + | 
 |  |  | + | 
 |  |  | + if env exists dtoverlay_uart ; then | 
 |  |  | +    for i in ${dtoverlay_uart}; | 
 |  |  | +    do | 
 |  |  | +        dtbo_file=uart$i.dtbo; | 
 |  |  | +        echo "Applying DT overlay: $dtbo_file"; | 
 |  |  | +        fatload mmc ${mmcdev}:${mmcpart} ${dtbo_addr} ${dtbo_dir}/${dtbo_file}; | 
 |  |  | +        fdt addr ${fdt_addr}; | 
 |  |  | +        fdt apply ${dtbo_addr}; | 
 |  |  | +    done; | 
 |  |  | + fi; | 
 |  |  | + | 
 |  |  | +#endif | 
 |  |  | + | 
 |  |  | +#define IGKBOARD_DTOVERLAY_SUPPORT | 
 |  |  | + | 
 |  |  | +#define FDT_APPLY_OVERLAY()          \ | 
 |  |  | +    "echo Applying DT overlay ==> ${dtbo_file}; " \ | 
 |  |  | +    "echo Applying DT overlay => ${dtbo_file}; " \ | 
 |  |  | +    "fatload mmc ${mmcdev}:${mmcpart} ${dtbo_addr} ${dtbo_dir}/${dtbo_file}; " \ | 
 |  |  | +    "fdt addr ${fdt_addr}; " \ | 
 |  |  | +    "fdt resize ${fdt_size}; " \ | 
 |  |  | 
 |  |  | +#define FDT_ENTRY_DEF_SETTINGS          \ | 
 |  |  | +                CHECK_APPLY_OVERLAY("lcd") \ | 
 |  |  | +                CHECK_APPLY_OVERLAY("cam") \ | 
 |  |  | +                CHECK_APPLY_OVERLAY("i2c1") \ | 
 |  |  | +                CHECK_APPLY_OVERLAY("spi1") \ | 
 |  |  | +                CHECK_APPLY_OVERLAY("w1") \ | 
 |  |  | +                CHECK_APPLY_OVERLAY("adc") \ | 
 |  |  | +                CHECK_APPLY_OVERLAYS_IDX("i2c") \ | 
 |  |  | +                CHECK_APPLY_OVERLAYS_IDX("spi") \ | 
 |  |  | +                CHECK_APPLY_OVERLAYS_IDX("uart") \ | 
 |  |  | +                CHECK_APPLY_OVERLAYS_IDX("can") \ | 
 |  |  | +                CHECK_APPLY_OVERLAYS_IDX("pwm") \ | 
 |  |  | +                CHECK_APPLY_OVERLAYS_DTBO("extra") \ | 
 |  |  | + | 
 |  |  | +#define MMC_FDT_OVERLAY_SETTING                  \ | 
 |  |  | +         "fdt_size=0x10000\0" \ | 
 |  |  | +         "dtbo_addr=0x83010000\0" \ | 
 |  |  | +         "dtbo_dir=overlays\0" \ | 
 |  |  | +        "mmcbootdto=echo Booting from mmc with overlay...; "     \ | 
 |  |  | +                 "mmc dev ${mmcdev}; run mmcargs; run loadenvconf; "   \ | 
 |  |  | + | 
 |  |  | +#define MMC_BOOT_WITH_FDT_OVERLAY   \ | 
 |  |  | +    "mmc dev ${mmcdev};"            \ | 
 |  |  | +    "run mmcargs; run loadenvconf;" \ | 
 |  |  | +                 "run loadimage; run loadfdt; "       \ | 
 |  |  | +                 FDT_ENTRY_DEF_SETTINGS               \ | 
 |  |  | +                 "bootz ${loadaddr} - ${fdt_addr}\0" | 
 |  |  | +    "run bootos; "                 \ | 
 |  |  | + | 
 |  |  | +#define ENABLE_UENV_FDTO_SUPPORT | 
 |  |  | + | 
 |  |  | +#endif | 
 |  |  | +#endif  /* __IGKBOARD_DTOVERLAY_H */ |