Commit 7f91b6584446856f8b4b4d8bb28ac77f9f011e6c
Committed by
York Sun
1 parent
10c8aa16d4
Exists in
smarc_8mq_lf_v2020.04
and in
11 other branches
armv8: ls1012afrx: Add TFABOOT support
TFABOOT support includes: - ls1012a2g5rdb/ls1012afrdm/ls1012afrwy_tfa_defconfig to be loaded by trusted firmware - define BOOTCOMMAND for TFABOOT Signed-off-by: Pankit Garg <pankit.garg@nxp.com> Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com> [YS: remove unnecessary braces] Reviewed-by: York Sun <york.sun@nxp.com>
Showing 9 changed files with 251 additions and 1 deletions Side-by-side Diff
- board/freescale/ls1012afrdm/MAINTAINERS
- board/freescale/ls1012afrdm/ls1012afrdm.c
- configs/ls1012a2g5rdb_tfa_defconfig
- configs/ls1012afrdm_tfa_defconfig
- configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig
- configs/ls1012afrwy_tfa_defconfig
- include/configs/ls1012a2g5rdb.h
- include/configs/ls1012afrdm.h
- include/configs/ls1012afrwy.h
board/freescale/ls1012afrdm/MAINTAINERS
1 | 1 | LS1012AFRDM BOARD |
2 | 2 | M: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> |
3 | +M: Rajesh Bhagat <rajesh.bhagat@nxp.com> | |
3 | 4 | S: Maintained |
4 | 5 | F: board/freescale/ls1012afrdm/ |
5 | 6 | F: include/configs/ls1012afrdm.h |
6 | 7 | F: configs/ls1012afrdm_qspi_defconfig |
8 | +F: configs/ls1012afrdm_tfa_defconfig | |
9 | +F: configs/ls1012afrwy_tfa_defconfig | |
7 | 10 | |
8 | 11 | LS1012AFRWY BOARD |
9 | 12 | M: Bhaskar Upadhaya <bhaskar.upadhaya@nxp.com> |
board/freescale/ls1012afrdm/ls1012afrdm.c
... | ... | @@ -80,11 +80,35 @@ |
80 | 80 | } |
81 | 81 | #endif |
82 | 82 | |
83 | +#ifdef CONFIG_TFABOOT | |
83 | 84 | int dram_init(void) |
84 | 85 | { |
85 | 86 | #ifdef CONFIG_TARGET_LS1012AFRWY |
86 | 87 | int board_rev; |
87 | 88 | #endif |
89 | + | |
90 | + gd->ram_size = tfa_get_dram_size(); | |
91 | + | |
92 | + if (!gd->ram_size) { | |
93 | +#ifdef CONFIG_TARGET_LS1012AFRWY | |
94 | + board_rev = get_board_version(); | |
95 | + | |
96 | + if (board_rev & BOARD_REV_C) | |
97 | + gd->ram_size = SYS_SDRAM_SIZE_1024; | |
98 | + else | |
99 | + gd->ram_size = SYS_SDRAM_SIZE_512; | |
100 | +#else | |
101 | + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; | |
102 | +#endif | |
103 | + } | |
104 | + return 0; | |
105 | +} | |
106 | +#else | |
107 | +int dram_init(void) | |
108 | +{ | |
109 | +#ifdef CONFIG_TARGET_LS1012AFRWY | |
110 | + int board_rev; | |
111 | +#endif | |
88 | 112 | struct fsl_mmdc_info mparam = { |
89 | 113 | 0x04180000, /* mdctl */ |
90 | 114 | 0x00030035, /* mdpdc */ |
... | ... | @@ -122,6 +146,7 @@ |
122 | 146 | |
123 | 147 | return 0; |
124 | 148 | } |
149 | +#endif | |
125 | 150 | |
126 | 151 | int board_early_init_f(void) |
127 | 152 | { |
... | ... | @@ -139,7 +164,8 @@ |
139 | 164 | * Set CCI-400 control override register to enable barrier |
140 | 165 | * transaction |
141 | 166 | */ |
142 | - out_le32(&cci->ctrl_ord, CCI400_CTRLORD_EN_BARRIER); | |
167 | + if (current_el() == 3) | |
168 | + out_le32(&cci->ctrl_ord, CCI400_CTRLORD_EN_BARRIER); | |
143 | 169 | |
144 | 170 | #ifdef CONFIG_ENV_IS_NOWHERE |
145 | 171 | gd->env_addr = (ulong)&default_environment[0]; |
configs/ls1012a2g5rdb_tfa_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_TARGET_LS1012A2G5RDB=y | |
3 | +CONFIG_SYS_TEXT_BASE=0x82000000 | |
4 | +CONFIG_QSPI_AHB_INIT=y | |
5 | +CONFIG_TFABOOT=y | |
6 | +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y | |
7 | +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y | |
8 | +CONFIG_AHCI=y | |
9 | +CONFIG_DISTRO_DEFAULTS=y | |
10 | +CONFIG_NR_DRAM_BANKS=2 | |
11 | +# CONFIG_SYS_MALLOC_F is not set | |
12 | +CONFIG_FIT_VERBOSE=y | |
13 | +CONFIG_OF_BOARD_SETUP=y | |
14 | +CONFIG_OF_STDOUT_VIA_ALIAS=y | |
15 | +CONFIG_BOOTDELAY=10 | |
16 | +CONFIG_USE_BOOTARGS=y | |
17 | +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" | |
18 | +# CONFIG_DISPLAY_BOARDINFO is not set | |
19 | +CONFIG_DISPLAY_BOARDINFO_LATE=y | |
20 | +CONFIG_CMD_GREPENV=y | |
21 | +CONFIG_CMD_MEMTEST=y | |
22 | +CONFIG_CMD_GPT=y | |
23 | +CONFIG_CMD_I2C=y | |
24 | +CONFIG_CMD_MMC=y | |
25 | +CONFIG_CMD_SF=y | |
26 | +CONFIG_CMD_USB=y | |
27 | +# CONFIG_CMD_SETEXPR is not set | |
28 | +CONFIG_CMD_CACHE=y | |
29 | +CONFIG_OF_CONTROL=y | |
30 | +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-2g5rdb" | |
31 | +CONFIG_ENV_IS_IN_SPI_FLASH=y | |
32 | +CONFIG_NET_RANDOM_ETHADDR=y | |
33 | +CONFIG_DM=y | |
34 | +CONFIG_SATA_CEVA=y | |
35 | +CONFIG_DM_MMC=y | |
36 | +CONFIG_FSL_ESDHC=y | |
37 | +CONFIG_DM_SPI_FLASH=y | |
38 | +CONFIG_SPI_FLASH=y | |
39 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
40 | +CONFIG_FSL_PFE=y | |
41 | +CONFIG_DM_ETH=y | |
42 | +CONFIG_DM_SCSI=y | |
43 | +CONFIG_SYS_NS16550=y | |
44 | +CONFIG_SPI=y | |
45 | +CONFIG_DM_SPI=y | |
46 | +CONFIG_USB=y | |
47 | +CONFIG_DM_USB=y | |
48 | +CONFIG_USB_XHCI_HCD=y | |
49 | +CONFIG_USB_XHCI_DWC3=y | |
50 | +CONFIG_USB_STORAGE=y |
configs/ls1012afrdm_tfa_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_TARGET_LS1012AFRDM=y | |
3 | +CONFIG_SYS_TEXT_BASE=0x82000000 | |
4 | +CONFIG_QSPI_AHB_INIT=y | |
5 | +CONFIG_TFABOOT=y | |
6 | +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y | |
7 | +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y | |
8 | +CONFIG_DISTRO_DEFAULTS=y | |
9 | +CONFIG_NR_DRAM_BANKS=2 | |
10 | +# CONFIG_SYS_MALLOC_F is not set | |
11 | +CONFIG_FIT_VERBOSE=y | |
12 | +CONFIG_OF_BOARD_SETUP=y | |
13 | +CONFIG_OF_STDOUT_VIA_ALIAS=y | |
14 | +CONFIG_BOOTDELAY=10 | |
15 | +CONFIG_USE_BOOTARGS=y | |
16 | +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" | |
17 | +# CONFIG_DISPLAY_BOARDINFO is not set | |
18 | +CONFIG_DISPLAY_BOARDINFO_LATE=y | |
19 | +CONFIG_CMD_GREPENV=y | |
20 | +CONFIG_CMD_MEMTEST=y | |
21 | +CONFIG_CMD_GPT=y | |
22 | +CONFIG_CMD_I2C=y | |
23 | +CONFIG_CMD_SF=y | |
24 | +CONFIG_CMD_USB=y | |
25 | +# CONFIG_CMD_SETEXPR is not set | |
26 | +CONFIG_CMD_CACHE=y | |
27 | +CONFIG_OF_CONTROL=y | |
28 | +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-frdm" | |
29 | +CONFIG_ENV_IS_IN_SPI_FLASH=y | |
30 | +CONFIG_NET_RANDOM_ETHADDR=y | |
31 | +CONFIG_DM=y | |
32 | +# CONFIG_MMC is not set | |
33 | +CONFIG_DM_SPI_FLASH=y | |
34 | +CONFIG_SPI_FLASH=y | |
35 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
36 | +CONFIG_FSL_PFE=y | |
37 | +CONFIG_DM_ETH=y | |
38 | +CONFIG_E1000=y | |
39 | +CONFIG_PCI=y | |
40 | +CONFIG_DM_PCI=y | |
41 | +CONFIG_DM_PCI_COMPAT=y | |
42 | +CONFIG_PCIE_LAYERSCAPE=y | |
43 | +CONFIG_SYS_NS16550=y | |
44 | +CONFIG_SPI=y | |
45 | +CONFIG_DM_SPI=y | |
46 | +CONFIG_USB=y | |
47 | +CONFIG_DM_USB=y | |
48 | +CONFIG_USB_XHCI_HCD=y | |
49 | +CONFIG_USB_XHCI_DWC3=y | |
50 | +CONFIG_USB_STORAGE=y |
configs/ls1012afrwy_tfa_SECURE_BOOT_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_TARGET_LS1012AFRWY=y | |
3 | +CONFIG_SYS_TEXT_BASE=0x82000000 | |
4 | +CONFIG_TFABOOT=y | |
5 | +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y | |
6 | +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y | |
7 | +CONFIG_SECURE_BOOT=y | |
8 | +CONFIG_DISTRO_DEFAULTS=y | |
9 | +CONFIG_NR_DRAM_BANKS=2 | |
10 | +# CONFIG_SYS_MALLOC_F is not set | |
11 | +CONFIG_FIT_VERBOSE=y | |
12 | +CONFIG_OF_BOARD_SETUP=y | |
13 | +CONFIG_OF_STDOUT_VIA_ALIAS=y | |
14 | +CONFIG_BOOTDELAY=10 | |
15 | +CONFIG_USE_BOOTARGS=y | |
16 | +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" | |
17 | +# CONFIG_DISPLAY_BOARDINFO is not set | |
18 | +CONFIG_DISPLAY_BOARDINFO_LATE=y | |
19 | +CONFIG_ENV_IS_NOWHERE=y | |
20 | +CONFIG_CMD_GREPENV=y | |
21 | +CONFIG_CMD_GPT=y | |
22 | +CONFIG_CMD_I2C=y | |
23 | +CONFIG_CMD_MMC=y | |
24 | +CONFIG_CMD_PCI=y | |
25 | +CONFIG_CMD_SF=y | |
26 | +CONFIG_CMD_USB=y | |
27 | +CONFIG_CMD_CACHE=y | |
28 | +CONFIG_OF_CONTROL=y | |
29 | +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-frwy" | |
30 | +CONFIG_NET_RANDOM_ETHADDR=y | |
31 | +CONFIG_DM=y | |
32 | +# CONFIG_BLK is not set | |
33 | +CONFIG_DM_MMC=y | |
34 | +CONFIG_DM_SPI_FLASH=y | |
35 | +CONFIG_SPI_FLASH=y | |
36 | +CONFIG_SPI_FLASH_WINBOND=y | |
37 | +CONFIG_FSL_PFE=y | |
38 | +CONFIG_DM_ETH=y | |
39 | +CONFIG_E1000=y | |
40 | +CONFIG_PCI=y | |
41 | +CONFIG_DM_PCI=y | |
42 | +CONFIG_DM_PCI_COMPAT=y | |
43 | +CONFIG_PCIE_LAYERSCAPE=y | |
44 | +CONFIG_SYS_NS16550=y | |
45 | +CONFIG_SPI=y | |
46 | +CONFIG_DM_SPI=y | |
47 | +CONFIG_USB=y | |
48 | +CONFIG_DM_USB=y | |
49 | +CONFIG_USB_XHCI_HCD=y | |
50 | +CONFIG_USB_XHCI_DWC3=y | |
51 | +CONFIG_USB_STORAGE=y | |
52 | +CONFIG_RSA=y | |
53 | +CONFIG_RSA_SOFTWARE_EXP=y |
configs/ls1012afrwy_tfa_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_TARGET_LS1012AFRWY=y | |
3 | +CONFIG_SYS_TEXT_BASE=0x82000000 | |
4 | +CONFIG_TFABOOT=y | |
5 | +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y | |
6 | +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y | |
7 | +CONFIG_DISTRO_DEFAULTS=y | |
8 | +CONFIG_NR_DRAM_BANKS=2 | |
9 | +# CONFIG_SYS_MALLOC_F is not set | |
10 | +CONFIG_FIT_VERBOSE=y | |
11 | +CONFIG_OF_BOARD_SETUP=y | |
12 | +CONFIG_OF_STDOUT_VIA_ALIAS=y | |
13 | +CONFIG_BOOTDELAY=10 | |
14 | +CONFIG_USE_BOOTARGS=y | |
15 | +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" | |
16 | +# CONFIG_DISPLAY_BOARDINFO is not set | |
17 | +CONFIG_DISPLAY_BOARDINFO_LATE=y | |
18 | +CONFIG_CMD_GREPENV=y | |
19 | +CONFIG_CMD_GPT=y | |
20 | +CONFIG_CMD_I2C=y | |
21 | +CONFIG_CMD_MMC=y | |
22 | +CONFIG_CMD_PCI=y | |
23 | +CONFIG_CMD_SF=y | |
24 | +CONFIG_CMD_USB=y | |
25 | +# CONFIG_CMD_SETEXPR is not set | |
26 | +CONFIG_CMD_CACHE=y | |
27 | +CONFIG_OF_CONTROL=y | |
28 | +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-frwy" | |
29 | +CONFIG_ENV_IS_IN_SPI_FLASH=y | |
30 | +CONFIG_NET_RANDOM_ETHADDR=y | |
31 | +CONFIG_DM=y | |
32 | +# CONFIG_BLK is not set | |
33 | +CONFIG_DM_MMC=y | |
34 | +CONFIG_DM_SPI_FLASH=y | |
35 | +CONFIG_SPI_FLASH=y | |
36 | +CONFIG_SPI_FLASH_WINBOND=y | |
37 | +CONFIG_FSL_PFE=y | |
38 | +CONFIG_DM_ETH=y | |
39 | +CONFIG_E1000=y | |
40 | +CONFIG_PCI=y | |
41 | +CONFIG_DM_PCI=y | |
42 | +CONFIG_DM_PCI_COMPAT=y | |
43 | +CONFIG_PCIE_LAYERSCAPE=y | |
44 | +CONFIG_SYS_NS16550=y | |
45 | +CONFIG_SPI=y | |
46 | +CONFIG_DM_SPI=y | |
47 | +CONFIG_USB=y | |
48 | +CONFIG_DM_USB=y | |
49 | +CONFIG_USB_XHCI_HCD=y | |
50 | +CONFIG_USB_XHCI_DWC3=y | |
51 | +CONFIG_USB_STORAGE=y |
include/configs/ls1012a2g5rdb.h
... | ... | @@ -93,9 +93,15 @@ |
93 | 93 | "bootm $load_addr#$board\0" |
94 | 94 | |
95 | 95 | #undef CONFIG_BOOTCOMMAND |
96 | +#ifdef CONFIG_TFABOOT | |
97 | +#undef QSPI_NOR_BOOTCOMMAND | |
98 | +#define QSPI_NOR_BOOTCOMMAND "pfe stop;run distro_bootcmd; run qspi_bootcmd; " \ | |
99 | + "env exists secureboot && esbc_halt;" | |
100 | +#else | |
96 | 101 | #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) |
97 | 102 | #define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd; run qspi_bootcmd; " \ |
98 | 103 | "env exists secureboot && esbc_halt;" |
104 | +#endif | |
99 | 105 | #endif |
100 | 106 | |
101 | 107 | #define DEFAULT_PFE_MDIO_NAME "PFE_MDIO" |
include/configs/ls1012afrdm.h
... | ... | @@ -65,7 +65,12 @@ |
65 | 65 | "$kernel_addr $kernel_size && bootm $load_addr#$board\0" |
66 | 66 | |
67 | 67 | #undef CONFIG_BOOTCOMMAND |
68 | +#ifdef CONFIG_TFABOOT | |
69 | +#undef QSPI_NOR_BOOTCOMMAND | |
70 | +#define QSPI_NOR_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd" | |
71 | +#else | |
68 | 72 | #define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd" |
73 | +#endif | |
69 | 74 | |
70 | 75 | #define CONFIG_CMD_MEMINFO |
71 | 76 | #define CONFIG_SYS_MEMTEST_START 0x80000000 |
include/configs/ls1012afrwy.h
... | ... | @@ -119,8 +119,14 @@ |
119 | 119 | "bootm $load_addr#$board\0" |
120 | 120 | |
121 | 121 | #undef CONFIG_BOOTCOMMAND |
122 | +#ifdef CONFIG_TFABOOT | |
123 | +#undef QSPI_NOR_BOOTCOMMAND | |
124 | +#define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\ | |
125 | + "env exists secureboot && esbc_halt;" | |
126 | +#else | |
122 | 127 | #define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\ |
123 | 128 | "env exists secureboot && esbc_halt;" |
129 | +#endif | |
124 | 130 | #define CONFIG_CMD_MEMINFO |
125 | 131 | #define CONFIG_CMD_MEMTEST |
126 | 132 | #define CONFIG_SYS_MEMTEST_START 0x80000000 |