From a85957f5206a400b65818d51bd3f89279ce26f3b Mon Sep 17 00:00:00 2001 From: "Oshri Alkoby (NTIL)" Date: Sat, 19 Jan 2019 00:00:10 +0200 Subject: meta-nuvoton: generate full flash image. Nuvoton's full flash image includes also a bootloader called Bootblock, and headers for it and for the u-boot. Generating headers and merging the Bootblock and the u-boot are being done by Nuvoton's binary generator tool (Bingo), which uses external paramteres from XML files for that. (From meta-nuvoton rev: 07a65b5a1cd4576367697ae5400482517e53d2d7) Change-Id: Iad274d6e0b42b96d5500bdb709e450c0c978338a Signed-off-by: Oshri Alkoby (NTIL) Signed-off-by: Brad Bishop --- meta-nuvoton/conf/machine/include/npcm7xx.inc | 11 + .../images/files/BootBlockAndHeader_EB.xml | 276 +++++++++++++++++++++ .../recipes-bsp/images/files/UbootHeader_EB.xml | 194 +++++++++++++++ .../images/files/mergedBootBlockAndUboot.xml | 35 +++ .../recipes-bsp/images/npcm7xx-bingo-native.bb | 20 ++ .../recipes-bsp/images/npcm7xx-bootblock.bb | 19 ++ 6 files changed, 555 insertions(+) create mode 100644 meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml create mode 100644 meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml create mode 100644 meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml create mode 100644 meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb create mode 100644 meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb diff --git a/meta-nuvoton/conf/machine/include/npcm7xx.inc b/meta-nuvoton/conf/machine/include/npcm7xx.inc index 3d8847dc4..0a154678d 100644 --- a/meta-nuvoton/conf/machine/include/npcm7xx.inc +++ b/meta-nuvoton/conf/machine/include/npcm7xx.inc @@ -11,6 +11,17 @@ UBOOT_MACHINE ?= "PolegSVB_config" UBOOT_ENTRYPOINT ?= "0x00008000" UBOOT_LOADADDRESS ?= "0x00008000" +FLASH_UBOOT_OFFSET = "0" +FLASH_UBOOT_ENV_OFFSET = "1024" +FLASH_KERNEL_OFFSET = "2048" +FLASH_UBI_OFFSET = "${FLASH_KERNEL_OFFSET}" +FLASH_ROFS_OFFSET = "7680" +FLASH_RWFS_OFFSET = "30720" + +# UBI volume sizes in KB unless otherwise noted. +FLASH_UBI_RWFS_SIZE = "6144" +FLASH_UBI_RWFS_TXT_SIZE = "6MiB" + DEFAULTTUNE ?= "arm7a-novfp" SERIAL_CONSOLES = "115200;ttyS3" diff --git a/meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml b/meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml new file mode 100644 index 000000000..03deb3026 --- /dev/null +++ b/meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml @@ -0,0 +1,276 @@ + + + + + + + + 0 + 0xFF + + + + + StartTag + + 0 + 0x8 + + 0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42 + + + + + DestAddr + + 0x140 + 0x4 + + 0xFFFD5E00 + + + + + CodeSize + + 0x144 + 0x4 + + Poleg_bootblock.bin + + + + + Code + + 0x200 + Poleg_bootblock.bin + + Poleg_bootblock.bin + + + + + + FIU0_DRD_CFG_Set + + 0x108 + 0x4 + + 0x030011BB + + + + + FIU_Clk_Divider + + 0x10C + 0x1 + + 4 + + + + + Version + + 0x148 + 0x4 + + 0x0201 + + + + + BOARD_VENDOR + + 0x14C + 0x4 + + 100 + + + + + BOARD_TYPE + + 0x150 + 0x4 + + 0x02 + + + + + + MC_FREQ_IN_MHZ + + 0x11C + 0x2 + + 800 + + + + CPU_FREQ_IN_MHZ + + 0x154 + 0x2 + + 800 + + + + + MC_CONFIG + + 0x156 + 0x1 + + 0x00 + + + + + HOST_IF + + 0x157 + 0x1 + + 0x00 + + + + + SECURITY_LEVEL_T + + 0x15C + 0x1 + + 0xFF + + + + + SECURITY_REVOKE_KEYS + + 0x1D7 + 0x1 + + 0x00 + + + + + SECURITY_LOG + + 0x1D8 + 0x4 + + 0x090000 + + + + SECURITY_LOG_SIZE + + 0x1DC + 0x4 + + 0x3000 + + + + + + HOLE0 + + 0x1E0 + 0x4 + + 0x0A0000 + + + + HOLE0_SIZE + + 0x1E4 + 0x4 + + 0xF70000 + + + + + HOLE1 + + 0x1E8 + 0x4 + + 0 + + + + HOLE1_SIZE + + 0x1EC + 0x4 + + 0 + + + + + + HOLE2 + + 0x1F0 + 0x4 + + 0xFFFFFFFF + + + + HOLE2_SIZE + + 0x1F4 + 0x4 + + 0 + + + + + HOLE3 + + 0x1F8 + 0x4 + + 0 + + + + HOLE3_SIZE + + 0x1FC + 0x4 + + 0 + + + diff --git a/meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml b/meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml new file mode 100644 index 000000000..2e648599b --- /dev/null +++ b/meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml @@ -0,0 +1,194 @@ + + + + + + + + 0 + 0xFF + + + + + StartTag + + 0 + 0x8 + + 0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B + + + + + DestAddr + + 0x140 + 0x4 + + 0x8000 + + + + + CodeSize + + 0x144 + 0x4 + + u-boot.bin + + + + + Code + + 0x200 + u-boot.bin + + u-boot.bin + + + + + + FIU0_DRD_CFG_Set + + 0x108 + 0x4 + + 0x030111BC + + + + + FIU0_Clk_Divider + + 0x10C + 0x1 + + 0 + + + + + fiu0_cs1_en + + 0x10D + 0x1 + + 0x0 + + + + + fiu0_cs2_en + + 0x10E + 0x1 + + 0x0 + + + + + fiu0_cs3_en + + 0x10F + 0x1 + + 0x0 + + + + + + FIU3_DRD_CFG_Set + + 0x110 + 0x4 + + 0x0 + + + + + + FIU3_DWR_CFG_Set + + 0x114 + 0x4 + + 0x0 + + + + + FIU3_Clk_Divider + + 0x118 + 0x1 + + 0x0 + + + + + + fiu3_cs1_en + + 0x119 + 0x1 + + 0x0 + + + + + fiu3_cs2_en + + 0x11A + 0x1 + + 0x0 + + + + + fiu3_cs3_en + + 0x11B + 0x1 + + 0x0 + + + + + Version + + 0x148 + 0x4 + + 0 + + + + + + FIU0_DWR_CFG_Set + + 0x14C + 0x4 + + 0x03001102 + + + + diff --git a/meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml b/meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml new file mode 100644 index 000000000..03529dcac --- /dev/null +++ b/meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml @@ -0,0 +1,35 @@ + + + + + + + + 0 + 0xFF + + + + BootBlock + + 0 + Poleg_bootblock.bin.full + + Poleg_bootblock.bin.full + + + + u-boot + + Poleg_bootblock.bin.full + u-boot.bin.full + + u-boot.bin.full + + + diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb new file mode 100644 index 000000000..1ce19433c --- /dev/null +++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb @@ -0,0 +1,20 @@ +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI += "git://github.com/Nuvoton-Israel/bingo" +SRC_URI += "file://BootBlockAndHeader_EB.xml" +SRC_URI += "file://UbootHeader_EB.xml" +SRC_URI += "file://mergedBootBlockAndUboot.xml" + +SRCREV = "4f102ff7851da9fd11965857edd1b3046c187b7a" + +S = "${WORKDIR}/git" + +do_install () { + + install -d "${D}${bindir}" + install deliverables/linux/Release/bingo ${D}${bindir} + install ${WORKDIR}/*.xml ${D}${bindir} +} + +inherit native diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb new file mode 100644 index 000000000..85b80708d --- /dev/null +++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb @@ -0,0 +1,19 @@ +LICENSE = "CLOSED" +LIC_FILES_CHKSUM = "" + +SRCREV = "10.09.05" +FILENAME = "Poleg_bootblock.bin" + +SRC_URI = "git://github.com/Nuvoton-Israel/npcm7xx-bootblock;protocol=git" +SRC_URI[md5sum] = "cf8daa5f4636ed1ff952618e435af028" + +S = "${WORKDIR}/git" + +inherit deploy + +do_deploy () { + install -d ${DEPLOYDIR} + install -m 644 ${FILENAME} ${DEPLOYDIR}/ +} + +addtask deploy before do_build after do_compile -- cgit v1.2.3