[PATCH 0/5] meson64_android: add support for vim3/vim3l boards

The VIM3 and VIM3L boards are well supported in the Android Open Source project via the yukawa [1] platform.
Their U-Boot version, despite being public [2] is not in mainline.
[1] https://android.googlesource.com/device/amlogic/yukawa [2] https://gitlab.com/baylibre/amlogic/atv/u-boot/-/tree/u-boot/v2021.07/integ
Add defconfigs for both vim3, vim3l to support traditional and A/B booting/partitioning schemes.
Mattijs Korpershoek (5): configs: meson64_android: add board specific env settings configs: prepare khadas-vim3{l}_android for AOSP support boards: meson: add khadas vim3{l} android support configs: prepare khadas-vim3{l}_ab_android for AOSP support configs: khadas-vim3{l}_android_ab: enable A/B support
board/amlogic/vim3/MAINTAINERS | 4 + configs/khadas-vim3_android_ab_defconfig | 109 ++++++++++++++++++++++ configs/khadas-vim3_android_defconfig | 107 +++++++++++++++++++++ configs/khadas-vim3l_android_ab_defconfig | 109 ++++++++++++++++++++++ configs/khadas-vim3l_android_defconfig | 107 +++++++++++++++++++++ include/configs/khadas-vim3_android.h | 50 ++++++++++ include/configs/khadas-vim3l_android.h | 50 ++++++++++ include/configs/meson64_android.h | 17 ++++ 8 files changed, 553 insertions(+) create mode 100644 configs/khadas-vim3_android_ab_defconfig create mode 100644 configs/khadas-vim3_android_defconfig create mode 100644 configs/khadas-vim3l_android_ab_defconfig create mode 100644 configs/khadas-vim3l_android_defconfig create mode 100644 include/configs/khadas-vim3_android.h create mode 100644 include/configs/khadas-vim3l_android.h

This allows us to define extra board variables, such as "board" and "board_name".
Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com --- include/configs/meson64_android.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/configs/meson64_android.h b/include/configs/meson64_android.h index 7cd1ab0341..56dc9fcb07 100644 --- a/include/configs/meson64_android.h +++ b/include/configs/meson64_android.h @@ -23,6 +23,10 @@ #define CONTROL_PARTITION "misc" #endif
+#ifndef EXTRA_ANDROID_ENV_SETTINGS +#define EXTRA_ANDROID_ENV_SETTINGS "" +#endif + #if defined(CONFIG_CMD_AVB) #define AVB_VERIFY_CHECK \ "if test "${force_avb}" -eq 1; then " \ @@ -264,6 +268,7 @@ "fi;"
#define CONFIG_EXTRA_ENV_SETTINGS \ + EXTRA_ANDROID_ENV_SETTINGS \ "partitions=" PARTS_DEFAULT "\0" \ "mmcdev=2\0" \ ANDROIDBOOT_GET_CURRENT_SLOT_CMD \

The Khadas VIM3 and VIM3L board are well supported in AOSP[1]. However, there is no mainline U-Boot support for it. The U-Boot used in AOSP is based on a vendor tree [2]
Add a special defconfig for each board to allow booting Android.
Note: this is a copy-paste of khadas-vim3{l}_defconfig (commit 49c8ef0e45a91ec894ef15e7d043dafe8f1c5efd) and will be updated in future commits.
[1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards [2] https://gitlab.com/baylibre/amlogic/atv/u-boot Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com --- board/amlogic/vim3/MAINTAINERS | 2 + configs/khadas-vim3_android_defconfig | 95 ++++++++++++++++++++++++++ configs/khadas-vim3l_android_defconfig | 95 ++++++++++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 configs/khadas-vim3_android_defconfig create mode 100644 configs/khadas-vim3l_android_defconfig
diff --git a/board/amlogic/vim3/MAINTAINERS b/board/amlogic/vim3/MAINTAINERS index 92b426f66d..e185d80ce1 100644 --- a/board/amlogic/vim3/MAINTAINERS +++ b/board/amlogic/vim3/MAINTAINERS @@ -4,6 +4,8 @@ S: Maintained L: u-boot-amlogic@groups.io F: board/amlogic/vim3/ F: configs/khadas-vim3_defconfig +F: configs/khadas-vim3_android_defconfig F: configs/khadas-vim3l_defconfig +F: configs/khadas-vim3l_android_defconfig F: doc/board/amlogic/khadas-vim3.rst F: doc/board/amlogic/khadas-vim3l.rst diff --git a/configs/khadas-vim3_android_defconfig b/configs/khadas-vim3_android_defconfig new file mode 100644 index 0000000000..a225a564b2 --- /dev/null +++ b/configs/khadas-vim3_android_defconfig @@ -0,0 +1,95 @@ +CONFIG_ARM=y +CONFIG_SYS_BOARD="vim3" +CONFIG_ARCH_MESON=y +CONFIG_SYS_TEXT_BASE=0x01000000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x2000 +CONFIG_DM_GPIO=y +CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-a311d-khadas-vim3" +CONFIG_MESON_G12A=y +CONFIG_DEBUG_UART_BASE=0xff803000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_IDENT_STRING=" khadas-vim3" +CONFIG_DEBUG_UART=y +CONFIG_SYS_LOAD_ADDR=0x1000000 +CONFIG_OF_BOARD_SETUP=y +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_MISC_INIT_R=y +# CONFIG_CMD_BDI is not set +# CONFIG_CMD_IMI is not set +CONFIG_CMD_GPIO=y +CONFIG_CMD_I2C=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF_TEST=y +CONFIG_CMD_SPI=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_MASS_STORAGE=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_REGULATOR=y +CONFIG_OF_CONTROL=y +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_ADC=y +CONFIG_SARADC_MESON=y +CONFIG_BUTTON=y +CONFIG_BUTTON_ADC=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_MESON=y +CONFIG_MMC_MESON_GX=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_PHY_REALTEK=y +CONFIG_DM_ETH=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_ETH_DESIGNWARE_MESON8B=y +CONFIG_MDIO_MUX_MESON_G12A=y +CONFIG_NVME=y +CONFIG_PCI=y +CONFIG_PCIE_DW_MESON=y +CONFIG_MESON_G12A_USB_PHY=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_POWER_DOMAIN=y +CONFIG_MESON_EE_POWER_DOMAIN=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_RESET=y +CONFIG_DEBUG_UART_ANNOUNCE=y +CONFIG_DEBUG_UART_SKIP_INIT=y +CONFIG_MESON_SERIAL=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_MESON_SPIFC=y +CONFIG_SYSINFO=y +CONFIG_SYSINFO_SMBIOS=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_MESON_G12A=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e +CONFIG_USB_GADGET_PRODUCT_NUM=0xfada +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_DM_VIDEO=y +# CONFIG_VIDEO_BPP8 is not set +# CONFIG_VIDEO_BPP16 is not set +CONFIG_SYS_WHITE_ON_BLACK=y +CONFIG_VIDEO_MESON=y +CONFIG_VIDEO_DT_SIMPLEFB=y +CONFIG_SPLASH_SCREEN=y +CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_VIDEO_BMP_RLE8=y +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y +CONFIG_BMP_32BPP=y +CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/khadas-vim3l_android_defconfig b/configs/khadas-vim3l_android_defconfig new file mode 100644 index 0000000000..9d94c31891 --- /dev/null +++ b/configs/khadas-vim3l_android_defconfig @@ -0,0 +1,95 @@ +CONFIG_ARM=y +CONFIG_SYS_BOARD="vim3" +CONFIG_ARCH_MESON=y +CONFIG_SYS_TEXT_BASE=0x01000000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x2000 +CONFIG_DM_GPIO=y +CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-khadas-vim3l" +CONFIG_MESON_G12A=y +CONFIG_DEBUG_UART_BASE=0xff803000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_IDENT_STRING=" khadas-vim3l" +CONFIG_DEBUG_UART=y +CONFIG_SYS_LOAD_ADDR=0x1000000 +CONFIG_OF_BOARD_SETUP=y +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_MISC_INIT_R=y +# CONFIG_CMD_BDI is not set +# CONFIG_CMD_IMI is not set +CONFIG_CMD_GPIO=y +CONFIG_CMD_I2C=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF_TEST=y +CONFIG_CMD_SPI=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_MASS_STORAGE=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_REGULATOR=y +CONFIG_OF_CONTROL=y +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_ADC=y +CONFIG_SARADC_MESON=y +CONFIG_BUTTON=y +CONFIG_BUTTON_ADC=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_MESON=y +CONFIG_MMC_MESON_GX=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_PHY_REALTEK=y +CONFIG_DM_ETH=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_ETH_DESIGNWARE_MESON8B=y +CONFIG_MDIO_MUX_MESON_G12A=y +CONFIG_NVME=y +CONFIG_PCI=y +CONFIG_PCIE_DW_MESON=y +CONFIG_MESON_G12A_USB_PHY=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_POWER_DOMAIN=y +CONFIG_MESON_EE_POWER_DOMAIN=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_RESET=y +CONFIG_DEBUG_UART_ANNOUNCE=y +CONFIG_DEBUG_UART_SKIP_INIT=y +CONFIG_MESON_SERIAL=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_MESON_SPIFC=y +CONFIG_SYSINFO=y +CONFIG_SYSINFO_SMBIOS=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_MESON_G12A=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e +CONFIG_USB_GADGET_PRODUCT_NUM=0xfada +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_DM_VIDEO=y +# CONFIG_VIDEO_BPP8 is not set +# CONFIG_VIDEO_BPP16 is not set +CONFIG_SYS_WHITE_ON_BLACK=y +CONFIG_VIDEO_MESON=y +CONFIG_VIDEO_DT_SIMPLEFB=y +CONFIG_SPLASH_SCREEN=y +CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_VIDEO_BMP_RLE8=y +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y +CONFIG_BMP_32BPP=y +CONFIG_OF_LIBFDT_OVERLAY=y

Add all the necessary bits to flash and boot Android for both Khadas VIM3 and VIM3L boards.
For Android instructions, refer to [1]
[1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com --- configs/khadas-vim3_android_defconfig | 16 ++++++++++-- configs/khadas-vim3l_android_defconfig | 16 ++++++++++-- include/configs/khadas-vim3_android.h | 34 ++++++++++++++++++++++++++ include/configs/khadas-vim3l_android.h | 34 ++++++++++++++++++++++++++ include/configs/meson64_android.h | 12 +++++++++ 5 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 include/configs/khadas-vim3_android.h create mode 100644 include/configs/khadas-vim3l_android.h
diff --git a/configs/khadas-vim3_android_defconfig b/configs/khadas-vim3_android_defconfig index a225a564b2..9305a54b1b 100644 --- a/configs/khadas-vim3_android_defconfig +++ b/configs/khadas-vim3_android_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3_android" CONFIG_ARCH_MESON=y CONFIG_SYS_TEXT_BASE=0x01000000 CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_SIZE=0x10000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-a311d-khadas-vim3" CONFIG_MESON_G12A=y @@ -15,9 +16,14 @@ CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y CONFIG_CMD_I2C=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y @@ -28,6 +34,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y @@ -35,6 +42,11 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_BUTTON=y CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MESON=y CONFIG_MMC_MESON_GX=y @@ -79,7 +91,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set @@ -92,4 +103,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/khadas-vim3l_android_defconfig b/configs/khadas-vim3l_android_defconfig index 9d94c31891..5eed79b263 100644 --- a/configs/khadas-vim3l_android_defconfig +++ b/configs/khadas-vim3l_android_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3l_android" CONFIG_ARCH_MESON=y CONFIG_SYS_TEXT_BASE=0x01000000 CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_SIZE=0x10000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-khadas-vim3l" CONFIG_MESON_G12A=y @@ -15,9 +16,14 @@ CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y CONFIG_CMD_I2C=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y @@ -28,6 +34,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y @@ -35,6 +42,11 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_BUTTON=y CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MESON=y CONFIG_MMC_MESON_GX=y @@ -79,7 +91,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set @@ -92,4 +103,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/include/configs/khadas-vim3_android.h b/include/configs/khadas-vim3_android.h new file mode 100644 index 0000000000..a6f6dd0a7a --- /dev/null +++ b/include/configs/khadas-vim3_android.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Configuration for the khadas VIM3 Android + * + * Copyright (C) 2021 Baylibre, SAS + * Author: Guillaume LA ROQUE glaroque@baylibre.com + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" +#define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;" + +#define PARTS_DEFAULT \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ + "name=misc,size=512K,uuid=${uuid_gpt_misc};" \ + "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \ + "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \ + "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ + "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ + "name=cache,size=256M,uuid=${uuid_gpt_cache};" \ + "name=super,size=1792M,uuid=${uuid_gpt_super};" \ + "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ + "name=rootfs,size=-,uuid=" ROOT_UUID + +#define EXTRA_ANDROID_ENV_SETTINGS \ + "board=vim3\0" \ + "board_name=vim3\0" \ + +#include <configs/meson64_android.h> + +#endif /* __CONFIG_H */ diff --git a/include/configs/khadas-vim3l_android.h b/include/configs/khadas-vim3l_android.h new file mode 100644 index 0000000000..7affc3e448 --- /dev/null +++ b/include/configs/khadas-vim3l_android.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Configuration for the khadas VIM3L Android + * + * Copyright (C) 2021 Baylibre, SAS + * Author: Guillaume LA ROQUE glaroque@baylibre.com + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" +#define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;" + +#define PARTS_DEFAULT \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ + "name=misc,size=512K,uuid=${uuid_gpt_misc};" \ + "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \ + "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \ + "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \ + "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \ + "name=cache,size=256M,uuid=${uuid_gpt_cache};" \ + "name=super,size=1792M,uuid=${uuid_gpt_super};" \ + "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ + "name=rootfs,size=-,uuid=" ROOT_UUID + +#define EXTRA_ANDROID_ENV_SETTINGS \ + "board=vim3l\0" \ + "board_name=vim3l\0" \ + +#include <configs/meson64_android.h> + +#endif /* __CONFIG_H */ diff --git a/include/configs/meson64_android.h b/include/configs/meson64_android.h index 56dc9fcb07..0303d187de 100644 --- a/include/configs/meson64_android.h +++ b/include/configs/meson64_android.h @@ -104,6 +104,12 @@ "elif test $board_name = sei610; then " \ "echo " Reading DTB for sei610..."; " \ "setenv dtb_index 1;" \ + "elif test $board_name = vim3l; then " \ + "echo " Reading DTB for vim3l..."; " \ + "setenv dtb_index 2;" \ + "elif test $board_name = vim3; then " \ + "echo " Reading DTB for vim3..."; " \ + "setenv dtb_index 3;" \ "else " \ "echo Error: Android boot is not supported for $board_name; " \ "exit; " \ @@ -117,6 +123,12 @@ "elif test $board_name = sei610; then " \ "echo " Reading DTBO for sei610..."; " \ "setenv dtbo_index 1;" \ + "elif test $board_name = vim3l; then " \ + "echo " Reading DTBO for vim3l..."; " \ + "setenv dtbo_index 2;" \ + "elif test $board_name = vim3; then " \ + "echo " Reading DTBO for vim3..."; " \ + "setenv dtbo_index 3;" \ "else " \ "echo Error: Android boot is not supported for $board_name; " \ "exit; " \

Hi,
On 19/11/2021 11:08, Mattijs Korpershoek wrote:
Add all the necessary bits to flash and boot Android for both Khadas VIM3 and VIM3L boards.
For Android instructions, refer to [1]
[1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com
configs/khadas-vim3_android_defconfig | 16 ++++++++++-- configs/khadas-vim3l_android_defconfig | 16 ++++++++++-- include/configs/khadas-vim3_android.h | 34 ++++++++++++++++++++++++++ include/configs/khadas-vim3l_android.h | 34 ++++++++++++++++++++++++++ include/configs/meson64_android.h | 12 +++++++++ 5 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 include/configs/khadas-vim3_android.h create mode 100644 include/configs/khadas-vim3l_android.h
diff --git a/configs/khadas-vim3_android_defconfig b/configs/khadas-vim3_android_defconfig index a225a564b2..9305a54b1b 100644 --- a/configs/khadas-vim3_android_defconfig +++ b/configs/khadas-vim3_android_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3_android" CONFIG_ARCH_MESON=y CONFIG_SYS_TEXT_BASE=0x01000000 CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_SIZE=0x10000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-a311d-khadas-vim3" CONFIG_MESON_G12A=y @@ -15,9 +16,14 @@ CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y CONFIG_CMD_I2C=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y @@ -28,6 +34,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y @@ -35,6 +42,11 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_BUTTON=y CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MESON=y CONFIG_MMC_MESON_GX=y @@ -79,7 +91,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set @@ -92,4 +103,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/khadas-vim3l_android_defconfig b/configs/khadas-vim3l_android_defconfig index 9d94c31891..5eed79b263 100644 --- a/configs/khadas-vim3l_android_defconfig +++ b/configs/khadas-vim3l_android_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3l_android" CONFIG_ARCH_MESON=y CONFIG_SYS_TEXT_BASE=0x01000000 CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_SIZE=0x10000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-khadas-vim3l" CONFIG_MESON_G12A=y @@ -15,9 +16,14 @@ CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y CONFIG_CMD_I2C=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y @@ -28,6 +34,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y @@ -35,6 +42,11 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_BUTTON=y CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MESON=y CONFIG_MMC_MESON_GX=y @@ -79,7 +91,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set @@ -92,4 +103,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/include/configs/khadas-vim3_android.h b/include/configs/khadas-vim3_android.h new file mode 100644 index 0000000000..a6f6dd0a7a --- /dev/null +++ b/include/configs/khadas-vim3_android.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- Configuration for the khadas VIM3 Android
- Copyright (C) 2021 Baylibre, SAS
- Author: Guillaume LA ROQUE glaroque@baylibre.com
- */
+#ifndef __CONFIG_H +#define __CONFIG_H
+#define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" +#define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \
- "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \
- "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \
- "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \
- "name=cache,size=256M,uuid=${uuid_gpt_cache};" \
- "name=super,size=1792M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#define EXTRA_ANDROID_ENV_SETTINGS \
- "board=vim3\0" \
- "board_name=vim3\0" \
+#include <configs/meson64_android.h>
+#endif /* __CONFIG_H */ diff --git a/include/configs/khadas-vim3l_android.h b/include/configs/khadas-vim3l_android.h new file mode 100644 index 0000000000..7affc3e448 --- /dev/null +++ b/include/configs/khadas-vim3l_android.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- Configuration for the khadas VIM3L Android
- Copyright (C) 2021 Baylibre, SAS
- Author: Guillaume LA ROQUE glaroque@baylibre.com
- */
+#ifndef __CONFIG_H +#define __CONFIG_H
+#define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" +#define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \
- "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \
- "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \
- "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \
- "name=cache,size=256M,uuid=${uuid_gpt_cache};" \
- "name=super,size=1792M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#define EXTRA_ANDROID_ENV_SETTINGS \
- "board=vim3l\0" \
- "board_name=vim3l\0" \
+#include <configs/meson64_android.h>
+#endif /* __CONFIG_H */ diff --git a/include/configs/meson64_android.h b/include/configs/meson64_android.h index 56dc9fcb07..0303d187de 100644 --- a/include/configs/meson64_android.h +++ b/include/configs/meson64_android.h @@ -104,6 +104,12 @@ "elif test $board_name = sei610; then " \ "echo " Reading DTB for sei610..."; " \ "setenv dtb_index 1;" \
- "elif test $board_name = vim3l; then " \
"echo \" Reading DTB for vim3l...\"; " \
"setenv dtb_index 2;" \
- "elif test $board_name = vim3; then " \
"echo \" Reading DTB for vim3...\"; " \
"else " \ "echo Error: Android boot is not supported for $board_name; " \ "exit; " \"setenv dtb_index 3;" \
@@ -117,6 +123,12 @@ "elif test $board_name = sei610; then " \ "echo " Reading DTBO for sei610..."; " \ "setenv dtbo_index 1;" \
- "elif test $board_name = vim3l; then " \
"echo \" Reading DTBO for vim3l...\"; " \
"setenv dtbo_index 2;" \
- "elif test $board_name = vim3; then " \
"echo \" Reading DTBO for vim3...\"; " \
"else " \ "echo Error: Android boot is not supported for $board_name; " \ "exit; " \"setenv dtbo_index 3;" \
I think you should squash this one with the previous one.
Neil

Hi Neil,
Thank you for your review.
Neil Armstrong narmstrong@baylibre.com writes:
Hi,
On 19/11/2021 11:08, Mattijs Korpershoek wrote:
Add all the necessary bits to flash and boot Android for both Khadas VIM3 and VIM3L boards.
For Android instructions, refer to [1]
[1] https://source.android.com/setup/build/devices#vim3_and_vim3l_boards Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com
configs/khadas-vim3_android_defconfig | 16 ++++++++++-- configs/khadas-vim3l_android_defconfig | 16 ++++++++++-- include/configs/khadas-vim3_android.h | 34 ++++++++++++++++++++++++++ include/configs/khadas-vim3l_android.h | 34 ++++++++++++++++++++++++++ include/configs/meson64_android.h | 12 +++++++++ 5 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 include/configs/khadas-vim3_android.h create mode 100644 include/configs/khadas-vim3l_android.h
diff --git a/configs/khadas-vim3_android_defconfig b/configs/khadas-vim3_android_defconfig index a225a564b2..9305a54b1b 100644 --- a/configs/khadas-vim3_android_defconfig +++ b/configs/khadas-vim3_android_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3_android" CONFIG_ARCH_MESON=y CONFIG_SYS_TEXT_BASE=0x01000000 CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_SIZE=0x10000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-a311d-khadas-vim3" CONFIG_MESON_G12A=y @@ -15,9 +16,14 @@ CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y CONFIG_CMD_I2C=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y @@ -28,6 +34,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y @@ -35,6 +42,11 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_BUTTON=y CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MESON=y CONFIG_MMC_MESON_GX=y @@ -79,7 +91,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set @@ -92,4 +103,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/khadas-vim3l_android_defconfig b/configs/khadas-vim3l_android_defconfig index 9d94c31891..5eed79b263 100644 --- a/configs/khadas-vim3l_android_defconfig +++ b/configs/khadas-vim3l_android_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3l_android" CONFIG_ARCH_MESON=y CONFIG_SYS_TEXT_BASE=0x01000000 CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_SIZE=0x2000 +CONFIG_ENV_SIZE=0x10000 CONFIG_DM_GPIO=y CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-khadas-vim3l" CONFIG_MESON_G12A=y @@ -15,9 +16,14 @@ CONFIG_SYS_LOAD_ADDR=0x1000000 CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y # CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y # CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y CONFIG_CMD_I2C=y # CONFIG_CMD_LOADS is not set CONFIG_CMD_MMC=y @@ -28,6 +34,7 @@ CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_NET_RANDOM_ETHADDR=y @@ -35,6 +42,11 @@ CONFIG_ADC=y CONFIG_SARADC_MESON=y CONFIG_BUTTON=y CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MESON=y CONFIG_MMC_MESON_GX=y @@ -79,7 +91,6 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e CONFIG_USB_GADGET_PRODUCT_NUM=0xfada CONFIG_USB_GADGET_DWC2_OTG=y CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y -CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_DM_VIDEO=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set @@ -92,4 +103,5 @@ CONFIG_VIDEO_BMP_RLE8=y CONFIG_BMP_16BPP=y CONFIG_BMP_24BPP=y CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/include/configs/khadas-vim3_android.h b/include/configs/khadas-vim3_android.h new file mode 100644 index 0000000000..a6f6dd0a7a --- /dev/null +++ b/include/configs/khadas-vim3_android.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- Configuration for the khadas VIM3 Android
- Copyright (C) 2021 Baylibre, SAS
- Author: Guillaume LA ROQUE glaroque@baylibre.com
- */
+#ifndef __CONFIG_H +#define __CONFIG_H
+#define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" +#define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \
- "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \
- "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \
- "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \
- "name=cache,size=256M,uuid=${uuid_gpt_cache};" \
- "name=super,size=1792M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#define EXTRA_ANDROID_ENV_SETTINGS \
- "board=vim3\0" \
- "board_name=vim3\0" \
+#include <configs/meson64_android.h>
+#endif /* __CONFIG_H */ diff --git a/include/configs/khadas-vim3l_android.h b/include/configs/khadas-vim3l_android.h new file mode 100644 index 0000000000..7affc3e448 --- /dev/null +++ b/include/configs/khadas-vim3l_android.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- Configuration for the khadas VIM3L Android
- Copyright (C) 2021 Baylibre, SAS
- Author: Guillaume LA ROQUE glaroque@baylibre.com
- */
+#ifndef __CONFIG_H +#define __CONFIG_H
+#define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" +#define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};" \
- "name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};" \
- "name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};" \
- "name=recovery,size=32M,uuid=${uuid_gpt_recovery};" \
- "name=cache,size=256M,uuid=${uuid_gpt_cache};" \
- "name=super,size=1792M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#define EXTRA_ANDROID_ENV_SETTINGS \
- "board=vim3l\0" \
- "board_name=vim3l\0" \
+#include <configs/meson64_android.h>
+#endif /* __CONFIG_H */ diff --git a/include/configs/meson64_android.h b/include/configs/meson64_android.h index 56dc9fcb07..0303d187de 100644 --- a/include/configs/meson64_android.h +++ b/include/configs/meson64_android.h @@ -104,6 +104,12 @@ "elif test $board_name = sei610; then " \ "echo " Reading DTB for sei610..."; " \ "setenv dtb_index 1;" \
- "elif test $board_name = vim3l; then " \
"echo \" Reading DTB for vim3l...\"; " \
"setenv dtb_index 2;" \
- "elif test $board_name = vim3; then " \
"echo \" Reading DTB for vim3...\"; " \
"else " \ "echo Error: Android boot is not supported for $board_name; " \ "exit; " \"setenv dtb_index 3;" \
@@ -117,6 +123,12 @@ "elif test $board_name = sei610; then " \ "echo " Reading DTBO for sei610..."; " \ "setenv dtbo_index 1;" \
- "elif test $board_name = vim3l; then " \
"echo \" Reading DTBO for vim3l...\"; " \
"setenv dtbo_index 2;" \
- "elif test $board_name = vim3; then " \
"echo \" Reading DTBO for vim3...\"; " \
"else " \ "echo Error: Android boot is not supported for $board_name; " \ "exit; " \"setenv dtbo_index 3;" \
I think you should squash this one with the previous one.
Will do in v2.
Neil

In AOSP, the bot VIM3 and VIM3L have 2 bootloader flavors, depending on A/B enablement.
For example, for vim3l, the naming is: - u-boot_kvim3l_noab.bin : legacy support - u-boot_kvim3l_ab.bin : A/B support
Prepare a defconfig to support u-boot_kvim3_ab.bin and u-boot_kvim3l_ab.bin.
This is identical to khadas-vim3{l}_ab_android but will be updated in the next commit.
Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com --- board/amlogic/vim3/MAINTAINERS | 2 + configs/khadas-vim3_android_ab_defconfig | 107 ++++++++++++++++++++++ configs/khadas-vim3l_android_ab_defconfig | 107 ++++++++++++++++++++++ 3 files changed, 216 insertions(+) create mode 100644 configs/khadas-vim3_android_ab_defconfig create mode 100644 configs/khadas-vim3l_android_ab_defconfig
diff --git a/board/amlogic/vim3/MAINTAINERS b/board/amlogic/vim3/MAINTAINERS index e185d80ce1..d8848495c7 100644 --- a/board/amlogic/vim3/MAINTAINERS +++ b/board/amlogic/vim3/MAINTAINERS @@ -5,7 +5,9 @@ L: u-boot-amlogic@groups.io F: board/amlogic/vim3/ F: configs/khadas-vim3_defconfig F: configs/khadas-vim3_android_defconfig +F: configs/khadas-vim3_android_ab_defconfig F: configs/khadas-vim3l_defconfig F: configs/khadas-vim3l_android_defconfig +F: configs/khadas-vim3l_android_ab_defconfig F: doc/board/amlogic/khadas-vim3.rst F: doc/board/amlogic/khadas-vim3l.rst diff --git a/configs/khadas-vim3_android_ab_defconfig b/configs/khadas-vim3_android_ab_defconfig new file mode 100644 index 0000000000..9305a54b1b --- /dev/null +++ b/configs/khadas-vim3_android_ab_defconfig @@ -0,0 +1,107 @@ +CONFIG_ARM=y +CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3_android" +CONFIG_ARCH_MESON=y +CONFIG_SYS_TEXT_BASE=0x01000000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x10000 +CONFIG_DM_GPIO=y +CONFIG_DEFAULT_DEVICE_TREE="meson-g12b-a311d-khadas-vim3" +CONFIG_MESON_G12A=y +CONFIG_DEBUG_UART_BASE=0xff803000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_IDENT_STRING=" khadas-vim3" +CONFIG_DEBUG_UART=y +CONFIG_SYS_LOAD_ADDR=0x1000000 +CONFIG_OF_BOARD_SETUP=y +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y +# CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y +# CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF_TEST=y +CONFIG_CMD_SPI=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_MASS_STORAGE=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y +CONFIG_OF_CONTROL=y +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_ADC=y +CONFIG_SARADC_MESON=y +CONFIG_BUTTON=y +CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_MESON=y +CONFIG_MMC_MESON_GX=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_PHY_REALTEK=y +CONFIG_DM_ETH=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_ETH_DESIGNWARE_MESON8B=y +CONFIG_MDIO_MUX_MESON_G12A=y +CONFIG_NVME=y +CONFIG_PCI=y +CONFIG_PCIE_DW_MESON=y +CONFIG_MESON_G12A_USB_PHY=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_POWER_DOMAIN=y +CONFIG_MESON_EE_POWER_DOMAIN=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_RESET=y +CONFIG_DEBUG_UART_ANNOUNCE=y +CONFIG_DEBUG_UART_SKIP_INIT=y +CONFIG_MESON_SERIAL=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_MESON_SPIFC=y +CONFIG_SYSINFO=y +CONFIG_SYSINFO_SMBIOS=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_MESON_G12A=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e +CONFIG_USB_GADGET_PRODUCT_NUM=0xfada +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y +CONFIG_DM_VIDEO=y +# CONFIG_VIDEO_BPP8 is not set +# CONFIG_VIDEO_BPP16 is not set +CONFIG_SYS_WHITE_ON_BLACK=y +CONFIG_VIDEO_MESON=y +CONFIG_VIDEO_DT_SIMPLEFB=y +CONFIG_SPLASH_SCREEN=y +CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_VIDEO_BMP_RLE8=y +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y +CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y +CONFIG_OF_LIBFDT_OVERLAY=y diff --git a/configs/khadas-vim3l_android_ab_defconfig b/configs/khadas-vim3l_android_ab_defconfig new file mode 100644 index 0000000000..5eed79b263 --- /dev/null +++ b/configs/khadas-vim3l_android_ab_defconfig @@ -0,0 +1,107 @@ +CONFIG_ARM=y +CONFIG_SYS_BOARD="vim3" +CONFIG_SYS_CONFIG_NAME="khadas-vim3l_android" +CONFIG_ARCH_MESON=y +CONFIG_SYS_TEXT_BASE=0x01000000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_SIZE=0x10000 +CONFIG_DM_GPIO=y +CONFIG_DEFAULT_DEVICE_TREE="meson-sm1-khadas-vim3l" +CONFIG_MESON_G12A=y +CONFIG_DEBUG_UART_BASE=0xff803000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_IDENT_STRING=" khadas-vim3l" +CONFIG_DEBUG_UART=y +CONFIG_SYS_LOAD_ADDR=0x1000000 +CONFIG_OF_BOARD_SETUP=y +# CONFIG_DISPLAY_CPUINFO is not set +CONFIG_MISC_INIT_R=y +CONFIG_AVB_VERIFY=y +# CONFIG_CMD_BDI is not set +CONFIG_CMD_ADTIMG=y +CONFIG_CMD_ABOOTIMG=y +# CONFIG_CMD_IMI is not set +CONFIG_CMD_BCB=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF_TEST=y +CONFIG_CMD_SPI=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_MASS_STORAGE=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_REGULATOR=y +CONFIG_CMD_AVB=y +CONFIG_OF_CONTROL=y +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_ADC=y +CONFIG_SARADC_MESON=y +CONFIG_BUTTON=y +CONFIG_BUTTON_ADC=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x6000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=2 +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_MESON=y +CONFIG_MMC_MESON_GX=y +CONFIG_MTD=y +CONFIG_DM_MTD=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_PHY_REALTEK=y +CONFIG_DM_ETH=y +CONFIG_DM_MDIO=y +CONFIG_DM_MDIO_MUX=y +CONFIG_ETH_DESIGNWARE_MESON8B=y +CONFIG_MDIO_MUX_MESON_G12A=y +CONFIG_NVME=y +CONFIG_PCI=y +CONFIG_PCIE_DW_MESON=y +CONFIG_MESON_G12A_USB_PHY=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_POWER_DOMAIN=y +CONFIG_MESON_EE_POWER_DOMAIN=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_RESET=y +CONFIG_DEBUG_UART_ANNOUNCE=y +CONFIG_DEBUG_UART_SKIP_INIT=y +CONFIG_MESON_SERIAL=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_MESON_SPIFC=y +CONFIG_SYSINFO=y +CONFIG_SYSINFO_SMBIOS=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_MESON_G12A=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e +CONFIG_USB_GADGET_PRODUCT_NUM=0xfada +CONFIG_USB_GADGET_DWC2_OTG=y +CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y +CONFIG_DM_VIDEO=y +# CONFIG_VIDEO_BPP8 is not set +# CONFIG_VIDEO_BPP16 is not set +CONFIG_SYS_WHITE_ON_BLACK=y +CONFIG_VIDEO_MESON=y +CONFIG_VIDEO_DT_SIMPLEFB=y +CONFIG_SPLASH_SCREEN=y +CONFIG_SPLASH_SCREEN_ALIGN=y +CONFIG_VIDEO_BMP_RLE8=y +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y +CONFIG_BMP_32BPP=y +CONFIG_LIBAVB=y +CONFIG_OF_LIBFDT_OVERLAY=y

meson64_android.h also relies on CMD_AB_SELECT so enable that as well.
Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com --- configs/khadas-vim3_android_ab_defconfig | 2 ++ configs/khadas-vim3l_android_ab_defconfig | 2 ++ include/configs/khadas-vim3_android.h | 16 ++++++++++++++++ include/configs/khadas-vim3l_android.h | 16 ++++++++++++++++ 4 files changed, 36 insertions(+)
diff --git a/configs/khadas-vim3_android_ab_defconfig b/configs/khadas-vim3_android_ab_defconfig index 9305a54b1b..88325c37db 100644 --- a/configs/khadas-vim3_android_ab_defconfig +++ b/configs/khadas-vim3_android_ab_defconfig @@ -17,6 +17,7 @@ CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y CONFIG_AVB_VERIFY=y +CONFIG_ANDROID_AB=y # CONFIG_CMD_BDI is not set CONFIG_CMD_ADTIMG=y CONFIG_CMD_ABOOTIMG=y @@ -33,6 +34,7 @@ CONFIG_CMD_SPI=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_AB_SELECT=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y diff --git a/configs/khadas-vim3l_android_ab_defconfig b/configs/khadas-vim3l_android_ab_defconfig index 5eed79b263..608b54dca2 100644 --- a/configs/khadas-vim3l_android_ab_defconfig +++ b/configs/khadas-vim3l_android_ab_defconfig @@ -17,6 +17,7 @@ CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y CONFIG_AVB_VERIFY=y +CONFIG_ANDROID_AB=y # CONFIG_CMD_BDI is not set CONFIG_CMD_ADTIMG=y CONFIG_CMD_ABOOTIMG=y @@ -33,6 +34,7 @@ CONFIG_CMD_SPI=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_AB_SELECT=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y diff --git a/include/configs/khadas-vim3_android.h b/include/configs/khadas-vim3_android.h index a6f6dd0a7a..da6adf6c41 100644 --- a/include/configs/khadas-vim3_android.h +++ b/include/configs/khadas-vim3_android.h @@ -12,6 +12,21 @@ #define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" #define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#if defined(CONFIG_CMD_AB_SELECT) +#define PARTS_DEFAULT \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ + "name=misc,size=512K,uuid=${uuid_gpt_misc};" \ + "name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};" \ + "name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};" \ + "name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};" \ + "name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};" \ + "name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};" \ + "name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};" \ + "name=super,size=3072M,uuid=${uuid_gpt_super};" \ + "name=userdata,size=11282M,uuid=${uuid_gpt_userdata};" \ + "name=rootfs,size=-,uuid=" ROOT_UUID +#else #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ @@ -24,6 +39,7 @@ "name=super,size=1792M,uuid=${uuid_gpt_super};" \ "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID +#endif
#define EXTRA_ANDROID_ENV_SETTINGS \ "board=vim3\0" \ diff --git a/include/configs/khadas-vim3l_android.h b/include/configs/khadas-vim3l_android.h index 7affc3e448..b1768e2d82 100644 --- a/include/configs/khadas-vim3l_android.h +++ b/include/configs/khadas-vim3l_android.h @@ -12,6 +12,21 @@ #define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" #define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#if defined(CONFIG_CMD_AB_SELECT) +#define PARTS_DEFAULT \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ + "name=misc,size=512K,uuid=${uuid_gpt_misc};" \ + "name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};" \ + "name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};" \ + "name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};" \ + "name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};" \ + "name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};" \ + "name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};" \ + "name=super,size=3072M,uuid=${uuid_gpt_super};" \ + "name=userdata,size=11282M,uuid=${uuid_gpt_userdata};" \ + "name=rootfs,size=-,uuid=" ROOT_UUID +#else #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ @@ -24,6 +39,7 @@ "name=super,size=1792M,uuid=${uuid_gpt_super};" \ "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID +#endif
#define EXTRA_ANDROID_ENV_SETTINGS \ "board=vim3l\0" \

Hi,
On 19/11/2021 11:08, Mattijs Korpershoek wrote:
meson64_android.h also relies on CMD_AB_SELECT so enable that as well.
Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com
configs/khadas-vim3_android_ab_defconfig | 2 ++ configs/khadas-vim3l_android_ab_defconfig | 2 ++ include/configs/khadas-vim3_android.h | 16 ++++++++++++++++ include/configs/khadas-vim3l_android.h | 16 ++++++++++++++++ 4 files changed, 36 insertions(+)
diff --git a/configs/khadas-vim3_android_ab_defconfig b/configs/khadas-vim3_android_ab_defconfig index 9305a54b1b..88325c37db 100644 --- a/configs/khadas-vim3_android_ab_defconfig +++ b/configs/khadas-vim3_android_ab_defconfig @@ -17,6 +17,7 @@ CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y CONFIG_AVB_VERIFY=y +CONFIG_ANDROID_AB=y # CONFIG_CMD_BDI is not set CONFIG_CMD_ADTIMG=y CONFIG_CMD_ABOOTIMG=y @@ -33,6 +34,7 @@ CONFIG_CMD_SPI=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_AB_SELECT=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y diff --git a/configs/khadas-vim3l_android_ab_defconfig b/configs/khadas-vim3l_android_ab_defconfig index 5eed79b263..608b54dca2 100644 --- a/configs/khadas-vim3l_android_ab_defconfig +++ b/configs/khadas-vim3l_android_ab_defconfig @@ -17,6 +17,7 @@ CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y CONFIG_AVB_VERIFY=y +CONFIG_ANDROID_AB=y # CONFIG_CMD_BDI is not set CONFIG_CMD_ADTIMG=y CONFIG_CMD_ABOOTIMG=y @@ -33,6 +34,7 @@ CONFIG_CMD_SPI=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_AB_SELECT=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y diff --git a/include/configs/khadas-vim3_android.h b/include/configs/khadas-vim3_android.h index a6f6dd0a7a..da6adf6c41 100644 --- a/include/configs/khadas-vim3_android.h +++ b/include/configs/khadas-vim3_android.h @@ -12,6 +12,21 @@ #define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" #define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#if defined(CONFIG_CMD_AB_SELECT) +#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};" \
- "name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};" \
- "name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};" \
- "name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};" \
- "name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};" \
- "name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};" \
- "name=super,size=3072M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=11282M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#else #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ @@ -24,6 +39,7 @@ "name=super,size=1792M,uuid=${uuid_gpt_super};" \ "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID +#endif
#define EXTRA_ANDROID_ENV_SETTINGS \ "board=vim3\0" \ diff --git a/include/configs/khadas-vim3l_android.h b/include/configs/khadas-vim3l_android.h index 7affc3e448..b1768e2d82 100644 --- a/include/configs/khadas-vim3l_android.h +++ b/include/configs/khadas-vim3l_android.h @@ -12,6 +12,21 @@ #define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" #define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#if defined(CONFIG_CMD_AB_SELECT) +#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};" \
- "name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};" \
- "name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};" \
- "name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};" \
- "name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};" \
- "name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};" \
- "name=super,size=3072M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=11282M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#else #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ @@ -24,6 +39,7 @@ "name=super,size=1792M,uuid=${uuid_gpt_super};" \ "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID +#endif
#define EXTRA_ANDROID_ENV_SETTINGS \ "board=vim3l\0" \
You should move this khadas-vim3l_android.h change adding AB support before adding defconfig for AB, move this patch in position 4 and add CONFIG_*AB*=y in the XXXXX_android_ab_defconfig configs you add.
Neil

Hi Neil,
Thank you for your review.
Neil Armstrong narmstrong@baylibre.com writes:
Hi,
On 19/11/2021 11:08, Mattijs Korpershoek wrote:
meson64_android.h also relies on CMD_AB_SELECT so enable that as well.
Signed-off-by: Guillaume La Roque glaroque@baylibre.com Signed-off-by: Mattijs Korpershoek mkorpershoek@baylibre.com
configs/khadas-vim3_android_ab_defconfig | 2 ++ configs/khadas-vim3l_android_ab_defconfig | 2 ++ include/configs/khadas-vim3_android.h | 16 ++++++++++++++++ include/configs/khadas-vim3l_android.h | 16 ++++++++++++++++ 4 files changed, 36 insertions(+)
diff --git a/configs/khadas-vim3_android_ab_defconfig b/configs/khadas-vim3_android_ab_defconfig index 9305a54b1b..88325c37db 100644 --- a/configs/khadas-vim3_android_ab_defconfig +++ b/configs/khadas-vim3_android_ab_defconfig @@ -17,6 +17,7 @@ CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y CONFIG_AVB_VERIFY=y +CONFIG_ANDROID_AB=y # CONFIG_CMD_BDI is not set CONFIG_CMD_ADTIMG=y CONFIG_CMD_ABOOTIMG=y @@ -33,6 +34,7 @@ CONFIG_CMD_SPI=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_AB_SELECT=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y diff --git a/configs/khadas-vim3l_android_ab_defconfig b/configs/khadas-vim3l_android_ab_defconfig index 5eed79b263..608b54dca2 100644 --- a/configs/khadas-vim3l_android_ab_defconfig +++ b/configs/khadas-vim3l_android_ab_defconfig @@ -17,6 +17,7 @@ CONFIG_OF_BOARD_SETUP=y # CONFIG_DISPLAY_CPUINFO is not set CONFIG_MISC_INIT_R=y CONFIG_AVB_VERIFY=y +CONFIG_ANDROID_AB=y # CONFIG_CMD_BDI is not set CONFIG_CMD_ADTIMG=y CONFIG_CMD_ABOOTIMG=y @@ -33,6 +34,7 @@ CONFIG_CMD_SPI=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_AB_SELECT=y CONFIG_CMD_REGULATOR=y CONFIG_CMD_AVB=y CONFIG_OF_CONTROL=y diff --git a/include/configs/khadas-vim3_android.h b/include/configs/khadas-vim3_android.h index a6f6dd0a7a..da6adf6c41 100644 --- a/include/configs/khadas-vim3_android.h +++ b/include/configs/khadas-vim3_android.h @@ -12,6 +12,21 @@ #define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" #define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#if defined(CONFIG_CMD_AB_SELECT) +#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};" \
- "name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};" \
- "name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};" \
- "name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};" \
- "name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};" \
- "name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};" \
- "name=super,size=3072M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=11282M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#else #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ @@ -24,6 +39,7 @@ "name=super,size=1792M,uuid=${uuid_gpt_super};" \ "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID +#endif
#define EXTRA_ANDROID_ENV_SETTINGS \ "board=vim3\0" \ diff --git a/include/configs/khadas-vim3l_android.h b/include/configs/khadas-vim3l_android.h index 7affc3e448..b1768e2d82 100644 --- a/include/configs/khadas-vim3l_android.h +++ b/include/configs/khadas-vim3l_android.h @@ -12,6 +12,21 @@ #define LOGO_UUID "43a3305d-150f-4cc9-bd3b-38fca8693846;" #define ROOT_UUID "ddb8c3f6-d94d-4394-b633-3134139cc2e0;"
+#if defined(CONFIG_CMD_AB_SELECT) +#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \
- "name=misc,size=512K,uuid=${uuid_gpt_misc};" \
- "name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};" \
- "name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};" \
- "name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};" \
- "name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};" \
- "name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};" \
- "name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};" \
- "name=super,size=3072M,uuid=${uuid_gpt_super};" \
- "name=userdata,size=11282M,uuid=${uuid_gpt_userdata};" \
- "name=rootfs,size=-,uuid=" ROOT_UUID
+#else #define PARTS_DEFAULT \ "uuid_disk=${uuid_gpt_disk};" \ "name=logo,start=512K,size=2M,uuid=" LOGO_UUID \ @@ -24,6 +39,7 @@ "name=super,size=1792M,uuid=${uuid_gpt_super};" \ "name=userdata,size=12786M,uuid=${uuid_gpt_userdata};" \ "name=rootfs,size=-,uuid=" ROOT_UUID +#endif
#define EXTRA_ANDROID_ENV_SETTINGS \ "board=vim3l\0" \
You should move this khadas-vim3l_android.h change adding AB support before adding defconfig for AB, move this patch in position 4 and add CONFIG_*AB*=y in the XXXXX_android_ab_defconfig configs you add.
Will do in v2.
Neil
participants (2)
-
Mattijs Korpershoek
-
Neil Armstrong