blob: abf4e87bcbb7acda0656ed2fe1c59ec135504d57 [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"
Liam Girdwoodcad86dc2018-06-18 15:57:26 +010098
99 # test APL compiler aliases and ignore set -e here
100 type xtensa-bxt-elf-gcc > /dev/null 2>&1 && true
101 if [ $? == 0 ]
Liam Girdwoodc7edd732018-06-14 16:34:08 +0100102 then
103 HOST="xtensa-bxt-elf"
104 else
105 HOST="xtensa-apl-elf"
106 fi
Pan Xiuli7cba6e32018-06-22 17:01:09 +0800107
108 ROOT="$pwd/../xtensa-root/$HOST"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800109 XTENSA_TOOLS_VERSION="RG-2017.8-linux"
Pan Xiuli792bd412018-06-10 15:32:25 +0800110 fi
111 if [ $j == "cnl" ]
112 then
113 PLATFORM="cannonlake"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800114 XTENSA_CORE="X6H3CNL_2016_4_linux"
115 ROOT="$pwd/../xtensa-root/xtensa-cnl-elf"
116 HOST="xtensa-cnl-elf"
117 XTENSA_TOOLS_VERSION="RF-2016.4-linux"
Pan Xiuli792bd412018-06-10 15:32:25 +0800118 fi
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800119 if [ $XTENSA_TOOLS_ROOT ]
120 then
121 XTENSA_TOOLS_DIR="$XTENSA_TOOLS_ROOT/install/tools/$XTENSA_TOOLS_VERSION"
122 XTENSA_BUILDS_DIR="$XTENSA_TOOLS_ROOT/install/builds/$XTENSA_TOOLS_VERSION"
123
124 # make sure the required version of xtensa tools is installed
125 if [ -d $XTENSA_TOOLS_DIR ]
126 then
127 XCC="xt-xcc"
Pan Xiuli27795ec2018-06-19 18:02:46 +0800128 XTOBJCOPY="xt-objcopy"
129 XTOBJDUMP="xt-objdump"
Liam Girdwoodf1456e02018-06-14 16:16:39 +0100130 else
131 XCC="none"
Pan Xiuli27795ec2018-06-19 18:02:46 +0800132 XTOBJCOPY="none"
133 XTOBJDUMP="none"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800134 fi
135 fi
136
137 # update ROOT directory for xt-xcc
138 if [ $XCC == "xt-xcc" ]
139 then
140 ROOT="$XTENSA_BUILDS_DIR/$XTENSA_CORE/xtensa-elf"
Pan Xiuli27795ec2018-06-19 18:02:46 +0800141 export XTENSA_SYSTEM=$XTENSA_BUILDS_DIR/$XTENSA_CORE/config
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800142 PATH=$XTENSA_TOOLS_DIR/XtensaTools/bin:$OLDPATH
143 else
144 PATH=$pwd/../$HOST/bin:$OLDPATH
145 fi
146
Pan Xiuli27795ec2018-06-19 18:02:46 +0800147 ./configure --with-arch=xtensa --with-platform=$PLATFORM --with-root-dir=$ROOT --host=$HOST \
148 CC=$XCC OBJCOPY=$XTOBJCOPY OBJDUMP=$XTOBJDUMP --with-dsp-core=$XTENSA_CORE
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800149
Pan Xiuli792bd412018-06-10 15:32:25 +0800150 make clean
151 make
152 make bin
Ranjani Sridharanb5ca5c42018-02-26 09:17:32 -0800153done
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000154
Liam Girdwood8855ce52016-10-18 17:18:16 +0100155# list all the images
156ls -l src/arch/xtensa/*.ri