diff --git a/root/package/boot/uboot-mediatek/Makefile b/root/package/boot/uboot-mediatek/Makefile deleted file mode 100644 index 150abe59..00000000 --- a/root/package/boot/uboot-mediatek/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -# -# Copyright (C) 2013-2019 OpenWrt.org -# Copyright (C) 2019 Alexey Loukianov -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_VERSION:=2020.04 - -PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372 - -PKG_MAINTAINER:=Cristian Ciobanu - -include $(INCLUDE_DIR)/u-boot.mk -include $(INCLUDE_DIR)/package.mk - -define U-Boot/Default - BUILD_TARGET:=mediatek - UBOOT_IMAGE:=u-boot.bin - UENV:=default - HIDDEN:=1 -endef - -define U-Boot/mt7623n_bpir2 - BUILD_SUBTARGET:=mt7623 - NAME:=Bannana PI R2 (mt7623) - BUILD_DEVICES:=bpi_bananapi-r2 -endef - -UBOOT_TARGETS := \ - mt7623n_bpir2 - -UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes - -UBOOT_MAKE_FLAGS = \ - HOSTCC="$(HOSTCC)" \ - HOSTCFLAGS="$(HOST_CFLAGS) $(HOST_CPPFLAGS) -std=gnu11" \ - HOSTLDFLAGS="$(HOST_LDFLAGS)" - -define Build/Prepare - $(call Build/Prepare/Default) - $(CP) uEnv-$(UENV).txt ${PKG_BUILD_DIR}/uEnv.txt -endef - -define Build/InstallDev - $(INSTALL_DIR) $(STAGING_DIR_IMAGE) - $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-uboot-mediatek.bin - $(CP) $(PKG_BUILD_DIR)/uEnv.txt $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-uEnv.txt -endef - -define Package/u-boot/install/default -endef - -$(eval $(call BuildPackage/U-Boot)) diff --git a/root/package/boot/uboot-mediatek/patches/0001-defconfig-r2-Add-additional-U-boot-options-for-mt7623n.patch b/root/package/boot/uboot-mediatek/patches/0001-defconfig-r2-Add-additional-U-boot-options-for-mt7623n.patch deleted file mode 100644 index a6959594..00000000 --- a/root/package/boot/uboot-mediatek/patches/0001-defconfig-r2-Add-additional-U-boot-options-for-mt7623n.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 075db54b57761868cd63434b466fffe7ba7a564f Mon Sep 17 00:00:00 2001 -From: Cristian Ciobanu -Date: Thu, 9 Apr 2020 17:59:27 +0300 -Subject: [PATCH] defconfig: r2: Add additional U-boot options for mt7623n - ---- - configs/mt7623n_bpir2_defconfig | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/configs/mt7623n_bpir2_defconfig b/configs/mt7623n_bpir2_defconfig -index 07ddade76a..36a903cbe7 100644 ---- a/configs/mt7623n_bpir2_defconfig -+++ b/configs/mt7623n_bpir2_defconfig -@@ -3,7 +3,7 @@ CONFIG_SYS_THUMB_BUILD=y - CONFIG_ARCH_MEDIATEK=y - CONFIG_SYS_TEXT_BASE=0x81e00000 - CONFIG_SYS_MALLOC_F_LEN=0x4000 --CONFIG_ENV_SIZE=0x1000 -+CONFIG_ENV_SIZE=0x2000 - CONFIG_ENV_OFFSET=0x100000 - CONFIG_TARGET_MT7623=y - CONFIG_NR_DRAM_BANKS=1 -@@ -14,7 +14,7 @@ CONFIG_SYS_CONSOLE_IS_IN_ENV=y - CONFIG_DEFAULT_FDT_FILE="mt7623n-bananapi-bpi-r2" - # CONFIG_DISPLAY_BOARDINFO is not set - CONFIG_HUSH_PARSER=y --CONFIG_SYS_PROMPT="U-Boot> " -+CONFIG_SYS_PROMPT="BPI-R2> " - CONFIG_CMD_BOOTMENU=y - # CONFIG_CMD_ELF is not set - # CONFIG_CMD_XIMG is not set -@@ -57,3 +57,29 @@ CONFIG_MTK_TIMER=y - CONFIG_WDT_MTK=y - CONFIG_LZMA=y - # CONFIG_EFI_LOADER is not set -+ -+CONFIG_LOCALVERSION_AUTO=n -+CONFIG_USE_DEFAULT_ENV_FILE=y -+CONFIG_DEFAULT_ENV_FILE="uEnv.txt" -+CONFIG_CMD_BOOTZ=y -+CONFIG_OF_LIBFDT_OVERLAY=y -+ -+#commands used in uenv.txt -+CONFIG_CMD_ASKENV=y -+CONFIG_CMD_STRINGS=y -+CONFIG_CMD_SETEXPR=y -+CONFIG_CMD_CACHE=y -+CONFIG_CMD_ERASEENV=y -+CONFIG_PCI=y -+CONFIG_DM_PCI=y -+CONFIG_PCIE_MEDIATEK=y -+CONFIG_PHY=y -+CONFIG_PHY_MTK_TPHY=y -+CONFIG_CMD_PCI=y -+CONFIG_AHCI=y -+CONFIG_AHCI_PCI=y -+CONFIG_SCSI=y -+CONFIG_DM_SCSI=y -+CONFIG_SCSI_AHCI=y -+CONFIG_HAVE_BLOCK_DEVICE=y -+CONFIG_POWER_MT6323=y --- -2.25.1 - diff --git a/root/package/boot/uboot-mediatek/patches/0002-u-boot-modify-environment-offset-for-mt7623.patch b/root/package/boot/uboot-mediatek/patches/0002-u-boot-modify-environment-offset-for-mt7623.patch deleted file mode 100644 index 2f0e68a1..00000000 --- a/root/package/boot/uboot-mediatek/patches/0002-u-boot-modify-environment-offset-for-mt7623.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 15e032f5b06ba97a7777bc32aef15e10d0086041 Mon Sep 17 00:00:00 2001 -From: Cristian Ciobanu -Date: Wed, 8 Apr 2020 22:27:01 +0300 -Subject: [PATCH] u-boot: Modify environment offset for mt7623 - ---- - include/configs/mt7623.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/configs/mt7623.h b/include/configs/mt7623.h -index faab0913fc..5d0da71ce9 100644 ---- a/include/configs/mt7623.h -+++ b/include/configs/mt7623.h -@@ -56,5 +56,6 @@ - #define CONFIG_SERVERIP 192.168.1.2 - - #define CONFIG_SYS_MMC_ENV_DEV 0 -+#define CONFIG_ENV_OFFSET 0xF3800 - - #endif --- -2.25.1 - diff --git a/root/package/boot/uboot-mediatek/patches/0003-bootmenu-added-key-input-1-9-a-f.patch b/root/package/boot/uboot-mediatek/patches/0003-bootmenu-added-key-input-1-9-a-f.patch deleted file mode 100644 index faa70ac6..00000000 --- a/root/package/boot/uboot-mediatek/patches/0003-bootmenu-added-key-input-1-9-a-f.patch +++ /dev/null @@ -1,219 +0,0 @@ -From 798f0fc54926093a074a9cbb011de833a0614c3a Mon Sep 17 00:00:00 2001 -From: Frank Wunderlich -Date: Fri, 28 Dec 2018 17:56:19 +0100 -Subject: [PATCH 1/2] bootmenu: added key-input (1-9,a-f) - ---- - cmd/bootmenu.c | 145 ++++++++++++++++++++++++++++++++----------------- - 1 file changed, 94 insertions(+), 51 deletions(-) - -diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c -index 3dc2c854ac..fd6ba6c8af 100644 ---- a/cmd/bootmenu.c -+++ b/cmd/bootmenu.c -@@ -40,7 +40,22 @@ struct bootmenu_data { - - enum bootmenu_key { - KEY_NONE = 0, -- KEY_UP, -+ KEY_1, -+ KEY_2, -+ KEY_3, -+ KEY_4, -+ KEY_5, -+ KEY_6, -+ KEY_7, -+ KEY_8, -+ KEY_9, -+ KEY_a, -+ KEY_b, -+ KEY_c, -+ KEY_d, -+ KEY_e, -+ KEY_f, -+ KEY_UP = 20, - KEY_DOWN, - KEY_SELECT, - }; -@@ -78,6 +93,23 @@ static void bootmenu_print_entry(void *data) - puts(ANSI_COLOR_RESET); - } - -+bool get_bootmenu_key(enum bootmenu_key *key, int c) -+{ -+ /* ANSI '1~9' - was pressed */ -+ if (c <= '9' && c >= '1' ) -+ { -+ *key = c-48; -+ return true; -+ }else -+ /* ANSI 'a~f' - was pressed */ -+ if (c <= 'f' && c >= 'a' ) -+ { -+ *key = c-87; -+ return true; -+ } -+ return false; -+} -+ - static void bootmenu_autoboot_loop(struct bootmenu_data *menu, - enum bootmenu_key *key, int *esc) - { -@@ -98,23 +130,23 @@ static void bootmenu_autoboot_loop(struct bootmenu_data *menu, - - menu->delay = -1; - c = getc(); -- -- switch (c) { -- case '\e': -- *esc = 1; -- *key = KEY_NONE; -- break; -- case '\r': -- *key = KEY_SELECT; -- break; -- default: -- *key = KEY_NONE; -- break; -+ if (!get_bootmenu_key(key,c)) -+ { -+ switch (c) { -+ case '\e': -+ *esc = 1; -+ *key = KEY_NONE; -+ break; -+ case '\r': -+ *key = KEY_SELECT; -+ break; -+ default: -+ *key = KEY_NONE; -+ break; -+ } - } -- - break; - } -- - if (menu->delay < 0) - break; - -@@ -141,47 +173,49 @@ static void bootmenu_loop(struct bootmenu_data *menu, - - c = getc(); - -- switch (*esc) { -- case 0: -- /* First char of ANSI escape sequence '\e' */ -- if (c == '\e') { -- *esc = 1; -- *key = KEY_NONE; -- } -- break; -- case 1: -- /* Second char of ANSI '[' */ -- if (c == '[') { -- *esc = 2; -- *key = KEY_NONE; -- } else { -- *esc = 0; -- } -- break; -- case 2: -- case 3: -- /* Third char of ANSI (number '1') - optional */ -- if (*esc == 2 && c == '1') { -- *esc = 3; -+ if (!get_bootmenu_key(key,c)) -+ { -+ switch (*esc) { -+ case 0: -+ /* First char of ANSI escape sequence '\e' */ -+ if (c == '\e') { -+ *esc = 1; -+ *key = KEY_NONE; -+ } -+ break; -+ case 1: -+ /* Second char of ANSI '[' */ -+ if (c == '[') { -+ *esc = 2; - *key = KEY_NONE; -+ } else { -+ *esc = 0; -+ } - break; -- } -+ case 2: -+ case 3: -+ /* Third char of ANSI (number '1') - optional */ -+ if (*esc == 2 && c == '1') { -+ *esc = 3; -+ *key = KEY_NONE; -+ break; -+ } - -- *esc = 0; -+ *esc = 0; - -- /* ANSI 'A' - key up was pressed */ -- if (c == 'A') -- *key = KEY_UP; -- /* ANSI 'B' - key down was pressed */ -- else if (c == 'B') -- *key = KEY_DOWN; -- /* other key was pressed */ -- else -- *key = KEY_NONE; -+ /* ANSI 'A' - key up was pressed */ -+ if (c == 'A') -+ *key = KEY_UP; -+ /* ANSI 'B' - key down was pressed */ -+ else if (c == 'B') -+ *key = KEY_DOWN; -+ /* other key was pressed */ -+ else -+ *key = KEY_NONE; - -- break; -+ break; -+ } - } -- - /* enter key was pressed */ - if (c == '\r') - *key = KEY_SELECT; -@@ -204,6 +238,14 @@ static char *bootmenu_choice_entry(void *data) - bootmenu_loop(menu, &key, &esc); - } - -+ if (key < KEY_UP && key > KEY_NONE) -+ { -+ menu->active = key-1; -+ return NULL; -+ } -+ else -+ { -+ - switch (key) { - case KEY_UP: - if (menu->active > 0) -@@ -223,6 +265,7 @@ static char *bootmenu_choice_entry(void *data) - default: - break; - } -+ } - } - - /* never happens */ -@@ -467,7 +510,7 @@ void menu_display_statusline(struct menu *m) - printf(ANSI_CURSOR_POSITION, menu->count + 5, 1); - puts(ANSI_CLEAR_LINE); - printf(ANSI_CURSOR_POSITION, menu->count + 6, 1); -- puts(" Press UP/DOWN to move, ENTER to select"); -+ puts(" Press UP/DOWN to move or Press 1~9,a~f to choose, ENTER to select"); - puts(ANSI_CLEAR_LINE_TO_END); - printf(ANSI_CURSOR_POSITION, menu->count + 7, 1); - puts(ANSI_CLEAR_LINE); --- -2.25.1 - diff --git a/root/package/boot/uboot-mediatek/patches/0004-Add-EXT4-support-in-U-boot.patch b/root/package/boot/uboot-mediatek/patches/0004-Add-EXT4-support-in-U-boot.patch deleted file mode 100644 index 3f1a024b..00000000 --- a/root/package/boot/uboot-mediatek/patches/0004-Add-EXT4-support-in-U-boot.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 39b0c824b56be1000844cedb5faba506b6b09b9b Mon Sep 17 00:00:00 2001 -From: Cristian Ciobanu -Date: Fri, 10 Apr 2020 00:41:42 +0300 -Subject: [PATCH] Add EXT4 support in U-boot - ---- - configs/mt7623n_bpir2_defconfig | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/configs/mt7623n_bpir2_defconfig b/configs/mt7623n_bpir2_defconfig -index 36a903cbe7..09b9b6f797 100644 ---- a/configs/mt7623n_bpir2_defconfig -+++ b/configs/mt7623n_bpir2_defconfig -@@ -83,3 +83,8 @@ CONFIG_DM_SCSI=y - CONFIG_SCSI_AHCI=y - CONFIG_HAVE_BLOCK_DEVICE=y - CONFIG_POWER_MT6323=y -+ -+CONFIG_CMD_EXT4=y -+CONFIG_CMD_EXT4_WRITE=y -+CONFIG_FS_EXT4=y -+CONFIG_EXT4_WRITE=y --- -2.25.1 - diff --git a/root/package/boot/uboot-mediatek/uEnv-default.txt b/root/package/boot/uboot-mediatek/uEnv-default.txt deleted file mode 100644 index 10373c46..00000000 --- a/root/package/boot/uboot-mediatek/uEnv-default.txt +++ /dev/null @@ -1,91 +0,0 @@ -scriptaddr=0x83000000 -device=mmc -bootenv=uEnv.txt -kernel=uImage -loadaddr=0x80200000 -#default bootargs will be overidden by buildargs -bootargs=console=ttyS2,115200 root=/dev/mmcblk1p2 rw rootwait ip=dhcp - -console=earlyprintk console=ttyS2,115200 console=tty1 fbcon=map:0 -roottmpl=${rootdev} rootfstype=ext4 rootwait -prepsetroot=setenv setroot setenv root ${roottmpl} -bootopts=vmalloc=496M debug=7 initcall_debug=0 -graphic=video=1920x1080 drm.debug=0x7 - -buildargs=setenv bootargs "console=${console} root=${root} ${bootopts} ${graphic}" - -checkenv=test -e ${device} ${partition} ${bootenv} -importenv=env import -t ${scriptaddr} ${filesize} -loadbootenv=if fatload ${device} ${partition} ${scriptaddr} ${bootenv};then run importenv;else echo "fatload (${bootenv}) failed";fi -resetenv=env default -a;printenv; - -# Here we assume that SD card id mmcblk1 and eMMC is mmcblk0 in linux. Swap them if your DTS define them in reverse order. -usesd=setenv partition 1:1; setenv rootdev /dev/mmcblk1p2; setenv bootdev SD; setenv swaproot 'run useemmc'; -useemmc=setenv partition 0:1; setenv rootdev /dev/mmcblk0p2; setenv bootdev eMMC; setenv swaproot 'run usesd'; - -checkbootedfrom=if itest.l *81dffff0 == 434d4d65 ; then setenv bootedfrom eMMC; else setenv bootedfrom SD; fi; - -checkroot=fatinfo ${device} ${partition} -checksd=fatinfo ${device} 1:1 -checkmmc=fatinfo ${device} 0:1 - -reportbootedfrom=echo "Preloader/U-Boot loaded from ${bootedfrom}."; run validroot || echo "Both SD and eMMC pt#1 are not FAT, falling back to U-Boot shell." -reportvalidroot=run validroot || echo "Both SD and eMMC pt#1 are not FAT, falling back to U-Boot shell." -reportrootswapwarn=if test "${bootedfrom}" != "${bootdev}" ; then echo "Warning: Partition 1 on ${bootedfrom} is not FAT, failing back to ${bootdev}"; fi; true; -reportbootdev=echo "Booting from ${bootdev}." -reportboot=run reportbootedfrom reportvalidroot reportrootswapwarn reportbootdev - -detectroot=run useemmc; run checkbootedfrom; if test "${bootedfrom}" == "SD"; then run usesd; fi; run validateroot; -validateroot=setenv validroot false; run checkroot || run swaproot; run checkroot && setenv validroot true || run swaproot; - -newboot=run prepsetroot; run setroot;run buildargs;printenv bootargs;fatload ${device} ${partition} ${loadaddr} ${kernel}; bootm - -reloadenv=run detectroot; if run validroot; then if run checkenv; then run loadbootenv; run detectroot; else echo uEnv.txt file not found on ${bootdev}; fi; fi; -reloadmenu=run reloadenv; run reportboot; if run validroot; then if run checkenv; then run loadbootenv; else echo uEnv.txt file not found on ${bootdev}; fi; bootmenu; fi; - -lskernel=ls ${device} ${partition}; -lsdtb=ls ${device} ${partition} dtb -askkernel=askenv kernelinput "enter uImage-name:"; -askdtb=askenv dtbinput "enter dtb-name:"; - -#bootmenu -boot0=run lskernel;run askkernel;if printenv kernelinput ;then setenv kernel ${kernelinput};run lsdtb;run askdtb;if printenv dtbinput ;then setenv fdt ${dtbinput};fi; run newboot2; fi; -boot1=run newboot; - -bootmenu_default=2 -bootmenu_0=1. Enter kernel-name to boot from SD/EMMC.=run boot0 -bootmenu_1=2. Boot kernel from TFTP.=run bootnet -bootmenu_2=3. Boot from SD/EMMC.=run boot1 -bootmenu_3=4. Boot from eMMC.=run useemmc; run boot1 -bootmenu_4=5. Boot from SD.=run usesd; run boot1 - -#Netboot -ipaddr=192.168.0.11 -netmask=255.255.255.0 -serverip=192.168.0.10 - -bootfile=uImage -netbootargs=console=ttyS2,115200 root=/dev/mmcblk1p2 rw rootwait -#ip=dhcp sets ip on eth0 instead of wan - -lstftp=tftp ${loadaddr} ${serverip}:files.lst;setexpr listend ${loadaddr} + ${filesize};mw.b ${listend} 00 2;strings ${loadaddr}; -#md.b ${loadaddr} 60; - -bootnet=run lstftp;run askkernel;if printenv kernelinput ;then setenv bootfile "${kernelinput}"; fi;printenv; setenv bootargs ${netbootargs};tftp ${loadaddr} ${bootfile};bootm - -#separate fdt+dto -dtaddr=0x83f00000 -fdt_high=0xffffffff - -loadfdt=fatload ${device} ${partition} ${dtaddr} dtb/${fdt} -loadkernel=echo "loading kernel ${kernel}...";fatload ${device} ${partition} ${loadaddr} ${kernel} - -loaddto=echo "loaddto:${dto}";fdt addr ${dtaddr};fdt resize 8192; setexpr fdtovaddr ${dtaddr} + F000;fatload ${device} ${partition} ${fdtovaddr} dtb/${dto} && fdt apply ${fdtovaddr} -loaddtolist=for dto in ${dtolist} ; do run loaddto ; done - -bootall=if printenv fdt; then run loadfdt; if printenv dtolist;then run loaddtolist;fi; bootm ${loadaddr} - ${dtaddr} ;else bootm; fi -newboot2=run prepsetroot; run setroot;run buildargs; printenv bootargs; run loadkernel; run bootall; - -#automatic reload from sd/emmc -bootdelay=0 -bootcmd=setenv bootdelay 3; run reloadmenu; diff --git a/root/package/boot/uboot-mtk-bpi-r2/Makefile b/root/package/boot/uboot-mtk-bpi-r2/Makefile deleted file mode 100644 index 622f6ca5..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright (C) 2016 Gary Wang -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=uboot-mtk-bpi-r2 -PKG_VERSION:=v1.0 -PKG_RELEASE:=1 -HOSTCPPFLAGS:="-I." -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/BPI-SINOVOIP/BPI-R2-LEDE-Uboot.git -PKG_SOURCE_VERSION:=b05a4e323e1fd8727fcfe32c35d562f12b88a23b - -PKG_LICENSE:=GPL-2.0 GPL-2.0+ -PKG_LICENSE_FILES:=Licenses/README - -PKG_MAINTAINER:=Gary Wang - -include $(INCLUDE_DIR)/u-boot.mk -include $(INCLUDE_DIR)/package.mk - -define U-Boot/bpi_r2 - BUILD_TARGET:=mediatek - NAME:=Mediatek Banana Pi R2 board - BUILD_DEVICES:=7623n-bananapi-bpi-r2 -endef - -UBOOT_TARGETS := \ - bpi_r2 - - -UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes - -define Build/InstallDev - $(INSTALL_DIR) $(STAGING_DIR_IMAGE) - $(CP) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/mtk-bpi-r2-uboot.bin - $(CP) $(PKG_BUILD_DIR)/bpi_r2_preloader/EMMC_PRELOADER_1600MHz.img $(STAGING_DIR_IMAGE)/mtk-bpi-r2-preloader-emmc.bin - $(CP) $(PKG_BUILD_DIR)/bpi_r2_preloader/SD_PRELOADER_1600MHz.img $(STAGING_DIR_IMAGE)/mtk-bpi-r2-preloader-sd.bin -endef - -define Package/u-boot/install/default -endef - -$(eval $(call BuildPackage/U-Boot)) diff --git a/root/package/boot/uboot-mtk-bpi-r2/patches/002-use-static-inline.patch b/root/package/boot/uboot-mtk-bpi-r2/patches/002-use-static-inline.patch deleted file mode 100644 index 2fc7bfbb..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/patches/002-use-static-inline.patch +++ /dev/null @@ -1,56 +0,0 @@ -Index: uboot-mtk-bpi-r2-v1.0/arch/arm/include/asm/io.h -=================================================================== ---- uboot-mtk-bpi-r2-v1.0.orig/arch/arm/include/asm/io.h -+++ uboot-mtk-bpi-r2-v1.0/arch/arm/include/asm/io.h -@@ -75,7 +75,7 @@ static inline phys_addr_t virt_to_phys(v - #define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v)) - #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) - --extern inline void __raw_writesb(unsigned long addr, const void *data, -+static inline void __raw_writesb(unsigned long addr, const void *data, - int bytelen) - { - uint8_t *buf = (uint8_t *)data; -@@ -83,7 +83,7 @@ extern inline void __raw_writesb(unsigne - __arch_putb(*buf++, addr); - } - --extern inline void __raw_writesw(unsigned long addr, const void *data, -+static inline void __raw_writesw(unsigned long addr, const void *data, - int wordlen) - { - uint16_t *buf = (uint16_t *)data; -@@ -91,7 +91,7 @@ extern inline void __raw_writesw(unsigne - __arch_putw(*buf++, addr); - } - --extern inline void __raw_writesl(unsigned long addr, const void *data, -+static inline void __raw_writesl(unsigned long addr, const void *data, - int longlen) - { - uint32_t *buf = (uint32_t *)data; -@@ -99,21 +99,21 @@ extern inline void __raw_writesl(unsigne - __arch_putl(*buf++, addr); - } - --extern inline void __raw_readsb(unsigned long addr, void *data, int bytelen) -+static inline void __raw_readsb(unsigned long addr, void *data, int bytelen) - { - uint8_t *buf = (uint8_t *)data; - while(bytelen--) - *buf++ = __arch_getb(addr); - } - --extern inline void __raw_readsw(unsigned long addr, void *data, int wordlen) -+static inline void __raw_readsw(unsigned long addr, void *data, int wordlen) - { - uint16_t *buf = (uint16_t *)data; - while(wordlen--) - *buf++ = __arch_getw(addr); - } - --extern inline void __raw_readsl(unsigned long addr, void *data, int longlen) -+static inline void __raw_readsl(unsigned long addr, void *data, int longlen) - { - uint32_t *buf = (uint32_t *)data; - while(longlen--) diff --git a/root/package/boot/uboot-mtk-bpi-r2/patches/003-use-weak-in-board.patch b/root/package/boot/uboot-mtk-bpi-r2/patches/003-use-weak-in-board.patch deleted file mode 100644 index 2968a54f..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/patches/003-use-weak-in-board.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: uboot-mtk-bpi-r2-v1.0/arch/arm/lib/board.c -=================================================================== ---- uboot-mtk-bpi-r2-v1.0.orig/arch/arm/lib/board.c -+++ uboot-mtk-bpi-r2-v1.0/arch/arm/lib/board.c -@@ -69,24 +69,15 @@ extern void dataflash_print_info(void); - ************************************************************************ - * May be supplied by boards if desired - */ --inline void __coloured_LED_init(void) {} --void coloured_LED_init(void) __attribute__((weak, alias("__coloured_LED_init"))); --inline void __red_led_on(void) {} --void red_led_on(void) __attribute__((weak, alias("__red_led_on"))); --inline void __red_led_off(void) {} --void red_led_off(void) __attribute__((weak, alias("__red_led_off"))); --inline void __green_led_on(void) {} --void green_led_on(void) __attribute__((weak, alias("__green_led_on"))); --inline void __green_led_off(void) {} --void green_led_off(void) __attribute__((weak, alias("__green_led_off"))); --inline void __yellow_led_on(void) {} --void yellow_led_on(void) __attribute__((weak, alias("__yellow_led_on"))); --inline void __yellow_led_off(void) {} --void yellow_led_off(void) __attribute__((weak, alias("__yellow_led_off"))); --inline void __blue_led_on(void) {} --void blue_led_on(void) __attribute__((weak, alias("__blue_led_on"))); --inline void __blue_led_off(void) {} --void blue_led_off(void) __attribute__((weak, alias("__blue_led_off"))); -+__weak void coloured_LED_init(void) {} -+__weak void red_led_on(void) {} -+__weak void red_led_off(void) {} -+__weak void green_led_on(void) {} -+__weak void green_led_off(void) {} -+__weak void yellow_led_on(void) {} -+__weak void yellow_led_off(void) {} -+__weak void blue_led_on(void) {} -+__weak void blue_led_off(void) {} - - /* - ************************************************************************ diff --git a/root/package/boot/uboot-mtk-bpi-r2/patches/004-use-weak-in-main.patch b/root/package/boot/uboot-mtk-bpi-r2/patches/004-use-weak-in-main.patch deleted file mode 100644 index be731ae4..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/patches/004-use-weak-in-main.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: uboot-mtk-bpi-r2-v1.0/common/main.c -=================================================================== ---- uboot-mtk-bpi-r2-v1.0.orig/common/main.c -+++ uboot-mtk-bpi-r2-v1.0/common/main.c -@@ -27,8 +27,7 @@ DECLARE_GLOBAL_DATA_PTR; - /* - * Board-specific Platform code can reimplement show_boot_progress () if needed - */ --void inline __show_boot_progress (int val) {} --void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress"))); -+__weak void show_boot_progress(int val) {} - - #define MAX_DELAY_STOP_STR 32 - diff --git a/root/package/boot/uboot-mtk-bpi-r2/patches/200-fix-dtc-header-guard.patch b/root/package/boot/uboot-mtk-bpi-r2/patches/200-fix-dtc-header-guard.patch deleted file mode 100644 index 88d914b1..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/patches/200-fix-dtc-header-guard.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/include/libfdt_env.h -+++ b/include/libfdt_env.h -@@ -8,6 +8,7 @@ - - #ifndef _LIBFDT_ENV_H - #define _LIBFDT_ENV_H -+#define LIBFDT_ENV_H - - #include "compiler.h" - #include "linux/types.h" ---- a/include/libfdt.h -+++ b/include/libfdt.h -@@ -1,5 +1,6 @@ - #ifndef _LIBFDT_H - #define _LIBFDT_H -+#define LIBFDT_H - /* - * libfdt - Flat Device Tree manipulation - * Copyright (C) 2006 David Gibson, IBM Corporation. diff --git a/root/package/boot/uboot-mtk-bpi-r2/patches/420-gcc-7-compiler.patch b/root/package/boot/uboot-mtk-bpi-r2/patches/420-gcc-7-compiler.patch deleted file mode 100644 index 09516296..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/patches/420-gcc-7-compiler.patch +++ /dev/null @@ -1,287 +0,0 @@ ---- /dev/null -+++ b/include/linux/compiler-gcc7.h -@@ -0,0 +1,284 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+/* -+ * Common definitions for all gcc versions go here. -+ */ -+#define GCC_VERSION (__GNUC__ * 10000 \ -+ + __GNUC_MINOR__ * 100 \ -+ + __GNUC_PATCHLEVEL__) -+ -+/* Optimization barrier */ -+ -+/* The "volatile" is due to gcc bugs */ -+#define barrier() __asm__ __volatile__("": : :"memory") -+/* -+ * This version is i.e. to prevent dead stores elimination on @ptr -+ * where gcc and llvm may behave differently when otherwise using -+ * normal barrier(): while gcc behavior gets along with a normal -+ * barrier(), llvm needs an explicit input variable to be assumed -+ * clobbered. The issue is as follows: while the inline asm might -+ * access any memory it wants, the compiler could have fit all of -+ * @ptr into memory registers instead, and since @ptr never escaped -+ * from that, it proofed that the inline asm wasn't touching any of -+ * it. This version works well with both compilers, i.e. we're telling -+ * the compiler that the inline asm absolutely may see the contents -+ * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 -+ */ -+#define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") -+ -+/* -+ * This macro obfuscates arithmetic on a variable address so that gcc -+ * shouldn't recognize the original var, and make assumptions about it. -+ * -+ * This is needed because the C standard makes it undefined to do -+ * pointer arithmetic on "objects" outside their boundaries and the -+ * gcc optimizers assume this is the case. In particular they -+ * assume such arithmetic does not wrap. -+ * -+ * A miscompilation has been observed because of this on PPC. -+ * To work around it we hide the relationship of the pointer and the object -+ * using this macro. -+ * -+ * Versions of the ppc64 compiler before 4.1 had a bug where use of -+ * RELOC_HIDE could trash r30. The bug can be worked around by changing -+ * the inline assembly constraint from =g to =r, in this particular -+ * case either is valid. -+ */ -+#define RELOC_HIDE(ptr, off) \ -+({ \ -+ unsigned long __ptr; \ -+ __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ -+ (typeof(ptr)) (__ptr + (off)); \ -+}) -+ -+/* Make the optimizer believe the variable can be manipulated arbitrarily. */ -+#define OPTIMIZER_HIDE_VAR(var) \ -+ __asm__ ("" : "=r" (var) : "0" (var)) -+ -+#ifdef __CHECKER__ -+#define __must_be_array(a) 0 -+#else -+/* &a[0] degrades to a pointer: a different type from an array */ -+#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) -+#endif -+ -+/* -+ * Force always-inline if the user requests it so via the .config, -+ * or if gcc is too old: -+ */ -+#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ -+ !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) -+#define inline inline __attribute__((always_inline)) notrace -+#define __inline__ __inline__ __attribute__((always_inline)) notrace -+#define __inline __inline __attribute__((always_inline)) notrace -+#else -+/* A lot of inline functions can cause havoc with function tracing */ -+#define inline inline notrace -+#define __inline__ __inline__ notrace -+#define __inline __inline notrace -+#endif -+ -+#define __always_inline inline __attribute__((always_inline)) -+#define noinline __attribute__((noinline)) -+ -+#define __deprecated __attribute__((deprecated)) -+#define __packed __attribute__((packed)) -+#define __weak __attribute__((weak)) -+#define __alias(symbol) __attribute__((alias(#symbol))) -+ -+/* -+ * it doesn't make sense on ARM (currently the only user of __naked) -+ * to trace naked functions because then mcount is called without -+ * stack and frame pointer being set up and there is no chance to -+ * restore the lr register to the value before mcount was called. -+ * -+ * The asm() bodies of naked functions often depend on standard calling -+ * conventions, therefore they must be noinline and noclone. -+ * -+ * GCC 4.[56] currently fail to enforce this, so we must do so ourselves. -+ * See GCC PR44290. -+ */ -+#define __naked __attribute__((naked)) noinline __noclone notrace -+ -+#define __noreturn __attribute__((noreturn)) -+ -+/* -+ * From the GCC manual: -+ * -+ * Many functions have no effects except the return value and their -+ * return value depends only on the parameters and/or global -+ * variables. Such a function can be subject to common subexpression -+ * elimination and loop optimization just as an arithmetic operator -+ * would be. -+ * [...] -+ */ -+#define __pure __attribute__((pure)) -+#define __aligned(x) __attribute__((aligned(x))) -+#define __printf(a, b) __attribute__((format(printf, a, b))) -+#define __scanf(a, b) __attribute__((format(scanf, a, b))) -+#define __attribute_const__ __attribute__((__const__)) -+#define __maybe_unused __attribute__((unused)) -+#define __always_unused __attribute__((unused)) -+ -+/* gcc version specific checks */ -+ -+#if GCC_VERSION < 30200 -+# error Sorry, your compiler is too old - please upgrade it. -+#endif -+ -+#if GCC_VERSION < 30300 -+# define __used __attribute__((__unused__)) -+#else -+# define __used __attribute__((__used__)) -+#endif -+ -+#ifdef CONFIG_GCOV_KERNEL -+# if GCC_VERSION < 30400 -+# error "GCOV profiling support for gcc versions below 3.4 not included" -+# endif /* __GNUC_MINOR__ */ -+#endif /* CONFIG_GCOV_KERNEL */ -+ -+#if GCC_VERSION >= 30400 -+#define __must_check __attribute__((warn_unused_result)) -+#define __malloc __attribute__((__malloc__)) -+#endif -+ -+#if GCC_VERSION >= 40000 -+ -+/* GCC 4.1.[01] miscompiles __weak */ -+#ifdef __KERNEL__ -+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 -+# error Your version of gcc miscompiles the __weak directive -+# endif -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __compiler_offsetof(a, b) \ -+ __builtin_offsetof(a, b) -+ -+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 -+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) -+#endif -+ -+#if GCC_VERSION >= 40300 -+/* Mark functions as cold. gcc will assume any path leading to a call -+ * to them will be unlikely. This means a lot of manual unlikely()s -+ * are unnecessary now for any paths leading to the usual suspects -+ * like BUG(), printk(), panic() etc. [but let's keep them for now for -+ * older compilers] -+ * -+ * Early snapshots of gcc 4.3 don't support this and we can't detect this -+ * in the preprocessor, but we can live with this because they're unreleased. -+ * Maketime probing would be overkill here. -+ * -+ * gcc also has a __attribute__((__hot__)) to move hot functions into -+ * a special section, but I don't see any sense in this right now in -+ * the kernel context -+ */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+#endif /* GCC_VERSION >= 40300 */ -+ -+#if GCC_VERSION >= 40500 -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__, __optimize__("no-tracer"))) -+ -+#endif /* GCC_VERSION >= 40500 */ -+ -+#if GCC_VERSION >= 40600 -+/* -+ * When used with Link Time Optimization, gcc can optimize away C functions or -+ * variables which are referenced only from assembly code. __visible tells the -+ * optimizer that something else uses this function or variable, thus preventing -+ * this. -+ */ -+#define __visible __attribute__((externally_visible)) -+#endif -+ -+ -+#if GCC_VERSION >= 40900 && !defined(__CHECKER__) -+/* -+ * __assume_aligned(n, k): Tell the optimizer that the returned -+ * pointer can be assumed to be k modulo n. The second argument is -+ * optional (default 0), so we use a variadic macro to make the -+ * shorthand. -+ * -+ * Beware: Do not apply this to functions which may return -+ * ERR_PTRs. Also, it is probably unwise to apply it to functions -+ * returning extra information in the low bits (but in that case the -+ * compiler should see some alignment anyway, when the return value is -+ * massaged by 'flags = ptr & 3; ptr &= ~3;'). -+ */ -+#define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__))) -+#endif -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#if GCC_VERSION >= 40400 -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#endif -+#if GCC_VERSION >= 40800 -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -+ -+#if GCC_VERSION >= 50000 -+#define KASAN_ABI_VERSION 4 -+#elif GCC_VERSION >= 40902 -+#define KASAN_ABI_VERSION 3 -+#endif -+ -+#if GCC_VERSION >= 40902 -+/* -+ * Tell the compiler that address safety instrumentation (KASAN) -+ * should not be applied to that function. -+ * Conflicts with inlining: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 -+ */ -+#define __no_sanitize_address __attribute__((no_sanitize_address)) -+#endif -+ -+#endif /* gcc version >= 40000 specific checks */ -+ -+#if !defined(__noclone) -+#define __noclone /* not needed */ -+#endif -+ -+#if !defined(__no_sanitize_address) -+#define __no_sanitize_address -+#endif -+ -+/* -+ * A trick to suppress uninitialized variable warning without generating any -+ * code -+ */ -+#define uninitialized_var(x) x = x diff --git a/root/package/boot/uboot-mtk-bpi-r2/patches/421-gcc-8-compiler.patch b/root/package/boot/uboot-mtk-bpi-r2/patches/421-gcc-8-compiler.patch deleted file mode 100644 index ab3a0171..00000000 --- a/root/package/boot/uboot-mtk-bpi-r2/patches/421-gcc-8-compiler.patch +++ /dev/null @@ -1,287 +0,0 @@ ---- /dev/null -+++ b/include/linux/compiler-gcc8.h -@@ -0,0 +1,284 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+/* -+ * Common definitions for all gcc versions go here. -+ */ -+#define GCC_VERSION (__GNUC__ * 10000 \ -+ + __GNUC_MINOR__ * 100 \ -+ + __GNUC_PATCHLEVEL__) -+ -+/* Optimization barrier */ -+ -+/* The "volatile" is due to gcc bugs */ -+#define barrier() __asm__ __volatile__("": : :"memory") -+/* -+ * This version is i.e. to prevent dead stores elimination on @ptr -+ * where gcc and llvm may behave differently when otherwise using -+ * normal barrier(): while gcc behavior gets along with a normal -+ * barrier(), llvm needs an explicit input variable to be assumed -+ * clobbered. The issue is as follows: while the inline asm might -+ * access any memory it wants, the compiler could have fit all of -+ * @ptr into memory registers instead, and since @ptr never escaped -+ * from that, it proofed that the inline asm wasn't touching any of -+ * it. This version works well with both compilers, i.e. we're telling -+ * the compiler that the inline asm absolutely may see the contents -+ * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 -+ */ -+#define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") -+ -+/* -+ * This macro obfuscates arithmetic on a variable address so that gcc -+ * shouldn't recognize the original var, and make assumptions about it. -+ * -+ * This is needed because the C standard makes it undefined to do -+ * pointer arithmetic on "objects" outside their boundaries and the -+ * gcc optimizers assume this is the case. In particular they -+ * assume such arithmetic does not wrap. -+ * -+ * A miscompilation has been observed because of this on PPC. -+ * To work around it we hide the relationship of the pointer and the object -+ * using this macro. -+ * -+ * Versions of the ppc64 compiler before 4.1 had a bug where use of -+ * RELOC_HIDE could trash r30. The bug can be worked around by changing -+ * the inline assembly constraint from =g to =r, in this particular -+ * case either is valid. -+ */ -+#define RELOC_HIDE(ptr, off) \ -+({ \ -+ unsigned long __ptr; \ -+ __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ -+ (typeof(ptr)) (__ptr + (off)); \ -+}) -+ -+/* Make the optimizer believe the variable can be manipulated arbitrarily. */ -+#define OPTIMIZER_HIDE_VAR(var) \ -+ __asm__ ("" : "=r" (var) : "0" (var)) -+ -+#ifdef __CHECKER__ -+#define __must_be_array(a) 0 -+#else -+/* &a[0] degrades to a pointer: a different type from an array */ -+#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) -+#endif -+ -+/* -+ * Force always-inline if the user requests it so via the .config, -+ * or if gcc is too old: -+ */ -+#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ -+ !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) -+#define inline inline __attribute__((always_inline)) notrace -+#define __inline__ __inline__ __attribute__((always_inline)) notrace -+#define __inline __inline __attribute__((always_inline)) notrace -+#else -+/* A lot of inline functions can cause havoc with function tracing */ -+#define inline inline notrace -+#define __inline__ __inline__ notrace -+#define __inline __inline notrace -+#endif -+ -+#define __always_inline inline __attribute__((always_inline)) -+#define noinline __attribute__((noinline)) -+ -+#define __deprecated __attribute__((deprecated)) -+#define __packed __attribute__((packed)) -+#define __weak __attribute__((weak)) -+#define __alias(symbol) __attribute__((alias(#symbol))) -+ -+/* -+ * it doesn't make sense on ARM (currently the only user of __naked) -+ * to trace naked functions because then mcount is called without -+ * stack and frame pointer being set up and there is no chance to -+ * restore the lr register to the value before mcount was called. -+ * -+ * The asm() bodies of naked functions often depend on standard calling -+ * conventions, therefore they must be noinline and noclone. -+ * -+ * GCC 4.[56] currently fail to enforce this, so we must do so ourselves. -+ * See GCC PR44290. -+ */ -+#define __naked __attribute__((naked)) noinline __noclone notrace -+ -+#define __noreturn __attribute__((noreturn)) -+ -+/* -+ * From the GCC manual: -+ * -+ * Many functions have no effects except the return value and their -+ * return value depends only on the parameters and/or global -+ * variables. Such a function can be subject to common subexpression -+ * elimination and loop optimization just as an arithmetic operator -+ * would be. -+ * [...] -+ */ -+#define __pure __attribute__((pure)) -+#define __aligned(x) __attribute__((aligned(x))) -+#define __printf(a, b) __attribute__((format(printf, a, b))) -+#define __scanf(a, b) __attribute__((format(scanf, a, b))) -+#define __attribute_const__ __attribute__((__const__)) -+#define __maybe_unused __attribute__((unused)) -+#define __always_unused __attribute__((unused)) -+ -+/* gcc version specific checks */ -+ -+#if GCC_VERSION < 30200 -+# error Sorry, your compiler is too old - please upgrade it. -+#endif -+ -+#if GCC_VERSION < 30300 -+# define __used __attribute__((__unused__)) -+#else -+# define __used __attribute__((__used__)) -+#endif -+ -+#ifdef CONFIG_GCOV_KERNEL -+# if GCC_VERSION < 30400 -+# error "GCOV profiling support for gcc versions below 3.4 not included" -+# endif /* __GNUC_MINOR__ */ -+#endif /* CONFIG_GCOV_KERNEL */ -+ -+#if GCC_VERSION >= 30400 -+#define __must_check __attribute__((warn_unused_result)) -+#define __malloc __attribute__((__malloc__)) -+#endif -+ -+#if GCC_VERSION >= 40000 -+ -+/* GCC 4.1.[01] miscompiles __weak */ -+#ifdef __KERNEL__ -+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 -+# error Your version of gcc miscompiles the __weak directive -+# endif -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __compiler_offsetof(a, b) \ -+ __builtin_offsetof(a, b) -+ -+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 -+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) -+#endif -+ -+#if GCC_VERSION >= 40300 -+/* Mark functions as cold. gcc will assume any path leading to a call -+ * to them will be unlikely. This means a lot of manual unlikely()s -+ * are unnecessary now for any paths leading to the usual suspects -+ * like BUG(), printk(), panic() etc. [but let's keep them for now for -+ * older compilers] -+ * -+ * Early snapshots of gcc 4.3 don't support this and we can't detect this -+ * in the preprocessor, but we can live with this because they're unreleased. -+ * Maketime probing would be overkill here. -+ * -+ * gcc also has a __attribute__((__hot__)) to move hot functions into -+ * a special section, but I don't see any sense in this right now in -+ * the kernel context -+ */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+#endif /* GCC_VERSION >= 40300 */ -+ -+#if GCC_VERSION >= 40500 -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__, __optimize__("no-tracer"))) -+ -+#endif /* GCC_VERSION >= 40500 */ -+ -+#if GCC_VERSION >= 40600 -+/* -+ * When used with Link Time Optimization, gcc can optimize away C functions or -+ * variables which are referenced only from assembly code. __visible tells the -+ * optimizer that something else uses this function or variable, thus preventing -+ * this. -+ */ -+#define __visible __attribute__((externally_visible)) -+#endif -+ -+ -+#if GCC_VERSION >= 40900 && !defined(__CHECKER__) -+/* -+ * __assume_aligned(n, k): Tell the optimizer that the returned -+ * pointer can be assumed to be k modulo n. The second argument is -+ * optional (default 0), so we use a variadic macro to make the -+ * shorthand. -+ * -+ * Beware: Do not apply this to functions which may return -+ * ERR_PTRs. Also, it is probably unwise to apply it to functions -+ * returning extra information in the low bits (but in that case the -+ * compiler should see some alignment anyway, when the return value is -+ * massaged by 'flags = ptr & 3; ptr &= ~3;'). -+ */ -+#define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__))) -+#endif -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#if GCC_VERSION >= 40400 -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#endif -+#if GCC_VERSION >= 40800 -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -+ -+#if GCC_VERSION >= 50000 -+#define KASAN_ABI_VERSION 4 -+#elif GCC_VERSION >= 40902 -+#define KASAN_ABI_VERSION 3 -+#endif -+ -+#if GCC_VERSION >= 40902 -+/* -+ * Tell the compiler that address safety instrumentation (KASAN) -+ * should not be applied to that function. -+ * Conflicts with inlining: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 -+ */ -+#define __no_sanitize_address __attribute__((no_sanitize_address)) -+#endif -+ -+#endif /* gcc version >= 40000 specific checks */ -+ -+#if !defined(__noclone) -+#define __noclone /* not needed */ -+#endif -+ -+#if !defined(__no_sanitize_address) -+#define __no_sanitize_address -+#endif -+ -+/* -+ * A trick to suppress uninitialized variable warning without generating any -+ * code -+ */ -+#define uninitialized_var(x) x = x diff --git a/root/package/kernel/mt7623-preloader/Makefile b/root/package/kernel/mt7623-preloader/Makefile deleted file mode 100644 index d3f752bb..00000000 --- a/root/package/kernel/mt7623-preloader/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# -# Copyright (C) 2012-2016 OpenWrt.org -# Copyright (C) 2017 LEDE project -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk -#include $(INCLUDE_DIR)/image.mk - -PKG_NAME:=mt7623n-preloader -PKG_VERSION:=2019-10-24 -PKG_RELEASE:=1b7b6039b9d92c48193f38ac29dd2f71e303e280 - -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_RELEASE) - -PKG_FLAGS:=nonshared - -include $(INCLUDE_DIR)/package.mk - -BPI_PRELOADER_URL:=@GITHUB/BPI-SINOVOIP/BPI-files/$(PKG_RELEASE)/SD/100MB/ -BPI_PRELOADER_PREFIX:=bpi-preloader-$(PKG_RELEASE) - -define Download/BPI-R2-preloader-DDR1600-20191024-2k.img.gz - FILE:=$(BPI_PRELOADER_PREFIX)-BPI-R2-preloader-DDR1600-20191024-2k.img.gz - URL:=$(BPI_PRELOADER_URL) - URL_FILE:=BPI-R2-preloader-DDR1600-20191024-2k.img.gz - HASH:=c731cc166c912c84846e2ed5faf727504e4dec1463754baa6328e9908c84a373 -endef -$(eval $(call Download,BPI-R2-preloader-DDR1600-20191024-2k.img.gz)) - - -define Package/mt7623n-preloader - SECTION:=boot - CATEGORY:=Boot Loaders - DEPENDS:=@TARGET_mediatek_mt7623 - TITLE:=mt7623n-preloader - DEFAULT:=y if TARGET_mediatek -endef - -define Package/mt7623n-preloader/description - Preloader image for mt7623n based boards like Bannana Pi R2. -endef - -define Build/Prepare - rm -rf $(PKG_BUILD_DIR) - mkdir -p $(PKG_BUILD_DIR) - cp $(DL_DIR)/$(BPI_PRELOADER_PREFIX)-BPI-R2-preloader-DDR1600-20191024-2k.img.gz $(PKG_BUILD_DIR)/bpi-r2-preloader.bin.gz -endef - -define Build/Compile - true -endef - -define Package/brcm2708-gpu-fw/install - true -endef - -define Build/InstallDev - mkdir -p $(STAGING_DIR_IMAGE) - gunzip -c $(PKG_BUILD_DIR)/bpi-r2-preloader.bin.gz > $(STAGING_DIR_IMAGE)/bpi-r2-preloader.bin -endef - -$(eval $(call BuildPackage,mt7623n-preloader)) \ No newline at end of file diff --git a/root/target/linux/mediatek/image/Config.in b/root/target/linux/mediatek/image/Config.in deleted file mode 100644 index 22a49ea6..00000000 --- a/root/target/linux/mediatek/image/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config MEDIATEK_SD_BOOT_PARTSIZE - int "Boot (SD Card) filesystem partition size (in MB)" - depends on TARGET_mediatek - default 128 diff --git a/root/target/linux/mediatek/image/Makefile b/root/target/linux/mediatek/image/Makefile deleted file mode 100644 index ecfa4eaf..00000000 --- a/root/target/linux/mediatek/image/Makefile +++ /dev/null @@ -1,90 +0,0 @@ -# -# Copyright (C) 2012-2015 OpenWrt.org -# Copyright (C) 2016-2017 LEDE project -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/image.mk - -FAT32_BLOCK_SIZE=1024 -FAT32_BLOCKS=$(shell echo $$(($(CONFIG_MEDIATEK_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) - -# for arm -KERNEL_LOADADDR := 0x80008000 - -define Build/mediatek-sdcard - rm -f $@.boot - mkfs.fat $@.boot -C $(FAT32_BLOCKS) - - mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-uEnv.txt ::uEnv.txt - mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage - ./gen_mt7623_sdcard_img.sh $@ \ - $(STAGING_DIR_IMAGE)/bpi-r2-preloader.bin \ - $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-uboot-mediatek.bin \ - $@.boot \ - $(IMAGE_ROOTFS) \ - $(CONFIG_MEDIATEK_SD_BOOT_PARTSIZE) \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) - rm -f $@.boot - -endef - -# for arm64 -ifeq ($(SUBTARGET),mt7622) -KERNEL_LOADADDR = 0x41080000 -endif - -ifeq ($(SUBTARGET),mt7629) -KERNEL_LOADADDR = 0x40008000 -endif - -define Build/sysupgrade-emmc - rm -f $@.recovery - mkfs.fat -C $@.recovery 3070 - - ./gen_mt7623_emmc_img.sh $@ \ - $(IMAGE_KERNEL) \ - $@.recovery \ - $(IMAGE_ROOTFS) -endef - -# default all platform image(fit) build -define Device/Default - PROFILES = Default $$(DEVICE_NAME) - KERNEL_NAME := zImage - FILESYSTEMS := squashfs - DEVICE_DTS_DIR := $(DTS_DIR) - IMAGES := sysupgrade.bin - IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata - SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) -ifeq ($(SUBTARGET),mt7623) - DEVICE_VARS := MEDIATEK_UBOOT - KERNEL_NAME := zImage - KERNEL := kernel-bin | append-dtb | uImage none - KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none - FILESYSTEMS += ext4 - IMAGES := sysupgrade.tar sdcard.img.gz - IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata - IMAGE/sdcard.img.gz := mediatek-sdcard | gzip | append-metadata -else - KERNEL_NAME := Image - KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb - KERNEL_INITRAMFS = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb -endif -endef - -ifeq ($(SUBTARGET),mt7622) -include mt7622.mk -endif - -ifeq ($(SUBTARGET),mt7623) -include mt7623.mk -endif - -ifeq ($(SUBTARGET),mt7629) -include mt7629.mk -endif - -$(eval $(call BuildImage)) diff --git a/root/target/linux/mediatek/image/gen_mt7623_sdcard_img.sh b/root/target/linux/mediatek/image/gen_mt7623_sdcard_img.sh deleted file mode 100755 index f9a8dbde..00000000 --- a/root/target/linux/mediatek/image/gen_mt7623_sdcard_img.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2013 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -set -e -[ $# -eq 7 ] || { - echo "SYNTAX: $0 " - exit 1 -} - -OUTPUT="$1" -PRELOADER="$2" -UBOOT="$3" -BOOTFS="$4" -ROOTFS="$5" -BOOTFSSIZE="$6" -ROOTFSSIZE="$7" - -head=4 -sect=63 - -set `ptgen -o $OUTPUT -h $head -s $sect -l 1024 -t c -p ${BOOTFSSIZE}M -t 83 -p ${ROOTFSSIZE}M -a 0` - -BOOT_OFFSET="$(($1 / 512))" -BOOT_SIZE="$(($2 / 512))" -ROOTFS_OFFSET="$(($3 / 512))" -ROOTFS_SIZE="$(($4 / 512))" - -PRELOADER_OFFSET=2 # 2KB -UBOOT_OFFSET=320 # 320KB - -SDMMC_BOOT="SDMMC_BOOT\x00\x00\x01\x00\x00\x00\x00\x02\x00\x00" -BRLYT="\ -BRLYT\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x00\ -\x00\x08\x00\x00\x42\x42\x42\x42\x08\x00\x01\x00\x00\x08\x00\x00\ -\x00\x08\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - -echo -en "${SDMMC_BOOT}" | dd bs=1 of="${OUTPUT}" seek=0 conv=notrunc -echo -en "${BRLYT}" | dd bs=1 of="${OUTPUT}" seek=512 conv=notrunc - -dd bs=1024 if="${PRELOADER}" of="${OUTPUT}" seek="${PRELOADER_OFFSET}" conv=notrunc -dd bs=1024 if="${UBOOT}" of="${OUTPUT}" seek="${UBOOT_OFFSET}" conv=notrunc -dd bs=512 if="${BOOTFS}" of="${OUTPUT}" seek="${BOOT_OFFSET}" conv=notrunc -dd bs=512 if="${ROOTFS}" of="${OUTPUT}" seek="${ROOTFS_OFFSET}" conv=notrunc diff --git a/root/target/linux/mediatek/image/mt7623.mk b/root/target/linux/mediatek/image/mt7623.mk deleted file mode 100644 index 678bfed0..00000000 --- a/root/target/linux/mediatek/image/mt7623.mk +++ /dev/null @@ -1,21 +0,0 @@ -define Device/unielec_u7623-02-emmc-512m - DEVICE_VENDOR := UniElec - DEVICE_MODEL := U7623-02 - DEVICE_VARIANT := eMMC/512MB RAM - DEVICE_DTS := mt7623a-unielec-u7623-02-emmc-512m - DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc - IMAGES := sysupgrade-emmc.bin.gz - IMAGE/sysupgrade-emmc.bin.gz := sysupgrade-emmc | gzip | append-metadata -endef -TARGET_DEVICES += unielec_u7623-02-emmc-512m - -define Device/bpi_bananapi-r2 - DEVICE_VENDOR := Bpi - DEVICE_MODEL := Banana Pi R2 - DEVICE_DTS := mt7623n-bananapi-bpi-r2 - DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb3 \ - kmod-ata-core kmod-ata-ahci-mtk \ - mt7623n-preloader - SUPPORTED_DEVICES := bananapi,bpi-r2 -endef -TARGET_DEVICES += bpi_bananapi-r2