From 809a5822ddb5ac178e213edb14244fa27c3efc2c Mon Sep 17 00:00:00 2001
From: guowenxu <guowenxue@gmail.com>
Date: Sun, 14 Nov 2021 13:58:15 +0800
Subject: [PATCH] update uboot patch file, fix network card and LCD driver bug, update u-boot env config

---
 bsp/bootloader/patch/uboot-imx-imx6ull.patch |  262 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 258 insertions(+), 4 deletions(-)

diff --git a/bsp/bootloader/patch/uboot-imx-imx6ull.patch b/bsp/bootloader/patch/uboot-imx-imx6ull.patch
index 137052f..ffdea30 100644
--- a/bsp/bootloader/patch/uboot-imx-imx6ull.patch
+++ b/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

--
Gitblit v1.9.1