
On Tuesday, January 12, 2016 at 02:49:14 AM, Dalon Westergreen wrote:
The hps_isw_handoff and bsp/generated folders are typically not in the same path. This patch adds support for specifying the different input directories for the bsp and quartus projects.
Still not aligned to 80 :-) But I am fine if you want me to fix it up by hand, I can do that.
Note that in this reply, my mailer did the alignment automatically. Use git commit --amend to append the patch in your git history and use for example :set textwidth=80 in vim to activate automatic breaking of long lines.
Signed-off-by: Dalon Westergreen dwesterg@gmail.com Acked-by: Marek Vasut marex@denx.de
Also, Chin added his Acked-by, so you should add it here.
Changes for v2:
- Add commit message
Changes for v3:
- Fix line length issues
Changes for v4:
- Cleanup/clarify help messages
arch/arm/mach-socfpga/qts-filter.sh | 76 ++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 31 deletions(-)
diff --git a/arch/arm/mach-socfpga/qts-filter.sh b/arch/arm/mach-socfpga/qts-filter.sh index c1640bc..1adfbf7 100755 --- a/arch/arm/mach-socfpga/qts-filter.sh +++ b/arch/arm/mach-socfpga/qts-filter.sh @@ -3,13 +3,15 @@ # # Process iocsr_config_*.[ch] # $1: SoC type -# $2: Input directory -# $3: Output directory +# $2: Input handoff directory +# $3: Input BSP Generated directory +# $4: Output directory # process_iocsr_config() { soc="$1"
- in_dir="$2"
- out_dir="$3"
in_qts_dir="$2"
in_bsp_dir="$3"
out_dir="$4"
( cat << EOF
@@ -26,13 +28,13 @@ EOF
# Retrieve the scan chain lengths grep 'CONFIG_HPS_IOCSR_SCANCHAIN[0-9]+_LENGTH' \
${in_dir}/generated/iocsr_config_${soc}.h | tr -d "()"
${in_bsp_dir}/generated/iocsr_config_${soc}.h | tr -d "()"
echo ""
# Retrieve the scan chain config and zap the ad-hoc length encoding sed -n '/^const/ !b; :next {/^const/ s/(.*)//;p;n;b next}' \
${in_dir}/generated/iocsr_config_${soc}.c
${in_bsp_dir}/generated/iocsr_config_${soc}.c
cat << EOF
@@ -49,8 +51,9 @@ EOF # process_pinmux_config() { soc="$1"
- in_dir="$2"
- out_dir="$3"
in_qts_dir="$2"
in_bsp_dir="$3"
out_dir="$4"
( cat << EOF
@@ -67,7 +70,7 @@ EOF
# Retrieve the pinmux config and zap the ad-hoc length encoding sed -n '/^unsigned/ !b; :next {/^unsigned/ {s/[.*]/[]/;s/unsigned long/const u8/};p;n;b next}' \
${in_dir}/generated/pinmux_config_${soc}.c
${in_bsp_dir}/generated/pinmux_config_${soc}.c
cat << EOF
@@ -84,8 +87,9 @@ EOF # process_pll_config() { soc="$1"
- in_dir="$2"
- out_dir="$3"
in_qts_dir="$2"
in_bsp_dir="$3"
out_dir="$4"
( cat << EOF
@@ -102,7 +106,7 @@ EOF
# Retrieve the pll config and zap parenthesis sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b next}' \ - ${in_dir}/generated/pll_config.h
${in_bsp_dir}/generated/pll_config.h
cat << EOF
@@ -126,8 +130,9 @@ grep_sdram_config() { # process_sdram_config() { soc="$1"
- in_dir="$2"
- out_dir="$3"
in_qts_dir="$2"
in_bsp_dir="$3"
out_dir="$4"
( cat << EOF
@@ -144,29 +149,32 @@ EOF
echo "/* SDRAM configuration */" # Retrieve the sdram config, zap broken lines and zap parenthesis
- sed -n "/\\$/ {N;s/ \\\n/\t/};p"
${in_dir}/generated/sdram/sdram_config.h | + sed -n "/\\$/ {N;s/ \\\n/\t/};p" \
sed -n '/CONFIG_HPS/ !b; :next {/CONFIG_HPS/ s/[()]//g;/endif/ b;p;n;b${in_bsp_dir}/generated/sdram/sdram_config.h |
next}' | sort -u | grep_sdram_config
echo "" echo "/* Sequencer auto configuration */" sed -n "/__RW_MGR/ {s/__//;s/ +([^ ]+)$/\t\1/p}" \
${in_dir}/hps_isw_handoff/*/sequencer_auto.h | sort -u |
grep_sdram_config + ${in_qts_dir}/hps_isw_handoff/*/sequencer_auto.h
|
sort -u | grep_sdram_config
echo "" echo "/* Sequencer defines configuration */" sed -n "/^#define [^_]/ {s/__//;s/ +([^ ]+)$/\t\1/p}" \
${in_dir}/hps_isw_handoff/*/sequencer_defines.h | sort -u |
grep_sdram_config +
${in_qts_dir}/hps_isw_handoff/*/sequencer_defines.h |
sort -u | grep_sdram_config
echo "" echo "/* Sequencer ac_rom_init configuration */" sed -n '/^const.*[/ !b; :next {/^const.*[/
{N;s/\n//;s/alt_u32/u32/;s/[.*]/[]/};/endif/ b;p;n;b next}'\
${in_dir}/hps_isw_handoff/*/sequencer_auto_ac_init.c
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_ac_init.c
echo "" echo "/* Sequencer inst_rom_init configuration */" sed -n '/^const.*[/ !b; :next {/^const.*[/
{N;s/\n//;s/alt_u32/u32/;s/[.*]/[]/};/endif/ b;p;n;b next}'\
${in_dir}/hps_isw_handoff/*/sequencer_auto_inst_init.c
${in_qts_dir}/hps_isw_handoff/*/sequencer_auto_inst_init.c
cat << EOF
@@ -176,30 +184,36 @@ EOF }
usage() {
- echo "$0 [soc_type] [input_dir] [output_dir]"
- echo "$0 [soc_type] [input_qts_dir] [input_bsp_dir] [output_dir]" echo "Process QTS-generated headers into U-Boot compatible ones." echo ""
- echo " soc_type\t\tType of SoC, either 'cyclone5' or 'arria5',"
- echo " input_dir\t\tDirectory with the QTS project."
- echo " output_dir\t\tDirectory to store the U-Boot compatible headers."
- echo -e " soc_type\t-\tType of SoC, either 'cyclone5' or 'arria5'."
- echo -e " input_qts_dir\t-\tDirectory with compiled Quartus project"
- echo -e "\t\t\t\tand containing the Quartus project file (QPF)."
- echo -e " input_bsp_dir\t-\tDirectory with generated bsp containing"
- echo -e "\t\t\t\tthe settings.bsp file."
- echo -e " output_dir\t-\tDirectory to store the U-Boot compatible"
- echo -e "\t\t\t\theaders." echo ""
}
soc="$1" -in_dir="$2" -out_dir="$3" +in_qts_dir="$2" +in_bsp_dir="$3" +out_dir="$4"
-if [ "$#" -ne 3 ] ; then +if [ "$#" -ne 4 ] ; then usage exit 1 fi
-if [ ! -d "${in_dir}" -o ! -d "${out_dir}" -o -z "${soc}" ] ; then +if [ ! -d "${in_qts_dir}" -o ! -d "${in_bsp_dir}" -o \
- ! -d "${out_dir}" -o -z "${soc}" ] ; then usage exit 3
fi
-process_iocsr_config "${soc}" "${in_dir}" "${out_dir}" -process_pinmux_config "${soc}" "${in_dir}" "${out_dir}" -process_pll_config "${soc}" "${in_dir}" "${out_dir}" -process_sdram_config "${soc}" "${in_dir}" "${out_dir}" +process_iocsr_config "${soc}" "${in_qts_dir}" "${in_bsp_dir}" "${out_dir}" +process_pinmux_config "${soc}" "${in_qts_dir}" "${in_bsp_dir}" "${out_dir}" +process_pll_config "${soc}" "${in_qts_dir}" "${in_bsp_dir}" "${out_dir}" +process_sdram_config "${soc}" "${in_qts_dir}" "${in_bsp_dir}" "${out_dir}"