Dylan Reid | 2470f8c | 2018-04-25 09:48:39 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 3 | SUPPORTED_PLATFORMS=(byt cht bdw hsw apl cnl) |
| 4 | if [ "$#" -eq 0 ] |
| 5 | then |
| 6 | PLATFORMS=${SUPPORTED_PLATFORMS[@]} |
| 7 | else |
| 8 | # parse the args |
| 9 | for args in $@ |
| 10 | do |
| 11 | if [[ "$args" == "-l" ]] |
| 12 | then |
| 13 | BUILD_LOCAL=1 |
| 14 | |
| 15 | # build all images for chosen targets |
| 16 | if [ "$#" -eq 1 ] |
| 17 | then |
| 18 | PLATFORMS=${SUPPORTED_PLATFORMS[@]} |
| 19 | break |
| 20 | fi |
| 21 | else |
| 22 | for i in ${SUPPORTED_PLATFORMS[@]} |
| 23 | do |
| 24 | if [ $i == $args ] |
| 25 | then |
| 26 | PLATFORMS+=$i" " |
| 27 | fi |
| 28 | done |
| 29 | fi |
| 30 | done |
| 31 | fi |
| 32 | |
| 33 | |
| 34 | # now build the firmware (depends on rimage) |
| 35 | rm -fr src/arch/xtensa/*.ri |
| 36 | |
Liam Girdwood | 58a99d6 | 2017-06-06 10:45:07 +0100 | [diff] [blame] | 37 | # fail on any errors |
| 38 | set -e |
| 39 | |
| 40 | # run autogen.sh |
| 41 | ./autogen.sh |
| 42 | |
Liam Girdwood | 8855ce5 | 2016-10-18 17:18:16 +0100 | [diff] [blame] | 43 | pwd=`pwd` |
| 44 | |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 45 | |
Pierre-Louis Bossart | b9880a5 | 2018-04-03 12:57:53 -0500 | [diff] [blame] | 46 | # make sure rimage is built and aligned with code |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 47 | if [[ "x$BUILD_LOCAL" == "x" ]] |
Ranjani Sridharan | b5ca5c4 | 2018-02-26 09:17:32 -0800 | [diff] [blame] | 48 | then |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 49 | ./configure --enable-rimage |
| 50 | make |
| 51 | sudo make install |
Ranjani Sridharan | b5ca5c4 | 2018-02-26 09:17:32 -0800 | [diff] [blame] | 52 | else |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 53 | echo "BUILD in local folder!" |
| 54 | rm -rf $pwd/local/ |
| 55 | ./configure --enable-rimage --prefix=$pwd/local |
| 56 | make |
| 57 | make install |
| 58 | PATH=$pwd/local/bin:$PATH |
Ranjani Sridharan | b5ca5c4 | 2018-02-26 09:17:32 -0800 | [diff] [blame] | 59 | fi |
Liam Girdwood | c0dfb4e | 2016-09-21 15:57:22 +0100 | [diff] [blame] | 60 | |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 61 | OLDPATH=$PATH |
| 62 | |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 63 | # build platform |
| 64 | for j in ${PLATFORMS[@]} |
Ranjani Sridharan | b5ca5c4 | 2018-02-26 09:17:32 -0800 | [diff] [blame] | 65 | do |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 66 | if [ $j == "byt" ] |
| 67 | then |
| 68 | PLATFORM="baytrail" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 69 | XTENSA_CORE="Intel_HiFiEP" |
| 70 | ROOT="$pwd/../xtensa-root/xtensa-byt-elf" |
| 71 | HOST="xtensa-byt-elf" |
| 72 | XTENSA_TOOLS_VERSION="RD-2012.5-linux" |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 73 | fi |
| 74 | if [ $j == "cht" ] |
| 75 | then |
| 76 | PLATFORM="cherrytrail" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 77 | XTENSA_CORE="CHT_audio_hifiep" |
| 78 | ROOT="$pwd/../xtensa-root/xtensa-byt-elf" |
| 79 | HOST="xtensa-byt-elf" |
| 80 | XTENSA_TOOLS_VERSION="RD-2012.5-linux" |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 81 | fi |
| 82 | if [ $j == "bdw" ] |
| 83 | then |
| 84 | PLATFORM="broadwell" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 85 | ROOT="$pwd/../xtensa-root/xtensa-hsw-elf" |
| 86 | HOST="xtensa-hsw-elf" |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 87 | fi |
| 88 | if [ $j == "hsw" ] |
| 89 | then |
| 90 | PLATFORM="haswell" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 91 | ROOT="$pwd/../xtensa-root/xtensa-hsw-elf" |
| 92 | HOST="xtensa-hsw-elf" |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 93 | fi |
| 94 | if [ $j == "apl" ] |
| 95 | then |
| 96 | PLATFORM="apollolake" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 97 | XTENSA_CORE="X4H3I16w2D48w3a_2017_8" |
| 98 | ROOT="$pwd/../xtensa-root/xtensa-bxt-elf" |
Liam Girdwood | cad86dc | 2018-06-18 15:57:26 +0100 | [diff] [blame] | 99 | |
| 100 | # test APL compiler aliases and ignore set -e here |
| 101 | type xtensa-bxt-elf-gcc > /dev/null 2>&1 && true |
| 102 | if [ $? == 0 ] |
Liam Girdwood | c7edd73 | 2018-06-14 16:34:08 +0100 | [diff] [blame] | 103 | then |
| 104 | HOST="xtensa-bxt-elf" |
| 105 | else |
| 106 | HOST="xtensa-apl-elf" |
| 107 | fi |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 108 | XTENSA_TOOLS_VERSION="RG-2017.8-linux" |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 109 | fi |
| 110 | if [ $j == "cnl" ] |
| 111 | then |
| 112 | PLATFORM="cannonlake" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 113 | XTENSA_CORE="X6H3CNL_2016_4_linux" |
| 114 | ROOT="$pwd/../xtensa-root/xtensa-cnl-elf" |
| 115 | HOST="xtensa-cnl-elf" |
| 116 | XTENSA_TOOLS_VERSION="RF-2016.4-linux" |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 117 | fi |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 118 | if [ $XTENSA_TOOLS_ROOT ] |
| 119 | then |
| 120 | XTENSA_TOOLS_DIR="$XTENSA_TOOLS_ROOT/install/tools/$XTENSA_TOOLS_VERSION" |
| 121 | XTENSA_BUILDS_DIR="$XTENSA_TOOLS_ROOT/install/builds/$XTENSA_TOOLS_VERSION" |
| 122 | |
| 123 | # make sure the required version of xtensa tools is installed |
| 124 | if [ -d $XTENSA_TOOLS_DIR ] |
| 125 | then |
| 126 | XCC="xt-xcc" |
Pan Xiuli | 27795ec | 2018-06-19 18:02:46 +0800 | [diff] [blame^] | 127 | XTOBJCOPY="xt-objcopy" |
| 128 | XTOBJDUMP="xt-objdump" |
Liam Girdwood | f1456e0 | 2018-06-14 16:16:39 +0100 | [diff] [blame] | 129 | else |
| 130 | XCC="none" |
Pan Xiuli | 27795ec | 2018-06-19 18:02:46 +0800 | [diff] [blame^] | 131 | XTOBJCOPY="none" |
| 132 | XTOBJDUMP="none" |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 133 | fi |
| 134 | fi |
| 135 | |
| 136 | # update ROOT directory for xt-xcc |
| 137 | if [ $XCC == "xt-xcc" ] |
| 138 | then |
| 139 | ROOT="$XTENSA_BUILDS_DIR/$XTENSA_CORE/xtensa-elf" |
Pan Xiuli | 27795ec | 2018-06-19 18:02:46 +0800 | [diff] [blame^] | 140 | export XTENSA_SYSTEM=$XTENSA_BUILDS_DIR/$XTENSA_CORE/config |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 141 | PATH=$XTENSA_TOOLS_DIR/XtensaTools/bin:$OLDPATH |
| 142 | else |
| 143 | PATH=$pwd/../$HOST/bin:$OLDPATH |
| 144 | fi |
| 145 | |
Pan Xiuli | 27795ec | 2018-06-19 18:02:46 +0800 | [diff] [blame^] | 146 | ./configure --with-arch=xtensa --with-platform=$PLATFORM --with-root-dir=$ROOT --host=$HOST \ |
| 147 | CC=$XCC OBJCOPY=$XTOBJCOPY OBJDUMP=$XTOBJDUMP --with-dsp-core=$XTENSA_CORE |
Ranjani Sridharan | 9c9c4a4 | 2018-06-14 17:43:21 +0800 | [diff] [blame] | 148 | |
Pan Xiuli | 792bd41 | 2018-06-10 15:32:25 +0800 | [diff] [blame] | 149 | make clean |
| 150 | make |
| 151 | make bin |
Ranjani Sridharan | b5ca5c4 | 2018-02-26 09:17:32 -0800 | [diff] [blame] | 152 | done |
Liam Girdwood | f198ad9 | 2018-01-21 23:48:35 +0000 | [diff] [blame] | 153 | |
Liam Girdwood | 8855ce5 | 2016-10-18 17:18:16 +0100 | [diff] [blame] | 154 | # list all the images |
| 155 | ls -l src/arch/xtensa/*.ri |