Message ID | 1553592073-20154-6-git-send-email-jun.nie@linaro.org |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show |
Series | pico-imx7d: Add support for BL33 case | expand |
On Tue, Mar 26, 2019 at 6:23 AM Jun Nie <jun.nie@linaro.org> wrote: > > Add default configuration to run u-boot as BL33 in the boot flow case > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > Signed-off-by: Jun Nie <jun.nie@linaro.org> Please base it on pico-imx7d_defconfig so user is asked for the base board to use and it provides more flexibility to test.
Otavio Salvador <otavio.salvador@ossystems.com.br> 于2019年3月26日周二 下午8:23写道: > > On Tue, Mar 26, 2019 at 6:23 AM Jun Nie <jun.nie@linaro.org> wrote: > > > > Add default configuration to run u-boot as BL33 in the boot flow case > > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > > > Signed-off-by: Jun Nie <jun.nie@linaro.org> > > Please base it on pico-imx7d_defconfig so user is asked for the base > board to use and it provides more flexibility to test. Thanks for pointing out this part. I should remove CONFIG_DEFAULT_FDT_FILE actually. Because environment variable fdt_file does not impact what fdt to use for booting OS. The dtb file is specified by the argument of FIT configuration feed to bootm command in verified boot case with using FIT, such as "bootm 0x83200000#conf@imx7d-pico.dtb" > > -- > Otavio Salvador O.S. Systems > http://www.ossystems.com.br http://code.ossystems.com.br > Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
Otavio Salvador <otavio.salvador@ossystems.com.br> 于2019年3月26日周二 下午8:23写道: > > On Tue, Mar 26, 2019 at 6:23 AM Jun Nie <jun.nie@linaro.org> wrote: > > > > Add default configuration to run u-boot as BL33 in the boot flow case > > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > > > Signed-off-by: Jun Nie <jun.nie@linaro.org> > > Please base it on pico-imx7d_defconfig so user is asked for the base > board to use and it provides more flexibility to test. Or I misunderstand you and you suggest file name pico-imx7d_bl33_defconfig ? Jun > > -- > Otavio Salvador O.S. Systems > http://www.ossystems.com.br http://code.ossystems.com.br > Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
On Wed, Mar 27, 2019 at 1:06 AM Jun Nie <jun.nie@linaro.org> wrote: > Otavio Salvador <otavio.salvador@ossystems.com.br> 于2019年3月26日周二 下午8:23写道: > > > > On Tue, Mar 26, 2019 at 6:23 AM Jun Nie <jun.nie@linaro.org> wrote: > > > > > > Add default configuration to run u-boot as BL33 in the boot flow case > > > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > > > > > Signed-off-by: Jun Nie <jun.nie@linaro.org> > > > > Please base it on pico-imx7d_defconfig so user is asked for the base > > board to use and it provides more flexibility to test. > > Or I misunderstand you and you suggest file name pico-imx7d_bl33_defconfig ? Yes and let user choose which dtb to use.
Hi Jun, On Tue, Mar 26, 2019 at 6:21 AM Jun Nie <jun.nie@linaro.org> wrote: > > Add default configuration to run u-boot as BL33 in the boot flow case > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > Signed-off-by: Jun Nie <jun.nie@linaro.org> > --- > board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++ This looks like a step in the wrong direction. We have SPL support that can handle both 512MB and 1GB variants. Why do we need to to go back to DCD table?
Fabio Estevam <festevam@gmail.com> 于2019年3月27日周三 下午7:52写道: > > Hi Jun, > > On Tue, Mar 26, 2019 at 6:21 AM Jun Nie <jun.nie@linaro.org> wrote: > > > > Add default configuration to run u-boot as BL33 in the boot flow case > > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > > > Signed-off-by: Jun Nie <jun.nie@linaro.org> > > --- > > board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++ > > This looks like a step in the wrong direction. > > We have SPL support that can handle both 512MB and 1GB variants. > > Why do we need to to go back to DCD table? For ATF -> OPTEE -> U-BOOT case, we cannot run SPL.
On Wed, Mar 27, 2019 at 8:59 AM Jun Nie <jun.nie@linaro.org> wrote: > > Fabio Estevam <festevam@gmail.com> 于2019年3月27日周三 下午7:52写道: > > > > Hi Jun, > > > > On Tue, Mar 26, 2019 at 6:21 AM Jun Nie <jun.nie@linaro.org> wrote: > > > > > > Add default configuration to run u-boot as BL33 in the boot flow case > > > of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. > > > > > > Signed-off-by: Jun Nie <jun.nie@linaro.org> > > > --- > > > board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++ > > > > This looks like a step in the wrong direction. > > > > We have SPL support that can handle both 512MB and 1GB variants. > > > > Why do we need to to go back to DCD table? > > For ATF -> OPTEE -> U-BOOT case, we cannot run SPL. Why? the SPL might need to be changed but it should be doable.
On Wed, Mar 27, 2019 at 8:59 AM Jun Nie <jun.nie@linaro.org> wrote:
> For ATF -> OPTEE -> U-BOOT case, we cannot run SPL.
Why not? Please provide the details.
What about users that has the 1GB version of the board?
Fabio Estevam <festevam@gmail.com> 于2019年3月27日周三 下午8:03写道: > > On Wed, Mar 27, 2019 at 8:59 AM Jun Nie <jun.nie@linaro.org> wrote: > > > For ATF -> OPTEE -> U-BOOT case, we cannot run SPL. > > Why not? Please provide the details. > > What about users that has the 1GB version of the board? I should say that SPL is not needed, not cannot run. u-boot is loaded and run by ATF/OPTEE, so we do not need SPL. This is an initial prototype of verified boot chain from ATF to Linux on ARM32. Only 512MB version is considered at this stage. Maybe we can add 1GB version later if it is needed.
On Wed, Mar 27, 2019 at 11:18 AM Jun Nie <jun.nie@linaro.org> wrote: > I should say that SPL is not needed, not cannot run. u-boot is loaded > and run by ATF/OPTEE, so we do not need SPL. This is an initial > prototype of verified boot chain from ATF to Linux on ARM32. Only > 512MB version is considered at this stage. Maybe we can add 1GB > version later if it is needed. Sorry, but we cannot accept adding non-SPL code as this impacts maintenance. Please add OPTEE support with the existing SPL infrastructure. Thanks
Fabio Estevam <festevam@gmail.com> 于2019年3月27日周三 下午10:57写道: > > On Wed, Mar 27, 2019 at 11:18 AM Jun Nie <jun.nie@linaro.org> wrote: > > > I should say that SPL is not needed, not cannot run. u-boot is loaded > > and run by ATF/OPTEE, so we do not need SPL. This is an initial > > prototype of verified boot chain from ATF to Linux on ARM32. Only > > 512MB version is considered at this stage. Maybe we can add 1GB > > version later if it is needed. > > Sorry, but we cannot accept adding non-SPL code as this impacts maintenance. > > Please add OPTEE support with the existing SPL infrastructure. > > Thanks The DCD file is only used by BL33 defconfig and is not coupled with any other code. Or you are suggesting to use ATF -> OPTEE -> SPL -> u-boot flow? SPL is unnecessary in this case. Could you elaborate more on maintenance impact? Thanks!
On Wed, Mar 27, 2019 at 11:57 AM Fabio Estevam <festevam@gmail.com> wrote: > > On Wed, Mar 27, 2019 at 11:18 AM Jun Nie <jun.nie@linaro.org> wrote: > > > I should say that SPL is not needed, not cannot run. u-boot is loaded > > and run by ATF/OPTEE, so we do not need SPL. This is an initial > > prototype of verified boot chain from ATF to Linux on ARM32. Only > > 512MB version is considered at this stage. Maybe we can add 1GB > > version later if it is needed. > > Sorry, but we cannot accept adding non-SPL code as this impacts maintenance. > > Please add OPTEE support with the existing SPL infrastructure. Also, I'd say u-boot is not need, for some use cases ... so DDR and direct OS loading can be done using SPL.
On Wed, Mar 27, 2019 at 12:04 PM Jun Nie <jun.nie@linaro.org> wrote: > The DCD file is only used by BL33 defconfig and is not coupled with > any other code. Yes, correct. We don't want to add the DCD file for a single defconfig. > Or you are suggesting to use ATF -> OPTEE -> SPL -> u-boot flow? SPL > is unnecessary > in this case. Could you elaborate more on maintenance impact? Thanks! Once we add the DCD file in U-Boot then we need to maintain it forever. Also, if someone wants to use Optee with the 1GB variant another DCD file will be needed. This simply does not scale. pico-mx7d is capable of booting via SPL just fine. It boots 512MB and 1GB versions of the board, so we really don't need DCD for your specific defconfig. Again, just use SPL for your usecase.
diff --git a/board/technexion/pico-imx7d/imximage-512MB.cfg b/board/technexion/pico-imx7d/imximage-512MB.cfg new file mode 100644 index 0000000..2b7bbbc --- /dev/null +++ b/board/technexion/pico-imx7d/imximage-512MB.cfg @@ -0,0 +1,95 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2019 Arm Ltd. + * + * The DCD file for Pico-pi with 512MB DRAM memory. + * Refer doc/README.imximage for more details about how-to configure + * and create imximage boot image. + * + * The syntax is taken as close as possible with the kwbimage + */ + +#define __ASSEMBLY__ +#include <config.h> + +IMAGE_VERSION 2 +#ifdef CONFIG_SECURE_BOOT +CSF CONFIG_CSF_SIZE +#endif + +BOOT_FROM sd + +/* + * Device Configuration Data (DCD) + * + * Each entry must have the format: + * Addr-type Address Value + * + * where: + * Addr-type register length (1,2 or 4 bytes) + * Address absolute address of the register + * value value to be stored in the register + */ + +DATA 4 0x30340004 0x4F400005 + +DATA 4 0x30391000 0x00000002 +DATA 4 0x307a0000 0x01040001 +DATA 4 0x307a0064 0x00400046 +DATA 4 0x307a0490 0x00000001 +DATA 4 0x307a00d4 0x00690000 +DATA 4 0x307a00d0 0x00020083 +DATA 4 0x307a00dc 0x09300004 +DATA 4 0x307a00e0 0x04080000 +DATA 4 0x307a00e4 0x00100004 +DATA 4 0x307a00f4 0x0000033f +DATA 4 0x307a0100 0x09081109 +DATA 4 0x307a0104 0x0007020d +DATA 4 0x307a0108 0x03040407 +DATA 4 0x307a010c 0x00002006 +DATA 4 0x307a0110 0x04020205 +DATA 4 0x307a0114 0x03030202 +DATA 4 0x307a0120 0x00000803 + +DATA 4 0x307a0180 0x00800020 +DATA 4 0x307a0190 0x02098204 +DATA 4 0x307a0194 0x00030303 +DATA 4 0x307a01a0 0x80400003 +DATA 4 0x307a01a4 0x00100020 +DATA 4 0x307a01a8 0x80100004 + +DATA 4 0x307a0200 0x0000001f +DATA 4 0x307a0204 0x00080808 +DATA 4 0x307a0210 0x00000f0f +DATA 4 0x307a0214 0x07070707 +DATA 4 0x307a0218 0x0f0f0707 +DATA 4 0x307a0240 0x06000604 +DATA 4 0x307a0244 0x00000001 + +DATA 4 0x30391000 0x00000000 +DATA 4 0x30790000 0x17420f40 +DATA 4 0x30790004 0x10210100 +DATA 4 0x30790010 0x00060807 +DATA 4 0x307900b0 0x1010007e + +DATA 4 0x3079009c 0x00000d6e + +DATA 4 0x30790030 0x08080808 +DATA 4 0x30790020 0x08080808 +DATA 4 0x30790050 0x01000010 +DATA 4 0x30790050 0x00000010 +DATA 4 0x30790018 0x0000000f +DATA 4 0x307900c0 0x0e407304 +DATA 4 0x307900c0 0x0e447304 +DATA 4 0x307900c0 0x0e447306 +DATA 4 0x307900c0 0x0e447304 + +CHECK_BITS_SET 4 0x307900c4 0x1 + +DATA 4 0x307900c0 0x0e447304 + +DATA 4 0x30384130 0x00000000 +DATA 4 0x30340020 0x00000178 +DATA 4 0x30384130 0x00000002 + +CHECK_BITS_SET 4 0x307a0004 0x1 diff --git a/configs/pico-pi-imx7d_bl33_defconfig b/configs/pico-pi-imx7d_bl33_defconfig new file mode 100644 index 0000000..7d1ac18 --- /dev/null +++ b/configs/pico-pi-imx7d_bl33_defconfig @@ -0,0 +1,61 @@ +CONFIG_ARM=y +CONFIG_ARCH_MX7=y +CONFIG_SYS_TEXT_BASE=0x87800000 +CONFIG_SPL_GPIO_SUPPORT=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SECURE_BOOT=y +CONFIG_TARGET_PICO_IMX7D=y +CONFIG_SPL_MMC_SUPPORT=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL=y +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y +CONFIG_FIT=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_VERBOSE=y +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/technexion/pico-imx7d/imximage-512MB.cfg" +CONFIG_DEFAULT_FDT_FILE="imx7d-pico-pi.dtb" +CONFIG_BOUNCE_BUFFER=y +CONFIG_SPL_I2C_SUPPORT=y +CONFIG_SPL_USB_HOST_SUPPORT=y +CONFIG_SPL_USB_GADGET=y +CONFIG_SPL_USB_SDP_SUPPORT=y +CONFIG_HUSH_PARSER=y +# CONFIG_CMD_BOOTD is not set +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_SPL=y +CONFIG_CMD_SPL_WRITE_SIZE=0x20000 +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_DFU=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_USB=y +CONFIG_CMD_USB_SDP=y +CONFIG_CMD_USB_MASS_STORAGE=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PXE=y +CONFIG_CMD_CACHE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DFU_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_PHYLIB=y +CONFIG_MII=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_MXC_USB_OTG_HACTIVE=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 +CONFIG_CI_UDC=y +CONFIG_USB_GADGET_DOWNLOAD=y +CONFIG_USB_ETHER=y +CONFIG_USB_ETH_CDC=y +CONFIG_USBNET_HOST_ADDR="de:ad:be:af:00:00" +CONFIG_OF_LIBFDT=y +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_OPTEE_TZDRAM_SIZE=0x2000000
Add default configuration to run u-boot as BL33 in the boot flow case of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot. Signed-off-by: Jun Nie <jun.nie@linaro.org> --- board/technexion/pico-imx7d/imximage-512MB.cfg | 95 ++++++++++++++++++++++++++ configs/pico-pi-imx7d_bl33_defconfig | 61 +++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 board/technexion/pico-imx7d/imximage-512MB.cfg create mode 100644 configs/pico-pi-imx7d_bl33_defconfig