Add support for Amlogic chips

This commit is contained in:
Johan Gunnarsson 2022-07-26 14:00:48 +02:00
parent ff2a4e8091
commit 59b55bbd6f
4 changed files with 99 additions and 0 deletions

View File

@ -160,6 +160,39 @@ banana_pi_m2_berry,Banana Pi M2 Berry,Sinovoip,allwinner-v40,bananapi_m2_berry_d
cubieboard4,Cubieboard 4,Cubieboard,allwinner-a80,Cubieboard4_defconfig,arm-linux-gnueabihf,sun9i-a80-cubieboard4
merrii_a80_optimus,Merrii A80 Optimus,Merrii,allwinner-a80,Merrii_A80_Optimus_defconfig,arm-linux-gnueabihf,sun9i-a80-optimus
jethub_j100,JetHub J100,JetHome,meson-axg,jethub_j100_defconfig,aarch64-linux-gnu,meson-axg-jethome-jethub-j100
amlogic_s400,S400,Amlogic,meson-axg,s400_defconfig,aarch64-linux-gnu,meson-axg-s400
radxa_zero,Zero,Radxa,meson-g12a,radxa-zero_defconfig,aarch64-linux-gnu,meson-g12a-radxa-zero
amlogic_u200,U200,Amlogic,meson-g12a,u200_defconfig,aarch64-linux-gnu,meson-g12a-u200
khadas_vim3,VIM3,Khadas,meson-g12b,khadas-vim3_defconfig,aarch64-linux-gnu,meson-g12b-a311d-khadas-vim3
beelink_gt_king_x,GT-King X,Beelink,meson-g12b,beelink-gsking-x_defconfig,aarch64-linux-gnu,meson-g12b-gsking-x
beelink_gt_king,GT-King,Beelink,meson-g12b,beelink-gtking_defconfig,aarch64-linux-gnu,meson-g12b-gtking
beelink_gt_king_pro,GT-King Pro,Beelink,meson-g12b,beelink-gtkingpro_defconfig,aarch64-linux-gnu,meson-g12b-gtking-pro
odroid_n2,ODROID N2,Hardkernel,meson-g12b,odroid-n2_defconfig,aarch64-linux-gnu,meson-g12b-odroid-n2
nano_pi_k2,Nano Pi K2,FriendlyElec,meson-gxbb,nanopi-k2_defconfig,aarch64-linux-gnu,meson-gxbb-nanopi-k2
odroid_c2,ODROID C2,Hardkernel,meson-gxbb,odroid-c2_defconfig,aarch64-linux-gnu,meson-gxbb-odroidc2
amlogic_p200,P200,Amlogic,meson-gxbb,p200_defconfig,aarch64-linux-gnu,meson-gxbb-p200
amlogic_p201,P201,Amlogic,meson-gxbb,p201_defconfig,aarch64-linux-gnu,meson-gxbb-p201
libretech_s805x_ac,AML-S805X-AC (La Frite),Libre Computer,meson-gxl,libretech-ac_defconfig,aarch64-linux-gnu,meson-gxl-s805x-libretech-ac
libretech_s905d_pc,AML-S905D-PC (Tartiflette),Libre Computer,meson-gxl,libretech-s905d-pc_defconfig,aarch64-linux-gnu,meson-gxl-s905d-libretech-pc
jethub_j80,JetHub J80,JetHome,meson-gxl,jethub_j80_defconfig,aarch64-linux-gnu,meson-gxl-s905w-jethome-jethub-j80
khadas_vim,VIM,Khadas,meson-gxl,khadas-vim_defconfig,aarch64-linux-gnu,meson-gxl-s905x-khadas-vim
libretech_cc,AML-S905X-CC (Le Potato),Libre Computer,meson-gxl,libretech-cc_defconfig,aarch64-linux-gnu,meson-gxl-s905x-libretech-cc
libretech_cc_v2,AML-S905X-CC V2 (Le Potato),Libre Computer,meson-gxl,libretech-cc_v2_defconfig,aarch64-linux-gnu,meson-gxl-s905x-libretech-cc-v2
amlogic_p212,P212,Amlogic,meson-gxl,p212_defconfig,aarch64-linux-gnu,meson-gxl-s905x-p212
khadas_vim2,VIM2,Khadas,meson-gxm,khadas-vim2_defconfig,aarch64-linux-gnu,meson-gxm-khadas-vim2
libretech_s912_pc,AML-S912-PC (Tartiflette),Libre Computer,meson-gxm,libretech-s912-pc_defconfig,aarch64-linux-gnu,meson-gxm-s912-libretech-pc
banana_pi_m5,Banana Pi M5,Sinovoip,meson-sm1,bananapi-m5_defconfig,aarch64-linux-gnu,meson-sm1-bananapi-m5
khadas_vim3l,VIM3L,Khadas,meson-sm1,khadas-vim3l_defconfig,aarch64-linux-gnu,meson-sm1-khadas-vim3l
odroid_c4,ODROID C4,Hardkernel,meson-sm1,odroid-c4_defconfig,aarch64-linux-gnu,meson-sm1-odroid-c4
odroid_hc4,ODROID HC4,Hardkernel,meson-sm1,odroid-hc4_defconfig,aarch64-linux-gnu,meson-sm1-odroid-hc4
qemu_arm_virt,QEMU arm virt,QEMU,qemu-arm,qemu_arm_defconfig,arm-linux-gnueabihf,N/A
qemu_aarch64_virt,QEMU aarch64 virt,QEMU,qemu-aarch64,qemu_arm64_defconfig,aarch64-linux-gnu,N/A
qemu_x86_virt,QEMU x86 virt,QEMU,qemu-x86,qemu-x86_defconfig,i686-linux-gnu,N/A

1 Board ID Board name Board maker Chip ID U-Boot defconfig Build tuple Device tree
160 odroid_c4 ODROID C4 Hardkernel meson-sm1 odroid-c4_defconfig aarch64-linux-gnu meson-sm1-odroid-c4
161 odroid_hc4 ODROID HC4 Hardkernel meson-sm1 odroid-hc4_defconfig aarch64-linux-gnu meson-sm1-odroid-hc4
162 qemu_arm_virt QEMU arm virt QEMU qemu-arm qemu_arm_defconfig arm-linux-gnueabihf N/A
163 qemu_aarch64_virt QEMU aarch64 virt QEMU qemu-aarch64 qemu_arm64_defconfig aarch64-linux-gnu N/A
164 qemu_x86_virt QEMU x86 virt QEMU qemu-x86 qemu-x86_defconfig i686-linux-gnu N/A
165 qemu_x86_64_virt QEMU x86_64 virt QEMU qemu-x86_64 qemu-x86_64_defconfig x86_64-linux-gnu N/A
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198

View File

@ -33,6 +33,14 @@ rk3368,RK3368,Rockchip,ARM Cortex A53,armv8
rk3399,RK3399,Rockchip,ARM Cortex A72/A53,armv8
rk3399pro,RK3399Pro,Rockchip,ARM Cortex A72/A53,armv8
meson-gxbb,S905,Amlogic S905,ARM Cortex A53,armv8
meson-gxl,S905X/S905W/S905D/S805X,Amlogic S905X/S905W/S905D/S805X,ARM Cortex A53,armv8
meson-gxm,S912,Amlogic S912,ARM Cortex A53,armv8
meson-axg,A113X/A113D,Amlogic A113X/A113D,ARM Cortex A53,armv8
meson-g12a,S905X2/S905Y2/S905D2,Amlogic S905X2/S905Y2/S905D2,ARM Cortex A53,armv8
meson-g12b,S922X/A311D,Amlogic S922X/A311D,ARM Cortex A73/A53,armv8
meson-sm1,S905X3/S905Y3/S905D3,Amlogic S905X3/S905Y3/S905D3,ARM Cortex A55,armv8
qemu-arm,arm,QEMU,ARM Cortex A15,armv7
qemu-aarch64,aarch64,QEMU,ARM Cortex A53,armv8
qemu-x86_64,x86_64,QEMU,x86 qemu64,x86-64

1 Chip ID Chip name Chip maker CPU CPU architecture
33 qemu-aarch64 meson-gxl aarch64 S905X/S905W/S905D/S805X QEMU Amlogic S905X/S905W/S905D/S805X ARM Cortex A53 armv8
34 qemu-x86_64 meson-gxm x86_64 S912 QEMU Amlogic S912 x86 qemu64 ARM Cortex A53 x86-64 armv8
35 qemu-x86 meson-axg x86 A113X/A113D QEMU Amlogic A113X/A113D x86 qemu64 ARM Cortex A53 x86 armv8
36 meson-g12a S905X2/S905Y2/S905D2 Amlogic S905X2/S905Y2/S905D2 ARM Cortex A53 armv8
37 meson-g12b S922X/A311D Amlogic S922X/A311D ARM Cortex A73/A53 armv8
38 meson-sm1 S905X3/S905Y3/S905D3 Amlogic S905X3/S905Y3/S905D3 ARM Cortex A55 armv8
39 qemu-arm arm QEMU ARM Cortex A15 armv7
40 qemu-aarch64 aarch64 QEMU ARM Cortex A53 armv8
41 qemu-x86_64 x86_64 QEMU x86 qemu64 x86-64
42 qemu-x86 x86 QEMU x86 qemu64 x86
43
44
45
46

View File

@ -25,6 +25,9 @@ bcm2836|bcm2837|bcm2711)
rk*)
build-boot-rk "${BOARD_ID}" "${CHIP_ID}" "${DEFCONFIG}" "${TUPLE}"
;;
meson-*)
build-boot-meson "${BOARD_ID}" "${CHIP_ID}" "${DEFCONFIG}" "${TUPLE}"
;;
qemu*)
build-boot-qemu "${BOARD_ID}" "${CHIP_ID}" "${DEFCONFIG}" "${TUPLE}"
;;

55
scripts/build-boot-meson Executable file
View File

@ -0,0 +1,55 @@
#!/bin/sh
# Build SD card image
BOARD_ID="${1}" # For example "bananapi"
CHIP_ID="${2}" # For example "allwinner-a10"
DEFCONFIG="${3}" # For example "Bananapi_defconfig"
TUPLE="${4}" # For example "arm-linux-gnueabihf"
set -ex
AMLOGIC_BOOT_FIP_GIT_URL_DEFAULT="https://github.com/LibreELEC/amlogic-boot-fip/"
if [ ! -z "${AMLOGIC_BOOT_FIP_GIT_REV}" ]
then
git clone --depth 1 \
--reference-if-able "${WORKDIR}/amlogic-boot-fip" \
--branch "${AMLOGIC_BOOT_FIP_GIT_REV}" \
"${AMLOGIC_BOOT_FIP_GIT_URL:-${AMLOGIC_BOOT_FIP_GIT_URL_DEFAULT}}" amlogic-boot-fip
else
git clone --depth 1 \
--reference-if-able "${WORKDIR}/amlogic-boot-fip" \
"${AMLOGIC_BOOT_FIP_GIT_URL:-${AMLOGIC_BOOT_FIP_GIT_URL_DEFAULT}}" amlogic-boot-fip
fi
build-u_boot "${DEFCONFIG}" "${TUPLE}"
cd amlogic-boot-fip
case "${BOARD_ID}" in
libretech_cc*)
BOARD=lepotato
;;
libretech_ac*)
BOARD=lafrite
;;
libretech_s905d*)
BOARD=tartiflette-s905d
;;
libretech_s912*)
BOARD=tartiflette-s912
;;
beelink-gsking*)
BOARD=beelink-s922x
;;
*)
# X_Y_defconfig -> x-y
BOARD=`"${DEFCONFIG%_defconfig}" | tr _ -`
;;
esac
mkdir ../amlogic-boot-fip-output
./build-fip.sh "${BOARD}" ../u-boot/u-boot.bin ../amlogic-boot-fip-output
cd ..
# Copy U-Boot but don't overwrite the partition table
dd if=amlogic-boot-fip-output/u-boot.bin.sd.bin of=tmp.img conv=notrunc bs=1 count=446
dd if=amlogic-boot-fip-output/u-boot.bin.sd.bin of=tmp.img conv=notrunc bs=512 skip=1 seek=1