blob: 9a0f3e4dd298e9d0db363d9557bf62616b6b912f [file] [log] [blame]
Dylan Reid2470f8c2018-04-25 09:48:39 -07001#!/bin/bash
2
Pan Xiuli792bd412018-06-10 15:32:25 +08003SUPPORTED_PLATFORMS=(byt cht bdw hsw apl cnl)
4if [ "$#" -eq 0 ]
5then
6 PLATFORMS=${SUPPORTED_PLATFORMS[@]}
7else
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
31fi
32
33
34# now build the firmware (depends on rimage)
35rm -fr src/arch/xtensa/*.ri
36
Liam Girdwood58a99d62017-06-06 10:45:07 +010037# fail on any errors
38set -e
39
40# run autogen.sh
41./autogen.sh
42
Liam Girdwood8855ce52016-10-18 17:18:16 +010043pwd=`pwd`
44
Pan Xiuli792bd412018-06-10 15:32:25 +080045
Pierre-Louis Bossartb9880a52018-04-03 12:57:53 -050046# make sure rimage is built and aligned with code
Pan Xiuli792bd412018-06-10 15:32:25 +080047if [[ "x$BUILD_LOCAL" == "x" ]]
Ranjani Sridharanb5ca5c42018-02-26 09:17:32 -080048then
Pan Xiuli792bd412018-06-10 15:32:25 +080049 ./configure --enable-rimage
50 make
51 sudo make install
Ranjani Sridharanb5ca5c42018-02-26 09:17:32 -080052else
Pan Xiuli792bd412018-06-10 15:32:25 +080053 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 Sridharanb5ca5c42018-02-26 09:17:32 -080059fi
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010060
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +080061OLDPATH=$PATH
62
Pan Xiuli792bd412018-06-10 15:32:25 +080063# build platform
64for j in ${PLATFORMS[@]}
Ranjani Sridharanb5ca5c42018-02-26 09:17:32 -080065do
Pan Xiuli792bd412018-06-10 15:32:25 +080066 if [ $j == "byt" ]
67 then
68 PLATFORM="baytrail"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +080069 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 Xiuli792bd412018-06-10 15:32:25 +080073 fi
74 if [ $j == "cht" ]
75 then
76 PLATFORM="cherrytrail"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +080077 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 Xiuli792bd412018-06-10 15:32:25 +080081 fi
82 if [ $j == "bdw" ]
83 then
84 PLATFORM="broadwell"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +080085 ROOT="$pwd/../xtensa-root/xtensa-hsw-elf"
86 HOST="xtensa-hsw-elf"
Pan Xiuli792bd412018-06-10 15:32:25 +080087 fi
88 if [ $j == "hsw" ]
89 then
90 PLATFORM="haswell"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +080091 ROOT="$pwd/../xtensa-root/xtensa-hsw-elf"
92 HOST="xtensa-hsw-elf"
Pan Xiuli792bd412018-06-10 15:32:25 +080093 fi
94 if [ $j == "apl" ]
95 then
96 PLATFORM="apollolake"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +080097 XTENSA_CORE="X4H3I16w2D48w3a_2017_8"
98 ROOT="$pwd/../xtensa-root/xtensa-bxt-elf"
Liam Girdwoodcad86dc2018-06-18 15:57:26 +010099
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 Girdwoodc7edd732018-06-14 16:34:08 +0100103 then
104 HOST="xtensa-bxt-elf"
105 else
106 HOST="xtensa-apl-elf"
107 fi
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800108 XTENSA_TOOLS_VERSION="RG-2017.8-linux"
Pan Xiuli792bd412018-06-10 15:32:25 +0800109 fi
110 if [ $j == "cnl" ]
111 then
112 PLATFORM="cannonlake"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800113 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 Xiuli792bd412018-06-10 15:32:25 +0800117 fi
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800118 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 Xiuli27795ec2018-06-19 18:02:46 +0800127 XTOBJCOPY="xt-objcopy"
128 XTOBJDUMP="xt-objdump"
Liam Girdwoodf1456e02018-06-14 16:16:39 +0100129 else
130 XCC="none"
Pan Xiuli27795ec2018-06-19 18:02:46 +0800131 XTOBJCOPY="none"
132 XTOBJDUMP="none"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800133 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 Xiuli27795ec2018-06-19 18:02:46 +0800140 export XTENSA_SYSTEM=$XTENSA_BUILDS_DIR/$XTENSA_CORE/config
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800141 PATH=$XTENSA_TOOLS_DIR/XtensaTools/bin:$OLDPATH
142 else
143 PATH=$pwd/../$HOST/bin:$OLDPATH
144 fi
145
Pan Xiuli27795ec2018-06-19 18:02:46 +0800146 ./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 Sridharan9c9c4a42018-06-14 17:43:21 +0800148
Pan Xiuli792bd412018-06-10 15:32:25 +0800149 make clean
150 make
151 make bin
Ranjani Sridharanb5ca5c42018-02-26 09:17:32 -0800152done
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000153
Liam Girdwood8855ce52016-10-18 17:18:16 +0100154# list all the images
155ls -l src/arch/xtensa/*.ri