[meta-lsi] [PATCH 64/86] linux-yocto: Add support for building ARM DTB and FIT images

Daniel Dragomir daniel.dragomir at windriver.com
Wed Oct 29 08:36:12 PDT 2014


From: Paul Butler <paul.butler at windriver.com>

- Modify functions that build dtb, create fit images
  and install them also for ARM targets:
for 3.4:
  - axm55xx
  - axm55xxemu and axm55xxemu7
  - axm55xxsim16 and axm55xxsim
  - axm-ve-tc1 and axm-ve-tc2
for 3.10:
  - axm5504-emu and axm5504-sim
  - axm5507-emu
  - axm5516-amarillo and axm5516-sim
  - axm55xxemu7

- Specify the kernel version in receipes by setting KV variable

Signed-off-by: Paul Butler <paul.butler at windriver.com>
---
 recipes-kernel/linux/linux-yocto-rt_3.10.bbappend |  1 +
 recipes-kernel/linux/linux-yocto-rt_3.4.bbappend  |  1 +
 recipes-kernel/linux/linux-yocto.inc              | 71 +++++++++++++++++++----
 recipes-kernel/linux/linux-yocto_3.10.bbappend    |  1 +
 recipes-kernel/linux/linux-yocto_3.4.bbappend     |  1 +
 5 files changed, 63 insertions(+), 12 deletions(-)

diff --git a/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend b/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
index d25cec5..0ff9c57 100644
--- a/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
+++ b/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
@@ -4,6 +4,7 @@ LSI_KERNEL_TAG = "8.8.1.18"
 LINUX_KERNEL_TYPE = "preempt-rt"
 LINUX_VERSION = "3.10.17-${LSI_KERNEL_TAG}"
 LSI_SRC ?= "linux-yocto"
+KV = "3.10"
 
 require ${LSI_SRC}-rt_3.10.inc
 
diff --git a/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend b/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend
index 7d67514..643cfb9 100644
--- a/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend
+++ b/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend
@@ -4,6 +4,7 @@ LSI_KERNEL_TAG = "7.8.1.36"
 LINUX_KERNEL_TYPE = "preempt-rt"
 LINUX_VERSION = "3.4.43-${LSI_KERNEL_TAG}"
 LSI_SRC ?= "linux-yocto"
+KV = "3.4"
 
 require ${LSI_SRC}-rt_3.4.inc
 
diff --git a/recipes-kernel/linux/linux-yocto.inc b/recipes-kernel/linux/linux-yocto.inc
index 6184fa4..45e7b0f 100644
--- a/recipes-kernel/linux/linux-yocto.inc
+++ b/recipes-kernel/linux/linux-yocto.inc
@@ -13,34 +13,59 @@ PARALLEL_MAKE = ""
 
 mk_fit_images() {
 	name=$1
+	addr=$2
 	oe_runmake ${name}.dtb
 	echo "pwd = `pwd`"
 	cd ../fit
-	oe_runmake 'ARCH=powerpc' \
+	oe_runmake "ARCH=${KARCH}" \
 			'DESCRIPTION=LSI Axxia Linux' \
-			'ADDRESS=0x00400000' \
+			"ADDRESS=${addr}" \
 			'VMLINUX=${B}/vmlinux' \
-			"DTB=${B}/arch/powerpc/boot/${name}.dtb"
-		mv linux.fit linux.fit-${name}
-		mv fdt.fit fdt.fit-${name}
-		mv multi.fit multi.fit-${name}
+			"DTB=${B}/arch/${KARCH}/boot/${name}.dtb"
+	mv linux.fit linux.fit-${name}
+	mv fdt.fit fdt.fit-${name}
+	mv multi.fit multi.fit-${name}
 	cd ${B}
 }
 
 do_compile_append() {
     if [ "${KARCH}" = "powerpc" ]
     then
-		mk_fit_images "acp25xx"
-		mk_fit_images "acp342x"
-		mk_fit_images "acp344x"
-		mk_fit_images "ACP344xV2"
-		mk_fit_images "acp35xx"
+    	addr=0x00400000
+		mk_fit_images "acp25xx" ${addr}
+		mk_fit_images "acp342x" ${addr}
+		mk_fit_images "acp344x" ${addr}
+		mk_fit_images "ACP344xV2" ${addr}
+		mk_fit_images "acp35xx" ${addr}
+	fi
+	if [ "${KARCH}" = "arm" ]
+	then
+		addr=0x00408000
+		if [ "${KV}" = "3.4" ]
+		then
+			mk_fit_images "axm55xx" ${addr}
+			mk_fit_images "axm55xxemu7" ${addr}
+			mk_fit_images "axm55xxemu" ${addr}
+			mk_fit_images "axm55xxsim16" ${addr}
+			mk_fit_images "axm55xxsim" ${addr}
+			mk_fit_images "axm-ve-tc1" ${addr}
+			mk_fit_images "axm-ve-tc2" ${addr}
+		fi
+		if [ "${KV}" = "3.10" ]
+		then
+			mk_fit_images "axm5504-emu" ${addr}
+			mk_fit_images "axm5504-sim" ${addr}
+			mk_fit_images "axm5507-emu" ${addr}
+			mk_fit_images "axm5516-amarillo" ${addr}
+			mk_fit_images "axm5516-sim" ${addr}
+			mk_fit_images "axm55xxemu7" ${addr}
+		fi
 	fi
 }
 
 install_fit_images() {
 	name=$1
-	install ${B}/arch/powerpc/boot/${name}.dtb ${DEPLOYDIR}/${name}.dtb
+	install ${B}/arch/${KARCH}/boot/${name}.dtb ${DEPLOYDIR}/${name}.dtb
 	install ${B}/../fit/linux.fit-${name} ${DEPLOYDIR}/linux.fit-${name}
 	install ${B}/../fit/fdt.fit-${name} ${DEPLOYDIR}/fdt.fit-${name}
 	install ${B}/../fit/multi.fit-${name} ${DEPLOYDIR}/multi.fit-${name}
@@ -56,4 +81,26 @@ do_deploy_append() {
 		install_fit_images "ACP344xV2"
 		install_fit_images "acp35xx"
 	fi
+    if [ "${KARCH}" = "arm" ]
+    then
+		if [ "${KV}" = "3.4" ]
+		then
+	    	install_fit_images "axm55xx"
+    		install_fit_images "axm55xxemu7"
+    		install_fit_images "axm55xxemu"
+    		install_fit_images "axm55xxsim16"
+    		install_fit_images "axm55xxsim"
+    		install_fit_images "axm-ve-tc1"
+    		install_fit_images "axm-ve-tc2"
+    	fi
+		if [ "${KV}" = "3.10" ]
+		then
+	    	install_fit_images "axm5504-emu"
+			install_fit_images "axm5504-sim"
+			install_fit_images "axm5507-emu"
+			install_fit_images "axm5516-amarillo"
+			install_fit_images "axm5516-sim"
+			install_fit_images "axm55xxemu7"
+    	fi
+    fi
 }
diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
index e0aea98..071d097 100644
--- a/recipes-kernel/linux/linux-yocto_3.10.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
@@ -4,6 +4,7 @@ LSI_KERNEL_TAG = "8.8.1.18"
 LINUX_KERNEL_TYPE = "standard"
 LINUX_VERSION = "3.10.17-${LSI_KERNEL_TAG}"
 LSI_SRC ?= "linux-yocto"
+KV = "3.10"
 
 require ${LSI_SRC}_3.10.inc
 
diff --git a/recipes-kernel/linux/linux-yocto_3.4.bbappend b/recipes-kernel/linux/linux-yocto_3.4.bbappend
index bb5685e..acd9efa 100644
--- a/recipes-kernel/linux/linux-yocto_3.4.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.4.bbappend
@@ -5,6 +5,7 @@ LINUX_KERNEL_TYPE = "standard"
 LSI_KERNEL_TAG = "7.8.1.36"
 LINUX_VERSION = "3.4.43-${LSI_KERNEL_TAG}"
 LSI_SRC ?= "linux-yocto"
+KV = "3.4"
 
 require ${LSI_SRC}_3.4.inc
 
-- 
1.8.1.4



More information about the meta-lsi mailing list