From 1b46554895d3933d4b94f37f6f916908cb9ad763 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sat, 20 Feb 2021 19:18:12 +0100 Subject: [PATCH 1/9] tfa-layerscape: build fiptool again The ls-ddr-phy package needs fiptool options that are not available via the version from arm-trusted-firmware-tools. This breaks build for layerscape with the recently added LX2160a: create: unrecognized option '--ddr-immem-udimm-1d' Use the tfa-layerscape variant again for now, but rename it to fiptool-layerscape to indicate that it's a specific variant. This reverts 84bc7d31e0a8 ("tfa-layerscape: don't build fiptool"). Fixes: f59d7aab2a37 ("layerscape: add ddr-phy package") Signed-off-by: Adrian Schmutzler (cherry picked from commit 910b5d669f907656c6af14242db2482be6a79323) --- package/boot/tfa-layerscape/Makefile | 9 +++++++-- package/firmware/layerscape/ls-ddr-phy/Makefile | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package/boot/tfa-layerscape/Makefile b/package/boot/tfa-layerscape/Makefile index d5a1664278..6285da6a15 100644 --- a/package/boot/tfa-layerscape/Makefile +++ b/package/boot/tfa-layerscape/Makefile @@ -15,19 +15,24 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf PKG_SOURCE_VERSION:=7d748e6f0ec652ba7c43733dc67a3d0b0217390a PKG_MIRROR_HASH:=d209c9ad18aac9f18375450b98b8dab00f0382ccb485df14623bf9b72ea1dd9b -PKG_BUILD_DEPENDS:=arm-trusted-firmware-tools/host tfa-layerscape/host +PKG_BUILD_DEPENDS:=tfa-layerscape/host include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk HOST_CFLAGS += -Wall -Werror -pedantic -std=c99 define Host/Compile + $(MAKE) -C \ + $(HOST_BUILD_DIR)/tools/fiptool \ + CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" $(MAKE) -C \ $(HOST_BUILD_DIR)/plat/nxp/tools \ CFLAGS="$(HOST_CFLAGS)" endef define Host/Install + $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/fiptool-layerscape $(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl $(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap endef @@ -151,7 +156,7 @@ define Build/Compile fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \ RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \ BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \ - FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool \ + FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool-layerscape \ CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \ BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap endef diff --git a/package/firmware/layerscape/ls-ddr-phy/Makefile b/package/firmware/layerscape/ls-ddr-phy/Makefile index ea2ec311b8..bd861962e7 100644 --- a/package/firmware/layerscape/ls-ddr-phy/Makefile +++ b/package/firmware/layerscape/ls-ddr-phy/Makefile @@ -29,7 +29,7 @@ endef define Build/Compile cd $(PKG_BUILD_DIR)/lx2160a/ && \ - tfa-fiptool create \ + fiptool-layerscape create \ --ddr-immem-udimm-1d ddr4_pmu_train_imem.bin \ --ddr-immem-udimm-2d ddr4_2d_pmu_train_imem.bin \ --ddr-dmmem-udimm-1d ddr4_pmu_train_dmem.bin \ From cb5c93f12ad45f646089be6473c1c70005800020 Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez Date: Sun, 21 Feb 2021 18:42:38 +0100 Subject: [PATCH 2/9] scripts: getver.sh: fix version based on stable branch When building from a local branch based off the "openwrt-21.02" branch, version computation is wrong, because the number of local commits is computed against master. As a result, it wrongly counts *all* commits since the beginning of the openwrt-21.02 branch as local commits. The fix is to compare to the openwrt-21.02 branch instead, which gives the expected result. A similar change had been applied to the openwrt-19.07 branch: 891022918d55 ("scripts: getver.sh: fix version based on stable branch") Signed-off-by: Baptiste Jonglez --- scripts/getver.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/getver.sh b/scripts/getver.sh index 49260a2260..dc3d1bb1c3 100755 --- a/scripts/getver.sh +++ b/scripts/getver.sh @@ -26,7 +26,7 @@ try_git() { *) BRANCH="$(git rev-parse --abbrev-ref HEAD)" ORIGIN="$(git rev-parse --verify --symbolic-full-name ${BRANCH}@{u} 2>/dev/null)" - [ -n "$ORIGIN" ] || ORIGIN="$(git rev-parse --verify --symbolic-full-name master@{u} 2>/dev/null)" + [ -n "$ORIGIN" ] || ORIGIN="$(git rev-parse --verify --symbolic-full-name openwrt-21.02@{u} 2>/dev/null)" REV="$(git rev-list ${REBOOT}..$GET_REV 2>/dev/null | wc -l | awk '{print $1}')" if [ -n "$ORIGIN" ]; then From 4b3958da39809bd58e6fa64fc392ae69d0d55b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 22 Feb 2021 09:04:04 +0100 Subject: [PATCH 3/9] bcm63xx: bcm63268: fix GPIO interrupts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pinctrl should rely on external interrupt controller for GPIO interrupts. Signed-off-by: Álvaro Fernández Rojas (cherry-picked from commit 36e35b8d81) --- target/linux/bcm63xx/dts/bcm63268.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/bcm63xx/dts/bcm63268.dtsi b/target/linux/bcm63xx/dts/bcm63268.dtsi index 2c8f28d4b7..759e97e87d 100644 --- a/target/linux/bcm63xx/dts/bcm63268.dtsi +++ b/target/linux/bcm63xx/dts/bcm63268.dtsi @@ -84,7 +84,7 @@ gpio-controller; #gpio-cells = <2>; - interrupt-parent = <&periph_intc>; + interrupt-parent = <&ext_intc>; interrupts = <0 0>, <1 0>, <2 0>, <3 0>; interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35"; From 64ca28a881315768e6dc036362865c66dd0d165a Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Mon, 22 Feb 2021 23:44:18 +0800 Subject: [PATCH 4/9] ramips: correct/add Phicomm K2x WAN/label MAC address Phicomm K2G: add missing label_mac Phicomm PSG1218A & PSG1218B: The previous wan mac was set as factory@0x28 +1 (originally based on the default case for the ramips target), but the correct wan mac is factory@0x28 -1, being equal to factory@0x2e. Signed-off-by: Shiji Yang [minor commit title/message adjustments] Signed-off-by: Adrian Schmutzler (cherry picked from commit 55263ffedbe1d20f005febbc973a7353240d1741) --- .../linux/ramips/mt7620/base-files/etc/board.d/02_network | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index e884390c31..83ada20eb5 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -264,8 +264,6 @@ ramips_setup_macs() ;; alfa-network,ac1200rm|\ dlink,dir-810l|\ - phicomm,psg1218a|\ - phicomm,psg1218b|\ trendnet,tew-810dr) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) ;; @@ -328,14 +326,16 @@ ramips_setup_macs() iptime,a104ns) wan_mac=$(macaddr_add "$(mtd_get_mac_binary u-boot 0x1fc20)" 2) ;; - lb-link,bl-w1200) + lb-link,bl-w1200|\ + phicomm,k2g|\ + phicomm,psg1218a|\ + phicomm,psg1218b) wan_mac=$(mtd_get_mac_binary factory 0x2e) label_mac=$wan_mac ;; lenovo,newifi-y1|\ lenovo,newifi-y1s|\ ohyeah,oy-0001|\ - phicomm,k2g|\ wavlink,wl-wn530hg4) wan_mac=$(mtd_get_mac_binary factory 0x2e) ;; From 3c1aabd445c5e83f9db2c8d5138df6b324e1df77 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Tue, 23 Feb 2021 00:02:30 +0800 Subject: [PATCH 5/9] ramips: fix Phicomm PSG1218A switch port labels The lan port sequence was reversed compared to the labels. Signed-off-by: Shiji Yang [improve commit title/message] Signed-off-by: Adrian Schmutzler (cherry picked from commit 567a88e4b99f9e1b647588de0319357e688ce016) --- target/linux/ramips/mt7620/base-files/etc/board.d/02_network | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index 83ada20eb5..e614de5010 100755 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -18,7 +18,6 @@ ramips_setup_interfaces() dovado,tiny-ac|\ ohyeah,oy-0001|\ phicomm,psg1208|\ - phicomm,psg1218a|\ planex,db-wrt01|\ planex,mzk-750dhp|\ ralink,mt7620a-evb|\ @@ -110,6 +109,7 @@ ramips_setup_interfaces() ;; dlink,dir-810l|\ netgear,jwnr2010-v5|\ + phicomm,psg1218a|\ trendnet,tew-810dr|\ zbtlink,zbt-we2026) ucidef_add_switch "switch0" \ From eb8726f9f43f9852d3ff8357278187ffa1eadf25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 22 Feb 2021 18:04:16 +0100 Subject: [PATCH 6/9] image: add ModelNameLimit16 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This script returns the model name limited to 16 characters. Signed-off-by: Álvaro Fernández Rojas (cherry-picked from 1235ea7c20) --- include/image-commands.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/image-commands.mk b/include/image-commands.mk index c3f8b4b95a..51e745958e 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -3,6 +3,10 @@ IMAGE_KERNEL = $(word 1,$^) IMAGE_ROOTFS = $(word 2,$^) +define ModelNameLimit16 +$(shell expr substr "$(word 2, $(subst _, ,$(1)))" 1 16) +endef + define rootfs_align $(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1)))))) endef From e3e6ec3cdafb226ba5eaab867659b08e7f0d700f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 22 Feb 2021 18:07:02 +0100 Subject: [PATCH 7/9] bcm63xx: limit name metadata to model name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since there are only 16 characters available, on most cases the vendor name will fit in the metadata, but the model name won't fit. Signed-off-by: Álvaro Fernández Rojas (cherry-picked from commit c27532742d) --- target/linux/bcm63xx/image/Makefile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 822e26e993..f35358173c 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -84,10 +84,6 @@ endef define rootfspad/squashfs endef -define Image/LimitName16 -$(shell expr substr "$(1)" 1 16) -endef - define Image/FileSystemStrip $(firstword $(subst +,$(space),$(subst root.,,$(notdir $(1))))) endef @@ -96,7 +92,7 @@ define Build/cfe-bin $(STAGING_DIR_HOST)/bin/imagetag -i $(IMAGE_KERNEL) -f $(IMAGE_ROOTFS) \ --output $@ --boardid $(CFE_BOARD_ID) --chipid $(CHIP_ID) \ --entry $(LOADER_ENTRY) --load-addr $(LOADER_ENTRY) \ - --info1 "$(call Image/LimitName16,$(DEVICE_NAME))" \ + --info1 "$(call ModelNameLimit16,$(DEVICE_NAME))" \ --info2 "$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))" \ $(call rootfspad/$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))) \ $(CFE_EXTRAS) $(1) From 8f7a905ffb45fddc1ee2148104764c47be4ae56a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gonz=C3=A1lez=20Cabanelas?= Date: Tue, 19 May 2020 15:56:29 +0200 Subject: [PATCH 8/9] bcm63xx: pinctrl: fix BCM6348 groups MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current driver has some troubles: - Some groupings are wrong. - The pinctrl group0 owns pins never used (at least in Openwrt) for any pinmux. The driver hijacks all the pins on the group avoiding any other use, spite they're free. I.e. for buttons, causing this kernel error: [ 4.735928] gpio-keys-polled keys: unable to claim gpio 479, err=-22 [ 4.742642] gpio-keys-polled: probe of keys failed with error -22 - Minor errors about groupings on the documentation - Missing "diag" grouping in dtsi - Wrong groupings in dtsi Fix it by setting the correct groups. And relax the pin capturing, letting the gpios belonging to any group to be used for other purposes like buttons. This was the behavior with stock firmwares and old OpenWrt versions which never caused any trouble. Signed-off-by: Daniel González Cabanelas (Cherry-picked from commit 50cb3a750f) --- target/linux/bcm63xx/dts/bcm6348.dtsi | 9 ++++-- ...d-BCM6348-pincontroller-binding-docu.patch | 6 ++-- ...-add-a-pincontrol-driver-for-BCM6348.patch | 29 +++---------------- 3 files changed, 14 insertions(+), 30 deletions(-) diff --git a/target/linux/bcm63xx/dts/bcm6348.dtsi b/target/linux/bcm63xx/dts/bcm6348.dtsi index 1e04486909..38bb71e53c 100644 --- a/target/linux/bcm63xx/dts/bcm6348.dtsi +++ b/target/linux/bcm63xx/dts/bcm6348.dtsi @@ -94,7 +94,7 @@ }; pinctrl_mii_snoop: mii_snoop { - function = "ext_ephy"; + function = "mii_snoop"; groups = "group1", "group4"; }; @@ -125,7 +125,12 @@ pinctrl_utopia: utopia { function = "utopia"; - groups = "group0", "group1", "group3"; + groups = "group1", "group3", "group4"; + }; + + pinctrl_diag: diag { + function = "diag"; + groups = "group0", "group1", "group2", "group3", "group4"; }; }; diff --git a/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch b/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch index 6bac90373c..800f0540cc 100644 --- a/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch +++ b/target/linux/bcm63xx/patches-5.4/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch @@ -41,9 +41,9 @@ Signed-off-by: Jonas Gorski + +name pins functions +----------------------------------------------------------- -+group0 32-36 ext_mii, utopia, diag ++group0 32-36 ext_mii, diag +group1 22-31 ext_ephy, mii_snoop, mii_pccard, + spi_master_uart, utopia, diag +group2 16-21 pci, diag -+group3 8-15 ext_mii, utopia -+group4 0-7 ext_ephy, mii_snoop, legacy_led, diag ++group3 8-15 ext_mii, utopia, diag ++group4 0-7 ext_ephy, mii_snoop, legacy_led, utopia, diag diff --git a/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch b/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch index b48723c1b3..3b613fdca5 100644 --- a/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch +++ b/target/linux/bcm63xx/patches-5.4/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch @@ -37,7 +37,7 @@ Signed-off-by: Jonas Gorski +obj-$(CONFIG_PINCTRL_BCM6348) += pinctrl-bcm6348.o --- /dev/null +++ b/drivers/pinctrl/bcm63xx/pinctrl-bcm6348.c -@@ -0,0 +1,391 @@ +@@ -0,0 +1,370 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive @@ -225,15 +225,16 @@ Signed-off-by: Jonas Gorski +}; + +static const char * const utopia_groups[] = { -+ "group0", + "group1", + "group3", ++ "group4", +}; + +static const char * const diag_groups[] = { + "group0", + "group1", + "group2", ++ "group3", + "group4", +}; + @@ -335,27 +336,6 @@ Signed-off-by: Jonas Gorski + return 0; +} + -+static int bcm6348_gpio_request_enable(struct pinctrl_dev *pctldev, -+ struct pinctrl_gpio_range *range, -+ unsigned offset) -+{ -+ struct bcm6348_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev); -+ struct pin_desc *desc; -+ u32 mask; -+ -+ /* don't reconfigure if already muxed */ -+ desc = pin_desc_get(pctldev, offset); -+ if (desc->mux_usecount) -+ return 0; -+ -+ mask = GROUP_MASK(offset); -+ -+ /* disable all functions using this pin */ -+ bcm6348_rmw_mux(pctl, mask, 0); -+ -+ return 0; -+} -+ +static struct pinctrl_ops bcm6348_pctl_ops = { + .get_groups_count = bcm6348_pinctrl_get_group_count, + .get_group_name = bcm6348_pinctrl_get_group_name, @@ -371,8 +351,7 @@ Signed-off-by: Jonas Gorski + .get_function_name = bcm6348_pinctrl_get_func_name, + .get_function_groups = bcm6348_pinctrl_get_groups, + .set_mux = bcm6348_pinctrl_set_mux, -+ .gpio_request_enable = bcm6348_gpio_request_enable, -+ .strict = true, ++ .strict = false, +}; + +static int bcm6348_pinctrl_probe(struct platform_device *pdev) From 75abdc4b46d299762efe142518e1d4f043cd3d6a Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 10 Feb 2021 02:47:53 +0000 Subject: [PATCH 9/9] arm-trusted-firmware-mediatek: bring back package * use binary provided by MediaTek to work-around 'bromimage' issue * use @OPENWRT mirror for blobs * refactor Makefile * add mt7622 1c variants (using binaries provided by MTK) (cherry picked from commit 068c82039f5192a79e2139db42fdc734702da5a3 and commit 9cd089dbbfe07b61590dd214957bc21bfdc7fd5d) Signed-off-by: Daniel Golle --- .../arm-trusted-firmware-mediatek/Makefile | 146 ++++++++++++------ 1 file changed, 99 insertions(+), 47 deletions(-) diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile index eebe500224..98d421ed87 100644 --- a/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -1,6 +1,6 @@ # # Copyright (C) 2017 Hauke Mehrtens -# Copyright (C) 2020 Daniel Golle +# Copyright (C) 2021 Daniel Golle # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -19,9 +19,23 @@ PKG_MIRROR_HASH:=b211b2f9143d4debc7ad8dc959cb606888af20af790855dd66c87e451b6a1bc PKG_MAINTAINER:=Daniel Golle +PKG_LICENSE_FILES:=LICENCE.mediatek + +BLOBS_TARBALL:=tfa-mtk-files-for-2020-11-09.tgz +BROMIMAGE_EXEC:=bromimage-x64 + include $(INCLUDE_DIR)/trusted-firmware-a.mk include $(INCLUDE_DIR)/package.mk +PKG_LICENSE+=proprietary + +define Download/tfa-files + URL:=@OPENWRT + URL_FILE:=$(BLOBS_TARBALL) + FILE:=$(BLOBS_TARBALL) + HASH:=689b097e4531d3eeca0c477675ab3dc3cace6ba4ed8a339116a9ede6537839d7 +endef + define Download/mt7622-header-emmc URL:=https://raw.githubusercontent.com/frank-w/BPI-R64-ATF/a36efa5f7435b8079479d13b562fedc0aa0d42f0 URL_FILE:=header_emmc.bin @@ -36,74 +50,112 @@ define Download/mt7622-header-sdmmc HASH:=242908c04e25289d25ba9fab61a1930425af173051c43d275d1ac9877d6accb1 endef -define Package/arm-trusted-firmware-mt7622/Default - SECTION:=boot - CATEGORY:=Boot Loaders - TITLE:=ARM Trusted Firmware for MT7622 - DEPENDS:=@TARGET_mediatek_mt7622 @BROKEN -# wait until bromimage gets replace by static build -# libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by tools/mediatek/bromimage/bromimage) +define Trusted-Firmware-A/Default + BUILD_TARGET:=mediatek + BUILD_SUBTARGET:=mt7622 + PLAT:=mt7622 + TFA_IMAGE:=bl2.img bl31.bin + BOOT_DEVICE:= + DDR_BLOB:= endef -define Package/arm-trusted-firmware-mt7622-nor - $(call Package/arm-trusted-firmware-mt7622/Default) - VARIANT:=nor +define Trusted-Firmware-A/mt7622-nor-1ddr + NAME:=MediaTek MT7622 (SPI-NOR, 1x DDR3) + BOOT_DEVICE:=nor + DDR_BLOB:=1 endef -define Package/arm-trusted-firmware-mt7622-snand - $(call Package/arm-trusted-firmware-mt7622/Default) - VARIANT:=snand +define Trusted-Firmware-A/mt7622-nor-2ddr + NAME:=MediaTek MT7622 (SPI-NOR, 2x DDR3) + BOOT_DEVICE:=nor + DDR_BLOB:=2 endef -define Package/arm-trusted-firmware-mt7622-emmc - $(call Package/arm-trusted-firmware-mt7622/Default) - VARIANT:=emmc +define Trusted-Firmware-A/mt7622-snand-1ddr + NAME:=MediaTek MT7622 (SPI-NAND, 1x DDR3) + BOOT_DEVICE:=snand + DDR_BLOB:=1 endef -define Package/arm-trusted-firmware-mt7622-sdmmc - $(call Package/arm-trusted-firmware-mt7622/Default) - VARIANT:=sdmmc +define Trusted-Firmware-A/mt7622-snand-2ddr + NAME:=MediaTek MT7622 (SPI-SNAND, 2x DDR3) + BOOT_DEVICE:=snand + DDR_BLOB:=2 endef -MAKE_VARS = \ - CROSS_COMPILE="$(TARGET_CROSS)" +define Trusted-Firmware-A/mt7622-emmc-1ddr + NAME:=MediaTek MT7622 (eMMC, 1x DDR3) + BOOT_DEVICE:=emmc + DDR_BLOB:=1 +endef -MAKE_FLAGS += \ - PLAT=mt7622 \ - BOOT_DEVICE=$(BUILD_VARIANT) \ - all +define Trusted-Firmware-A/mt7622-emmc-2ddr + NAME:=MediaTek MT7622 (eMMC, 2x DDR3) + BOOT_DEVICE:=emmc + DDR_BLOB:=2 +endef + +define Trusted-Firmware-A/mt7622-sdmmc-1ddr + NAME:=MediaTek MT7622 (SDcard, 1x DDR3) + BOOT_DEVICE:=sdmmc + DDR_BLOB:=1 +endef + +define Trusted-Firmware-A/mt7622-sdmmc-2ddr + NAME:=MediaTek MT7622 (SDcard, 2x DDR3) + BOOT_DEVICE:=sdmmc + DDR_BLOB:=2 +endef + +TFA_TARGETS:= \ + mt7622-nor-1ddr \ + mt7622-nor-2ddr \ + mt7622-snand-1ddr \ + mt7622-snand-2ddr \ + mt7622-emmc-1ddr \ + mt7622-emmc-2ddr \ + mt7622-sdmmc-1ddr \ + mt7622-sdmmc-2ddr + +TFA_MAKE_FLAGS += BOOT_DEVICE=$(BOOT_DEVICE) all define Build/Prepare $(call Build/Prepare/Default) -ifeq ($(BUILD_VARIANT),emmc) +ifeq ($(BOOT_DEVICE),emmc) $(eval $(call Download,mt7622-header-emmc)) endif -ifeq ($(BUILD_VARIANT),sdmmc) +ifeq ($(BOOT_DEVICE),sdmmc) $(eval $(call Download,mt7622-header-sdmmc)) endif + $(eval $(call Download,tfa-files)) +# replace 'bromimage' tool by static version + $(TAR) -vxzf $(DL_DIR)/$(BLOBS_TARBALL) --wildcards \ + -O "*/$(BROMIMAGE_EXEC)" > $(PKG_BUILD_DIR)/tools/mediatek/bromimage/bromimage + $(TAR) -vxzf $(DL_DIR)/$(BLOBS_TARBALL) --wildcards \ + -C $(PKG_BUILD_DIR) \ + --strip-components=1 */LICENCE.mediatek endef -define Build/InstallDev +define Build/Configure + $(call Build/Configure/Default) +# replace DRAM calib blobs if needed (variant '2' is shipped upstream) +ifeq ($(DDR_BLOB),1) + $(TAR) -vxzf $(DL_DIR)/$(BLOBS_TARBALL) --wildcards \ + -C $(PKG_BUILD_DIR)/plat/mediatek/mt7622/drivers/dram/release \ + --strip-components=1 */*.o +endif +endef + +define Package/trusted-firmware-a/install $(INSTALL_DIR) $(STAGING_DIR_IMAGE) - $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.bin $(STAGING_DIR_IMAGE)/mt7622-bl2-$(BUILD_VARIANT).bin - $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.img $(STAGING_DIR_IMAGE)/mt7622-bl2-$(BUILD_VARIANT).img -# bl31.bin turns out to be identical for all build variants - $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl31.bin $(STAGING_DIR_IMAGE)/mt7622-bl31.bin -ifeq ($(BUILD_VARIANT),emmc) - $(CP) $(DL_DIR)/mt7622-header_emmc.bin $(STAGING_DIR_IMAGE) + $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl2.img + $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/mt7622/release/bl31.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl31.bin +ifeq ($(BOOT_DEVICE),emmc) + $(INSTALL_DATA) $(DL_DIR)/mt7622-header_emmc.bin $(STAGING_DIR_IMAGE)/ endif -ifeq ($(BUILD_VARIANT),sdmmc) - $(CP) $(DL_DIR)/mt7622-header_sdmmc.bin $(STAGING_DIR_IMAGE) +ifeq ($(BOOT_DEVICE),sdmmc) + $(INSTALL_DATA) $(DL_DIR)/mt7622-header_sdmmc.bin $(STAGING_DIR_IMAGE)/ endif endef -define Package/arm-trusted-firmware-mt7622-nor/install -endef -Package/arm-trusted-firmware-mt7622-snand/install = $(Package/arm-trusted-firmware-mt7622-nor/install) -Package/arm-trusted-firmware-mt7622-emmc/install = $(Package/arm-trusted-firmware-mt7622-nor/install) -Package/arm-trusted-firmware-mt7622-sdmmc/install = $(Package/arm-trusted-firmware-mt7622-nor/install) - -$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-nor)) -$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-snand)) -$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-emmc)) -$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-sdmmc)) +$(eval $(call BuildPackage/Trusted-Firmware-A))