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