diff options
| -rw-r--r-- | config/git/revisions | 8 | ||||
| -rwxr-xr-x | script/build/release/roms | 14 | ||||
| -rwxr-xr-x | script/build/rp2040/serprog (renamed from script/build/rpi-pico/serprog) | 42 | ||||
| -rwxr-xr-x | script/update/project/repo | 12 | 
4 files changed, 49 insertions, 27 deletions
| diff --git a/config/git/revisions b/config/git/revisions index df73647c..e5001699 100644 --- a/config/git/revisions +++ b/config/git/revisions @@ -78,21 +78,21 @@  {rpi-pico-sdk}{  	rev: 6a7db34ff63345a7badec79ebea3aaef1712f374 -	loc: util-fw/pico-sdk +	loc: util-fw/rp2040/pico-sdk  	url: https://github.com/raspberrypi/pico-sdk -	depend: rpi-pico-tinyusb  }  {rpi-pico-tinyusb}{  	rev: 86c416d4c0fb38432460b3e11b08b9de76941bf5 -	loc: util-fw/pico-sdk/lib/tinyusb +	loc: util-fw/rp2040/pico-sdk/lib/tinyusb  	url: https://github.com/hathach/tinyusb.git  }  {rpi-pico-serprog}{  	rev: c8c16e9c11fe9e5b7230ff358f79de3f1951e1d9 -	loc: util-fw/pico-serprog +	loc: util-fw/rp2040/pico-serprog  	url: https://codeberg.org/libreboot/pico-serprog  	bkup_url: https://notabug.org/libreboot/pico-serprog  	depend: rpi-pico-sdk +	depend: rpi-pico-tinyusb  } diff --git a/script/build/release/roms b/script/build/release/roms index 500bdcfc..a56c43f5 100755 --- a/script/build/release/roms +++ b/script/build/release/roms @@ -43,6 +43,7 @@ main()  	init_check  	for romdir in bin/*; do +  		[ -d "${romdir}" ] || continue  		make_archive "${romdir}"  	done @@ -81,6 +82,16 @@ make_archive()  	    err "make_archive: cannot create tmpdir"  	rm -Rf "${romdir}" || err "make_archive: can't remove tmpdir"  	target="${builddir##*/}" + +	if [ ! -f "config/coreboot/${target}/target.cfg" ]; then +		# No config, just make a tarball +		tarball=release/${version}/roms/${target}_${version}.tar.xz +		tar -c "${builddir}" | xz -6 > ${tarball} || \ +			(rm ${tarball} +			 err "make_archive: cannot make \"${tarball}\"") +		return 0 +	fi +  	romdir="${romdir}/bin/${target}"  	mkdir -p "${romdir}" || \  	    err "make_archive: can't mkdir tmpdir" @@ -89,9 +100,6 @@ make_archive()  	echo ${target} -	[ -f "config/coreboot/${target}/target.cfg" ] || \ -		err "make_archive: ${target}: target.cfg is missing" -  	microcode_required="y"  	. "config/coreboot/${target}/target.cfg"  	if [ "${microcode_required}" != "y" ] && \ diff --git a/script/build/rpi-pico/serprog b/script/build/rp2040/serprog index cd4ba84f..e265cc7a 100755 --- a/script/build/rpi-pico/serprog +++ b/script/build/rp2040/serprog @@ -23,9 +23,9 @@ set -u -e  . "include/err.sh" -serprog_release_dir=bin/serprog -sdk_dir=$(pwd)/util-fw/pico-sdk -src_dir=$(pwd)/util-fw/pico-serprog +serprog_release_dir=$(pwd)/bin/serprog_rp2040 +sdk_dir=$(pwd)/util-fw/rp2040/pico-sdk +src_dir=$(pwd)/util-fw/rp2040/pico-serprog  main()  { @@ -33,20 +33,32 @@ main()  	[ -d "${src_dir}/" ] || ./update project repo rpi-pico-serprog \  		|| err "fetch rpi-pico-serprog failed!\n" - -	( -	cd "${src_dir}" || err "can't cd to ${src_dir}" -	cmake -DPICO_SDK_PATH="${sdk_dir}" . || \ -	    err "can't cmake ${sdk_dir}" -	make clean -	make -	) -  	mkdir -p "${serprog_release_dir}" || \  	    err "can't create dir: ${serprog_release_dir}" -	mv "${src_dir}/pico_serprog.uf2" \ -	    "${serprog_release_dir}/rpi-pico-serprog.uf2" || \ -	    err "rpi-pico serprog build failed!\n" + +	boards_dir=${sdk_dir}/src/boards/include/boards + +	if [ $# -gt 0 ] ; then +		buildrom "${1}" +	else +		basename -a -s .h ${boards_dir}/*.h | while read board ; do +			[ "${board}" = "none" ] || buildrom ${board} +		done +	fi +} + +# buildrom <board> +buildrom() +{ +	board=${1} +	(cd ${src_dir}; cmake -DPICO_BOARD="${board}" \ +	      -DPICO_SDK_PATH="${sdk_dir}" "${src_dir}" || \ +		err "can't cmake ${src_dir}") +	make -C ${src_dir} clean +	make -C ${src_dir} +	mv ${src_dir}/pico_serprog.uf2 \ +	   ${serprog_release_dir}/serprog_${board}.uf2 \ +		|| err "${board} serprog build failed!"  }  main $@ diff --git a/script/update/project/repo b/script/update/project/repo index 24bd14ce..0183bf43 100755 --- a/script/update/project/repo +++ b/script/update/project/repo @@ -33,8 +33,10 @@ main()  	verify_config  	clone_project -	[ "${depend}" = "" ] || ./update project repo ${depend} || \ -	    fail "Cannot fetch dependency, ${depend}, for project, ${name}" +	[ "${depend}" = "" ] || for d in ${depend} ; do +		./update project repo ${d} || \ +		  fail "Cannot fetch dependency, ${d}, for project, ${name}" +	done  	rm -Rf "${tmp_dir}" || fail "cannot remove tmpdir, ${tmp_dir}"  } @@ -54,7 +56,7 @@ read_config()  		bkup_url:*)  			bkup_url=${2} ;;  		depend:*) -			depend=${2} ;; +			depend="${depend} ${2} " ;;  		esac  	done << EOF  	$(eval "awk '${awkstr}' config/git/revisions") @@ -85,8 +87,8 @@ clone_project()  	[ ! -d "${location}" ] || \  		rm -Rf "${location}" || \  		    fail "clone_project: Can't remove directory '${location}'" -	[ "${name}" != "rpi-pico-serprog" ] || mkdir -p ${location%/*} || \ -	    fail "clone_project: cannot make directory for rpi-pico-serprog" +	[ "${location}" = "${location%/*}" ] || mkdir -p ${location%/*} || \ +	    fail "clone_project: cannot make directory for ${name}"  	mv "${tmp_dir}" "${location}" || \  	    fail "clone_project: could not copy temp file to destination"  } | 
