[openwrt/openwrt] ipq40xx: meraki: define DTB load address

LEDE Commits lede-commits at lists.infradead.org
Tue Aug 15 08:20:14 PDT 2023


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/4956ff40c50f375ba72c6d834f913962afbb6c9e

commit 4956ff40c50f375ba72c6d834f913962afbb6c9e
Author: Robert Marko <robimarko at gmail.com>
AuthorDate: Mon Aug 14 13:50:47 2023 +0200

    ipq40xx: meraki: define DTB load address
    
    It seems that the Meraki bootloader does not respect the kernel ARM booting
    specification[1] that requires that address where DTB is located needs to
    be 64-bit aligned and often places the DTB on a non 64-bit aligned address
    and then kernel fails to find the DTB magic and fails to boot.
    Even worse, there is no prints until early printk is enabled and then its
    visible that kernel is trying to find the ATAG-s as DTB was not found or
    is invalid.
    
    Unifi 6 devices had the same issue and it can be solved by passing the
    load adress as part of the FIT image.
    It seems that the vendor was aware of the issue and is always relocating
    the DTB to 0x89000000, so lets just do the same.
    
    Now that booting is reliable, reenable default images for the Meraki MR33
    and MR74 devices.
    
    Reviewed-by: Lech Perczak lech.perczak at gmail.com
    Signed-off-by: Robert Marko <robimarko at gmail.com>
    (cherry picked from commit f1c80445bd7e3b2f7fc3e4c8136402b30834d4e9)
---
 target/linux/ipq40xx/image/generic.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk
index 78fa22c234..907558302c 100644
--- a/target/linux/ipq40xx/image/generic.mk
+++ b/target/linux/ipq40xx/image/generic.mk
@@ -762,13 +762,13 @@ define Device/meraki_common
 	SOC := qcom-ipq4029
 	BLOCKSIZE := 128k
 	PAGESIZE := 2048
+	DEVICE_DTS_LOADADDR := 0x89000000
 	DEVICE_PACKAGES := ath10k-firmware-qca9887-ct
 endef
 
 define Device/meraki_mr33
 	$(call Device/meraki_common)
 	DEVICE_MODEL := MR33
-	DEFAULT := n
 endef
 TARGET_DEVICES += meraki_mr33
 
@@ -776,7 +776,6 @@ define Device/meraki_mr74
 	$(call Device/meraki_common)
 	DEVICE_MODEL := MR74
 	DEVICE_DTS_CONFIG := config at 3
-	DEFAULT := n
 endef
 TARGET_DEVICES += meraki_mr74
 




More information about the lede-commits mailing list