The destination addresses where the binaries in the image shall be
copied to varies across different K3 SoCs. Make the addresses
configurable. The options that previously took a filename now
additionally take the destination address separated by a double colon.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 images/Makefile.k3 | 51 +++++++++++++++++++++++++++------------------------
 scripts/k3img      | 20 ++++++++++++--------
 2 files changed, 39 insertions(+), 32 deletions(-)

diff --git a/images/Makefile.k3 b/images/Makefile.k3
index 
d9b0af8d67b49569283d35ce0ec1792897654c57..e31a5cd2dcdd4fdbe62f3084092b641499e404ff
 100644
--- a/images/Makefile.k3
+++ b/images/Makefile.k3
@@ -28,47 +28,50 @@ KEY_custmpk=$(srctree)/arch/arm/mach-k3/custMpk.pem
 KEY_degenerate=$(srctree)/arch/arm/mach-k3/ti-degenerate-key.pem
 
 ## TI am625(sip)-SK ##
-SYSFW_start_am625_sk_r5.pblb.k3img=$(SYSFW_am625_hs_fs)
-SYSFWDATA_start_am625_sk_r5.pblb.k3img=$(SYSFWDATA_am625)
-DMDATA_start_am625_sk_r5.pblb.k3img=$(DMDATA_am625)
-INNERDATA_start_am625_sk_r5.pblb.k3img=$(INNERDATA_am625)
-KEY_start_am625_sk_r5.pblb.k3img=$(KEY_custmpk)
+SYSFW_start_am625_sk_r5.pblb.k3_am62x_img=$(SYSFW_am625_hs_fs)
+SYSFWDATA_start_am625_sk_r5.pblb.k3_am62x_img=$(SYSFWDATA_am625)
+DMDATA_start_am625_sk_r5.pblb.k3_am62x_img=$(DMDATA_am625)
+INNERDATA_start_am625_sk_r5.pblb.k3_am62x_img=$(INNERDATA_am625)
+KEY_start_am625_sk_r5.pblb.k3_am62x_img=$(KEY_custmpk)
 
 pblb-$(CONFIG_MACH_AM625_SK) += start_am625_sk_r5
-FILE_barebox-am625-sk-r5.img = start_am625_sk_r5.pblb.k3img
+FILE_barebox-am625-sk-r5.img = start_am625_sk_r5.pblb.k3_am62x_img
 image-$(CONFIG_MACH_AM625_SK) += barebox-am625-sk-r5.img
 
-SYSFW_start_am625sip_sk_r5.pblb.k3img=$(SYSFW_am625_hs_fs)
-SYSFWDATA_start_am625sip_sk_r5.pblb.k3img=$(SYSFWDATA_am625)
-DMDATA_start_am625sip_sk_r5.pblb.k3img=$(DMDATA_am625)
-INNERDATA_start_am625sip_sk_r5.pblb.k3img=$(INNERDATA_am625)
-KEY_start_am625sip_sk_r5.pblb.k3img=$(KEY_custmpk)
+SYSFW_start_am625sip_sk_r5.pblb.k3_am62x_img=$(SYSFW_am625_hs_fs)
+SYSFWDATA_start_am625sip_sk_r5.pblb.k3_am62x_img=$(SYSFWDATA_am625)
+DMDATA_start_am625sip_sk_r5.pblb.k3_am62x_img=$(DMDATA_am625)
+INNERDATA_start_am625sip_sk_r5.pblb.k3_am62x_img=$(INNERDATA_am625)
+KEY_start_am625sip_sk_r5.pblb.k3_am62x_img=$(KEY_custmpk)
 
 pblb-$(CONFIG_MACH_AM625_SK) += start_am625sip_sk_r5
-FILE_barebox-am625sip-sk-r5.img = start_am625sip_sk_r5.pblb.k3img
+FILE_barebox-am625sip-sk-r5.img = start_am625sip_sk_r5.pblb.k3_am62x_img
 image-$(CONFIG_MACH_AM625_SK) += barebox-am625sip-sk-r5.img
 
 ## BeaglePlay ##
-SYSFW_start_beagleplay_r5.pblb.k3img=$(SYSFW_am625_gp)
-SYSFWDATA_start_beagleplay_r5.pblb.k3img=$(SYSFWDATA_am625)
-DMDATA_start_beagleplay_r5.pblb.k3img=$(DMDATA_am625)
-KEY_start_beagleplay_r5.pblb.k3img=$(KEY_degenerate)
+SYSFW_start_beagleplay_r5.pblb.k3_am62x_img=$(SYSFW_am625_gp)
+SYSFWDATA_start_beagleplay_r5.pblb.k3_am62x_img=$(SYSFWDATA_am625)
+DMDATA_start_beagleplay_r5.pblb.k3_am62x_img=$(DMDATA_am625)
+KEY_start_beagleplay_r5.pblb.k3_am62x_img=$(KEY_degenerate)
 
 pblb-$(CONFIG_MACH_BEAGLEPLAY) += start_beagleplay_r5
-FILE_barebox-beagleplay-r5.img = start_beagleplay_r5.pblb.k3img
+FILE_barebox-beagleplay-r5.img = start_beagleplay_r5.pblb.k3_am62x_img
 image-$(CONFIG_MACH_BEAGLEPLAY) += barebox-beagleplay-r5.img
 
 endif
 
-quiet_cmd_k3_image = K3IMG   $@
-      cmd_k3_image = \
+quiet_cmd_k3_am62x_image = K3_am62x_IMG   $@
+      cmd_k3_am62x_image = \
                if [ -n "$(INNERDATA_$(@F))" ]; then                            
\
                        inner="--innerdata $(INNERDATA_$(@F))";                 
\
                fi;                                                             
\
                                                                                
\
-               $(srctree)/scripts/k3img --sysfw $(SYSFW_$(@F))                 
\
-               --sysfwdata $(SYSFWDATA_$(@F)) --dmdata $(DMDATA_$(@F))         
\
-               --key $(KEY_$(@F)) $$inner --sbl $< --out $@
+               $(srctree)/scripts/k3img                                        
\
+                       --sysfw $(SYSFW_$(@F)):00040000                         
\
+                       --sysfwdata $(SYSFWDATA_$(@F)):00067000                 
\
+                       --dmdata $(DMDATA_$(@F)):43c3a800                       
\
+                       --sbl $<:43c00000                                       
\
+                       --key $(KEY_$(@F)) $$inner --out $@
 
-$(obj)/%.k3img: $(obj)/% scripts/k3img FORCE
-       $(call if_changed,k3_image)
+$(obj)/%.k3_am62x_img: $(obj)/% scripts/k3_am62x_img FORCE
+       $(call if_changed,k3_am62x_image)
diff --git a/scripts/k3img b/scripts/k3img
index 
f622f877cb89ce5604b8cb7651b3c23d3a5459be..a9f7e513723b251c3605e81a97093e23850a8f4d
 100755
--- a/scripts/k3img
+++ b/scripts/k3img
@@ -16,17 +16,20 @@ unset TEMP
 while true; do
         case "$1" in
         '--sysfw')
-               sysfw="$2"
+               sysfw=$(echo "$2" | cut -d ":" -f 1)
+               sysfw_addr=$(echo "$2" | cut -d ":" -f 2)
                shift 2
                continue
        ;;
         '--sysfwdata')
-               sysfwdata="$2"
+               sysfwdata=$(echo "$2" | cut -d ":" -f 1)
+               sysfwdata_addr=$(echo "$2" | cut -d ":" -f 2)
                shift 2
                continue
        ;;
         '--dmdata')
-               dmdata="$2"
+               dmdata=$(echo "$2" | cut -d ":" -f 1)
+               dmdata_addr=$(echo "$2" | cut -d ":" -f 2)
                shift 2
                continue
        ;;
@@ -36,7 +39,8 @@ while true; do
                continue
        ;;
        '--sbl')
-               sbl="$2"
+               sbl=$(echo "$2" | cut -d ":" -f 1)
+               sbl_addr=$(echo "$2" | cut -d ":" -f 2)
                shift 2
                continue
        ;;
@@ -140,7 +144,7 @@ dm_data=SEQUENCE:dm_data
 compType = INTEGER:1
 bootCore = INTEGER:16
 compOpts = INTEGER:0
-destAddr = FORMAT:HEX,OCT:43c00000
+destAddr = FORMAT:HEX,OCT:$sbl_addr
 compSize = INTEGER:$sblsize
 shaType  = OID:2.16.840.1.101.3.4.2.3
 shaValue = FORMAT:HEX,OCT:$shasbl
@@ -149,7 +153,7 @@ shaValue = FORMAT:HEX,OCT:$shasbl
 compType = INTEGER:2
 bootCore = INTEGER:0
 compOpts = INTEGER:0
-destAddr = FORMAT:HEX,OCT:00040000
+destAddr = FORMAT:HEX,OCT:$sysfw_addr
 compSize = INTEGER:$sysfwsize
 shaType  = OID:2.16.840.1.101.3.4.2.3
 shaValue = FORMAT:HEX,OCT:$shasysfw
@@ -158,7 +162,7 @@ shaValue = FORMAT:HEX,OCT:$shasysfw
 compType = INTEGER:18
 bootCore = INTEGER:0
 compOpts = INTEGER:0
-destAddr = FORMAT:HEX,OCT:00067000
+destAddr = FORMAT:HEX,OCT:$sysfwdata_addr
 compSize = INTEGER:$sysfwdatasize
 shaType  = OID:2.16.840.1.101.3.4.2.3
 shaValue = FORMAT:HEX,OCT:$shasysfwdata
@@ -175,7 +179,7 @@ $innercert
 compType = INTEGER:17
 bootCore = INTEGER:16
 compOpts = INTEGER:0
-destAddr = FORMAT:HEX,OCT:43c3a800
+destAddr = FORMAT:HEX,OCT:$dmdata_addr
 compSize = INTEGER:$dmdatasize
 shaType  = OID:2.16.840.1.101.3.4.2.3
 shaValue = FORMAT:HEX,OCT:$shadmdata

-- 
2.39.5


Reply via email to