blob: d873d7e6593f3ef3c2cf0fc69810e9654e68b0c8 [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"
99 HOST="xtensa-bxt-elf"
100 XTENSA_TOOLS_VERSION="RG-2017.8-linux"
Pan Xiuli792bd412018-06-10 15:32:25 +0800101 fi
102 if [ $j == "cnl" ]
103 then
104 PLATFORM="cannonlake"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800105 XTENSA_CORE="X6H3CNL_2016_4_linux"
106 ROOT="$pwd/../xtensa-root/xtensa-cnl-elf"
107 HOST="xtensa-cnl-elf"
108 XTENSA_TOOLS_VERSION="RF-2016.4-linux"
Pan Xiuli792bd412018-06-10 15:32:25 +0800109 fi
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800110 if [ $XTENSA_TOOLS_ROOT ]
111 then
112 XTENSA_TOOLS_DIR="$XTENSA_TOOLS_ROOT/install/tools/$XTENSA_TOOLS_VERSION"
113 XTENSA_BUILDS_DIR="$XTENSA_TOOLS_ROOT/install/builds/$XTENSA_TOOLS_VERSION"
114
115 # make sure the required version of xtensa tools is installed
116 if [ -d $XTENSA_TOOLS_DIR ]
117 then
118 XCC="xt-xcc"
Liam Girdwoodf1456e02018-06-14 16:16:39 +0100119 else
120 XCC="none"
Ranjani Sridharan9c9c4a42018-06-14 17:43:21 +0800121 fi
122 fi
123
124 # update ROOT directory for xt-xcc
125 if [ $XCC == "xt-xcc" ]
126 then
127 ROOT="$XTENSA_BUILDS_DIR/$XTENSA_CORE/xtensa-elf"
128 XTENSA_SYSTEM=$XTENSA_BUILDS_DIR/$XTENSA_CORE/config
129 PATH=$XTENSA_TOOLS_DIR/XtensaTools/bin:$OLDPATH
130 else
131 PATH=$pwd/../$HOST/bin:$OLDPATH
132 fi
133
134 ./configure --with-arch=xtensa --with-platform=$PLATFORM --with-root-dir=$ROOT --host=$HOST CC=$XCC --with-dsp-core=$XTENSA_CORE
135
Pan Xiuli792bd412018-06-10 15:32:25 +0800136 make clean
137 make
138 make bin
Ranjani Sridharanb5ca5c42018-02-26 09:17:32 -0800139done
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000140
Liam Girdwood8855ce52016-10-18 17:18:16 +0100141# list all the images
142ls -l src/arch/xtensa/*.ri