image_types_gbmc_dynamic: Support multiple DTS

Let add_partition_info_fitimage can support multiple DTS

Tested: build success with multiple KERNEL_DEVICETREE

Google-Bug-Id: 432169384
Fusion-Link:
https://fusion2.corp.google.com/39ad2d2f-e552-3c71-9cc4-74411eca69d0
https://fusion2.corp.google.com/2d88c962-2d62-31b8-8f80-c0d73070e563
https://fusion2.corp.google.com/75b703a8-ff2d-37b2-80c4-9c98aedd20b8
https://fusion2.corp.google.com/213fa53b-1bd3-3e0d-8695-8a5b2bece1f3
Change-Id: I9938abf5eeb24865dbffaaca0a9982fc6a99258b
Signed-off-by: Steven Cho <cho.steven@inventec.corp-partner.google.com>
diff --git a/classes/image_types_gbmc_dynamic.bbclass b/classes/image_types_gbmc_dynamic.bbclass
index 96c7fe1..2d00f77 100644
--- a/classes/image_types_gbmc_dynamic.bbclass
+++ b/classes/image_types_gbmc_dynamic.bbclass
@@ -2,27 +2,29 @@
 
 add_partition_info_fitimage() {
   cd ${DEPLOY_DIR_IMAGE}
-  dtb=$(basename ${KERNEL_DEVICETREE})
-  dts=${dtb%.*}.dts
-  sed -e 's,"linux.bin","fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}",' \
-    -e "s,\"arch/.*.dtb\",\"$dtb\"," \
-    -i fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}
-  dtc $dtb>$dts
-  rexpr() {
-    printf '/%s@[0-9a-fA-F]* {/,/};/s/reg = <.*>/reg = <(%d*1024) ((%d-%d)*1024)>/' $* $2
-  }
-  sed -e "$(rexpr u-boot ${FLASH_UBOOT_OFFSET} ${FLASH_KERNEL_OFFSET})" \
-    -e "$(rexpr kernel ${FLASH_KERNEL_OFFSET} ${FLASH_ROFS_OFFSET})" \
-    -e "$(rexpr rofs ${FLASH_ROFS_OFFSET} ${FLASH_EMPTY_OFFSET})" \
-    -e "$(rexpr rwfs ${FLASH_RWFS_OFFSET} ${FLASH_RWFS_END})" \
-    -e "$(rexpr hoth-mailbox ${FLASH_HOTH_MAILBOX_OFFSET} ${FLASH_HOTH_MAILBOX_END})" \
-    -e "$(rexpr hoth-update ${FLASH_HOTH_UPDATE_OFFSET} ${FLASH_HOTH_UPDATE_END})" \
-    -e "$(rexpr hoth-secondary ${FLASH_HOTH_SECONDARY_OFFSET} ${FLASH_HOTH_SECONDARY_END})" \
-    -e "$(rexpr image-descriptor ${FLASH_IMAGE_DESC_OFFSET} ${FLASH_IMAGE_DESC_END})" \
-    $dts >$dts.new
-  mv $dts.new $dts
-  dtc -O dtb -o $dtb.tmp $dts
-  mv $dtb.tmp $dtb
+  for dtb in ${KERNEL_DEVICETREE}; do
+    dtb=$(basename $dtb)
+    dts=${dtb%.*}.dts
+    sed -e 's,"linux.bin","fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}",' \
+      -e "s,\"arch/.*.dtb\",\"$dtb\"," \
+      -i fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}
+    dtc $dtb > $dts
+    rexpr() {
+      printf '/%s@[0-9a-fA-F]* {/,/};/s/reg = <.*>/reg = <(%d*1024) ((%d-%d)*1024)>/' $* $2
+    }
+    sed -e "$(rexpr u-boot ${FLASH_UBOOT_OFFSET} ${FLASH_KERNEL_OFFSET})" \
+      -e "$(rexpr kernel ${FLASH_KERNEL_OFFSET} ${FLASH_ROFS_OFFSET})" \
+      -e "$(rexpr rofs ${FLASH_ROFS_OFFSET} ${FLASH_EMPTY_OFFSET})" \
+      -e "$(rexpr rwfs ${FLASH_RWFS_OFFSET} ${FLASH_RWFS_END})" \
+      -e "$(rexpr hoth-mailbox ${FLASH_HOTH_MAILBOX_OFFSET} ${FLASH_HOTH_MAILBOX_END})" \
+      -e "$(rexpr hoth-update ${FLASH_HOTH_UPDATE_OFFSET} ${FLASH_HOTH_UPDATE_END})" \
+      -e "$(rexpr hoth-secondary ${FLASH_HOTH_SECONDARY_OFFSET} ${FLASH_HOTH_SECONDARY_END})" \
+      -e "$(rexpr image-descriptor ${FLASH_IMAGE_DESC_OFFSET} ${FLASH_IMAGE_DESC_END})" \
+      $dts > $dts.new
+    mv $dts.new $dts
+    dtc -O dtb -o $dtb.tmp $dts
+    mv $dtb.tmp $dtb
+  done
   fit=$(readlink -f fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME})
   oldsize=$(stat -c '%s' $fit)
   ${UBOOT_MKIMAGE} -f fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME} $fit.new