commit 2582b6021cc152b1484cfe5b189dd8100c5bf668 Author: lgs2007m Date: Thu May 11 11:27:51 2023 +0800 Add meta-tools diff --git a/meta-tools/ipq40xx/bootconfig/bootconfig.xml b/meta-tools/ipq40xx/bootconfig/bootconfig.xml new file mode 100644 index 0000000..dfc3604 --- /dev/null +++ b/meta-tools/ipq40xx/bootconfig/bootconfig.xml @@ -0,0 +1,39 @@ + + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:QSEE + 0 + + + 0:CDT + 0 + + + 0:APPSBL + 0 + + + 0:HLOS + 0 + + + rootfs + 0 + + + + + diff --git a/meta-tools/ipq40xx/cdt/128M16.xml b/meta-tools/ipq40xx/cdt/128M16.xml new file mode 100644 index 0000000..04d9616 --- /dev/null +++ b/meta-tools/ipq40xx/cdt/128M16.xml @@ -0,0 +1,118 @@ + + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + 0x02, 0x08, 0x01, 0x00, 0x00, end + + + 1 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + 0 + 0 + 6 + 1600 + 375 + 700000 + 525 + 320 + 39000 + 1700 + 75 + 75 + 150 + 100 + 150 + 57 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 8 + 6 + 500 + 75 + 4800 + 1200 + 512 + 100 + 100 + 240 + 20 + 85 + 220 + 0 + 0 + 0 + 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/meta-tools/ipq40xx/cdt/256M16.xml b/meta-tools/ipq40xx/cdt/256M16.xml new file mode 100644 index 0000000..2942607 --- /dev/null +++ b/meta-tools/ipq40xx/cdt/256M16.xml @@ -0,0 +1,118 @@ + + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + 0x02, 0x08, 0x01, 0x00, 0x00, end + + + 1 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + 0 + 0 + 6 + 2600 + 375 + 700000 + 525 + 320 + 39000 + 2700 + 75 + 75 + 150 + 100 + 150 + 57 + 150 + 4 + 15 + 10 + 8 + 0 + 0 + 0 + 16 + 8 + 6 + 500 + 75 + 4800 + 1200 + 512 + 100 + 100 + 240 + 20 + 85 + 220 + 0 + 0 + 0 + 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/meta-tools/ipq40xx/cdt/64M16.xml b/meta-tools/ipq40xx/cdt/64M16.xml new file mode 100644 index 0000000..99ecf57 --- /dev/null +++ b/meta-tools/ipq40xx/cdt/64M16.xml @@ -0,0 +1,118 @@ + + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + 0x02, 0x08, 0x01, 0x00, 0x00, end + + + 1 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + 0 + 0 + 6 + 1100 + 375 + 700000 + 525 + 320 + 39000 + 1200 + 75 + 75 + 150 + 100 + 150 + 57 + 150 + 4 + 13 + 10 + 8 + 0 + 0 + 0 + 16 + 8 + 6 + 500 + 75 + 4800 + 1200 + 512 + 100 + 100 + 240 + 20 + 85 + 220 + 0 + 0 + 0 + 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + diff --git a/meta-tools/ipq40xx/config.xml b/meta-tools/ipq40xx/config.xml new file mode 100644 index 0000000..66eaf1a --- /dev/null +++ b/meta-tools/ipq40xx/config.xml @@ -0,0 +1,136 @@ + + + + + + ipq40xx + + + + 256 + 256 + 256 + + + + 2048 + 64 + 4096 + + + + 7634944 + gpt_main0.bin + gpt_backup0.bin + + + + 256 + 256 + 256 + + + + 256 + 512 + 256 + 256 + gpt_main1.bin + gpt_backup1.bin + + + + + 0x8010000 + AP-DK01.1-C1 + false + 128M16 + + + 0x8010100 + AP-DK01.1-C2 + true + 128M16 + + + 0x8010001 + AP-DK04.1-C1 + false + 128M16 + + + 0x8010101 + AP-DK04.1-C2 + false + 128M16 + + + 0x8010201 + AP-DK04.1-C3 + false + 128M16 + + + 0x8010301 + AP-DK04.1-C4 + false + 128M16 + + + 0x8010007 + AP-DK05.1-C1 + true + 128M16 + + + 0x8010005 + AP-DK06.1-C1 + false + 128M16 + + + 0x8010006 + AP-DK07.1-C1 + false + 128M16 + + + 0x1010002 + DB.DK01.1-C1 + true + 128M16 + + + 0x1010003 + DB.DK02.1-C1 + true + 128M16 + + + + + + /boot_images/build/ms/bin/40xx/nor/sbl1_nor.mbn + /boot_images/build/ms/bin/40xx/nand/sbl1_nand.mbn + /boot_images/build/ms/bin/40xx/emmc/sbl1_emmc.mbn + /boot_images/build/ms/bin/40xx/misc/tools/bootconfig_tool + /boot_images/build/ms/bin/40xx/misc/tools/partition_tool + + + /trustzone_images/build/ms/bin/MAZAANAA/tz.mbn + + + /apss_proc/out/ipq40xx/openwrt-ipq40xx-u-boot-stripped.elf + /apss_proc/out/ipq40xx/openwrt-ipq-ipq40xx-squashfs-root.img + /apss_proc/out/ipq40xx/openwrt-ipq-ipq40xx-qcom-ipq40xx-ap.dkxx-fit-uImage.itb + /apss_proc/out/ipq40xx/openwrt-ipq-ipq40xx-ubi-root.img + /apss_proc/out/pack.py + + + diff --git a/meta-tools/ipq40xx/flash_partition/emmc-partition.xml b/meta-tools/ipq40xx/flash_partition/emmc-partition.xml new file mode 100644 index 0000000..ccdc5a8 --- /dev/null +++ b/meta-tools/ipq40xx/flash_partition/emmc-partition.xml @@ -0,0 +1,187 @@ + + + + + + + + WRITE_PROTECT_BOUNDARY_IN_KB = 65536 + GROW_LAST_PARTITION_TO_FILL_DISK= false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta-tools/ipq40xx/flash_partition/nand-partition.xml b/meta-tools/ipq40xx/flash_partition/nand-partition.xml new file mode 100644 index 0000000..326dd2a --- /dev/null +++ b/meta-tools/ipq40xx/flash_partition/nand-partition.xml @@ -0,0 +1,167 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nand.mbn + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq40xx.bin + + + 0:BOOTCONFIG + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 1024 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq40xx-u-boot-stripped.elf + + + 0:APPSBL_1 + 1024 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 65536 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq40xx-ubi-root.img + + + rootfs_1 + 51200 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq40xx/flash_partition/nor-partition.xml b/meta-tools/ipq40xx/flash_partition/nor-partition.xml new file mode 100644 index 0000000..38380dd --- /dev/null +++ b/meta-tools/ipq40xx/flash_partition/nor-partition.xml @@ -0,0 +1,125 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + nor-system-partition-ipq40xx.bin + + + 0:QSEE + 384 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:DDRPARAMS + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq40xx-u-boot-stripped.elf + + + 0:ART + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 4096 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq40xx-qcom-ipq40xx-ap.dkxx-fit-uImage.itb + + + rootfs + 22528 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq40xx-squashfs-root.img + + + diff --git a/meta-tools/ipq40xx/flash_partition/norplusemmc-partition.xml b/meta-tools/ipq40xx/flash_partition/norplusemmc-partition.xml new file mode 100644 index 0000000..4821b19 --- /dev/null +++ b/meta-tools/ipq40xx/flash_partition/norplusemmc-partition.xml @@ -0,0 +1,103 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusemmc-system-partition-ipq40xx.bin + + + 0:QSEE + 384 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:DDRPARAMS + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq40xx-u-boot-stripped.elf + + + 0:ART + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq40xx/flash_partition/norplusnand-partition.xml b/meta-tools/ipq40xx/flash_partition/norplusnand-partition.xml new file mode 100644 index 0000000..606632c --- /dev/null +++ b/meta-tools/ipq40xx/flash_partition/norplusnand-partition.xml @@ -0,0 +1,116 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq40xx.bin + + + 0:QSEE + 384 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:DDRPARAMS + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq40xx-u-boot-stripped.elf + + + 0:ART + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + rootfs + 65536 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq40xx-ubi-root.img + + + diff --git a/meta-tools/ipq5018/bootconfig/bootconfig.xml b/meta-tools/ipq5018/bootconfig/bootconfig.xml new file mode 100644 index 0000000..35515ad --- /dev/null +++ b/meta-tools/ipq5018/bootconfig/bootconfig.xml @@ -0,0 +1,50 @@ + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:QSEE + 0 + + + 0:DEVCFG + 0 + + + 0:CDT + 0 + + + 0:APPSBL + 0 + + + 0:HLOS + 0 + + + rootfs + 0 + + + 0:WIFIFW + 0 + + + 0:BTFW + 0 + + + + + diff --git a/meta-tools/ipq5018/cdt/128M16_DDR3.xml b/meta-tools/ipq5018/cdt/128M16_DDR3.xml new file mode 100644 index 0000000..b3e9b83 --- /dev/null +++ b/meta-tools/ipq5018/cdt/128M16_DDR3.xml @@ -0,0 +1,177 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 16 + 14 + 10 + 8 + 0 + 1 + 256 + 0 + 16 + 160000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 2147483699 + 33590869 + 1968136 + 34 + 0 + 0 + 32 + 0 + 7500 + 8 + 10 + 0 + 8 + 63 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 16 + 14 + 10 + 8 + 0 + 1 + 256 + 0 + 16 + 160000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 2147483699 + 33590869 + 1968136 + 34 + 0 + 0 + 32 + 0 + 7500 + 8 + 10 + 0 + 8 + 63 + 0 + 0 + + + 16076 + + + + + diff --git a/meta-tools/ipq5018/cdt/256M16_DDR3.xml b/meta-tools/ipq5018/cdt/256M16_DDR3.xml new file mode 100644 index 0000000..94dbc84 --- /dev/null +++ b/meta-tools/ipq5018/cdt/256M16_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 16 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 51 + 33590869 + 1968136 + 34 + 0 + 0 + 0 + 0 + 7500 + 8 + 10 + 0 + 8 + 42 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 16 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 51 + 33590869 + 1968136 + 34 + 0 + 0 + 0 + 0 + 7500 + 8 + 10 + 0 + 8 + 42 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq5018/cdt/2M512M8_DDR3.xml b/meta-tools/ipq5018/cdt/2M512M8_DDR3.xml new file mode 100644 index 0000000..73117ec --- /dev/null +++ b/meta-tools/ipq5018/cdt/2M512M8_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 16 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 51 + 33590869 + 1968136 + 34 + 0 + 0 + 0 + 0 + 7500 + 8 + 10 + 0 + 8 + 42 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 16 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 51 + 33590869 + 1968136 + 34 + 0 + 0 + 0 + 0 + 7500 + 8 + 10 + 0 + 8 + 42 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq5018/cdt/512M16_DDR3.xml b/meta-tools/ipq5018/cdt/512M16_DDR3.xml new file mode 100644 index 0000000..06f091d --- /dev/null +++ b/meta-tools/ipq5018/cdt/512M16_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 16 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 6000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 4 + 6000 + 0 + 51 + 33590869 + 1968136 + 34 + 0 + 0 + 0 + 0 + 7500 + 8 + 10 + 0 + 8 + 42 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 16 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 6000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 4 + 6000 + 0 + 51 + 33590869 + 1968136 + 34 + 0 + 0 + 0 + 0 + 7500 + 8 + 10 + 0 + 8 + 42 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq5018/config.xml b/meta-tools/ipq5018/config.xml new file mode 100644 index 0000000..99901af --- /dev/null +++ b/meta-tools/ipq5018/config.xml @@ -0,0 +1,284 @@ + + + + + + ipq5018 + + + + 256 + 256 + 256 + + + + + 2048 + 64 + 4096 + + + 4096 + 64 + 4096 + + + + + 15269888 + gpt_main0.bin + gpt_backup0.bin + + + + 256 + 256 + 256 + + + + 256 + 512 + 256 + 256 + gpt_main1.bin + gpt_backup1.bin + + + + + 0xF040000 + MP-EMU + false + 256M16_DDR3 + false + false + + + 0x8040000 + AP-MP02.1 + false + 128M16_DDR3 + true + true + true + 1 + + + 0x8040001 + AP-MP03.1 + false + 256M16_DDR3 + true + false + false + 2 + + + 0x8040101 + AP-MP03.1-C2 + false + 256M16_DDR3 + false + false + 2 + + + 0x8040201 + AP-MP03.1-C3 + false + 256M16_DDR3 + false + false + 2 + + + 0x8040002 + AP-MP03.3 + false + 512M16_DDR3 + false + true + 3 + + + 0x8040102 + AP-MP03.3-C2 + false + 512M16_DDR3 + false + true + 3 + + + 0x8040202 + AP-MP03.3-C3 + false + 512M16_DDR3 + false + true + 3 + + + 0x8040005 + AP-MP03.4-C1 + false + 512M16_DDR3 + false + false + 2 + + + 0x8040105 + AP-MP03.4-C2 + false + 512M16_DDR3 + false + false + 2 + + + 0x8040004 + AP-MP03.5-C1 + false + 512M16_DDR3 + true + true + 1 + + + 0x8040104 + AP-MP03.5-C2 + false + 512M16_DDR3 + true + true + 1 + + + 0x8040003 + AP-MP03.6-C1 + false + 512M16_DDR3 + false + false + 2 + + + 0x8040103 + AP-MP03.6-C2 + false + 512M16_DDR3 + false + false + 2 + + + 0x1040003 + DB-MP02.1 + false + 128M16_DDR3 + true + true + true + 1 + + + 0x1040004 + DB-MP03.1 + false + 256M16_DDR3 + false + false + 2 + + + 0x1040104 + DB-MP03.1-C2 + false + 256M16_DDR3 + false + false + 2 + + + 0x1040005 + DB-MP03.3 + false + 512M16_DDR3 + false + true + 3 + + + 0x1040105 + DB-MP03.3-C2 + false + 512M16_DDR3 + false + true + 3 + + + 0x1040006 + TB-MP04 + false + 2M512M8_DDR3 + false + true + 3 + + + + + + /boot_images/core/boot/secboot3/hw/ipq5018/sbl1/SBL1_tiny_nor.elf + /boot_images/build/ms/bin/5018/nor/sbl1_nor.mbn + /boot_images/build/ms/bin/5018/nand/sbl1_nand.mbn + /boot_images/build/ms/bin/5018/emmc/sbl1_emmc.mbn + /boot_images/build/ms/bin/5018/flashless/sbl1_flashless.mbn + /boot_images/core/bsp/tools/flash/partition_tool_exe/build/partition_tool + /boot_images/core/bsp/tools/flash/bootconfig_exe/build/bootconfig_tool + + + /trustzone_images/build/ms/bin/SAOAANAY/tz.mbn + /trustzone_images/build/ms/bin/SAOAANAY/devcfg.mbn + /trustzone_images/core/bsp/monitor/build/SAOAANAY/tiny_mon.elf + /trustzone_images/core/bsp/qsee/build/SAOAANAY/tiny_qsee.elf + /trustzone_images/core/bsp/devcfg/build/SAOAANAY/devcfg.elf + + + /apss_proc/out/ipq50xx/openwrt-ipq5018_tiny-u-boot.elf + /apss_proc/out/ipq50xx/openwrt-ipq5018-u-boot.elf + /apss_proc/out/ipq50xx/openwrt-ipq-ipq50xx-squashfs-root.img + /apss_proc/out/ipq50xx/openwrt-ipq-ipq50xx-qcom-ipq50xx-mpxx-fit-uImage.itb + /apss_proc/out/ipq50xx/openwrt-ipq-ipq50xx-ubi-root.img + /apss_proc/out/pack.py + + + /apss_proc/out/ipq50xx/openwrt-ipq5018_tiny-u-boot.elf + /apss_proc/out/ipq50xx/openwrt-ipq5018-u-boot.elf + /apss_proc/out/ipq50xx_64/openwrt-ipq-ipq50xx_64-squashfs-root.img + /apss_proc/out/ipq50xx_64/openwrt-ipq-ipq50xx_64-qcom-ipq50xx-mpxx-fit-uImage.itb + /apss_proc/out/ipq50xx_64/openwrt-ipq-ipq50xx_64-ubi-root.img + /apss_proc/out/pack.py + + + /wlan_proc/build/ms/bin/5018.wlanfw.eval/FW_IMAGES/wifi_fw_ipq5018_squashfs.img + /wlan_proc/build/ms/bin/5018.wlanfw.eval/FW_IMAGES/wifi_fw_ipq5018_qcn9000_squashfs.img + /wlan_proc/build/ms/bin/5018.wlanfw2.map_spruce_eval/FW_IMAGES/wifi_fw_ipq5018_qcn9000_qcn6122_squashfs.img + /wlan_proc/build/ms/bin/5018.wlanfw2.map_spr_spr_eval_cs/FW_IMAGES/wifi_fw_ipq5018_qcn6122cs_squashfs.img + + + /btfw_proc/maple/bsp/patch/build/SCAMBAF/FW_IMAGES/bt_fw_patch_squashfs.img + /btfw_proc/maple/bsp/patch/build/SCAMBAF/FW_IMAGES/bt_fw_patch_ubi.img + + + diff --git a/meta-tools/ipq5018/flash_partition/emmc-partition.xml b/meta-tools/ipq5018/flash_partition/emmc-partition.xml new file mode 100644 index 0000000..29bc382 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/emmc-partition.xml @@ -0,0 +1,309 @@ + + + + + + + + WRITE_PROTECT_BOUNDARY_IN_KB = 65536 + GROW_LAST_PARTITION_TO_FILL_DISK= false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta-tools/ipq5018/flash_partition/ipq5018-ubinize.cfg b/meta-tools/ipq5018/flash_partition/ipq5018-ubinize.cfg new file mode 100644 index 0000000..26c6960 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/ipq5018-ubinize.cfg @@ -0,0 +1,57 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq50xx-qcom-ipq50xx-mpxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_ipq5018_qcn9000_squashfs.img +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[bt_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=bt_fw_patch_squashfs.img +vol_size=256KiB +vol_type=static +# Volume ID in UBI image +vol_id=2 +# Volume name +vol_name=bt_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq50xx-squashfs-root.img +# Volume ID in UBI image +vol_id=3 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=4 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize diff --git a/meta-tools/ipq5018/flash_partition/ipq5018-ubinize_64.cfg b/meta-tools/ipq5018/flash_partition/ipq5018-ubinize_64.cfg new file mode 100644 index 0000000..9cbea01 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/ipq5018-ubinize_64.cfg @@ -0,0 +1,58 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq50xx_64-qcom-ipq50xx-mpxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_ipq5018_qcn9000_squashfs.img +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[bt_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=bt_fw_patch_squashfs.img +vol_size=256KiB +vol_type=static +# Volume ID in UBI image +vol_id=2 +# Volume name +vol_name=bt_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq50xx_64-squashfs-root.img +# Volume ID in UBI image +vol_id=3 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=4 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize + diff --git a/meta-tools/ipq5018/flash_partition/nand-4k-partition.xml b/meta-tools/ipq5018/flash_partition/nand-4k-partition.xml new file mode 100644 index 0000000..5cef4c6 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/nand-4k-partition.xml @@ -0,0 +1,212 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nand.mbn + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq5018-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq5018-u-boot.mbn + + + 0:APPSBL_1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 85504 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq50xx_64-ubi-root-m4096-p256KiB.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + wifi_fw_ipq5018_qcn9000_squashfs.img + wifi_fw_ipq5018_qcn9000_qcn6122_squashfs.img + + + rootfs_1 + 85504 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq5018/flash_partition/nand-partition.xml b/meta-tools/ipq5018/flash_partition/nand-partition.xml new file mode 100644 index 0000000..6c9fc64 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/nand-partition.xml @@ -0,0 +1,202 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nand.mbn + + + 0:MIBIB + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq5018.bin + + + 0:BOOTCONFIG + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 1024 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq5018-u-boot.mbn + + + 0:APPSBL_1 + 1024 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TRAINING + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 59136 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-ubi-root.img + openwrt-ipq-ipq50xx_64-ubi-root.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + wifi_fw_ipq5018_qcn9000_squashfs.img + wifi_fw_ipq5018_qcn9000_qcn6122_squashfs.img + + + rootfs_1 + 59136 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq5018/flash_partition/nor-partition.xml b/meta-tools/ipq5018/flash_partition/nor-partition.xml new file mode 100644 index 0000000..7acfa7f --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/nor-partition.xml @@ -0,0 +1,152 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 32 + 0xFF + nor-system-partition-ipq5018.bin + + + 0:QSEE + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq5018-u-boot.mbn + + + 0:ART + 448 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 5120 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-qcom-ipq50xx-mpxx-fit-uImage.itb + openwrt-ipq-ipq50xx_64-qcom-ipq50xx-mpxx-fit-uImage.itb + + + rootfs + 20480 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-squashfs-root.img + openwrt-ipq-ipq50xx_64-squashfs-root.img + + + 0:WIFIFW + 4096 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ipq5018_qcn9000_squashfs.img + wifi_fw_ipq5018_qcn9000_qcn6122_squashfs.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + + + 0:BTFW + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bt_fw_patch_squashfs.img + + + diff --git a/meta-tools/ipq5018/flash_partition/norplusemmc-partition.xml b/meta-tools/ipq5018/flash_partition/norplusemmc-partition.xml new file mode 100644 index 0000000..89bc726 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/norplusemmc-partition.xml @@ -0,0 +1,166 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 4 + 0xFF + norplusemmc-system-partition-ipq5018.bin + + + 0:BOOTCONFIG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq5018-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 448 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq5018/flash_partition/norplusnand-4k-partition.xml b/meta-tools/ipq5018/flash_partition/norplusnand-4k-partition.xml new file mode 100644 index 0000000..cd74fe7 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/norplusnand-4k-partition.xml @@ -0,0 +1,164 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq5018-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq5018-u-boot.mbn + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 85504 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq50xx_64-ubi-root-m4096-p256KiB.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + wifi_fw_ipq5018_qcn9000_squashfs.img + wifi_fw_ipq5018_qcn9000_qcn6122_squashfs.img + + + rootfs_1 + 85504 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq5018/flash_partition/norplusnand-partition.xml b/meta-tools/ipq5018/flash_partition/norplusnand-partition.xml new file mode 100644 index 0000000..67f1cd8 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/norplusnand-partition.xml @@ -0,0 +1,204 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 4 + 0xFF + norplusnand-system-partition-ipq5018.bin + + + 0:BOOTCONFIG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq5018-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 448 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + 0:TRAINING + 256 + 256 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 63232 + 256 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-ubi-root.img + openwrt-ipq-ipq50xx_64-ubi-root.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + wifi_fw_ipq5018_qcn9000_squashfs.img + wifi_fw_ipq5018_qcn9000_qcn6122_squashfs.img + + + rootfs_1 + 63232 + 256 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq5018/flash_partition/tiny-nor-debug-partition.xml b/meta-tools/ipq5018/flash_partition/tiny-nor-debug-partition.xml new file mode 100644 index 0000000..e9ed355 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/tiny-nor-debug-partition.xml @@ -0,0 +1,109 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:BOOTLDR1 + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1_nor.mbn + + + 0:BOOTLDR2 + 384 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootldr2_nor.mbn + bootldr2_atf_nor.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 2624 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-qcom-ipq50xx-mpxx-fit-uImage.itb + openwrt-ipq-ipq50xx_64-qcom-ipq50xx-mpxx-fit-uImage.itb + + + rootfs + 8832 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-squashfs-root.img + openwrt-ipq-ipq50xx_64-squashfs-root.img + + + 0:WIFIFW + 3712 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ipq5018_squashfs.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + wifi_fw_ipq5018_qcn9000_squashfs.img + + + 0:BTFW + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bt_fw_patch_squashfs.img + + + diff --git a/meta-tools/ipq5018/flash_partition/tiny-nor-partition.xml b/meta-tools/ipq5018/flash_partition/tiny-nor-partition.xml new file mode 100644 index 0000000..b98f499 --- /dev/null +++ b/meta-tools/ipq5018/flash_partition/tiny-nor-partition.xml @@ -0,0 +1,98 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:BOOTLDR1 + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1_nor.mbn + + + 0:BOOTLDR2 + 384 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootldr2_nor.mbn + bootldr2_atf_nor.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 1920 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-qcom-ipq50xx-mpxx-fit-uImage.itb + openwrt-ipq-ipq50xx_64-qcom-ipq50xx-mpxx-fit-uImage.itb + + + rootfs + 10112 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq50xx-squashfs-root.img + openwrt-ipq-ipq50xx_64-squashfs-root.img + + + 0:WIFIFW + 3712 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ipq5018_squashfs.img + wifi_fw_ipq5018_qcn6122cs_squashfs.img + wifi_fw_ipq5018_qcn9000_squashfs.img + + + diff --git a/meta-tools/ipq6018/bootconfig/bootconfig-audio.xml b/meta-tools/ipq6018/bootconfig/bootconfig-audio.xml new file mode 100644 index 0000000..50b096c --- /dev/null +++ b/meta-tools/ipq6018/bootconfig/bootconfig-audio.xml @@ -0,0 +1,40 @@ + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:QSEE + 0 + + + 0:DEVCFG + 0 + + + 0:RPM + 0 + + + 0:CDT + 0 + + + 0:APPSBL + 0 + + + 0:WIFIFW + 0 + + + diff --git a/meta-tools/ipq6018/bootconfig/bootconfig.xml b/meta-tools/ipq6018/bootconfig/bootconfig.xml new file mode 100644 index 0000000..7e10b2f --- /dev/null +++ b/meta-tools/ipq6018/bootconfig/bootconfig.xml @@ -0,0 +1,50 @@ + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:QSEE + 0 + + + 0:DEVCFG + 0 + + + 0:RPM + 0 + + + 0:CDT + 0 + + + 0:APPSBL + 0 + + + 0:HLOS + 0 + + + rootfs + 0 + + + 0:WIFIFW + 0 + + + + + diff --git a/meta-tools/ipq6018/cdt/1024M32_DDR4.xml b/meta-tools/ipq6018/cdt/1024M32_DDR4.xml new file mode 100644 index 0000000..13d6afa --- /dev/null +++ b/meta-tools/ipq6018/cdt/1024M32_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 16 + 0 + 16 + 10 + 8 + 0 + 1 + 4096 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 2 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 16 + 0 + 16 + 10 + 8 + 0 + 1 + 4096 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 2 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/128M16_DDR3.xml b/meta-tools/ipq6018/cdt/128M16_DDR3.xml new file mode 100644 index 0000000..164fb33 --- /dev/null +++ b/meta-tools/ipq6018/cdt/128M16_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 1 + 14 + 10 + 8 + 0 + 1 + 256 + 0 + 16 + 160000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 1 + 14 + 10 + 8 + 0 + 1 + 256 + 0 + 16 + 160000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/128M32_DDR3.xml b/meta-tools/ipq6018/cdt/128M32_DDR3.xml new file mode 100644 index 0000000..1822be0 --- /dev/null +++ b/meta-tools/ipq6018/cdt/128M32_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 0 + 14 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 160000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 1 + 14 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 160000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/256M16_DDR3.xml b/meta-tools/ipq6018/cdt/256M16_DDR3.xml new file mode 100644 index 0000000..d6a1eb9 --- /dev/null +++ b/meta-tools/ipq6018/cdt/256M16_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/256M32_DDR3.xml b/meta-tools/ipq6018/cdt/256M32_DDR3.xml new file mode 100644 index 0000000..f14ec49 --- /dev/null +++ b/meta-tools/ipq6018/cdt/256M32_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 0 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/256M32_DDR4.xml b/meta-tools/ipq6018/cdt/256M32_DDR4.xml new file mode 100644 index 0000000..1fa7042 --- /dev/null +++ b/meta-tools/ipq6018/cdt/256M32_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 15 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 15 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/512M16_DDR3.xml b/meta-tools/ipq6018/cdt/512M16_DDR3.xml new file mode 100644 index 0000000..1c3c88a --- /dev/null +++ b/meta-tools/ipq6018/cdt/512M16_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 6000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 4 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 6000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 4 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/512M16_DDR4.xml b/meta-tools/ipq6018/cdt/512M16_DDR4.xml new file mode 100644 index 0000000..ef9fa2d --- /dev/null +++ b/meta-tools/ipq6018/cdt/512M16_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/cdt/512M32_DDR4.xml b/meta-tools/ipq6018/cdt/512M32_DDR4.xml new file mode 100644 index 0000000..90f7438 --- /dev/null +++ b/meta-tools/ipq6018/cdt/512M32_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq6018/config.xml b/meta-tools/ipq6018/config.xml new file mode 100644 index 0000000..b03fe67 --- /dev/null +++ b/meta-tools/ipq6018/config.xml @@ -0,0 +1,160 @@ + + + + + + ipq6018 + + + + 256 + 256 + 256 + + + + + 2048 + 64 + 4096 + + + 2048 + 64 + 4096 + + + 4096 + 64 + 4096 + + + 4096 + 64 + 4096 + + + + + + 7634944 + gpt_main0.bin + gpt_backup0.bin + + + + 256 + 256 + 256 + + + + 256 + 512 + 256 + 256 + gpt_main1.bin + gpt_backup1.bin + + + + + 0x8030000 + AP-CP01-C1 + false + 256M32_DDR3 + + + 0x8030001 + AP-CP01-C2 + false + 256M32_DDR3 + + + 0x8030002 + AP-CP01-C3 + false + 256M32_DDR3 + + + 0x8030003 + AP-CP01-C4 + false + 256M32_DDR3 + true + + + 0x8030100 + AP-CP02-C1 + false + 256M32_DDR4 + + + 0x8030200 + AP-CP03-C1 + false + 256M16_DDR3 + + + 0x1030000 + DB-CP01 + false + 256M32_DDR3 + + + 0x1030100 + DB-CP02 + false + 1024M32_DDR4 + + + 0xF030000 + CP-EMU + false + 256M32_DDR3 + + + + + + /boot_images/build/ms/bin/8074/nor/sbl1_nor.mbn + /boot_images/build/ms/bin/8074/nand/sbl1_nand.mbn + /boot_images/build/ms/bin/8074/emmc/sbl1_emmc.mbn + /boot_images/build/ms/bin/8074/flashless/sbl1_flashless.mbn + /boot_images/core/bsp/tools/flash/partition_tool_exe/build/partition_tool + /boot_images/core/bsp/tools/flash/bootconfig_exe/build/bootconfig_tool + + + /trustzone_images/build/ms/bin/SANAANAA/tz.mbn + /trustzone_images/build/ms/bin/SANAANAA/devcfg_noac.mbn + /trustzone_images/build/ms/bin/SANAANAA/devcfg_nosmmu.mbn + + + /apss_proc/out/ipq807x/openwrt-ipq807x-u-boot.elf + /apss_proc/out/ipq807x/openwrt-ipq-ipq807x-squashfs-root.img + /apss_proc/out/ipq807x/openwrt-ipq-ipq807x-qcom-ipq807x-hkxx-fit-uImage.itb + /apss_proc/out/ipq807x/openwrt-ipq-ipq807x-ubi-root.img + /apss_proc/out/pack.py + + + /apss_proc/out/ipq807x/openwrt-ipq807x-u-boot.elf + /apss_proc/out/ipq807x_64/openwrt-ipq-ipq807x_64-squashfs-root.img + /apss_proc/out/ipq807x_64/openwrt-ipq-ipq807x_64-qcom-ipq807x-hkxx-fit-uImage.itb + /apss_proc/out/ipq807x_64/openwrt-ipq-ipq807x_64-ubi-root.img + /apss_proc/out/pack.py + + + /rpm_proc/build/ms/bin/8074/rpm.mbn + + + /wlan_proc/build/ms/bin/wifi_fw_squashfs.img + /wlan_proc/build/ms/bin/wifi_fw_ubi.img + + + diff --git a/meta-tools/ipq6018/flash_partition/emmc-partition.xml b/meta-tools/ipq6018/flash_partition/emmc-partition.xml new file mode 100644 index 0000000..634d83c --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/emmc-partition.xml @@ -0,0 +1,291 @@ + + + + + + + + WRITE_PROTECT_BOUNDARY_IN_KB = 65536 + GROW_LAST_PARTITION_TO_FILL_DISK= false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta-tools/ipq6018/flash_partition/ipq6018-ubinize-audio.cfg b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize-audio.cfg new file mode 100644 index 0000000..b9dbf2e --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize-audio.cfg @@ -0,0 +1,57 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx-qcom-ipq60xx-cpxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_squashfs.img +vol_size=4MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[adsp_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=adsp_fw_squashfs.img +vol_size=5MiB +vol_type=static +# Volume ID in UBI image +vol_id=2 +# Volume name +vol_name=adsp_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx-squashfs-root.img +# Volume ID in UBI image +vol_id=3 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=4 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize diff --git a/meta-tools/ipq6018/flash_partition/ipq6018-ubinize.cfg b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize.cfg new file mode 100644 index 0000000..cd2c37b --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize.cfg @@ -0,0 +1,45 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx-qcom-ipq60xx-cpxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_ipq6018_qcn9000_squashfs.img +vol_size=4MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx-squashfs-root.img +# Volume ID in UBI image +vol_id=2 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=3 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize diff --git a/meta-tools/ipq6018/flash_partition/ipq6018-ubinize_64-audio.cfg b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize_64-audio.cfg new file mode 100644 index 0000000..f00d675 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize_64-audio.cfg @@ -0,0 +1,59 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx_64-qcom-ipq60xx-cpxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_squashfs.img +vol_size=4MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Allow for dynamic resize +# Volume name +vol_name=wifi_fw + +[adsp_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=adsp_fw_squashfs.img +vol_size=5MiB +vol_type=static +# Volume ID in UBI image +vol_id=2 +# Volume name +vol_name=adsp_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx_64-squashfs-root.img +# Volume ID in UBI image +vol_id=3 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=4 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize + diff --git a/meta-tools/ipq6018/flash_partition/ipq6018-ubinize_64.cfg b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize_64.cfg new file mode 100644 index 0000000..824090a --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/ipq6018-ubinize_64.cfg @@ -0,0 +1,46 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx_64-qcom-ipq60xx-cpxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_ipq6018_qcn9000_squashfs.img +vol_size=4MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq60xx_64-squashfs-root.img +# Volume ID in UBI image +vol_id=2 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=3 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize + diff --git a/meta-tools/ipq6018/flash_partition/nand-4k-partition.xml b/meta-tools/ipq6018/flash_partition/nand-4k-partition.xml new file mode 100644 index 0000000..3d20fc4 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/nand-4k-partition.xml @@ -0,0 +1,220 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl_nand.elf + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq6018-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 85504 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq60xx_64-ubi-root-m4096-p256KiB.img + + + rootfs_1 + 85504 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 2048 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq6018/flash_partition/nand-audio-4k-partition.xml b/meta-tools/ipq6018/flash_partition/nand-audio-4k-partition.xml new file mode 100644 index 0000000..8fea8ba --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/nand-audio-4k-partition.xml @@ -0,0 +1,210 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl_nand.elf + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-audio-system-partition-ipq6018-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig-audio.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig-audio.bin + + + 0:QSEE + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg_noac.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 197120 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq60xx_64-ubi-root-m4096-p256KiB.img + + + 0:ETHPHYFW + 2048 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq6018/flash_partition/nand-audio-partition.xml b/meta-tools/ipq6018/flash_partition/nand-audio-partition.xml new file mode 100644 index 0000000..adb44b0 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/nand-audio-partition.xml @@ -0,0 +1,210 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl_nand.elf + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-audio-system-partition-ipq6018-m2048-p128KiB.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig-audio.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig-audio.bin + + + 0:QSEE + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg_noac.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 108544 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root.img + openwrt-ipq-ipq60xx_64-ubi-root.img + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq6018/flash_partition/nand-partition.xml b/meta-tools/ipq6018/flash_partition/nand-partition.xml new file mode 100644 index 0000000..805987d --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/nand-partition.xml @@ -0,0 +1,220 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl_nand.elf + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq6018.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 53760 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root.img + openwrt-ipq-ipq60xx_64-ubi-root.img + + + rootfs_1 + 53760 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq6018/flash_partition/nor-partition.xml b/meta-tools/ipq6018/flash_partition/nor-partition.xml new file mode 100644 index 0000000..27f5fa8 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/nor-partition.xml @@ -0,0 +1,150 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 32 + 0xFF + nor-system-partition-ipq6018.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:RPM + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 6144 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-qcom-ipq60xx-cpxx-fit-uImage.itb + openwrt-ipq-ipq60xx_64-qcom-ipq60xx-cpxx-fit-uImage.itb + + + rootfs + 20608 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-squashfs-root.img + openwrt-ipq-ipq60xx_64-squashfs-root.img + + + 0:WIFIFW + 2304 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_squashfs.img + + + diff --git a/meta-tools/ipq6018/flash_partition/norplusemmc-partition.xml b/meta-tools/ipq6018/flash_partition/norplusemmc-partition.xml new file mode 100644 index 0000000..00a42f9 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/norplusemmc-partition.xml @@ -0,0 +1,187 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusemmc-system-partition-ipq6018.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq6018/flash_partition/norplusnand-4k-partition.xml b/meta-tools/ipq6018/flash_partition/norplusnand-4k-partition.xml new file mode 100644 index 0000000..f2adf48 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/norplusnand-4k-partition.xml @@ -0,0 +1,212 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq6018-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 85504 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq60xx_64-ubi-root-m4096-p256KiB.img + + + rootfs_1 + 85504 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq6018/flash_partition/norplusnand-partition.xml b/meta-tools/ipq6018/flash_partition/norplusnand-partition.xml new file mode 100644 index 0000000..f1bc1b9 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/norplusnand-partition.xml @@ -0,0 +1,212 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq6018.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 61440 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root.img + openwrt-ipq-ipq60xx_64-ubi-root.img + + + rootfs_1 + 61440 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq6018/flash_partition/tiny-nor-partition.xml b/meta-tools/ipq6018/flash_partition/tiny-nor-partition.xml new file mode 100644 index 0000000..1b5abe8 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/tiny-nor-partition.xml @@ -0,0 +1,150 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 32 + 0xFF + tiny-nor-system-partition-ipq6018.bin + + + 0:QSEE + 1408 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:RPM + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq6018-u-boot.mbn + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 6144 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-qcom-ipq60xx-cpxx-fit-uImage.itb + openwrt-ipq-ipq60xx_64-qcom-ipq60xx-cpxx-fit-uImage.itb + + + rootfs + 20992 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-squashfs-root.img + openwrt-ipq-ipq60xx_64-squashfs-root.img + + + 0:WIFIFW + 2304 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_squashfs.img + + + diff --git a/meta-tools/ipq6018/flash_partition/tiny-norplusemmc-partition.xml b/meta-tools/ipq6018/flash_partition/tiny-norplusemmc-partition.xml new file mode 100644 index 0000000..5146b74 --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/tiny-norplusemmc-partition.xml @@ -0,0 +1,60 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:BOOTLDR1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1.img + + + 0:BOOTLDR2 + 576 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr2.img + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq6018/flash_partition/tiny-norplusnand-partition.xml b/meta-tools/ipq6018/flash_partition/tiny-norplusnand-partition.xml new file mode 100644 index 0000000..e14e7de --- /dev/null +++ b/meta-tools/ipq6018/flash_partition/tiny-norplusnand-partition.xml @@ -0,0 +1,85 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:BOOTLDR1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1.img + + + 0:BOOTLDR2 + 576 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr2.img + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 57344 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq60xx-ubi-root.img + openwrt-ipq-ipq60xx_64-ubi-root.img + + + rootfs_1 + 57344 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq806x/bootconfig/bootconfig.xml b/meta-tools/ipq806x/bootconfig/bootconfig.xml new file mode 100644 index 0000000..98b044d --- /dev/null +++ b/meta-tools/ipq806x/bootconfig/bootconfig.xml @@ -0,0 +1,50 @@ + + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:SBL2 + 0 + + + 0:SBL3 + 0 + + + 0:DDRCONFIG + 0 + + + 0:TZ + 0 + + + 0:RPM + 0 + + + 0:APPSBL + 0 + + + rootfs + 0 + + + 0:HLOS + 0 + + + + diff --git a/meta-tools/ipq806x/cdt/AK01_1XX-cdt.xml b/meta-tools/ipq806x/cdt/AK01_1XX-cdt.xml new file mode 100644 index 0000000..940cf15 --- /dev/null +++ b/meta-tools/ipq806x/cdt/AK01_1XX-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x9C, 0x13, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x52, end + 0x1, end + + + 0x1, end + 0x1, end + 0x1, end + 0x52, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP145-cdt.xml b/meta-tools/ipq806x/cdt/AP145-cdt.xml new file mode 100644 index 0000000..ce90cd5 --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP145-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 15 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0xCA, 0x12, 0x00, 0x00, end + + + + 0x0, end + 0x1, end + 0x0, end + 0x51, end + 0x0, end + + + 0x0, end + 0x1, end + 0x0, end + 0x51, end + 0x0, end + + + 0x0, end + 0x1, end + 0x0, end + 0x51, end + 0x0, end + + + 0x0, end + 0x0, end + 0x0, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP145_1XX-cdt.xml b/meta-tools/ipq806x/cdt/AP145_1XX-cdt.xml new file mode 100644 index 0000000..91632ff --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP145_1XX-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 15 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0xCC, 0x12, 0x00, 0x00, end + + + + 0x0, end + 0x1, end + 0x0, end + 0x51, end + 0x0, end + + + 0x0, end + 0x1, end + 0x0, end + 0x51, end + 0x0, end + + + 0x0, end + 0x1, end + 0x0, end + 0x51, end + 0x0, end + + + 0x0, end + 0x0, end + 0x0, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP148-cdt.xml b/meta-tools/ipq806x/cdt/AP148-cdt.xml new file mode 100644 index 0000000..4246937 --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP148-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x60, 0x12, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x52, end + 0x1, end + + + 0x1, end + 0x1, end + 0x1, end + 0x52, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP148_1XX-cdt.xml b/meta-tools/ipq806x/cdt/AP148_1XX-cdt.xml new file mode 100644 index 0000000..e4b6681 --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP148_1XX-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x31, 0x13, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x52, end + 0x1, end + + + 0x1, end + 0x1, end + 0x1, end + 0x52, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP160-cdt.xml b/meta-tools/ipq806x/cdt/AP160-cdt.xml new file mode 100644 index 0000000..c64daf1 --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP160-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x6B, 0x13, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x52, end + 0x1, end + + + 0x1, end + 0x1, end + 0x1, end + 0x52, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP160_2XX-cdt.xml b/meta-tools/ipq806x/cdt/AP160_2XX-cdt.xml new file mode 100644 index 0000000..ad1a81e --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP160_2XX-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x7F, 0x13, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x52, end + 0x1, end + + + 0x1, end + 0x1, end + 0x1, end + 0x52, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/AP161-cdt.xml b/meta-tools/ipq806x/cdt/AP161-cdt.xml new file mode 100644 index 0000000..e3e2f33 --- /dev/null +++ b/meta-tools/ipq806x/cdt/AP161-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x6c, 0x13, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x52, end + 0x1, end + + + 0x1, end + 0x1, end + 0x1, end + 0x52, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + 0x1, end + 0x1, end + 0x3, end + 0x51, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/DB147-cdt.xml b/meta-tools/ipq806x/cdt/DB147-cdt.xml new file mode 100644 index 0000000..442b335 --- /dev/null +++ b/meta-tools/ipq806x/cdt/DB147-cdt.xml @@ -0,0 +1,117 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x5F, 0x12, 0x00, 0x00, end + + + + diff --git a/meta-tools/ipq806x/cdt/DB149-cdt.xml b/meta-tools/ipq806x/cdt/DB149-cdt.xml new file mode 100644 index 0000000..98a739a --- /dev/null +++ b/meta-tools/ipq806x/cdt/DB149-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 14 + 10 + 8 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x5B, 0x12, 0x00, 0x00, end + + + + 0x0, end + 0x1, end + 0x0, end + 0x49, end + 0x0, end + + + 0x0, end + 0x1, end + 0x1, end + 0x49, end + 0x1, end + + + 0x0, end + 0x1, end + 0x2, end + 0x48, end + 0x1, end + + + 0x0, end + 0x1, end + 0x3, end + 0x48, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/DB149_1XX-cdt.xml b/meta-tools/ipq806x/cdt/DB149_1XX-cdt.xml new file mode 100644 index 0000000..dec7b16 --- /dev/null +++ b/meta-tools/ipq806x/cdt/DB149_1XX-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 14 + 10 + 8 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0xCB, 0x12, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x49, end + 0x0, end + + + 0x1, end + 0x1, end + 0x1, end + 0x49, end + 0x1, end + + + 0x1, end + 0x1, end + 0x2, end + 0x48, end + 0x1, end + + + 0x1, end + 0x1, end + 0x3, end + 0x48, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/DB149_2XX-cdt.xml b/meta-tools/ipq806x/cdt/DB149_2XX-cdt.xml new file mode 100644 index 0000000..191b8a8 --- /dev/null +++ b/meta-tools/ipq806x/cdt/DB149_2XX-cdt.xml @@ -0,0 +1,147 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 14 + 10 + 8 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x35, 0x13, 0x00, 0x00, end + + + + 0x1, end + 0x1, end + 0x0, end + 0x49, end + 0x0, end + + + 0x1, end + 0x1, end + 0x1, end + 0x49, end + 0x1, end + + + 0x1, end + 0x1, end + 0x2, end + 0x48, end + 0x1, end + + + 0x1, end + 0x1, end + 0x3, end + 0x48, end + 0x0, end + + + + + diff --git a/meta-tools/ipq806x/cdt/RUMI3-cdt.xml b/meta-tools/ipq806x/cdt/RUMI3-cdt.xml new file mode 100644 index 0000000..2c1e8ad --- /dev/null +++ b/meta-tools/ipq806x/cdt/RUMI3-cdt.xml @@ -0,0 +1,83 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 1100 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 14 + 10 + 8 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 5120 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0x1, end + 0x79, 0x0F, 0x00, 0x00, end + + + + diff --git a/meta-tools/ipq806x/cdt/TB725-cdt.xml b/meta-tools/ipq806x/cdt/TB725-cdt.xml new file mode 100644 index 0000000..2cda18a --- /dev/null +++ b/meta-tools/ipq806x/cdt/TB725-cdt.xml @@ -0,0 +1,117 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x79, 0x0F, 0x00, 0x00, end + + + + diff --git a/meta-tools/ipq806x/cdt/TB726-cdt.xml b/meta-tools/ipq806x/cdt/TB726-cdt.xml new file mode 100644 index 0000000..504cd7a --- /dev/null +++ b/meta-tools/ipq806x/cdt/TB726-cdt.xml @@ -0,0 +1,117 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02, 0x00, 0x01, 0x00, 0x00, end + + + + 1 + 0x00, 0x52, 0x44,0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 168 + 0 + + + + 0 + 0 + 4 + 3500 + 351 + 702000 + 525 + 0 + 78000 + 3600 + 75 + 75 + 150 + 60 + 150 + 50 + 150 + 4 + 14 + 10 + 8 + 0 + 0 + 0 + 16 + 0 + 0 + 500 + 75 + 2560 + 640 + 512 + 100 + 100 + 240 + 20 + 85 + 150 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x0 + + + + 0x1, end + 0x7A, 0x0F, 0x00, 0x00, end + + + + diff --git a/meta-tools/ipq806x/config.xml b/meta-tools/ipq806x/config.xml new file mode 100644 index 0000000..891b339 --- /dev/null +++ b/meta-tools/ipq806x/config.xml @@ -0,0 +1,142 @@ + + + + + + ipq806x + + + + 256 + 256 + 512 + + + + 2048 + 64 + 4096 + + + + 7634944 + gpt_main0.bin + gpt_backup0.bin + + + + 256 + 256 + 256 + + + + 256 + 512 + 256 + 256 + gpt_main1.bin + gpt_backup1.bin + + + + + 0x125B + DB149-cdt + false + + + 0x125F + DB147-cdt + false + + + + 0x12CA + AP145-cdt + false + + + 0x1260 + AP148-cdt + false + + + 0x12CB + DB149_1XX-cdt + false + + + + 0x12CC + AP145_1XX-cdt + false + + + 0x1331 + AP148_1XX-cdt + false + + + 0x1335 + DB149_2XX-cdt + false + + + 0x136b + AP160-cdt + false + + + 0x137f + AP160_2XX-cdt + false + + + 0x136c + AP161-cdt + false + + + 0x139c + AK01_1XX-cdt + false + + + + + + /boot_images/build/ms/bin/AAABANAZ/nor_sbl1.mbn + /boot_images/build/ms/bin/AAABANAZ/nor_sbl2.mbn + /boot_images/build/ms/bin/AAABANAZ/nor_sbl3.mbn + /boot_images/build/ms/bin/AAAAANAZ/nand_sbl1.mbn + /boot_images/build/ms/bin/AAAAANAZ/nand_sbl2.mbn + /boot_images/build/ms/bin/AAAAANAZ/nand_sbl3.mbn + /boot_images/build/ms/bin/AAACANAZ/sdcc_sbl1.mbn + /boot_images/build/ms/bin/AAACANAZ/sdcc_sbl2.mbn + /boot_images/build/ms/bin/AAACANAZ/sdcc_sbl3.mbn + /boot_images/build/ms/bin/AAAAANAA/AP148/ssd.mbn + /boot_images/build/ms/bin/AAAAANAA/tools/bootconfig_tool + /boot_images/build/ms/bin/AAAAANAA/tools/nor_tool + + + /trustzone_images/build/ms/bin/AAAAANAZ/tz.mbn + + + /rpm_proc/build/ms/bin/AAAAANAAR/rpm.mbn + + + /apss_proc/out/ipq806x/openwrt-ipq806x-u-boot.mbn + /apss_proc/out/ipq806x/openwrt-ipq-ipq806x-squashfs-root.img + /apss_proc/out/ipq806x/openwrt-ipq-ipq806x-qcom-ipq806x-akxx-fit-uImage.itb + /apss_proc/out/ipq806x/openwrt-ipq-ipq806x-ubi-root.img + /apss_proc/out/pack.py + + + diff --git a/meta-tools/ipq806x/flash_partition/emmc-partition.xml b/meta-tools/ipq806x/flash_partition/emmc-partition.xml new file mode 100644 index 0000000..1d2ce13 --- /dev/null +++ b/meta-tools/ipq806x/flash_partition/emmc-partition.xml @@ -0,0 +1,244 @@ + + + + + + + + WRITE_PROTECT_BOUNDARY_IN_KB = 65536 + GROW_LAST_PARTITION_TO_FILL_DISK= false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta-tools/ipq806x/flash_partition/nand-partition.xml b/meta-tools/ipq806x/flash_partition/nand-partition.xml new file mode 100644 index 0000000..fa81d5d --- /dev/null +++ b/meta-tools/ipq806x/flash_partition/nand-partition.xml @@ -0,0 +1,263 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x3 + + + 0:SBL1 + 128 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand_sbl1.mbn + sbl + + + 0:MIBIB + 1024 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq806x.bin + sbl + + + 0:SBL2 + 1024 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand_sbl2.mbn + sbl + + + 0:SBL3 + 2048 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand_sbl3.mbn + sbl + + + 0:DDRCONFIG + 1024 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + sbl + + + 0:SSD + 1024 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + ssd.mbn + sbl + + + 0:TZ + 2048 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + sbl + + + 0:RPM + 2048 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + sbl + + + 0:APPSBL + 4096 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq806x-u-boot.mbn + sbl + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 1024 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 65536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq806x-ubi-root.img + linux + + + 0:BOOTCONFIG + 256 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + linux + + + 0:SBL2_1 + 1024 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:SBL3_1 + 2048 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DDRCONFIG_1 + 1024 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:SSD_1 + 1024 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TZ_1 + 2048 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM_1 + 2048 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:BOOTCONFIG1 + 256 + 128 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + linux + + + 0:APPSBL_1 + 4096 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs_1 + 65536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq806x/flash_partition/nor-partition.xml b/meta-tools/ipq806x/flash_partition/nor-partition.xml new file mode 100644 index 0000000..302cfbc --- /dev/null +++ b/meta-tools/ipq806x/flash_partition/nor-partition.xml @@ -0,0 +1,148 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x3 + + + 0:SBL1 + 2 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFE + nor_sbl1.mbn + + + 0:MIBIB + 2 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFE + nor-system-partition-ipq806x.bin + + + 0:SBL2 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl2.mbn + + + 0:SBL3 + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl3.mbn + + + 0:DDRCONFIG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:TZ + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:RPM + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:APPSBL + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq806x-u-boot.mbn + + + 0:APPSBLENV + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 4096 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq806x-qcom-ipq806x-akxx-fit-uImage.itb + + + rootfs + 24576 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq806x-squashfs-root.img + + + diff --git a/meta-tools/ipq806x/flash_partition/norplusemmc-partition.xml b/meta-tools/ipq806x/flash_partition/norplusemmc-partition.xml new file mode 100644 index 0000000..3a18a12 --- /dev/null +++ b/meta-tools/ipq806x/flash_partition/norplusemmc-partition.xml @@ -0,0 +1,126 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x3 + + + 0:SBL1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl1.mbn + + + 0:MIBIB + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + norplusemmc-system-partition-ipq806x.bin + + + 0:SBL2 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl2.mbn + + + 0:SBL3 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl3.mbn + + + 0:DDRCONFIG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:TZ + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:RPM + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:APPSBL + 448 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq806x-u-boot.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq806x/flash_partition/norplusnand-partition.xml b/meta-tools/ipq806x/flash_partition/norplusnand-partition.xml new file mode 100644 index 0000000..6bda81b --- /dev/null +++ b/meta-tools/ipq806x/flash_partition/norplusnand-partition.xml @@ -0,0 +1,240 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x3 + + + 0:SBL1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl1.mbn + + + 0:MIBIB + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + norplusnand-system-partition-ipq806x.bin + + + 0:SBL2 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl2.mbn + + + 0:SBL3 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nor_sbl3.mbn + + + 0:DDRCONFIG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:SSD + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + ssd.mbn + + + 0:TZ + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:RPM + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:APPSBL + 448 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq806x-u-boot.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:SBL2_1 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:SBL3_1 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DDRCONFIG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TZ_1 + 192 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM_1 + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL_1 + 448 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + rootfs + 65536 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq806x-ubi-root.img + + + rootfs_1 + 65536 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/bootconfig/bootconfig.xml b/meta-tools/ipq807x/bootconfig/bootconfig.xml new file mode 100644 index 0000000..5aa696c --- /dev/null +++ b/meta-tools/ipq807x/bootconfig/bootconfig.xml @@ -0,0 +1,54 @@ + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:QSEE + 0 + + + 0:DEVCFG + 0 + + + 0:APDP + 0 + + + 0:RPM + 0 + + + 0:CDT + 0 + + + 0:APPSBL + 0 + + + 0:HLOS + 0 + + + rootfs + 0 + + + 0:WIFIFW + 0 + + + + + diff --git a/meta-tools/ipq807x/cdt/1024M16_DDR4.xml b/meta-tools/ipq807x/cdt/1024M16_DDR4.xml new file mode 100644 index 0000000..b6566b5 --- /dev/null +++ b/meta-tools/ipq807x/cdt/1024M16_DDR4.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 17 + 10 + 8 + 1 + 17 + 10 + 8 + 0 + 1 + 2048 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13750 + 5300 + 15000 + 5000 + 45750 + 13750 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 15 + 10 + 16 + 1 + 17 + 10 + 8 + 0 + 1 + 2048 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13750 + 5300 + 15000 + 5000 + 45750 + 13750 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/1024M32_DDR4.xml b/meta-tools/ipq807x/cdt/1024M32_DDR4.xml new file mode 100644 index 0000000..c0015e8 --- /dev/null +++ b/meta-tools/ipq807x/cdt/1024M32_DDR4.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 16 + 0 + 16 + 10 + 8 + 0 + 1 + 4096 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 2 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 16 + 0 + 16 + 10 + 8 + 0 + 1 + 4096 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 2 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/128M32_DDR3.xml b/meta-tools/ipq807x/cdt/128M32_DDR3.xml new file mode 100644 index 0000000..9c3e068 --- /dev/null +++ b/meta-tools/ipq807x/cdt/128M32_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 0 + 14 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 14 + 10 + 8 + 1 + 14 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/256M16_4L_DDR3.xml b/meta-tools/ipq807x/cdt/256M16_4L_DDR3.xml new file mode 100644 index 0000000..f2bffdc --- /dev/null +++ b/meta-tools/ipq807x/cdt/256M16_4L_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 1536 + + + + diff --git a/meta-tools/ipq807x/cdt/256M16_DDR3.xml b/meta-tools/ipq807x/cdt/256M16_DDR3.xml new file mode 100644 index 0000000..b466c3a --- /dev/null +++ b/meta-tools/ipq807x/cdt/256M16_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/256M32_4L_DDR3.xml b/meta-tools/ipq807x/cdt/256M32_4L_DDR3.xml new file mode 100644 index 0000000..ae5e6aa --- /dev/null +++ b/meta-tools/ipq807x/cdt/256M32_4L_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 0 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 1536 + + + + diff --git a/meta-tools/ipq807x/cdt/256M32_DDR3.xml b/meta-tools/ipq807x/cdt/256M32_DDR3.xml new file mode 100644 index 0000000..de729e3 --- /dev/null +++ b/meta-tools/ipq807x/cdt/256M32_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 0 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 15 + 10 + 8 + 1 + 15 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 260000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/256M32_DDR4.xml b/meta-tools/ipq807x/cdt/256M32_DDR4.xml new file mode 100644 index 0000000..7b1fc54 --- /dev/null +++ b/meta-tools/ipq807x/cdt/256M32_DDR4.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 15 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 15 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/512M16_DDR4.xml b/meta-tools/ipq807x/cdt/512M16_DDR4.xml new file mode 100644 index 0000000..cb0d558 --- /dev/null +++ b/meta-tools/ipq807x/cdt/512M16_DDR4.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/512M32_DDR3.xml b/meta-tools/ipq807x/cdt/512M32_DDR3.xml new file mode 100644 index 0000000..3876456 --- /dev/null +++ b/meta-tools/ipq807x/cdt/512M32_DDR3.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 6000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 4 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 6000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 4 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 20 + 6 + 32 + 7500 + 8 + 10 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/cdt/512M32_DDR4.xml b/meta-tools/ipq807x/cdt/512M32_DDR4.xml new file mode 100644 index 0000000..d14b17c --- /dev/null +++ b/meta-tools/ipq807x/cdt/512M32_DDR4.xml @@ -0,0 +1,158 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 13320 + 5300 + 15000 + 5000 + 45320 + 13320 + 30000 + 7500 + 512 + 128 + 768 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 6 + 6400 + 1 + 16 + 33590869 + 1968136 + 50372 + 0 + 2624 + 257 + 24 + 9500 + 11 + 15 + 0 + 0 + 0 + 0 + 0 + + + 1560 + + + + diff --git a/meta-tools/ipq807x/config.xml b/meta-tools/ipq807x/config.xml new file mode 100644 index 0000000..5ca336f --- /dev/null +++ b/meta-tools/ipq807x/config.xml @@ -0,0 +1,246 @@ + + + + + + ipq807x + + + + 256 + 256 + 256 + + + + + 2048 + 64 + 4096 + + + 4096 + 64 + 4096 + + + + + 15269888 + gpt_main0.bin + gpt_backup0.bin + + + + 256 + 256 + 256 + + + + 256 + 512 + 256 + 256 + gpt_main1.bin + gpt_backup1.bin + + + + + 0x8010000 + AP-HK01-C1 + false + 256M32_DDR3 + + + 0x8010100 + AP-HK01-C2 + false + 256M32_DDR3 + + + 0x8010200 + AP-HK01-C3 + false + 256M32_DDR3 + + + 0x8010300 + AP-HK01-C4 + false + 256M32_DDR3 + + + 0x8010400 + AP-HK01-C5 + false + 256M32_DDR3 + + + 0x8010500 + AP-HK01-C6 + false + 512M32_DDR3 + + + 0x1010004 + DB-HK01 + false + 256M32_DDR3 + + + 0x8010001 + AP-HK02 + false + 512M32_DDR4 + + + 0x1010005 + DB-HK02 + false + 1024M32_DDR4 + + + 0x8010002 + AP-HK05 + false + 256M32_DDR3 + + + 0x8010003 + AP-HK06 + false + 512M32_DDR4 + + + 0x8010006 + AP-HK07 + false + 256M16_DDR3 + + + 0x8010007 + AP-HK08 + false + 512M32_DDR4 + + + 0x8010008 + AP-HK09 + false + 512M16_DDR4 + + + 0x801000E + AP-HK10-C1 + false + 256M32_DDR3 + + + 0x801010E + AP-HK10-C2 + false + 256M32_DDR3 + + + 0x8010011 + AP-HK11-C1 + false + 512M16_DDR4 + + + 0x8010012 + AP-HK14 + false + 256M32_4L_DDR3 + + + 0x8010013 + AP-HK12-C1 + false + 512M16_DDR4 + + + + 0x8010009 + AP-AC01 + false + 512M16_DDR4 + + + 0x801000A + AP-AC02 + false + 512M16_DDR4 + + + 0x801000F + AP-AC03 + false + 256M16_4L_DDR3 + + + 0x8010010 + AP-AC04 + false + 256M16_4L_DDR3 + + + 0x801000C + AP-OAK02 + false + 256M32_DDR3 + + + 0x801000D + AP-OAK03 + false + 256M32_DDR3 + + + + + + + /boot_images/build/ms/bin/8074/nor/sbl1_nor.mbn + /boot_images/build/ms/bin/8074/nand/sbl1_nand.mbn + /boot_images/build/ms/bin/8074/emmc/sbl1_emmc.mbn + /boot_images/build/ms/bin/8074/flashless/sbl1_flashless.mbn + /boot_images/core/bsp/tools/flash/partition_tool_exe/build/partition_tool + /boot_images/core/bsp/tools/flash/bootconfig_exe/build/bootconfig_tool + + + /trustzone_images/build/ms/bin/SANAANAA/tz.mbn + /trustzone_images/build/ms/bin/SANAANAA/devcfg_noac.mbn + /trustzone_images/build/ms/bin/SANAANAA/devcfg_nosmmu.mbn + + + /apss_proc/out/ipq807x/openwrt-ipq807x-u-boot.elf + /apss_proc/out/ipq807x/openwrt-ipq-ipq807x-squashfs-root.img + /apss_proc/out/ipq807x/openwrt-ipq-ipq807x-qcom-ipq807x-hkxx-fit-uImage.itb + /apss_proc/out/ipq807x/openwrt-ipq-ipq807x-ubi-root.img + /apss_proc/out/pack.py + + + /apss_proc/out/ipq807x/openwrt-ipq807x-u-boot.elf + /apss_proc/out/ipq807x_64/openwrt-ipq-ipq807x_64-squashfs-root.img + /apss_proc/out/ipq807x_64/openwrt-ipq-ipq807x_64-qcom-ipq807x-hkxx-fit-uImage.itb + /apss_proc/out/ipq807x_64/openwrt-ipq-ipq807x_64-ubi-root.img + /apss_proc/out/pack.py + + + /rpm_proc/build/ms/bin/8074/rpm.mbn + + + /wlan_proc/build/ms/bin/wifi_fw_squashfs.img + /wlan_proc/build/ms/bin/wifi_fw_ubi.img + + + diff --git a/meta-tools/ipq807x/flash_partition/emmc-partition.xml b/meta-tools/ipq807x/flash_partition/emmc-partition.xml new file mode 100644 index 0000000..089e2ea --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/emmc-partition.xml @@ -0,0 +1,312 @@ + + + + + + + + WRITE_PROTECT_BOUNDARY_IN_KB = 65536 + GROW_LAST_PARTITION_TO_FILL_DISK= false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta-tools/ipq807x/flash_partition/ipq807x-ubinize.cfg b/meta-tools/ipq807x/flash_partition/ipq807x-ubinize.cfg new file mode 100644 index 0000000..41a5f79 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/ipq807x-ubinize.cfg @@ -0,0 +1,33 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq807x-qcom-ipq807x-hkxx-fit-uImage.itb +# Volume ID in UBI image +vol_id=0 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=kernel + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq807x-squashfs-root.img +# Volume ID in UBI image +vol_id=1 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=2 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize diff --git a/meta-tools/ipq807x/flash_partition/ipq807x-ubinize_64.cfg b/meta-tools/ipq807x/flash_partition/ipq807x-ubinize_64.cfg new file mode 100644 index 0000000..08fec7b --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/ipq807x-ubinize_64.cfg @@ -0,0 +1,33 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq807x_64-qcom-ipq807x-hkxx-fit-uImage.itb +# Volume ID in UBI image +vol_id=0 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=kernel + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq807x_64-squashfs-root.img +# Volume ID in UBI image +vol_id=1 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=2 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize diff --git a/meta-tools/ipq807x/flash_partition/nand-4k-partition.xml b/meta-tools/ipq807x/flash_partition/nand-4k-partition.xml new file mode 100644 index 0000000..2385a13 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/nand-4k-partition.xml @@ -0,0 +1,263 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nand.mbn + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq807x-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 60416 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq807x_64-ubi-root-m4096-p256KiB.img + + + 0:WIFIFW + 24064 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ubi_m4096_p256.img + wifi_fw_ubi_m4096_p256_v2.img + + + rootfs_1 + 60416 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:WIFIFW_1 + 24064 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 2048 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq807x/flash_partition/nand-partition-qcn9000.xml b/meta-tools/ipq807x/flash_partition/nand-partition-qcn9000.xml new file mode 100644 index 0000000..8a046f7 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/nand-partition-qcn9000.xml @@ -0,0 +1,263 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nand.mbn + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq807x-qcn9000.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 46080 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root.img + openwrt-ipq-ipq807x_64-ubi-root.img + + + 0:WIFIFW + 10240 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ipq8074_qcn9000_ubi.img + wifi_fw_ipq8074_qcn9000_ubi_v2.img + + + rootfs_1 + 46080 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:WIFIFW_1 + 10240 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq807x/flash_partition/nand-partition.xml b/meta-tools/ipq807x/flash_partition/nand-partition.xml new file mode 100644 index 0000000..a661284 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/nand-partition.xml @@ -0,0 +1,263 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nand.mbn + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq807x.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 2048 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 46080 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root.img + openwrt-ipq-ipq807x_64-ubi-root.img + + + 0:WIFIFW + 8192 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ubi.img + wifi_fw_ubi_v2.img + + + rootfs_1 + 46080 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:WIFIFW_1 + 8192 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq807x/flash_partition/nor-partition.xml b/meta-tools/ipq807x/flash_partition/nor-partition.xml new file mode 100644 index 0000000..c9dbdc1 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/nor-partition.xml @@ -0,0 +1,162 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 32 + 0xFF + nor-system-partition-ipq807x.bin + + + 0:QSEE + 1408 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:RPM + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 6144 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-qcom-ipq807x-hkxx-fit-uImage.itb + openwrt-ipq-ipq807x_64-qcom-ipq807x-hkxx-fit-uImage.itb + + + rootfs + 20992 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-squashfs-root.img + openwrt-ipq-ipq807x_64-squashfs-root.img + + + 0:WIFIFW + 2304 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_squashfs.img + wifi_fw_squashfs_v2.img + + + 0:ETHPHYFW + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/flash_partition/norplusemmc-partition.xml b/meta-tools/ipq807x/flash_partition/norplusemmc-partition.xml new file mode 100644 index 0000000..8d1b4c4 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/norplusemmc-partition.xml @@ -0,0 +1,218 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusemmc-system-partition-ipq807x.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/flash_partition/norplusnand-4k-partition.xml b/meta-tools/ipq807x/flash_partition/norplusnand-4k-partition.xml new file mode 100644 index 0000000..9f70c40 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/norplusnand-4k-partition.xml @@ -0,0 +1,265 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq807x-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 60416 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq807x_64-ubi-root-m4096-p256KiB.img + + + 0:WIFIFW + 24064 + 1024 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ubi_m4096_p256.img + wifi_fw_ubi_m4096_p256_v2.img + + + rootfs_1 + 60416 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:WIFIFW_1 + 24064 + 1024 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/flash_partition/norplusnand-partition-qcn9000.xml b/meta-tools/ipq807x/flash_partition/norplusnand-partition-qcn9000.xml new file mode 100644 index 0000000..4cf40b6 --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/norplusnand-partition-qcn9000.xml @@ -0,0 +1,265 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq807x-qcn9000.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 512 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 53248 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root.img + openwrt-ipq-ipq807x_64-ubi-root.img + + + 0:WIFIFW + 10240 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ipq8074_qcn9000_ubi.img + wifi_fw_ipq8074_qcn9000_ubi_v2.img + + + rootfs_1 + 53248 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:WIFIFW_1 + 10240 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/flash_partition/norplusnand-partition.xml b/meta-tools/ipq807x/flash_partition/norplusnand-partition.xml new file mode 100644 index 0000000..6d6155d --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/norplusnand-partition.xml @@ -0,0 +1,265 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + sbl1_nor.mbn + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq807x.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1536 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + devcfg_lm.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq807x-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 53248 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root.img + openwrt-ipq-ipq807x_64-ubi-root.img + + + 0:WIFIFW + 8192 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ubi.img + wifi_fw_ubi_v2.img + + + rootfs_1 + 53248 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:WIFIFW_1 + 8192 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/flash_partition/tiny-nor-partition.xml b/meta-tools/ipq807x/flash_partition/tiny-nor-partition.xml new file mode 100644 index 0000000..c8c524d --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/tiny-nor-partition.xml @@ -0,0 +1,96 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:BOOTLDR1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1_nor.mbn + + + 0:BOOTLDR2 + 576 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr2_nor.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 6144 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-qcom-ipq807x-hkxx-fit-uImage.itb + openwrt-ipq-ipq807x_64-qcom-ipq807x-hkxx-fit-uImage.itb + + + rootfs + 22528 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-squashfs-root.img + openwrt-ipq-ipq807x_64-squashfs-root.img + + + 0:WIFIFW + 2304 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_squashfs.img + wifi_fw_squashfs_v2.img + + + diff --git a/meta-tools/ipq807x/flash_partition/tiny-norplusemmc-partition.xml b/meta-tools/ipq807x/flash_partition/tiny-norplusemmc-partition.xml new file mode 100644 index 0000000..58d64ee --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/tiny-norplusemmc-partition.xml @@ -0,0 +1,60 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:BOOTLDR1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1_nor.mbn + + + 0:BOOTLDR2 + 576 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr2_nor.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq807x/flash_partition/tiny-norplusnand-partition.xml b/meta-tools/ipq807x/flash_partition/tiny-norplusnand-partition.xml new file mode 100644 index 0000000..21a37ee --- /dev/null +++ b/meta-tools/ipq807x/flash_partition/tiny-norplusnand-partition.xml @@ -0,0 +1,87 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:BOOTLDR1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr1_nor.mbn + + + 0:BOOTLDR2 + 576 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootldr2_nor.mbn + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 53248 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq807x-ubi-root.img + openwrt-ipq-ipq807x_64-ubi-root.img + + + 0:WIFIFW + 8192 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_ubi.img + wifi_fw_ubi_v2.img + + + diff --git a/meta-tools/ipq9048/bootconfig/bootconfig.xml b/meta-tools/ipq9048/bootconfig/bootconfig.xml new file mode 100644 index 0000000..1560f9a --- /dev/null +++ b/meta-tools/ipq9048/bootconfig/bootconfig.xml @@ -0,0 +1,50 @@ + + + + + 0xA3A2A1A0 + + 0x1 + + + 0:QSEE + 0 + + + 0:DEVCFG + 0 + + + 0:RPM + 0 + + + 0:CDT + 0 + + + 0:APPSBL + 0 + + + 0:HLOS + 0 + + + rootfs + 0 + + + 0:WIFIFW + 0 + + + + + diff --git a/meta-tools/ipq9048/cdt/1024M32_DDR4.xml b/meta-tools/ipq9048/cdt/1024M32_DDR4.xml new file mode 100644 index 0000000..e37ceeb --- /dev/null +++ b/meta-tools/ipq9048/cdt/1024M32_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 16 + 0 + 16 + 10 + 8 + 0 + 1 + 4096 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 2 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + 0 + 10 + 16 + 10 + 16 + 0 + 16 + 10 + 8 + 0 + 1 + 4096 + 0 + 8 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 2 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/128M16_DDR3.xml b/meta-tools/ipq9048/cdt/128M16_DDR3.xml new file mode 100644 index 0000000..96a2fd3 --- /dev/null +++ b/meta-tools/ipq9048/cdt/128M16_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 256 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 256 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/128M32_DDR3.xml b/meta-tools/ipq9048/cdt/128M32_DDR3.xml new file mode 100644 index 0000000..a0d0ae8 --- /dev/null +++ b/meta-tools/ipq9048/cdt/128M32_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/256M16_DDR3.xml b/meta-tools/ipq9048/cdt/256M16_DDR3.xml new file mode 100644 index 0000000..e9522bd --- /dev/null +++ b/meta-tools/ipq9048/cdt/256M16_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 512 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/256M32_DDR3.xml b/meta-tools/ipq9048/cdt/256M32_DDR3.xml new file mode 100644 index 0000000..9f05f5b --- /dev/null +++ b/meta-tools/ipq9048/cdt/256M32_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/256M32_DDR4.xml b/meta-tools/ipq9048/cdt/256M32_DDR4.xml new file mode 100644 index 0000000..fc4b290 --- /dev/null +++ b/meta-tools/ipq9048/cdt/256M32_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 1 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 1 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/512M16_DDR3.xml b/meta-tools/ipq9048/cdt/512M16_DDR3.xml new file mode 100644 index 0000000..db0ed17 --- /dev/null +++ b/meta-tools/ipq9048/cdt/512M16_DDR3.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 6 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 34000 + 70200000 + 7800000 + 534833 + 6000 + 7500 + 13910 + 5000 + 15000 + 5000 + 47910 + 13910 + 35000 + 7500 + 320000 + 80000 + 512 + 10000 + 10000 + 24000 + 2000 + 8500 + 15000 + 4 + 6 + 6000 + 0 + 16 + 33590869 + 1968136 + 50372 + 0 + 64 + 6 + 8 + 7500 + 5 + 5 + 0 + 0 + 0 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/512M16_DDR4.xml b/meta-tools/ipq9048/cdt/512M16_DDR4.xml new file mode 100644 index 0000000..36982e8 --- /dev/null +++ b/meta-tools/ipq9048/cdt/512M16_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 1 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 1 + 16 + 10 + 8 + 0 + 1 + 1024 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 1 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/cdt/512M32_DDR4.xml b/meta-tools/ipq9048/cdt/512M32_DDR4.xml new file mode 100644 index 0000000..fddbc40 --- /dev/null +++ b/meta-tools/ipq9048/cdt/512M32_DDR4.xml @@ -0,0 +1,172 @@ + + + + + + + 0x43, 0x44, 0x54, 0x00, end + 0x01, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + 0x00, 0x00, 0x00, 0x00, end + + + + 0x02,0x08,0x01,0x01,0x01,end + + + + 3 + 0x00, 0x52, 0x44, 0x44, end + 0xFF, 0xFF, 0x00, 0x00, end + 1 + 232 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 1 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + 0 + 10 + 16 + 10 + 8 + 0 + 16 + 10 + 8 + 0 + 1 + 2048 + 0 + 16 + 350000 + 32000 + 70200000 + 7800000 + 639998 + 6000 + 2500 + 15000 + 5300 + 15000 + 5000 + 45320 + 15000 + 30000 + 7500 + 512 + 128 + 1024 + 10000 + 10000 + 6000 + 2000 + 8500 + 15000 + 8 + 5 + 6400 + 1 + 16 + 33590869 + 1968136 + 32964 + 0 + 3412 + 257 + 40 + 9500 + 12 + 20 + 0 + 1024 + 4096 + 0 + 0 + + + 3788 + + + + + diff --git a/meta-tools/ipq9048/config.xml b/meta-tools/ipq9048/config.xml new file mode 100644 index 0000000..ca64ef6 --- /dev/null +++ b/meta-tools/ipq9048/config.xml @@ -0,0 +1,99 @@ + + + + + + ipq9048 + + + + 256 + 256 + 256 + + + + + 2048 + 64 + 4096 + + + 4096 + 64 + 4096 + + + + + 7634944 + gpt_main0.bin + gpt_backup0.bin + + + + 256 + 256 + 256 + + + + 256 + 512 + 256 + 256 + gpt_main1.bin + gpt_backup1.bin + + + + + 0xF050000 + AL-EMU + false + 512M16_DDR4 + + + + + + /boot_images/QcomPkg/IPQ9018Pkg/Bin/9018/LA/DEBUG/sign/default/sbl1/xbl.elf + /boot_images/QcomPkg/IPQ9018Pkg/Bin/9018/LA/DEBUG/sign/default/sbl1/xbl_nand.elf + /boot_images/Build/IPQ9018_Loader/DEBUG_CLANG40LINUX/ARM/QcomPkg/XBLLoader/XBLLoader/DEBUG/XBLLoader.dll + /boot_images/core/bsp/tools/flash/partition_tool_exe/build/partition_tool + /boot_images/core/bsp/tools/flash/bootconfig_exe/build/bootconfig_tool + + + /trustzone_images/build/ms/bin/OAPAANAA/tz.mbn + /trustzone_images/build/ms/bin/OAPAANAA/devcfg_noac.mbn + /trustzone_images/build/ms/bin/OAPAANAA/devcfg_nosmmu.mbn + + + /apss_proc/out/ipq9048/openwrt-ipq9048-u-boot.elf + /apss_proc/out/ipq9048/openwrt-ipq-ipq9048-squashfs-root.img + /apss_proc/out/ipq9048/openwrt-ipq-ipq9048-qcom-ipq9048-alxx-fit-uImage.itb + /apss_proc/out/ipq9048/openwrt-ipq-ipq9048-ubi-root.img + /apss_proc/out/pack.py + + + /apss_proc/out/ipq9048/openwrt-ipq9048-u-boot.elf + /apss_proc/out/ipq9048_64/openwrt-ipq-ipq9048_64-squashfs-root.img + /apss_proc/out/ipq9048_64/openwrt-ipq-ipq9048_64-qcom-ipq9048-alxx-fit-uImage.itb + /apss_proc/out/ipq9048_64/openwrt-ipq-ipq9048_64-ubi-root.img + /apss_proc/out/pack.py + + + /rpm_proc/build/ms/bin/9048/rpm.mbn + + + /wlan_proc/build/ms/bin/wifi_fw_squashfs.img + /wlan_proc/build/ms/bin/wifi_fw_ubi.img + + + diff --git a/meta-tools/ipq9048/flash_partition/emmc-partition.xml b/meta-tools/ipq9048/flash_partition/emmc-partition.xml new file mode 100644 index 0000000..4e4855b --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/emmc-partition.xml @@ -0,0 +1,332 @@ + + + + + + + + WRITE_PROTECT_BOUNDARY_IN_KB = 65536 + GROW_LAST_PARTITION_TO_FILL_DISK= false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta-tools/ipq9048/flash_partition/ipq9048-ubinize.cfg b/meta-tools/ipq9048/flash_partition/ipq9048-ubinize.cfg new file mode 100644 index 0000000..01566b7 --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/ipq9048-ubinize.cfg @@ -0,0 +1,45 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq90xx-qcom-ipq90xx-alxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_ipq9048_squashfs.img +vol_size=4MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq90xx-squashfs-root.img +# Volume ID in UBI image +vol_id=2 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=3 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize diff --git a/meta-tools/ipq9048/flash_partition/ipq9048-ubinize_64.cfg b/meta-tools/ipq9048/flash_partition/ipq9048-ubinize_64.cfg new file mode 100644 index 0000000..5852e3d --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/ipq9048-ubinize_64.cfg @@ -0,0 +1,46 @@ +[kernel] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq90xx_64-qcom-ipq90xx-alxx-fit-uImage.itb +vol_size=6MiB +vol_type=static +# Volume ID in UBI image +vol_id=0 +# Volume name +vol_name=kernel + +[wifi_fw] +# Volume mode (other option is static) +mode=ubi +# Source image +image=wifi_fw_ipq9048_squashfs.img +vol_size=4MiB +vol_type=static +# Volume ID in UBI image +vol_id=1 +# Volume name +vol_name=wifi_fw + +[rootfs] +# Volume mode (other option is static) +mode=ubi +# Source image +image=openwrt-ipq-ipq90xx_64-squashfs-root.img +# Volume ID in UBI image +vol_id=2 +# Allow for dynamic resize +vol_type=dynamic +# Volume name +vol_name=ubi_rootfs + +[rootfs_data] +mode=ubi +# this is arbitrary, since autoresize below will use up the remaining +# free space on the mtd volume +vol_size=1KiB +vol_id=3 +vol_type=dynamic +vol_name=rootfs_data +vol_flags=autoresize + diff --git a/meta-tools/ipq9048/flash_partition/nand-4k-partition.xml b/meta-tools/ipq9048/flash_partition/nand-4k-partition.xml new file mode 100644 index 0000000..6cc36dd --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/nand-4k-partition.xml @@ -0,0 +1,271 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl_nand.elf + + + 0:SBL1_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq9048-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TME + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tme.mbn + + + 0:TME_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq9048-u-boot.mbn + + + 0:APPSBL_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 85504 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq90xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq90xx_64-ubi-root-m4096-p256KiB.img + + + rootfs_1 + 85504 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 2048 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq9048/flash_partition/nand-partition.xml b/meta-tools/ipq9048/flash_partition/nand-partition.xml new file mode 100644 index 0000000..40adab8 --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/nand-partition.xml @@ -0,0 +1,271 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl_nand.elf + + + 0:SBL1_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:MIBIB + 512 + 512 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + nand-system-partition-ipq9048.bin + + + 0:BOOTCONFIG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + bootconfig.bin + + + 0:QSEE + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1792 + 1792 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TME + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tme.mbn + + + 0:TME_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq9048-u-boot.mbn + + + 0:APPSBL_1 + 768 + 768 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + rootfs + 53376 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq90xx-ubi-root.img + openwrt-ipq-ipq90xx_64-ubi-root.img + + + rootfs_1 + 53376 + 1024 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ETHPHYFW + 256 + 256 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + diff --git a/meta-tools/ipq9048/flash_partition/nor-partition.xml b/meta-tools/ipq9048/flash_partition/nor-partition.xml new file mode 100644 index 0000000..cc0ab90 --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/nor-partition.xml @@ -0,0 +1,171 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 32 + 0xFF + nor-system-partition-ipq9048.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TME + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tme.mbn + + + 0:RPM + 128 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq9048-u-boot.mbn + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:HLOS + 6144 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq90xx-qcom-ipq90xx-alxx-fit-uImage.itb + openwrt-ipq-ipq90xx_64-qcom-ipq90xx-alxx-fit-uImage.itb + + + rootfs + 20608 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq90xx-squashfs-root.img + openwrt-ipq-ipq90xx_64-squashfs-root.img + + + 0:WIFIFW + 2304 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + wifi_fw_squashfs.img + + + diff --git a/meta-tools/ipq9048/flash_partition/norplusemmc-partition.xml b/meta-tools/ipq9048/flash_partition/norplusemmc-partition.xml new file mode 100644 index 0000000..133a468 --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/norplusemmc-partition.xml @@ -0,0 +1,228 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusemmc-system-partition-ipq9048.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TME + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tme.mbn + + + 0:TME_1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq9048-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq9048/flash_partition/norplusnand-4k-partition.xml b/meta-tools/ipq9048/flash_partition/norplusnand-4k-partition.xml new file mode 100644 index 0000000..1d6c6a5 --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/norplusnand-4k-partition.xml @@ -0,0 +1,253 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq9048-m4096-p256KiB.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TME + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tme.mbn + + + 0:TME_1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq9048-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 85504 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq90xx-ubi-root-m4096-p256KiB.img + openwrt-ipq-ipq90xx_64-ubi-root-m4096-p256KiB.img + + + rootfs_1 + 85504 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/ipq9048/flash_partition/norplusnand-partition.xml b/meta-tools/ipq9048/flash_partition/norplusnand-partition.xml new file mode 100644 index 0000000..49e4eb6 --- /dev/null +++ b/meta-tools/ipq9048/flash_partition/norplusnand-partition.xml @@ -0,0 +1,253 @@ + + + + + + 0xAA7D1B9A + 0x1F7D48BC + + 0x4 + + + + 0:SBL1 + 768 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + xbl.elf + + + 0:MIBIB + 64 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + norplusnand-system-partition-ipq9048.bin + + + 0:BOOTCONFIG + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:BOOTCONFIG1 + 128 + 0 + 0 + 0xFF + 64 + 16 + 0xFF + bootconfig.bin + + + 0:QSEE + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tz.mbn + + + 0:QSEE_1 + 1664 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:DEVCFG + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + devcfg.mbn + + + 0:DEVCFG_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APDP_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:TME + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + tme.mbn + + + 0:TME_1 + 320 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:RPM + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + rpm.mbn + + + 0:RPM_1 + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:CDT + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + cdt.bin + + + 0:CDT_1 + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBLENV + 64 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:APPSBL + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq9048-u-boot.mbn + + + 0:APPSBL_1 + 640 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + 0:ART + 256 + 0 + 0 + 0xFF + 0xFF + 0x00 + 0xFF + + + + + rootfs + 61440 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + openwrt-ipq-ipq90xx-ubi-root.img + openwrt-ipq-ipq90xx_64-ubi-root.img + + + rootfs_1 + 61440 + 0 + 1 + 0xFF + 0xFF + 0x00 + 0xFF + + + diff --git a/meta-tools/mkimage b/meta-tools/mkimage new file mode 100644 index 0000000..c24b723 Binary files /dev/null and b/meta-tools/mkimage differ diff --git a/meta-tools/pack.py b/meta-tools/pack.py new file mode 100644 index 0000000..30c2c86 --- /dev/null +++ b/meta-tools/pack.py @@ -0,0 +1,2363 @@ +###################################################################### +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc +# +# Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved. +##################################################################### + +""" +Script to create a U-Boot flashable multi-image blob. + +This script creates a multi-image blob, from a bunch of images, and +adds a U-Boot shell script to the blob, that can flash the images from +within U-Boot. The procedure to use this script is listed below. + + 1. Create an images folder. Ex: my-pack + + 2. Copy all the images to be flashed into the folder. + + 3. Copy the partition MBN file into the folder. The file should be + named 'partition.mbn'. This is used to determine the offsets for + each of the named partitions. + + 4. Create a flash configuration file, specifying the images be + flashed, and the partition in which the images is to be + flashed. The flash configuration file can be specified using the + -f option, default is flash.conf. + + 5. Invoke 'pack' with the folder name as argument, pass flash + parameters as arguments if required. A single image file will + be created, out side the images folder, with .img suffix. Ex: + my-pack.img + + 6. Transfer the file into a valid SDRAM address and invoke the + following U-Boot command to flash the images. Replace 0x41000000, + with address location where the image has been loaded. The script + expects the variable 'imgaddr' to be set. + + u-boot> imgaddr=0x88000000 source $imgaddr:script + +Host-side Pre-req + + * Python >= 2.6 + * ordereddict >= 1.1 (for Python 2.6) + * mkimage >= 2012.07 + * dtc >= 1.2.0 + +Target-side Pre-req + +The following U-Boot config macros should be enabled, for the +generated flashing script to work. + + * CONFIG_FIT -- FIT image format support + * CONFIG_SYS_HUSH_PARSER -- bash style scripting support + * CONFIG_SYS_NULLDEV -- redirecting command output support + * CONFIG_CMD_XIMG -- extracting sub-images support + * CONFIG_CMD_NAND -- NAND Flash commands support + * CONFIG_CMD_NAND_YAFFS -- NAND YAFFS2 write support + * CONFIG_CMD_SF -- SPI Flash commands support +""" + +from os.path import getsize +from getopt import getopt +from getopt import GetoptError +from collections import namedtuple +from string import Template +from shutil import copy +from shutil import rmtree + +import os +import sys +import os.path +import subprocess +import struct +import hashlib +import xml.etree.ElementTree as ET + +version = "1.1" +ARCH_NAME = "" +SRC_DIR = "" +MODE = "" +image_type = "all" +memory_size = "default" +lk = "false" +skip_4k_nand = "false" +atf = "false" + +# Note: ipq806x didn't expose any relevant version */ +soc_hw_version_ipq40xx = { 0x20050100 }; +soc_hw_version_ipq807x = { 0x200D0100, 0x200D0101, 0x200D0102, 0x200D0200 }; +soc_hw_version_ipq6018 = { 0x20170100 }; +soc_hw_version_ipq5018 = { 0x20180100 }; + +# +# Python 2.6 and earlier did not have OrderedDict use the backport +# from ordereddict package. If that is not available report error. +# +try: + from collections import OrderedDict +except ImportError: + try: + from ordereddict import OrderedDict + except ImportError: + print "error: this script requires the 'ordereddict' class." + print "Try 'pip install --user ordereddict'" + print "Or 'easy_install --user ordereddict'" + sys.exit(1) + +def error(msg, ex=None): + """Print an error message and exit. + + msg -- string, the message to print + ex -- exception, the associate exception, if any + """ + + sys.stderr.write("pack: %s" % msg) + if ex != None: sys.stderr.write(": %s" % str(ex)) + sys.stderr.write("\n") + sys.exit(1) + +FlashInfo = namedtuple("FlashInfo", "type pagesize blocksize chipsize") +ImageInfo = namedtuple("ProgInfo", "name filename type") +PartInfo = namedtuple("PartInfo", "name offset length which_flash") + +def roundup(value, roundto): + """Return the next largest multiple of 'roundto'.""" + + return ((value + roundto - 1) // roundto) * roundto + +class GPT(object): + GPTheader = namedtuple("GPTheader", "signature revision header_size" + " crc32 current_lba backup_lba first_usable_lba" + " last_usable_lba disk_guid start_lba_part_entry" + " num_part_entry part_entry_size part_crc32") + GPT_SIGNATURE = 'EFI PART' + GPT_REVISION = '\x00\x00\x01\x00' + GPT_HEADER_SIZE = 0x5C + GPT_HEADER_FMT = "<8s4sLL4xQQQQ16sQLLL" + + GPTtable = namedtuple("GPTtable", "part_type unique_guid first_lba" + " last_lba attribute_flag part_name") + GPT_TABLE_FMT = "<16s16sQQQ72s" + + def __init__(self, filename, pagesize, blocksize, chipsize): + self.filename = filename + self.pagesize = pagesize + self.blocksize = blocksize + self.chipsize = chipsize + self.__partitions = OrderedDict() + + def __validate_and_read_parts(self, part_fp): + """Validate the GPT and read the partition""" + part_fp.seek(self.blocksize, os.SEEK_SET) + gptheader_str = part_fp.read(struct.calcsize(GPT.GPT_HEADER_FMT)) + gptheader = struct.unpack(GPT.GPT_HEADER_FMT, gptheader_str) + gptheader = GPT.GPTheader._make(gptheader) + + if gptheader.signature != GPT.GPT_SIGNATURE: + error("Invalid signature") + + if gptheader.revision != GPT.GPT_REVISION: + error("Unsupported GPT Revision") + + if gptheader.header_size != GPT.GPT_HEADER_SIZE: + error("Invalid Header size") + + # Adding GPT partition info. This has to be flashed first. + # GPT Header starts at LBA1 so (current_lba -1) will give the + # starting of primary GPT. + # blocksize will equal to gptheader.first_usuable_lba - current_lba + 1 + + name = "0:GPT" + block_start = gptheader.current_lba - 1 + block_count = gptheader.first_usable_lba - gptheader.current_lba + 1 + which_flash = 0 + part_info = PartInfo(name, block_start, block_count, which_flash) + self.__partitions[name] = part_info + + part_fp.seek(2 * self.blocksize, os.SEEK_SET) + + for i in range(gptheader.num_part_entry): + gpt_table_str = part_fp.read(struct.calcsize(GPT.GPT_TABLE_FMT)) + gpt_table = struct.unpack(GPT.GPT_TABLE_FMT, gpt_table_str) + gpt_table = GPT.GPTtable._make(gpt_table) + + block_start = gpt_table.first_lba + block_count = gpt_table.last_lba - gpt_table.first_lba + 1 + + part_name = gpt_table.part_name.strip(chr(0)) + name = part_name.replace('\0','') + part_info = PartInfo(name, block_start, block_count, which_flash) + self.__partitions[name] = part_info + + # Adding the GPT Backup partition. + # GPT header backup_lba gives block number where the GPT backup header will be. + # GPT Backup header will start from offset of 32 blocks before + # the GPTheader.backup_lba. Backup GPT size is 33 blocks. + name = "0:GPTBACKUP" + block_start = gptheader.backup_lba - 32 + block_count = 33 + part_info = PartInfo(name, block_start, block_count, which_flash) + self.__partitions[name] = part_info + + def get_parts(self): + """Returns a list of partitions present in the GPT.""" + + try: + with open(self.filename, "r") as part_fp: + self.__validate_and_read_parts(part_fp) + except IOError, e: + error("error opening %s" % self.filename, e) + + return self.__partitions + +class MIBIB(object): + Header = namedtuple("Header", "magic1 magic2 version age") + HEADER_FMT = " 0: + self.append("nand write $fileaddr 0x%08x 0x%08x" % (offset, img_size)) + + def write(self, offset, size): + """Generate code, to write to a partition.""" + + if self.flash_type == "nand": + if size > 0: + size = roundup(size, self.pagesize) + self.append("nand write $fileaddr 0x%08x 0x%08x" % (offset, size)) + + elif self.flash_type == "nor": + if size > 0: + self.append("sf write $fileaddr 0x%08x 0x%08x" % (offset, size)) + + elif self.flash_type == "emmc": + if size > 0: + size = roundup(size, self.blocksize) + blk_cnt = size / self.blocksize + self.append("mmc write $fileaddr 0x%08x %x" % (offset, blk_cnt)) + + def probe(self): + if self.flash_type == "nand": + pass + elif self.flash_type == "nor": + self.append("sf probe") + else: + pass + + def switch_layout(self, layout): + if self.flash_type == "nand": + self.append("ipq_nand %s" % layout) + else: + pass + +its_tmpl = Template(""" +/dts-v1/; + +/ { + description = "${desc}"; + images { +${images} + }; +}; +""") + +its_image_tmpl = Template(""" + ${name} { + description = "${desc}"; + data = /incbin/("./${fname}"); + type = "${imtype}"; + arch = "arm"; + compression = "none"; + hash@1 { algo = "crc32"; }; + }; +""") + +def sha1(message): + """Returns SHA1 digest in hex format of the message.""" + + m = hashlib.sha1() + m.update(message) + return m.hexdigest() + +class Pack(object): + """Class to create a flashable, multi-image blob. + + Combine multiple images present in a directory, and generate a + U-Boot script to flash the images. + """ + # The maximum rootfs size is 64MB + norplusnand_rootfs_img_size = (64 * 1024 * 1024) + + def __init__(self): + self.flinfo = None + self.images_dname = None + self.ipq_nand = None + self.partitions = {} + + self.fconf_fname = None + self.scr_fname = None + self.its_fname = None + self.img_fname = None + self.emmc_page_size = 512 + self.emmc_block_size = 512 + + def __get_machid(self, section): + """Get the machid for a section. + + info -- ConfigParser object, containing image flashing info + section -- section to retreive the machid from + """ + try: + machid = int(section.find("./machid").text, 0) + machid = "%x" % machid + except ValueError, e: + error("invalid value for machid, should be integer") + + return machid + + def __get_img_size(self, filename): + """Get the size of the image to be flashed + + filaneme -- string, filename of the image to be flashed + """ + + if filename.lower() == "none": + return 0 + try: + return getsize(os.path.join(self.images_dname, filename)) + except OSError, e: + error("error getting image size '%s'" % filename, e) + + def __get_part_info(self, partition): + """Return partition info for the specified partition. + + partition -- string, partition name + """ + try: + return self.partitions[partition] + except KeyError, e: + return None + + def __gen_flash_script_cdt(self, entries, partition, flinfo, script): + global ARCH_NAME + for section in entries: + machid = int(section.find(".//machid").text, 0) + machid = "%x" % machid + board = section.find(".//board").text + spi_nand = section.find(".//spi_nand").text + if ARCH_NAME != "ipq806x": + try: + memory = section.find(".//memory").text + except AttributeError, e: + memory = "128M16" + if memory_size != "default": + filename = "cdt-" + board + "_" + memory + "_LM" + memory_size + ".bin" + else: + filename = "cdt-" + board + "_" + memory + ".bin" + else: + filename = "cdt-" + board + ".bin" + + img_size = self.__get_img_size(filename) + part_info = self.__get_part_info(partition) + + section_label = partition.split(":") + if len(section_label) != 1: + section_conf = section_label[1] + else: + section_conf = section_label[0] + + section_conf = section_conf.lower() + + if self.flinfo.type == 'nand': + size = roundup(img_size, flinfo.pagesize) + tr = ' | tr \"\\000\" \"\\377\"' + + if self.flinfo.type == 'emmc': + size = roundup(img_size, flinfo.blocksize) + tr = '' + + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + pad_size = size - img_size + filename_abs = os.path.join(self.images_dname, filename) + filename_abs_pad = filename_abs + ".padded" + cmd = 'cat %s > %s' % (filename_abs, filename_abs_pad) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to copy image") + cmd = 'dd if=/dev/zero count=1 bs=%s %s >> %s' % (pad_size, tr, filename_abs_pad) + cmd = '(' + cmd + ') 1>/dev/null 2>/dev/null' + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to create padded image from script") + + if self.flinfo.type != "emmc": + if part_info == None: + if self.flinfo.type == 'norplusnand': + if count > 2: + error("More than 2 NAND images for NOR+NAND is not allowed") + elif img_size > part_info.length: + print "img size is larger than part. len in '%s'" % section_conf + return 0 + else: + if part_info != None: + if (img_size > 0): + if img_size > (part_info.length * self.flinfo.blocksize): + print "img size is larger than part. len in '%s'" % section_conf + return 0 + + if part_info == None and self.flinfo.type != 'norplusnand': + print "Flash type is norplusemmc" + continue + + if machid: + script.start_if("machid", machid) + if ARCH_NAME != "ipq806x": + script.start_activity("Flashing ddr-%s_%s:" % ( board, memory )) + if img_size > 0: + filename_pad = filename + ".padded" + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + script.imxtract("ddr-" + board + "_" + memory + "-" + sha1(filename_pad)) + else: + script.imxtract("ddr-" + board + "_" + memory + "-" + sha1(filename)) + """ script.imxtract("cdt-" + board + "_" + memory + ".bin-" + sha1(filename_pad)) + else: + script.imxtract("cdt-" + board + "_" + memory + ".bin-" + sha1(filename)) """ + + else: + script.start_activity("Flashing ddr-%s:" % (board)) + script.switch_layout("sbl") + if img_size > 0: + filename_pad = filename + ".padded" + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + script.imxtract("ddr-" + board + "-" + sha1(filename_pad)) + else: + script.imxtract("ddr-" + board + "-" + sha1(filename)) + """ script.imxtract("cdt-" + board + ".bin-" + sha1(filename_pad)) + else: + script.imxtract("cdt-" + board + ".bin-" + sha1(filename)) """ + + part_size = Pack.norplusnand_rootfs_img_size + if part_info == None: + if self.flinfo.type == 'norplusnand': + offset = count * Pack.norplusnand_rootfs_img_size + script.nand_write(offset, part_size, img_size, spi_nand) + count = count + 1 + else: + if part_info.which_flash == 0: + offset = part_info.offset + script.erase(offset, part_info.length) + script.write(offset, img_size) + else: + offset = part_info.offset + script.nand_write(offset, part_info.length, img_size, spi_nand) + + script.finish_activity() + + if machid: + script.end_if() + + return 1 + + def __gen_flash_script_wififw(self, entries, partition, filename, wifi_fw_type, flinfo, script): + + machid_list = [] + for section in entries: + + wififw_type = section.find('.//wififw_type') + if wififw_type == None: + continue + wififw_type = str(section.find(".//wififw_type").text) + + if str(wifi_fw_type) != str(wififw_type): + continue + + machid = int(section.find(".//machid").text, 0) + machid = "%x" % machid + + machid_list.append(machid) + + img_size = self.__get_img_size(filename) + part_info = self.__get_part_info(partition) + + section_label = partition.split(":") + if len(section_label) != 1: + section_conf = section_label[1] + else: + section_conf = section_label[0] + section_conf = section_conf.lower() + + if self.flinfo.type == 'nand': + size = roundup(img_size, flinfo.pagesize) + tr = ' | tr \"\\000\" \"\\377\"' + + if self.flinfo.type == 'emmc': + size = roundup(img_size, flinfo.blocksize) + tr = '' + + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + pad_size = size - img_size + filename_abs = os.path.join(self.images_dname, filename) + filename_abs_pad = filename_abs + ".padded" + cmd = 'cat %s > %s' % (filename_abs, filename_abs_pad) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to copy image") + cmd = 'dd if=/dev/zero count=1 bs=%s %s >> %s' % (pad_size, tr, filename_abs_pad) + cmd = '(' + cmd + ') 1>/dev/null 2>/dev/null' + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to create padded image from script") + + if self.flinfo.type != "emmc": + if part_info == None: + if self.flinfo.type == 'norplusnand': + if count > 2: + error("More than 2 NAND images for NOR+NAND is not allowed") + elif img_size > part_info.length: + print "img size is larger than part. len in '%s'" % section_conf + return 0 + else: + if part_info != None: + if (img_size > 0): + if img_size > (part_info.length * self.flinfo.blocksize): + print "img size is larger than part. len in '%s'" % section_conf + return 0 + + if part_info == None and self.flinfo.type != 'norplusnand': + print "Flash type is norplusemmc" + return 1 + + script.start_if_or("machid", machid_list) + script.start_activity("Flashing %s_%s:" % ( section_conf, wifi_fw_type )) + + if img_size > 0: + filename_pad = filename + ".padded" + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + script.imxtract(section_conf + "_" + wifi_fw_type + "-" + sha1(filename_pad)) + else: + script.imxtract(section_conf + "_" + wifi_fw_type + "-" + sha1(filename)) + + part_size = Pack.norplusnand_rootfs_img_size + if part_info == None: + if self.flinfo.type == 'norplusnand': + offset = count * Pack.norplusnand_rootfs_img_size + script.nand_write(offset, part_size, img_size, spi_nand) + count = count + 1 + else: + if part_info.which_flash == 0: + offset = part_info.offset + script.erase(offset, part_info.length) + script.write(offset, img_size) + else: + offset = part_info.offset + script.nand_write(offset, part_info.length, img_size, spi_nand) + + script.finish_activity() + script.end_if() + + return 1 + + def __gen_flash_script_bootldr(self, entries, partition, flinfo, script): + for section in entries: + + machid = int(section.find(".//machid").text, 0) + machid = "%x" % machid + board = section.find(".//board").text + memory = section.find(".//memory").text + tiny_image = section.find('.//tiny_image') + + if tiny_image == None: + continue + + if memory_size != "default": + filename = "bootldr1_" + board + "_" + memory + "_LM" + memory_size + ".mbn" + else: + filename = "bootldr1_" + board + "_" + memory + ".mbn" + + img_size = self.__get_img_size(filename) + part_info = self.__get_part_info(partition) + + section_label = partition.split(":") + if len(section_label) != 1: + section_conf = section_label[1] + else: + section_conf = section_label[0] + + section_conf = section_conf.lower() + + if self.flinfo.type == 'nand': + size = roundup(img_size, flinfo.pagesize) + tr = ' | tr \"\\000\" \"\\377\"' + + if self.flinfo.type == 'emmc': + size = roundup(img_size, flinfo.blocksize) + tr = '' + + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + pad_size = size - img_size + filename_abs = os.path.join(self.images_dname, filename) + filename_abs_pad = filename_abs + ".padded" + cmd = 'cat %s > %s' % (filename_abs, filename_abs_pad) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to copy image") + cmd = 'dd if=/dev/zero count=1 bs=%s %s >> %s' % (pad_size, tr, filename_abs_pad) + cmd = '(' + cmd + ') 1>/dev/null 2>/dev/null' + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to create padded image from script") + + if self.flinfo.type != "emmc": + if part_info == None: + if self.flinfo.type == 'norplusnand': + if count > 2: + error("More than 2 NAND images for NOR+NAND is not allowed") + elif img_size > part_info.length: + print "img size is larger than part. len in '%s'" % section_conf + return 0 + else: + if part_info != None: + if (img_size > 0): + if img_size > (part_info.length * self.flinfo.blocksize): + print "img size is larger than part. len in '%s'" % section_conf + return 0 + + if part_info == None and self.flinfo.type != 'norplusnand': + print "Flash type is norplusemmc" + continue + + if machid: + script.start_if("machid", machid) + + script.start_activity("Flashing bootldr1-%s_%s:" % ( board, memory )) + if img_size > 0: + filename_pad = filename + ".padded" + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + script.imxtract("bootldr1_" + board + "_" + memory + "-" + sha1(filename_pad)) + else: + script.imxtract("bootldr1_" + board + "_" + memory + "-" + sha1(filename)) + + part_size = Pack.norplusnand_rootfs_img_size + if part_info == None: + if self.flinfo.type == 'norplusnand': + offset = count * Pack.norplusnand_rootfs_img_size + script.nand_write(offset, part_size, img_size, spi_nand) + count = count + 1 + else: + if part_info.which_flash == 0: + offset = part_info.offset + script.erase(offset, part_info.length) + script.write(offset, img_size) + else: + offset = part_info.offset + script.nand_write(offset, part_info.length, img_size, spi_nand) + + script.finish_activity() + + if machid: + script.end_if() + + return 1 + + def __gen_flash_script_image(self, filename, soc_version, file_exists, machid, partition, flinfo, script): + + global IF_QCN9000 + + img_size = 0 + if file_exists == 1: + img_size = self.__get_img_size(filename) + part_info = self.__get_part_info(partition) + + section_label = partition.split(":") + if len(section_label) != 1: + section_conf = section_label[1] + else: + section_conf = section_label[0] + + section_conf = section_conf.lower() + spi_nand = False + + if self.flinfo.type == 'nand': + size = roundup(img_size, flinfo.pagesize) + tr = ' | tr \"\\000\" \"\\377\"' + + if self.flinfo.type == 'emmc': + size = roundup(img_size, flinfo.blocksize) + tr = '' + + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + pad_size = size - img_size + filename_abs = os.path.join(self.images_dname, filename) + filename_abs_pad = filename_abs + ".padded" + cmd = 'cat %s > %s' % (filename_abs, filename_abs_pad) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to copy image") + cmd = 'dd if=/dev/zero count=1 bs=%s %s >> %s' % (pad_size, tr, filename_abs_pad) + cmd = '(' + cmd + ') 1>/dev/null 2>/dev/null' + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("failed to create padded image from script") + + if self.flinfo.type != "emmc": + if part_info == None: + if self.flinfo.type == 'norplusnand': + if count > 2: + error("More than 2 NAND images for NOR+NAND is not allowed") + elif img_size > part_info.length: + print "img size is larger than part. len in '%s'" % section_conf + return 0 + else: + if part_info != None: + if (img_size > 0): + if img_size > (part_info.length * self.flinfo.blocksize): + print "img size is larger than part. len in '%s'" % section_conf + return 0 + + if part_info == None and self.flinfo.type != 'norplusnand': + print "Flash type is norplusemmc" + return 1 + + if machid: + script.start_if("machid", machid) + + if section_conf == "mibib" and IF_QCN9000: + section_conf = "mibib_qcn9000" + if section_conf == "qsee": + section_conf = "tz" + elif section_conf == "appsbl": + if lk == "true": + section_conf = "lkboot" + else: + section_conf = "u-boot" + elif section_conf == "rootfs" and self.flash_type in ["nand", "nand-4k", "nand-audio", "nand-audio-4k", "norplusnand", "norplusnand-4k"]: + section_conf = "ubi" + elif section_conf == "wififw" and self.flash_type in ["nand", "nand-4k", "nand-audio", "nand-audio-4k", "norplusnand", "norplusnand-4k"]: + section_conf = "wififw_ubi" + if IF_QCN9000: + section_conf = "wififw_ubi_qcn9000" + + if soc_version: + section_conf = section_conf + "_v" + str(soc_version) + if str(soc_version) == "1": + script.append('if test "$soc_version_major" = "1" || test "$soc_version_major" = ""; then\n', fatal=False) + else: + script.start_if("soc_version_major", soc_version) + + script.start_activity("Flashing %s:" % section_conf) + + if file_exists == 0: + script.append('setenv stdout serial && echo "error: binary image not found" && exit 1', fatal=False) + if soc_version: + script.end_if() + return 1 + + if ARCH_NAME == "ipq806x": + script.switch_layout(layout) + if img_size > 0: + filename_pad = filename + ".padded" + if ((self.flinfo.type == 'nand' or self.flinfo.type == 'emmc') and (size != img_size)): + script.imxtract(section_conf + "-" + sha1(filename_pad)) + else: + script.imxtract(section_conf + "-" + sha1(filename)) + + part_size = Pack.norplusnand_rootfs_img_size + if part_info == None: + if self.flinfo.type == 'norplusnand': + offset = count * Pack.norplusnand_rootfs_img_size + img_size = Pack.norplusnand_rootfs_img_size + script.nand_write(offset, part_size, img_size, spi_nand) + count = count + 1 + else: + if part_info.which_flash == 0: + offset = part_info.offset + script.erase(offset, part_info.length) + script.write(offset, img_size) + else: + offset = part_info.offset + script.nand_write(offset, part_info.length, img_size, spi_nand) + + script.finish_activity() + + if soc_version: + script.end_if() + + if machid: + script.end_if() + + return 1 + + def __gen_flash_script(self, script, flinfo, root, testmachid=False): + """Generate the script to flash the images. + + info -- ConfigParser object, containing image flashing info + script -- Script object, to append commands to + """ + global MODE + global SRC_DIR + global ARCH_NAME + global IF_QCN9000 + + diff_files = "" + count = 0 + soc_version = 0 + diff_soc_ver_files = 0 + file_exists = 1 + wifi_fw_type = "" + + if self.flash_type == "norplusemmc" and flinfo.type == "emmc": + srcDir_part = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + flinfo.type + "-partition.xml" + else: + if IF_QCN9000: + srcDir_part = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + self.flash_type.lower() + "-partition-qcn9000.xml" + else: + srcDir_part = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + self.flash_type.lower() + "-partition.xml" + + root_part = ET.parse(srcDir_part) + if self.flash_type != "emmc" and flinfo.type != "emmc": + parts = root_part.findall(".//partitions/partition") + elif self.flash_type != "emmc" and flinfo.type == "emmc": + parts = root_part.findall(".//physical_partition[@ref='norplusemmc']/partition") + else: + parts = root_part.findall(".//physical_partition[@ref='emmc']/partition") + if flinfo.type == "emmc" and image_type == "all": + parts_length = len(parts) + 2 + else: + parts_length = len(parts) + entries = root.findall(".//data[@type='MACH_ID_BOARD_MAP']/entry") + + # Note: Skipping validation for ipq806x. It didn't expose any relevant ID. */ + if ARCH_NAME == "ipq40xx": + soc_hw_versions = soc_hw_version_ipq40xx + if ARCH_NAME == "ipq807x" or ARCH_NAME == "ipq807x_64": + soc_hw_versions = soc_hw_version_ipq807x + if ARCH_NAME == "ipq6018" or ARCH_NAME == "ipq6018_64": + soc_hw_versions = soc_hw_version_ipq6018 + if ARCH_NAME == "ipq5018" or ARCH_NAME == "ipq5018_64": + soc_hw_versions = soc_hw_version_ipq5018 + + chip_count = 0 + for soc_hw_version in soc_hw_versions: + chip_count = chip_count + 1 + if chip_count == 1: + script.script.append('if test -n $soc_hw_version') + script.script.append('; then\n') + script.script.append('if test "$soc_hw_version" = "%x" ' % soc_hw_version) + else: + script.script.append('|| test "$soc_hw_version" = "%x" ' % soc_hw_version) + if chip_count >= 1: + script.script.append('; then\n') + script.script.append('echo \'soc_hw_version : Validation success\'\n') + script.script.append('else\n') + script.script.append('echo \'soc_hw_version : did not match, aborting upgrade\'\n') + script.script.append('exit 1\n') + script.script.append('fi\n') + script.script.append('else\n') + script.script.append('echo \'soc_hw_version : unknown, skipping validation\'\n') + script.script.append('fi\n') + + if testmachid: + machid_count = 0 + for section in entries: + machid = int(section.find(".//machid").text, 0) + machid = "%x" % machid + machid_count = machid_count + 1 + if machid_count == 1: + script.script.append('if test "$machid" = "%s" ' % machid) + else: + script.script.append('|| test "$machid" = "%s" ' % machid) + if machid_count >= 1: + script.script.append('; then\n') + script.script.append('echo \'machid : Validation success\'\n') + script.script.append('else\n') + script.script.append('echo \'machid : unknown, aborting upgrade\'\n') + script.script.append('exit 1\n') + script.script.append('fi\n') + first = False + section = None + part_index = 0 + + if flinfo.type == "emmc" and image_type == "all": + first = True + + for index in range(parts_length): + + filename = "" + partition = "" + if first: + if self.flash_type == "norplusemmc": + part_info = root.find(".//data[@type='NORPLUSEMMC_PARAMETER']") + else: + part_info = root.find(".//data[@type='EMMC_PARAMETER']") + part_fname = part_info.find(".//partition_mbn") + filename = part_fname.text + partition = "0:GPT" + first = False + + elif index == (parts_length - 1) and flinfo.type == "emmc" and image_type == "all": + if self.flash_type == "norplusemmc": + part_info = root.find(".//data[@type='NORPLUSEMMC_PARAMETER']") + else: + part_info = root.find(".//data[@type='EMMC_PARAMETER']") + part_fname = part_info.find(".//partition_mbn_backup") + filename = part_fname.text + partition = "0:GPTBACKUP" + + else: + section = parts[part_index] + part_index += 1 + if flinfo.type != "emmc": + try: + if image_type == "all" or section[8].attrib['image_type'] == image_type: + filename = section[8].text + try: + if section[8].attrib['mode'] != MODE: + filename = section[9].text + else: + pass + except AttributeError, e: + pass + except KeyError, e: + pass + else: + continue + except IndexError, e: + if index == (parts_length - 1): + return + else: + continue + except KeyError, e: + continue + partition = section[0].text + else: + try: + diff_files = section.attrib['diff_files'] + except KeyError, e: + try: + diff_soc_ver_files = section.attrib['diff_soc_ver_files'] + except KeyError, e: + try: + wifi_fw_type = section.attrib['wififw_type'] + except KeyError, e: + try: + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename'] + if lk == "true" and "u-boot" in filename: + filename = filename.replace("u-boot", "lkboot") + partition = section.attrib['label'] + if filename == "": + continue + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + + if diff_files == "true": + try: + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename_' + MODE] + if lk == "true" and "uImage" in filename: + if MODE == "32": + filename = 'openwrt-' + ARCH_NAME + '-kernelboot.img' + if MODE == "64": + filename = 'openwrt-' + ARCH_NAME + '_' + MODE + '-kernelboot.img' + partition = section.attrib['label'] + if filename == "": + continue + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + diff_files = "" # Clear for next iteration + + # Get machID + if partition != "0:CDT" and partition != "0:DDRCONFIG": + machid = None + else: + try: + if image_type == "all" or section.attrib['image_type'] == image_type: + ret = self.__gen_flash_script_cdt(entries, partition, flinfo, script) + if ret == 0: + return 0 + continue + except KeyError, e: + continue + + if partition == "0:BOOTLDR1": + if image_type == "all" or section.attrib['image_type'] == image_type: + ret = self.__gen_flash_script_bootldr(entries, partition, flinfo, script) + if ret == 0: + return 0 + continue + + if ARCH_NAME == "ipq806x": + # Get Layout + try: + layout = section[9].text + except: + layout = None + + if layout not in ("sbl", "linux", None): + error("invalid layout in '%s'" % section) + + if flinfo.type != "emmc": + img = section.find('img_name') + + if img != None and 'wififw_type' in img.attrib: + imgs = section.findall('img_name') + try: + for img in imgs: + filename = img.text + wifi_fw_type = img.get('wififw_type') + ret = self.__gen_flash_script_wififw(entries, partition, filename, wifi_fw_type, flinfo, script) + if ret == 0: + return 0 + wifi_fw_type = "" + continue + except KeyError, e: + continue + + if img != None and 'soc_version' in img.attrib: + imgs = section.findall('img_name') + try: + for img in imgs: + filename = img.text + soc_version = img.get('soc_version') + if 'optional' in img.attrib: + if not os.path.exists(os.path.join(self.images_dname, filename)): + file_exists = 0 + ret = self.__gen_flash_script_image(filename, soc_version, file_exists, machid, partition, flinfo, script) + if ret == 0: + return 0 + file_exists = 1 # generating flash script is mandatory by default + + soc_version = 0 # Clear soc_version for next iteration + continue + except KeyError, e: + continue + + imgs = section.findall('img_name') + for img in imgs: + memory_attr = img.get('memory') + if memory_attr != None and memory_attr == memory_size: + filename = img.text; + + atf_image = img.get('atf') + if atf_image != None and atf == "true": + filename = img.text; + + else: + if wifi_fw_type: + try: + for fw_type in range(1, int(wifi_fw_type)+1): + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename_img' + str(fw_type)] + partition = section.attrib['label'] + wifi_fw_type = "img" + str(fw_type) + ret = self.__gen_flash_script_wififw(entries, partition, filename, wifi_fw_type, flinfo, script) + if ret == 0: + return 0 + wifi_fw_type = "" + continue + except KeyError, e: + continue + + if diff_soc_ver_files: + try: + for version in range(1, int(diff_soc_ver_files)+1): + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename_v' + str(version)] + partition = section.attrib['label'] + if filename == "": + continue + if section.attrib['optional']: + if not os.path.exists(os.path.join(self.images_dname, filename)): + file_exists = 0 + ret = self.__gen_flash_script_image(filename, version, file_exists, machid, partition, flinfo, script) + if ret == 0: + return 0 + file_exists = 1 + diff_soc_ver_files = 0 # Clear diff_soc_ver_files for next iteration + continue + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + + if section != None and filename != "" and section.get('filename_mem' + memory_size) != None: + filename = section.get('filename_mem' + memory_size) + + if section != None and atf == "true" and section.get('filename_atf') != None: + filename = section.get('filename_atf') + + if filename != "": + ret = self.__gen_flash_script_image(filename, soc_version, file_exists, machid, partition, flinfo, script) + if ret == 0: + return 0 + + return 1 + + def __gen_script_cdt(self, images, flinfo, root, section_conf, partition): + global ARCH_NAME + + entries = root.findall(".//data[@type='MACH_ID_BOARD_MAP']/entry") + + for section in entries: + + board = section.find(".//board").text + if ARCH_NAME != "ipq806x": + try: + memory = section.find(".//memory").text + except AttributeError, e: + memory = "128M16" + + if memory_size != "default": + filename = "cdt-" + board + "_" + memory + "_LM" + memory_size + ".bin" + else: + filename = "cdt-" + board + "_" + memory + ".bin" + file_info = "ddr-" + board + "_" + memory + else: + filename = "cdt-" + board + ".bin" + file_info = "ddr-" + board + + part_info = self.__get_part_info(partition) + + if part_info == None and self.flinfo.type != 'norplusnand': + continue + + if self.flinfo.type == 'nand': + img_size = self.__get_img_size(filename) + size = roundup(img_size, flinfo.pagesize) + if ( size != img_size ): + filename = filename + ".padded" + if self.flinfo.type == 'emmc': + img_size = self.__get_img_size(filename) + size = roundup(img_size, flinfo.blocksize) + if ( size != img_size ): + filename = filename + ".padded" + image_info = ImageInfo(file_info + "-" + sha1(filename), + filename, "firmware") + if filename.lower() != "none": + if image_info not in images: + images.append(image_info) + + def __gen_script_bootldr(self, images, flinfo, root, section_conf, partition): + global ARCH_NAME + + entries = root.findall(".//data[@type='MACH_ID_BOARD_MAP']/entry") + + for section in entries: + + board = section.find(".//board").text + tiny_image = section.find('.//tiny_image') + + if tiny_image == None: + continue + + if ARCH_NAME != "ipq806x": + try: + memory = section.find(".//memory").text + except AttributeError, e: + memory = "128M16" + + if memory_size != "default": + filename = "bootldr1_" + board + "_" + memory + "_LM" + memory_size + ".mbn" + else: + filename = "bootldr1_" + board + "_" + memory + ".mbn" + file_info = "bootldr1_" + board + "_" + memory + else: + filename = "bootldr1_" + board + ".mbn" + file_info = "bootldr1_" + board + + part_info = self.__get_part_info(partition) + + if part_info == None and self.flinfo.type != 'norplusnand': + continue + + if self.flinfo.type == 'nand': + img_size = self.__get_img_size(filename) + size = roundup(img_size, flinfo.pagesize) + if ( size != img_size ): + filename = filename + ".padded" + if self.flinfo.type == 'emmc': + img_size = self.__get_img_size(filename) + size = roundup(img_size, flinfo.blocksize) + if ( size != img_size ): + filename = filename + ".padded" + image_info = ImageInfo(file_info + "-" + sha1(filename), + filename, "firmware") + if filename.lower() != "none": + if image_info not in images: + images.append(image_info) + + + def __gen_script_append_images(self, filename, soc_version, wifi_fw_type, images, flinfo, root, section_conf, partition): + + global QCN9000 + + part_info = self.__get_part_info(partition) + if part_info == None and self.flinfo.type != 'norplusnand': + return + + if self.flinfo.type == 'nand': + img_size = self.__get_img_size(filename) + size = roundup(img_size, flinfo.pagesize) + if ( size != img_size ): + filename = filename + ".padded" + if self.flinfo.type == 'emmc': + img_size = self.__get_img_size(filename) + size = roundup(img_size, flinfo.blocksize) + if ( size != img_size ): + filename = filename + ".padded" + if section_conf == "qsee": + section_conf = "tz" + elif section_conf == "appsbl": + if lk == "true": + section_conf = "lkboot" + else: + print " Using u-boot..." + section_conf = "u-boot" + elif section_conf == "rootfs" and self.flash_type in ["nand", "nand-4k", "nand-audio", "nand-audio-4k", "norplusnand", "norplusnand-4k"]: + section_conf = "ubi" + elif section_conf == "wififw" and self.flash_type in ["nand", "nand-4k", "nand-audio", "nand-audio-4k", "norplusnand", "norplusnand-4k"]: + section_conf = "wififw_ubi" + elif section_conf == "wififw" and wifi_fw_type: + section_conf = section_conf + "_" + wifi_fw_type + + if soc_version: + section_conf = section_conf + "_v" + str(soc_version) + + image_info = ImageInfo(section_conf + "-" + sha1(filename), + filename, "firmware") + if filename.lower() != "none": + if image_info not in images: + images.append(image_info) + + def __gen_script(self, script_fp, script, images, flinfo, root): + """Generate the script to flash the multi-image blob. + + script_fp -- file object, to write script to + info_fp -- file object, to read flashing information from + script -- Script object, to append the commands to + images -- list of ImageInfo, appended to, based on images in config + """ + global MODE + global SRC_DIR + global QCN9000 + + soc_version = 0 + diff_soc_ver_files = 0 + wifi_fw_type = "" + diff_files = "" + file_exists = 1 + + ret = self.__gen_flash_script(script, flinfo, root, True) + if ret == 0: + return 0 #Stop packing this single-image + + if QCN9000: + script.end_if() #end if started for hk+pine + + if (self.flash_type == "norplusemmc" and flinfo.type == "emmc") or (self.flash_type != "norplusemmc"): + if flinfo.type == "emmc": + script.start_activity("Flashing rootfs_data:") + part_info = self.partitions["rootfs_data"] + script.erase(part_info.offset, part_info.length) + script.finish_activity() + script.end() + + if self.flash_type == "norplusemmc" and flinfo.type == "emmc": + srcDir_part = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + flinfo.type + "-partition.xml" + else: + srcDir_part = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + self.flash_type.lower() + "-partition.xml" + + root_part = ET.parse(srcDir_part) + if self.flash_type != "emmc" and flinfo.type != "emmc": + parts = root_part.findall(".//partitions/partition") + elif self.flash_type != "emmc" and flinfo.type == "emmc": + parts = root_part.findall(".//physical_partition[@ref='norplusemmc']/partition") + else: + parts = root_part.findall(".//physical_partition[@ref='emmc']/partition") + if flinfo.type == "emmc" and image_type == "all": + parts_length = len(parts) + 2 + else: + parts_length = len(parts) + + first = False + section = None + part_index = 0 + + if flinfo.type == "emmc" and image_type == "all": + first = True + + for index in range(parts_length): + + filename = "" + partition = "" + if first: + if self.flash_type == "norplusemmc": + part_info = root.find(".//data[@type='NORPLUSEMMC_PARAMETER']") + else: + part_info = root.find(".//data[@type='EMMC_PARAMETER']") + part_fname = part_info.find(".//partition_mbn") + filename = part_fname.text + partition = "0:GPT" + first = False + + elif index == (parts_length - 1) and flinfo.type == "emmc" and image_type == "all": + if self.flash_type == "norplusemmc": + part_info = root.find(".//data[@type='NORPLUSEMMC_PARAMETER']") + else: + part_info = root.find(".//data[@type='EMMC_PARAMETER']") + part_fname = part_info.find(".//partition_mbn_backup") + filename = part_fname.text + partition = "0:GPTBACKUP" + + else: + section = parts[part_index] + part_index += 1 + if flinfo.type != "emmc": + try: + if image_type == "all" or section[8].attrib['image_type'] == image_type: + filename = section[8].text + try: + if section[8].attrib['mode'] != MODE: + filename = section[9].text + except AttributeError, e: + pass + except KeyError, e: + pass + except IndexError, e: + if index == (parts_length - 1): + return + else: + continue + except KeyError, e: + continue + partition = section[0].text + else: + + try: + diff_files = section.attrib['diff_files'] + except KeyError, e: + try: + diff_soc_ver_files = section.attrib['diff_soc_ver_files'] + partition = section.attrib['label'] + except KeyError, e: + try: + wifi_fw_type = section.attrib['wififw_type'] + partition = section.attrib['label'] + except KeyError, e: + try: + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename'] + if lk == "true" and "u-boot" in filename: + filename = filename.replace("u-boot", "lkboot") + partition = section.attrib['label'] + if filename == "": + continue + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + + if diff_files == "true": + try: + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename_' + MODE] + if lk == "true" and "uImage" in filename: + if MODE == "32": + filename = 'openwrt-' + ARCH_NAME + '-kernelboot.img' + if MODE == "64": + filename = 'openwrt-' + ARCH_NAME + '_' + MODE + '-kernelboot.img' + partition = section.attrib['label'] + if filename == "": + continue + + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + diff_files = "" # Clear for next iteration + + + part_info = self.__get_part_info(partition) + + section_label = partition.split(":") + if len(section_label) != 1: + section_conf = section_label[1] + else: + section_conf = section_label[0] + + section_conf = section_conf.lower() + + if section_conf == "cdt" or section_conf == "ddrconfig": + try: + if image_type == "all" or section[8].attrib['image_type'] == image_type: + self.__gen_script_cdt(images, flinfo, root, section_conf, partition) + continue + except KeyError, e: + continue + + if section_conf == "bootldr1": + try: + if image_type == "all" or section[8].attrib['image_type'] == image_type: + self.__gen_script_bootldr(images, flinfo, root, section_conf, partition) + continue + except KeyError, e: + continue + + if flinfo.type != "emmc": + + img = section.find('img_name') + + if img != None and 'wififw_type' in img.attrib: + imgs = section.findall('img_name') + try: + for img in imgs: + wifi_fw_type = img.get('wififw_type') + filename = img.text + self.__gen_script_append_images(filename, soc_version, wifi_fw_type, images, flinfo, root, section_conf, partition) + wififw_type = "" + continue + except KeyError, e: + continue + + if img != None and 'soc_version' in img.attrib: + + imgs = section.findall('img_name') + try: + for img in imgs: + soc_version = img.get('soc_version') + filename = img.text + if QCN9000 and section_conf == "wififw": + filename_qcn9000 = filename.replace("wifi_fw_ubi", "wifi_fw_ipq8074_qcn9000_ubi") + if os.path.exists(os.path.join(self.images_dname, filename_qcn9000)): + section_conf_qcn9000 = section_conf + "_ubi_qcn9000" + self.__gen_script_append_images(filename_qcn9000, soc_version, wifi_fw_type, images, flinfo, root, section_conf_qcn9000, partition) + if 'optional' in img.attrib: + if not os.path.exists(os.path.join(self.images_dname, filename)): + file_exists = 0 + + if file_exists == 1: + self.__gen_script_append_images(filename, soc_version, wifi_fw_type, images, flinfo, root, section_conf, partition) + file_exists = 1 + soc_version = 0 # Clear soc_version for next iteration + continue + except KeyError, e: + continue + + imgs = section.findall('img_name') + for img in imgs: + memory_attr = img.get('memory') + if memory_attr != None and memory_attr == memory_size: + filename = img.text; + + atf_image = img.get('atf') + if atf_image != None and atf == "true": + filename = img.text; + + # system-partition specific for HK+PINE + if section_conf == "mibib" and QCN9000: + img = section.find('img_name') + filename_qcn9000 = img.text[:-4] + "-qcn9000.bin" + section_conf_qcn9000 = section_conf + "_qcn9000" + self.__gen_script_append_images(filename_qcn9000, soc_version, wifi_fw_type, images, flinfo, root, section_conf_qcn9000, partition) + + else: + + if wifi_fw_type: + try: + for fw_type in range(1, int(wifi_fw_type)+1): + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename_img' + str(fw_type)] + partition = section.attrib['label'] + wifi_fw_type = "img" + str(fw_type) + self.__gen_script_append_images(filename, soc_version, wifi_fw_type, images, flinfo, root, section_conf, partition) + wifi_fw_type = "" + continue + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + + if diff_soc_ver_files: + try: + for version in range(1, int(diff_soc_ver_files)+1): + if image_type == "all" or section.attrib['image_type'] == image_type: + filename = section.attrib['filename_v' + str(version)] + partition = section.attrib['label'] + if filename == "": + continue + if section.attrib['optional']: + if not os.path.exists(os.path.join(self.images_dname, filename)): + file_exists = 0 + + if file_exists == 1: + self.__gen_script_append_images(filename, version, wifi_fw_type, images, flinfo, root, section_conf, partition) + file_exists = 1 + + diff_soc_ver_files = 0 # Clear diff_soc_ver_files for next iteration + continue + except KeyError, e: + print "Skipping partition '%s'" % section.attrib['label'] + pass + + if section != None and filename != "" and section.get('filename_mem' + memory_size) != None: + filename = section.get('filename_mem' + memory_size) + + if section != None and atf == "true" and section.get('filename_atf') != None: + filename = section.get('filename_atf') + + if filename != "": + self.__gen_script_append_images(filename, soc_version, wifi_fw_type, images, flinfo, root, section_conf, partition) + return 1 + + def __mkimage(self, images): + """Create the multi-image blob. + + images -- list of ImageInfo, containing images to be part of the blob + """ + try: + its_fp = open(self.its_fname, "wb") + except IOError, e: + error("error opening its file '%s'" % self.its_fname, e) + + desc = "Flashing %s %x %x" + desc = desc % (self.flinfo.type, self.flinfo.pagesize, + self.flinfo.blocksize) + + image_data = [] + for (section, fname, imtype) in images: + fname = fname.replace("\\", "\\\\") + subs = dict(name=section, desc=fname, fname=fname, imtype=imtype) + image_data.append(its_image_tmpl.substitute(subs)) + + image_data = "".join(image_data) + its_data = its_tmpl.substitute(desc=desc, images=image_data) + + its_fp.write(its_data) + its_fp.close() + + try: + cmd = [SRC_DIR + "/mkimage", "-f", self.its_fname, self.img_fname] + ret = subprocess.call(cmd) + if ret != 0: + print ret + error("failed to create u-boot image from script") + except OSError, e: + error("error executing mkimage", e) + + def __create_fnames(self): + """Populate the filenames.""" + + self.scr_fname = os.path.join(self.images_dname, "flash.scr") + self.its_fname = os.path.join(self.images_dname, "flash.its") + + def __gen_board_script(self, flinfo, part_fname, images, root): + global SRC_DIR + global ARCH_NAME + global QCN9000 + global IF_QCN9000 + + """Generate the flashing script for one board. + + board_section -- string, board section in board config file + machid -- string, board machine ID in hex format + flinfo -- FlashInfo object, contains board specific flash params + part_fname -- string, partition file specific to the board + fconf_fname -- string, flash config file specific to the board + images -- list of ImageInfo, append images used by the board here + """ + IF_QCN9000 = False + script_fp = open(self.scr_fname, "a") + self.flinfo = flinfo + + if flinfo.type != "emmc": + if root.find(".//data[@type='NAND_PARAMETER']/entry") != None: + if self.flash_type == "nand-4k" or self.flash_type == "norplusnand-4k": + flash_param = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='4k']") + elif self.flash_type == "nand-audio": + flash_param = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='audio-2k']") + elif self.flash_type == "nand-audio-4k": + flash_param = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='audio-4k']") + else: + flash_param = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='2k']") + else: + flash_param = root.find(".//data[@type='NAND_PARAMETER']") + + pagesize = int(flash_param.find(".//page_size").text) + pages_per_block = int(flash_param.find(".//pages_per_block").text) + blocksize = pages_per_block * pagesize + blocks_per_chip = int(flash_param.find(".//total_block").text) + chipsize = blocks_per_chip * blocksize + + srcDir_part = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + flinfo.type + "-partition.xml" + root_part = ET.parse(srcDir_part) + + if flinfo.type == "nand": + script = Flash_Script(flinfo, self.ipq_nand) + elif flinfo.type == "nor": + script = Flash_Script(flinfo, pagesize) + + script.probe() + # system-partition specific for HK+PINE + if QCN9000: + IF_QCN9000 = True + part_fname_qcn9000 = part_fname[:-4] + "-qcn9000.bin" + mibib_qcn9000 = MIBIB(part_fname_qcn9000, flinfo.pagesize, flinfo.blocksize, + flinfo.chipsize, blocksize, chipsize, root_part) + self.partitions = mibib_qcn9000.get_parts() + + script.append('if test "$machid" = "801000e" || test "$machid" = "801010e" || test "$machid" = "8010012" || test "$machid" = "8010013" || test "$machid" = "8010500"; then\n', fatal=False) + ret = self.__gen_flash_script(script, flinfo, root, True) + if ret == 0: + return 0 #Issue in packing hk+pine single-image + + script.append('else', fatal=False) + self.partitions = {} + IF_QCN9000 = False + + mibib = MIBIB(part_fname, flinfo.pagesize, flinfo.blocksize, + flinfo.chipsize, blocksize, chipsize, root_part) + self.partitions = mibib.get_parts() + + else: + gpt = GPT(part_fname, flinfo.pagesize, flinfo.blocksize, flinfo.chipsize) + self.partitions = gpt.get_parts() + script = Flash_Script(flinfo) + + ret = self.__gen_script(script_fp, script, images, flinfo, root) + if ret == 0: + return 0 + + if QCN9000: + QCN9000 = False + + try: + script_fp.write(script.dumps()) + except IOError, e: + error("error writing to script '%s'" % script_fp.name, e) + + script_fp.close() + return 1 + + def __process_board_flash_emmc(self, ftype, images, root): + """Extract board info from config and generate the flash script. + + ftype -- string, flash type 'emmc' + board_section -- string, board section in config file + machid -- string, board machine ID in hex format + images -- list of ImageInfo, append images used by the board here + """ + + try: + part_info = root.find(".//data[@type='" + self.flash_type.upper() + "_PARAMETER']") + part_fname = part_info.find(".//partition_mbn") + part_fname = part_fname.text + part_fname = os.path.join(self.images_dname, part_fname) + if ftype == "norplusemmc": + part_info = root.find(".//data[@type='NORPLUSEMMC_PARAMETER']") + pagesize = int(part_info.find(".//page_size_flash").text) + part_info = root.find(".//data[@type='EMMC_PARAMETER']") + else: + pagesize = self.emmc_page_size + blocksize = self.emmc_block_size + chipsize = int(part_info.find(".//total_block").text) + if ftype.lower() == "norplusemmc": + ftype = "emmc" + + except ValueError, e: + error("invalid flash info in section '%s'" % board_section.find('machid').text, e) + + flinfo = FlashInfo(ftype, pagesize, blocksize, chipsize) + + ret = self.__gen_board_script(flinfo, part_fname, images, root) + if ret == 0: + return 0 + + return 1 + + def __process_board_flash(self, ftype, images, root): + global SRC_DIR + global ARCH_NAME + global MODE + global QCN9000 + + try: + if ftype == "tiny-nor" or ftype == "tiny-nor-debug": + part_info = root.find(".//data[@type='" + "NOR_PARAMETER']") + elif ftype in ["nand", "nand-4k", "nand-audio", "nand-audio-4k"]: + if root.find(".//data[@type='NAND_PARAMETER']/entry") != None: + if ftype == "nand": + part_info = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='2k']") + elif ftype == "nand-audio": + part_info = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='audio-2k']") + elif ftype == "nand-audio-4k": + part_info = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='audio-4k']") + else: + part_info = root.find(".//data[@type='NAND_PARAMETER']/entry[@type='4k']") + else: + part_info = root.find(".//data[@type='" + "NAND_PARAMETER']") + elif ftype == "norplusnand-4k": + part_info = root.find(".//data[@type='" + "NORPLUSNAND_PARAMETER']") + else: + part_info = root.find(".//data[@type='" + ftype.upper() + "_PARAMETER']") + + if ARCH_NAME in ["ipq6018", "ipq5018", "ipq807x"]: + MODE_APPEND = "_64" if MODE == "64" else "" + + if ftype in ["nand-audio", "nand-audio-4k"]: + UBINIZE_CFG_NAME = ARCH_NAME + "-ubinize" + MODE_APPEND + "-audio.cfg" + else: + UBINIZE_CFG_NAME = ARCH_NAME + "-ubinize" + MODE_APPEND + ".cfg" + + f1 = open(SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + UBINIZE_CFG_NAME, 'r') + UBINIZE_CFG_NAME = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/tmp-" + UBINIZE_CFG_NAME + f2 = open(UBINIZE_CFG_NAME, 'w') + for line in f1: + f2.write(line.replace('image=', "image=" + SRC_DIR + "/")) + f1.close() + f2.close() + + part_file = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + ftype + "-partition.xml" + parts = ET.parse(part_file).findall('.//partitions/partition') + for index in range(len(parts)): + section = parts[index] + if section[0].text == "rootfs": + rootfs_pos = 9 if MODE == "64" else 8 + UBI_IMG_NAME = section[rootfs_pos].text + + if ftype in ["nand-4k", "nand-audio-4k", "norplusnand-4k"]: + cmd = '%s -m 4096 -p 256KiB -o root.ubi %s' % ((SRC_DIR + "/ubinize") ,UBINIZE_CFG_NAME) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("ubinization got failed") + cmd = 'dd if=root.ubi of=%s bs=4k conv=sync' % (SRC_DIR + "/" + UBI_IMG_NAME) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("ubi image copy operation failed") + + elif ftype in ["nand", "nand-audio", "norplusnand"]: + cmd = '%s -m 2048 -p 128KiB -o root.ubi %s' % ((SRC_DIR + "/ubinize") ,UBINIZE_CFG_NAME) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("ubinization got failed") + cmd = 'dd if=root.ubi of=%s bs=2k conv=sync' % (SRC_DIR + "/" + UBI_IMG_NAME) + ret = subprocess.call(cmd, shell=True) + if ret != 0: + error("ubi image copy operation failed") + + part_file = SRC_DIR + "/" + ARCH_NAME + "/flash_partition/" + ftype + "-partition.xml" + part_xml = ET.parse(part_file) + partition = part_xml.find(".//partitions/partition[2]") + part_fname = partition[8].text + part_fname = os.path.join(self.images_dname, part_fname) + pagesize = int(part_info.find(".//page_size").text) + pages_per_block = int(part_info.find(".//pages_per_block").text) + blocks_per_chip = int(part_info.find(".//total_block").text) + + if ARCH_NAME == "ipq807x" and (ftype == "norplusnand" or ftype == "nand"): + QCN9000 = True + + if ftype in ["tiny-nor", "norplusnand", "norplusnand-4k", "norplusemmc", "tiny-nor-debug"]: + ftype = "nor" + if ftype in ["nand-4k", "nand-audio", "nand-audio-4k"]: + ftype = "nand" + + except ValueError, e: + error("invalid flash info in section '%s'" % board_section.find('machid').text, e) + + blocksize = pages_per_block * pagesize + chipsize = blocks_per_chip * blocksize + + flinfo = FlashInfo(ftype, pagesize, blocksize, chipsize) + + ret = self.__gen_board_script(flinfo, part_fname, images, root) + return ret + + def __process_board(self, images, root): + + global QCN9000 + + QCN9000 = False + try: + if self.flash_type in [ "nand", "nand-4k", "nand-audio", "nand-audio-4k", "nor", "tiny-nor", "norplusnand", "norplusnand-4k", "tiny-nor-debug" ]: + ret = self.__process_board_flash(self.flash_type, images, root) + elif self.flash_type == "emmc": + ret = self.__process_board_flash_emmc(self.flash_type, images, root) + elif self.flash_type == "norplusemmc": + ret = self.__process_board_flash("norplusemmc", images, root) + if ret: + ret = self.__process_board_flash_emmc("norplusemmc", images, root) + return ret + except ValueError, e: + error("error getting board info in section '%s'" % board_section.find('machid').text, e) + + def main_bconf(self, flash_type, images_dname, out_fname, root): + """Start the packing process, using board config. + + flash_type -- string, indicates flash type, 'nand' or 'nor' or 'tiny-nor' or 'emmc' or 'norplusnand' + images_dname -- string, name of images directory + out_fname -- string, output file path + """ + self.flash_type = flash_type + self.images_dname = images_dname + self.img_fname = out_fname + + self.__create_fnames() + try: + os.unlink(self.scr_fname) + except OSError, e: + pass + + images = [] + ret = self.__process_board(images, root) + if ret != 0: + images.insert(0, ImageInfo("script", "flash.scr", "script")) + self.__mkimage(images) + else: + fail_img = out_fname.split("/") + error("Failed to pack %s" % fail_img[-1]) + +class UsageError(Exception): + """Indicates error in command arguments.""" + pass + +class ArgParser(object): + """Class to parse command-line arguments.""" + + DEFAULT_TYPE = "nor,tiny-nor,nand,norplusnand,emmc,norplusemmc" + + def __init__(self): + self.flash_type = None + self.images_dname = None + self.out_dname = None + self.scr_fname = None + self.its_fname = None + + def parse(self, argv): + global MODE + global SRC_DIR + global ARCH_NAME + global image_type + global memory_size + global lk + global atf + global skip_4k_nand + + """Start the parsing process, and populate members with parsed value. + + argv -- list of string, the command line arguments + """ + + cdir = os.path.abspath(os.path.dirname("")) + if len(sys.argv) > 1: + try: + opts, args = getopt(sys.argv[1:], "", ["arch=", "fltype=", "srcPath=", "inImage=", "outImage=", "image_type=", "memory=", "lk", "skip_4k_nand", "atf"]) + except GetoptError, e: + raise UsageError(e.msg) + + for option, value in opts: + if option == "--arch": + ARCH_NAME = value + + elif option == "--fltype": + self.flash_type = value + + elif option == "--srcPath": + SRC_DIR = os.path.abspath(value) + + elif option == "--inImage": + self.images_dname = os.path.join(cdir, value) + + elif option == "--outImage": + self.out_dname = os.path.join(cdir, value) + + elif option == "--image_type": + image_type = value + + elif option == "--memory": + memory_size = value + + elif option =="--lk": + lk = "true" + + elif option =="--atf": + atf = "true" + + elif option =="--skip_4k_nand": + skip_4k_nand = "true" + + +#Verify Arguments passed by user + +# Verify arch type + if ARCH_NAME not in ["ipq40xx", "ipq806x", "ipq807x", "ipq807x_64", "ipq6018", "ipq6018_64", "ipq5018", "ipq5018_64"]: + raise UsageError("Invalid arch type '%s'" % arch) + + if ARCH_NAME == "ipq807x" or ARCH_NAME == "ipq5018": + MODE = "32" + elif ARCH_NAME == "ipq807x_64" or ARCH_NAME == "ipq5018_64": + MODE = "64" + ARCH_NAME = ARCH_NAME[:-3] + + if ARCH_NAME == "ipq6018": + MODE = "32" + elif ARCH_NAME == "ipq6018_64": + MODE = "64" + ARCH_NAME = "ipq6018" + +# Set flash type to default type (nand) if not given by user + if self.flash_type == None: + self.flash_type = ArgParser.DEFAULT_TYPE + for flash_type in self.flash_type.split(","): + if flash_type not in [ "nand", "nor", "tiny-nor", "emmc", "norplusnand", "norplusemmc", "tiny-nor-debug" ]: + raise UsageError("invalid flash type '%s'" % flash_type) + +# Verify src Path + if SRC_DIR == "": + raise UsageError("Source Path is not provided") + +#Verify input image path + if self.images_dname == None: + raise UsageError("input images' Path is not provided") + +#Verify Output image path + if self.out_dname == None: + raise UsageError("Output Path is not provided") + + def usage(self, msg): + """Print error message and command usage information. + + msg -- string, the error message + """ + print "pack: %s" % msg + print + print "Usage:" + print "python pack_hk.py [options] [Value] ..." + print + print "options:" + print " --arch \tARCH_TYPE [ipq40xx/ipq806x/ipq807x/ipq807x_64/ipq6018/ipq6018_64/ipq5018/ipq5018_64]" + print + print " --fltype \tFlash Type [nor/tiny-nor/nand/emmc/norplusnand/norplusemmc/tiny-nor-debug]" + print " \t\tMultiple flashtypes can be passed by a comma separated string" + print " \t\tDefault is all. i.e If \"--fltype\" is not passed image for all the flash-type will be created.\n" + print " --srcPath \tPath to the directory containg the meta scripts and configs" + print + print " --inImage \tPath to the direcory containg binaries and images needed for singleimage" + print + print " --outImage \tPath to the directory where single image will be generated" + print + print " --memory \tMemory size for low memory profile" + print " \t\tIf it is not specified CDTs with default memory size are taken for single-image packing.\n" + print " \t\tIf specified, CDTs created with specified memory size will be used for single-image.\n" + print + print " --lk \t\tReplace u-boot with lkboot for appsbl" + print " --atf \t\tReplace tz with atf for QSEE partition" + print " --skip_4k_nand \tskip generating 4k nand images" + print " \t\tThis Argument does not take any value" + print "Pack Version: %s" % version + +def gen_kernelboot_img(parser): + """Generate kernelboot.img needed by LK bootloader""" + + SKALES_DIR = parser.images_dname + TMP_DIR = parser.images_dname + "/tmp_dir" + + try: + + if os.path.exists(TMP_DIR): + rmtree(TMP_DIR) + os.makedirs(TMP_DIR) + + if ARCH_NAME == "ipq807x": + BOARD_NAME = ARCH_NAME + "-hk01" + elif ARCH_NAME == "ipq6018": + BOARD_NAME = ARCH_NAME + "-cp02-c1" + else: + error("Error: Arch not supported") + + if MODE == "64": + KERNEL_IMG_NAME = "openwrt-" + ARCH_NAME + "_" + MODE + "-kernelboot.img" + BASE_ADDR = "0x41078000" + else: + KERNEL_IMG_NAME = "openwrt-" + ARCH_NAME + "-kernelboot.img" + if ARCH_NAME == "ipq807x": + BASE_ADDR = "0x41200000" + elif ARCH_NAME == "ipq6018": + BASE_ADDR = "0x41000000" + + src = parser.images_dname + "/qcom-" + BOARD_NAME + ".dtb" + + #alternate name(alt_src) for linux-5.4 dtbs + alt_src = parser.images_dname + "/" + BOARD_NAME + ".dtb" + if ARCH_NAME == "ipq807x": + alt_src = parser.images_dname + "/ipq8074-hk01.dtb" + + if not os.path.exists(src): + if os.path.exists(alt_src): + src = alt_src + else: + error("%s file not found" % src) + copy(src, TMP_DIR) + + src = parser.images_dname + "/Image" + if not os.path.exists(src): + error("%s file not found" % src) + copy(src, TMP_DIR) + + cmd = [SKALES_DIR + "/dtbTool -o " + TMP_DIR + "/qcom-" + BOARD_NAME + "-dt.img " + TMP_DIR] + ret = subprocess.call(cmd, shell=True) + if ret != 0: + print ret + error("Error executing dtbTools") + + cmd = ["gzip -9 " + TMP_DIR + "/Image"] + ret = subprocess.call(cmd, shell=True) + if ret != 0: + print ret + error("Error executing gzip") + + cmd = [SKALES_DIR + "/mkbootimg", + "--kernel=" + TMP_DIR + "/Image.gz", + "--dt=" + TMP_DIR + "/qcom-" + BOARD_NAME + "-dt.img", + "--cmdline=\'rootfsname=rootfs rootwait\'", + "--output=" + parser.images_dname + "/" + KERNEL_IMG_NAME, + "--base=" + BASE_ADDR] + ret = subprocess.call(cmd) + if ret != 0: + print ret + error("Error executing mkbootimg") + + rmtree(TMP_DIR) + except OSError, e: + error("error generating kernelboot.img", e) + +def main(): + """Main script entry point. + + Created to avoid polluting the global namespace. + """ + try: + parser = ArgParser() + parser.parse(sys.argv) + except UsageError, e: + parser.usage(e.args[0]) + sys.exit(1) + + pack = Pack() + + if not os.path.exists(parser.out_dname): + os.makedirs(parser.out_dname) + + config = SRC_DIR + "/" + ARCH_NAME + "/config.xml" + root = ET.parse(config) + + if skip_4k_nand != "true": + # Add nand-4k flash type, if nand flash type is specified + if "nand" in parser.flash_type.split(","): + if root.find(".//data[@type='NAND_PARAMETER']/entry") != None: + parser.flash_type = parser.flash_type + ",nand-4k" + + # Add norplusnand-4k flash type, if norplusnand flash type is specified + if "norplusnand" in parser.flash_type.split(","): + if root.find(".//data[@type='NAND_PARAMETER']/entry") != None: + parser.flash_type = parser.flash_type + ",norplusnand-4k" + +# Format the output image name from Arch, flash type and mode + for flash_type in parser.flash_type.split(","): + if image_type == "hlos": + if MODE == "64": + parser.out_fname = flash_type + "-" + ARCH_NAME + "_" + MODE + "-apps.img" + else: + parser.out_fname = flash_type + "-" + ARCH_NAME + "-apps.img" + else: + if flash_type == "emmc" and lk == "true": + suffix = "-single-lkboot.img" + gen_kernelboot_img(parser) + + else: + suffix = "-single.img" + + if MODE == "64": + parser.out_fname = flash_type + "-" + ARCH_NAME + "_" + MODE + suffix + else: + parser.out_fname = flash_type + "-" + ARCH_NAME + suffix + + parser.out_fname = os.path.join(parser.out_dname, parser.out_fname) + + pack.main_bconf(flash_type, parser.images_dname, + parser.out_fname, root) + +if __name__ == "__main__": + main() diff --git a/meta-tools/prepareSingleImage.py b/meta-tools/prepareSingleImage.py new file mode 100644 index 0000000..62c8d50 --- /dev/null +++ b/meta-tools/prepareSingleImage.py @@ -0,0 +1,368 @@ +# =========================================================================== +#Copyright (c) 2017, 2019 Qualcomm Technologies, Inc. +#All Rights Reserved. +#Confidential and Proprietary - Qualcomm Technologies, Inc. +# =========================================================================== + +import xml.etree.ElementTree as ET +import itertools +import os +import subprocess +import sys +from getopt import getopt +from getopt import GetoptError + +arch="" +flash="nor,tiny-nor,nand,norplusnand,emmc,norplusemmc" +bootImgDir="" +rpmImgDir="" +tzImgDir="" +nhssImgDir="" +wififwImgDir="" + +cdir = os.path.dirname(__file__) +cdir = os.path.abspath(cdir) +inDir = "" +mode = "" +mbn_v6 = "" + +def print_help(): + print "\nUsage: python prepareSingleImage.py