凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxu
2021-11-14 809a5822ddb5ac178e213edb14244fa27c3efc2c
update uboot patch file, fix network card and LCD driver bug, update u-boot env config
1 files modified
262 ■■■■■ changed files
bsp/bootloader/patch/uboot-imx-imx6ull.patch 262 ●●●●● patch | view | raw | blame | history
bsp/bootloader/patch/uboot-imx-imx6ull.patch
@@ -1,6 +1,104 @@
diff -Nuar uboot-imx/arch/arm/dts/imx6ul-14x14-evk.dtsi uboot-imx-imx6ull/arch/arm/dts/imx6ul-14x14-evk.dtsi
--- uboot-imx/arch/arm/dts/imx6ul-14x14-evk.dtsi    2021-09-06 16:48:23.000000000 +0800
+++ uboot-imx-imx6ull/arch/arm/dts/imx6ul-14x14-evk.dtsi    2021-11-14 13:27:59.306153563 +0800
@@ -83,6 +83,9 @@
     pinctrl-0 = <&pinctrl_enet1>;
     phy-mode = "rmii";
     phy-handle = <&ethphy0>;
+    phy-reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
+    phy-reset-duration = <50>;
+    phy-reset-post-delay = <15>;
     status = "okay";
 };
@@ -91,14 +94,17 @@
     pinctrl-0 = <&pinctrl_enet2>;
     phy-mode = "rmii";
     phy-handle = <&ethphy1>;
+    phy-reset-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
+    phy-reset-duration = <50>;
+    phy-reset-post-delay = <15>;
     status = "okay";
     mdio {
         #address-cells = <1>;
         #size-cells = <0>;
-        ethphy0: ethernet-phy@2 {
-            reg = <2>;
+        ethphy0: ethernet-phy@0 {
+            reg = <0>;
             micrel,led-mode = <1>;
             clocks = <&clks IMX6UL_CLK_ENET_REF>;
             clock-names = "rmii-ref";
@@ -151,21 +157,21 @@
     status = "okay";
     display0: display@0 {
-        bits-per-pixel = <24>;
-        bus-width = <24>;
+        bits-per-pixel = <16>;
+        bus-width = <16>;
         display-timings {
             native-mode = <&timing0>;
             timing0: timing0 {
-            clock-frequency = <9200000>;
-            hactive = <480>;
-            vactive = <272>;
-            hfront-porch = <8>;
-            hback-porch = <4>;
-            hsync-len = <41>;
-            vback-porch = <2>;
-            vfront-porch = <4>;
-            vsync-len = <10>;
+            clock-frequency = <30000000>;
+            hactive = <800>;
+            vactive = <480>;
+            hfront-porch = <40>;
+            hback-porch = <88>;
+            hsync-len = <48>;
+            vback-porch = <32>;
+            vfront-porch = <13>;
+            vsync-len = <3>;
             hsync-active = <0>;
             vsync-active = <0>;
@@ -312,6 +318,7 @@
             MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00    0x1b0b0
             MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01    0x1b0b0
             MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1    0x4001b031
+            MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x10B0 /* ENET1 RESET */
         >;
     };
@@ -327,6 +334,7 @@
             MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00    0x1b0b0
             MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01    0x1b0b0
             MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2    0x4001b031
+            MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04  0x10B0 /* ENET2 RESET */
         >;
     };
@@ -423,7 +431,6 @@
             MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA    0x11088
             MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA    0x11088
             MX6UL_PAD_JTAG_TMS__SAI2_MCLK        0x17088
-            MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04    0x17059
         >;
     };
@@ -448,7 +455,6 @@
         fsl,pins = <
             MX6UL_PAD_BOOT_MODE0__GPIO5_IO10    0x70a1
             MX6UL_PAD_BOOT_MODE1__GPIO5_IO11    0x70a1
-            MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07    0x70a1
             MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08    0x80000000
         >;
     };
diff -Nuar uboot-imx/.cfg-imx6ull uboot-imx-imx6ull/.cfg-imx6ull
--- uboot-imx/.cfg-imx6ull    1970-01-01 08:00:00.000000000 +0800
+++ uboot-imx-imx6ull/.cfg-imx6ull    2021-11-09 21:36:57.485043985 +0800
+++ uboot-imx-imx6ull/.cfg-imx6ull    2021-11-14 13:57:01.556273286 +0800
@@ -0,0 +1,1648 @@
+#
+# Automatically generated file; DO NOT EDIT.
@@ -8,7 +106,7 @@
+#
+
+#
+# Compiler: arm-linux-gnueabihf-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
+# Compiler: arm-linux-gcc.br_real (Buildroot 2021.02.7) 9.4.0
+#
+CONFIG_CREATE_ARCH_SYMLINK=y
+CONFIG_LINKER_LIST_ALIGN=4
@@ -1650,15 +1748,171 @@
+# Tools options
+#
+CONFIG_MKIMAGE_DTC_PATH="dtc"
diff -Nuar uboot-imx/drivers/net/phy/phy.c uboot-imx-imx6ull/drivers/net/phy/phy.c
--- uboot-imx/drivers/net/phy/phy.c    2021-09-06 16:48:23.000000000 +0800
+++ uboot-imx-imx6ull/drivers/net/phy/phy.c    2021-11-14 13:28:43.737904373 +0800
@@ -182,6 +182,9 @@
 {
     int result;
+    /*  add Soft Reset the PHY by guowenxue, 2021.11.14 */
+    phy_reset(phydev);
+
     if (phydev->autoneg != AUTONEG_ENABLE)
         return genphy_setup_forced(phydev);
diff -Nuar uboot-imx/include/configs/mx6ullevk.h uboot-imx-imx6ull/include/configs/mx6ullevk.h
--- uboot-imx/include/configs/mx6ullevk.h    2021-09-06 16:48:23.000000000 +0800
+++ uboot-imx-imx6ull/include/configs/mx6ullevk.h    2021-11-14 13:53:59.469274456 +0800
@@ -100,124 +100,33 @@
 #else
 #define CONFIG_EXTRA_ENV_SETTINGS \
-    CONFIG_MFG_ENV_SETTINGS \
-    TEE_ENV \
+    "emmc_dev=1\0"\
+    "emmc_ack=1\0"\
     "script=boot.scr\0" \
     "image=zImage\0" \
     "console=ttymxc0\0" \
-    "fdt_high=0xffffffff\0" \
-    "initrd_high=0xffffffff\0" \
-    "fdt_file=undefined\0" \
+    "fdt_file=imx6ull-emmc.dtb\0" \
     "fdt_addr=0x83000000\0" \
-    "tee_addr=0x84000000\0" \
-    "tee_file=undefined\0" \
-    "boot_fdt=try\0" \
-    "ip_dyn=yes\0" \
     "splashimage=0x8c000000\0" \
     "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
     "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
     "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
-    "mmcautodetect=yes\0" \
-    "mmcargs=setenv bootargs console=${console},${baudrate} " \
-        BOOTARGS_CMA_SIZE \
-        "root=${mmcroot}\0" \
-    "loadbootscript=" \
-        "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-    "bootscript=echo Running bootscript from mmc ...; " \
-        "source\0" \
+    "mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}\0" \
+    "loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
+    "bootscript=echo Running bootscript from mmc ...; source\0" \
     "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
     "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
-    "loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file}\0" \
     "mmcboot=echo Booting from mmc ...; " \
+        "mmc dev ${mmcdev}; " \
+        "run loadimage; run loadfdt; " \
         "run mmcargs; " \
-        "if test ${tee} = yes; then " \
-            "run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; " \
-        "else " \
-            "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-                "if run loadfdt; then " \
-                    "bootz ${loadaddr} - ${fdt_addr}; " \
-                "else " \
-                    "if test ${boot_fdt} = try; then " \
-                        "bootz; " \
-                    "else " \
-                        "echo WARN: Cannot load the DT; " \
-                    "fi; " \
-                "fi; " \
-            "else " \
-                "bootz; " \
-            "fi; " \
-        "fi;\0" \
-    "netargs=setenv bootargs console=${console},${baudrate} " \
-        BOOTARGS_CMA_SIZE \
-        "root=/dev/nfs " \
-    "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-        "netboot=echo Booting from net ...; " \
-        "${usb_net_cmd}; " \
-        "run netargs; " \
-        "if test ${ip_dyn} = yes; then " \
-            "setenv get_cmd dhcp; " \
-        "else " \
-            "setenv get_cmd tftp; " \
-        "fi; " \
-        "${get_cmd} ${image}; " \
-        "if test ${tee} = yes; then " \
-            "${get_cmd} ${tee_addr} ${tee_file}; " \
-            "${get_cmd} ${fdt_addr} ${fdt_file}; " \
-            "bootm ${tee_addr} - ${fdt_addr}; " \
-        "else " \
-            "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-                "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
-                    "bootz ${loadaddr} - ${fdt_addr}; " \
-                "else " \
-                    "if test ${boot_fdt} = try; then " \
-                        "bootz; " \
-                    "else " \
-                        "echo WARN: Cannot load the DT; " \
-                    "fi; " \
-                "fi; " \
-            "else " \
-                "bootz; " \
-            "fi; " \
-        "fi;\0" \
-        "findfdt="\
-            "if test $fdt_file = undefined; then " \
-                "if test $board_name = ULZ-EVK && test $board_rev = 14X14; then " \
-                    "setenv fdt_file imx6ulz-14x14-evk.dtb; fi; " \
-                "if test $board_name = EVK && test $board_rev = 9X9; then " \
-                    "setenv fdt_file imx6ull-9x9-evk.dtb; fi; " \
-                "if test $board_name = EVK && test $board_rev = 14X14; then " \
-                    "setenv fdt_file imx6ull-14x14-evk.dtb; fi; " \
-                "if test $fdt_file = undefined; then " \
-                    "echo WARNING: Could not determine dtb to use; " \
-                "fi; " \
-            "fi;\0" \
-        "findtee="\
-            "if test $tee_file = undefined; then " \
-                "if test $board_name = ULZ-EVK && test $board_rev = 14X14; then " \
-                    "setenv tee_file uTee-6ulzevk; fi; " \
-                "if test $board_name = EVK && test $board_rev = 9X9; then " \
-                    "setenv tee_file uTee-6ullevk; fi; " \
-                "if test $board_name = EVK && test $board_rev = 14X14; then " \
-                    "setenv tee_file uTee-6ullevk; fi; " \
-                "if test $tee_file = undefined; then " \
-                    "echo WARNING: Could not determine tee to use; " \
-                "fi; " \
-            "fi;\0" \
-
-#define CONFIG_BOOTCOMMAND \
-       "run findfdt;" \
-       "run findtee;" \
-       "mmc dev ${mmcdev};" \
-       "mmc dev ${mmcdev}; if mmc rescan; then " \
-           "if run loadbootscript; then " \
-               "run bootscript; " \
-           "else " \
-               "if run loadimage; then " \
-                   "run mmcboot; " \
-               "else run netboot; " \
-               "fi; " \
-           "fi; " \
-       "else run netboot; fi"
+        "run loadbootscript; run bootscript; " \
+        "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" \
+    "bootcmd=run mmcboot\0"
 #endif
 /* Miscellaneous configurable options */
diff -Nuar uboot-imx/Makefile uboot-imx-imx6ull/Makefile
--- uboot-imx/Makefile    2021-09-06 16:48:23.000000000 +0800
+++ uboot-imx-imx6ull/Makefile    2021-11-09 21:35:29.881688055 +0800
+++ uboot-imx-imx6ull/Makefile    2021-11-14 13:54:05.045108519 +0800
@@ -263,6 +263,9 @@
 CROSS_COMPILE ?=
 endif
 
+ARCH=arm
+CROSS_COMPILE=arm-linux-gnueabihf-
+CROSS_COMPILE=/opt/buildroot/cortexA7/bin/arm-linux-
+
 KCONFIG_CONFIG    ?= .config
 export KCONFIG_CONFIG