~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: 9168bf842dcaf57fb83828cd6a27f15fd10ed4a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
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
if ARCH_K3

choice
	prompt "Texas Instruments' K3 based SoC select"
	optional

config SOC_K3_AM654
	bool "TI's K3 based AM654 SoC Family Support"

config SOC_K3_J721E
	bool "TI's K3 based J721E SoC Family Support"

config SOC_K3_J721S2
	bool "TI's K3 based J721S2 SoC Family Support"

config SOC_K3_AM642
	bool "TI's K3 based AM642 SoC Family Support"

config SOC_K3_AM625
	bool "TI's K3 based AM625 SoC Family Support"

config SOC_K3_AM62A7
	bool "TI's K3 based AM62A7 SoC Family Support"

endchoice

config SYS_SOC
	default "k3"

config SYS_K3_NON_SECURE_MSRAM_SIZE
	hex
	default 0x80000 if SOC_K3_AM654
	default 0x100000 if SOC_K3_J721E || SOC_K3_J721S2
	default 0x1c0000 if SOC_K3_AM642
	default 0x3c000 if SOC_K3_AM625 || SOC_K3_AM62A7
	help
	  Describes the total size of the MCU or OCMC MSRAM present on
	  the SoC in use. This doesn't specify the total size of SPL as
	  ROM can use some part of this RAM. Once ROM gives control to
	  SPL then this complete size can be usable.

config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
	hex
	default 0x58000 if SOC_K3_AM654
	default 0xc0000 if SOC_K3_J721E || SOC_K3_J721S2
	default 0x180000 if SOC_K3_AM642
	default 0x38000 if SOC_K3_AM625 || SOC_K3_AM62A7
	help
	  Describes the maximum size of the image that ROM can download
	  from any boot media.

config SYS_K3_MCU_SCRATCHPAD_BASE
	hex
	default 0x40280000 if SOC_K3_AM654
	default 0x41cff9fc if SOC_K3_J721S2
	default 0x41cff9fc if SOC_K3_J721E
	help
	  Describes the base address of MCU Scratchpad RAM.

config SYS_K3_MCU_SCRATCHPAD_SIZE
	hex
	default 0x200 if SOC_K3_AM654
	default 0x200 if SOC_K3_J721E || SOC_K3_J721S2
	help
	  Describes the size of MCU Scratchpad RAM.

config SYS_K3_BOOT_PARAM_TABLE_INDEX
	hex
	default 0x41c7fbfc if SOC_K3_AM654
	default 0x41cffbfc if SOC_K3_J721E
	default 0x41cfdbfc if SOC_K3_J721S2
	default 0x701bebfc if SOC_K3_AM642
	default 0x43c3f290 if SOC_K3_AM625
	default 0x43c3f290 if SOC_K3_AM62A7 && CPU_V7R
	default 0x7000f290 if SOC_K3_AM62A7 && ARM64
	help
	  Address at which ROM stores the value which determines if SPL
	  is booted up by primary boot media or secondary boot media.

config SYS_K3_KEY
	string "Key used to generate x509 certificate"
	help
	  This option enables to provide a custom key that can be used for
	  generating x509 certificate for spl binary. If not needed leave
	  it blank so that a random key is generated and used.

config SYS_K3_BOOT_CORE_ID
	int
	default 16

config K3_EARLY_CONS
	bool "Activate to allow for an early console during SPL"
	depends on SPL
	help
	  Turn this option on to enable an early console functionality in SPL
	  before the main console is being brought up. This can be useful in
	  situations where the main console is dependent on System Firmware
	  (SYSFW) being up and running, which is usually not the case during
	  the very early stages of boot. Using this early console functionality
	  will allow for an alternate serial port to be used to support things
	  like UART-based boot and early diagnostic messages until the main
	  console is ready to get activated.

config K3_EARLY_CONS_IDX
	depends on K3_EARLY_CONS
	int "Index of serial device to use for SPL early console"
	default 1
	help
	  Use this option to set the index of the serial device to be used
	  for the early console during SPL execution.

config K3_LOAD_SYSFW
	bool
	depends on SPL

config K3_SYSFW_IMAGE_NAME
	string "File name of SYSFW firmware and configuration blob"
	depends on K3_LOAD_SYSFW
	default	"sysfw.itb"
	help
	  Filename of the combined System Firmware and configuration image tree
	  blob to be loaded when booting from a filesystem.

config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_SECT
	hex "MMC sector to load SYSFW firmware and configuration blob from"
	depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
	default 0x3600
	help
	  Address on the MMC to load the combined System Firmware and
	  configuration image tree blob from, when the MMC is being used
	  in raw mode. Units: MMC sectors (1 sector = 512 bytes).

config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART
	hex "MMC partition to load SYSFW firmware and configuration blob from"
	depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
	default 2
	help
	  Partition on the MMC to the combined System Firmware and configuration
	  image tree blob from, when the MMC is being used in raw mode.

config K3_SYSFW_IMAGE_SIZE_MAX
	int "Amount of memory dynamically allocated for loading SYSFW blob"
	depends on K3_LOAD_SYSFW
	default	280000
	help
	  Amount of memory (in bytes) reserved through dynamic allocation at
	  runtime for loading the combined System Firmware and configuration image
	  tree blob. Keep it as tight as possible, as this directly affects the
	  overall SPL memory footprint.

config K3_SYSFW_IMAGE_SPI_OFFS
	hex "SPI offset of SYSFW firmware and configuration blob"
	depends on K3_LOAD_SYSFW
	default	0x6C0000
	help
	  Offset of the combined System Firmware and configuration image tree
	  blob to be loaded when booting from a SPI flash memory.

config SYS_K3_SPL_ATF
	bool "Start Cortex-A from SPL"
	depends on SPL && CPU_V7R
	help
	  Enabling this will try to start Cortex-A (typically with ATF)
	  after SPL from R5.

config K3_ATF_LOAD_ADDR
	hex "Load address of ATF image"
	default 0x70000000
	help
	  The load address for the ATF image. This value defaults to 0x70000000
	  if not provided in the board defconfig file.

config K3_DM_FW
	bool "Separate DM firmware image"
	depends on SPL && CPU_V7R && (SOC_K3_J721E || SOC_K3_J721S2 || SOC_K3_AM625 || SOC_K3_AM62A7) && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
	default y
	help
	  Enabling this will indicate that the system has separate DM
	  and TIFS firmware images in place, instead of a single SYSFW
	  firmware. Due to DM being executed on the same core as R5 SPL
	  bootloader, it makes RM and PM services not being available
	  during R5 SPL execution time.

config K3_X509_SWRV
	int "SWRV for X509 certificate used for boot images"
	default 1
	help
	  SWRV for X509 certificate used for boot images

source "board/ti/am65x/Kconfig"
source "board/ti/am64x/Kconfig"
source "board/ti/am62x/Kconfig"
source "board/ti/am62ax/Kconfig"
source "board/ti/j721e/Kconfig"
source "board/siemens/iot2050/Kconfig"
source "board/ti/j721s2/Kconfig"
source "board/toradex/verdin-am62/Kconfig"
endif