meta-nuvoton: Update default fw_env.config

Update new fw_env.config for U-Boot fw_print/setenv utils access correct
U-Boot environment offset. And also add recipe
udev-nuvoton-mtd-partitions for create readable mtd device symlink.

Change-Id: I3bfa2015f536b27382f561bd8cdb0d7dbd2d88cd
Signed-off-by: Brian Ma <chma0@nuvoton.com>
diff --git a/meta-nuvoton/conf/machine/include/nuvoton.inc b/meta-nuvoton/conf/machine/include/nuvoton.inc
index 068fe35..9662af9 100644
--- a/meta-nuvoton/conf/machine/include/nuvoton.inc
+++ b/meta-nuvoton/conf/machine/include/nuvoton.inc
@@ -4,3 +4,4 @@
 PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-fw-utils-nuvoton"
 
 MACHINEOVERRIDES .= ":nuvoton"
+MACHINE_EXTRA_RRECOMMENDS += "udev-nuvoton-mtd-partitions"
diff --git a/meta-nuvoton/recipes-bsp/u-boot/files/fw_env.config b/meta-nuvoton/recipes-bsp/u-boot/files/fw_env.config
new file mode 100644
index 0000000..8bd3ae7
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/u-boot/files/fw_env.config
@@ -0,0 +1,2 @@
+# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors
+/dev/mtd/u-boot-env		0x0000		0x40000		0x4000
diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb b/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb
index 4ccfdd1..029b436 100644
--- a/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb
+++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb
@@ -2,8 +2,10 @@
 
 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"
 
@@ -22,7 +24,7 @@
   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 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
+  install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
 }
 
 do_install:class-cross () {
diff --git a/meta-nuvoton/recipes-core/udev/udev-nuvoton-mtd-partitions.bb b/meta-nuvoton/recipes-core/udev/udev-nuvoton-mtd-partitions.bb
new file mode 100644
index 0000000..2b8c53d
--- /dev/null
+++ b/meta-nuvoton/recipes-core/udev/udev-nuvoton-mtd-partitions.bb
@@ -0,0 +1,15 @@
+SUMMARY = "udev rules for MTD partitions"
+DESCRIPTION = "udev rules for MTD partitions"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+S = "${WORKDIR}"
+SRC_URI = "file://76-nuvoton-mtd-partitions.rules"
+
+RDEPENDS:${PN} += "udev"
+
+do_install() {
+    install -d ${D}/${base_libdir}/udev/rules.d
+    install -m 0644 ${WORKDIR}/76-nuvoton-mtd-partitions.rules ${D}/${base_libdir}/udev/rules.d
+}
diff --git a/meta-nuvoton/recipes-core/udev/udev-nuvoton-mtd-partitions/76-nuvoton-mtd-partitions.rules b/meta-nuvoton/recipes-core/udev/udev-nuvoton-mtd-partitions/76-nuvoton-mtd-partitions.rules
new file mode 100644
index 0000000..28e4586
--- /dev/null
+++ b/meta-nuvoton/recipes-core/udev/udev-nuvoton-mtd-partitions/76-nuvoton-mtd-partitions.rules
@@ -0,0 +1 @@
+ENV{DEVTYPE}=="mtd", SYMLINK+="mtd/%s{name}"