meta-nuvoton: u-boot-nuvoton: add u-boot-nuvoton 2021.04 recipe

Add for supporting customer whose still need to use u-boot v2021.04.

Customer can add this line into their include file to build it.
`PREFERRED_VERSION_u-boot-nuvoton ?= "2021.04%"`

Update u-boot-nuvoton 2021.04 srcrev bump b0b0222d39...1501268746

Brian Ma (1):
      dts: fix nuvoton-npcm845-pincfg.dtsi typo

Jim Liu (1):
      configs: rename arbel defconfig

Parvathi Bhogaraju (2):
      Invalidate RX buffer cache before freeing the DMA descriptor.
      net: designware: Pass all multicast frames in designware driver

Stanley Chu (6):
      cmd: cp: Fix boundary check for spi flash programming
      configs: arbel_evb: Use ARM timer as system tick counter
      crypto: npcm_sha: Support SHA512
      hash: Allow for SHA512 hardware implementations
      configs: arbel: Enable SHA512 HW acceleration
      crypto: npcm_sha: Support SHA384

Signed-off-by: Tim Lee <timlee660101@gmail.com>
Change-Id: I1b16685b1def6ed0d6dbc0f1cd0d055166ae95f0
diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton_2021.04.inc b/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton_2021.04.inc
new file mode 100644
index 0000000..07919f1
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton_2021.04.inc
@@ -0,0 +1,14 @@
+HOMEPAGE = "https://github.com/Nuvoton-Israel/u-boot"
+SECTION = "bootloaders"
+DEPENDS += "flex-native bison-native"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
+
+UBRANCH = "npcm-v2021.04"
+SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH};protocol=https"
+SRCREV = "1501268746d3f0c538908ddb7a1b901864dbfcff"
+
+S = "${WORKDIR}/git"
+
+PV .= "+${UBRANCH}+"
diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_2021.04.bb b/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_2021.04.bb
new file mode 100644
index 0000000..4f06ecf
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_2021.04.bb
@@ -0,0 +1,42 @@
+require u-boot-common-nuvoton_${PV}.inc
+
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+DEPENDS = "mtd-utils bison-native"
+RDEPENDS:${PN} = "udev-nuvoton-mtd-partitions"
+
+PROVIDES += "u-boot-fw-utils"
+SRC_URI += "file://fw_env.config"
+
+INSANE_SKIP:${PN} = "already-stripped"
+
+EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" HOSTCC="${BUILD_CC} ${BUILD_FLAGS} ${BUILD_LDFLAGS}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
+EXTRA_OEMAKE:class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+
+inherit uboot-config
+
+do_compile () {
+  oe_runmake ${UBOOT_MACHINE}
+  oe_runmake envtools
+}
+
+do_install () {
+  install -d ${D}${base_sbindir}
+  install -d ${D}${sysconfdir}
+  install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+  install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+  install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+do_install:class-cross () {
+  install -d ${D}${bindir_cross}
+  install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+  install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+}
+
+SYSROOT_PREPROCESS_FUNCS:class-cross = "uboot_fw_utils_cross"
+uboot_fw_utils_cross() {
+	sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BBCLASSEXTEND = "cross"
diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_2021.04.bb b/meta-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_2021.04.bb
new file mode 100644
index 0000000..6ad140e
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_2021.04.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "U-boot for Nuvoton NPCM7xx/NPCM8xx Baseboard Management Controller"
+
+require u-boot-common-nuvoton_${PV}.inc
+require u-boot-nuvoton.inc
+
+PROVIDES += "u-boot"
+
+DEPENDS += "dtc-native"
+
+SRC_URI:append:df-phosphor-mmc = " file://u-boot-emmc.cfg"