1if ARCH_K3
2
3choice
4	prompt "Texas Instruments' K3 based SoC select"
5	optional
6
7config SOC_K3_AM6
8	bool "TI's K3 based AM6 SoC Family Support"
9
10config SOC_K3_J721E
11	bool "TI's K3 based J721E SoC Family Support"
12
13endchoice
14
15config SYS_SOC
16	default "k3"
17
18config SYS_K3_NON_SECURE_MSRAM_SIZE
19	hex
20	default 0x80000 if SOC_K3_AM6
21	default 0x100000 if SOC_K3_J721E
22	help
23	  Describes the total size of the MCU MSRAM. This doesn't
24	  specify the total size of SPL as ROM can use some part
25	  of this RAM. Once ROM gives control to SPL then this
26	  complete size can be usable.
27
28config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
29	hex
30	default 0x58000 if SOC_K3_AM6
31	default 0xc0000 if SOC_K3_J721E
32	help
33	  Describes the maximum size of the image that ROM can download
34	  from any boot media.
35
36config SYS_K3_MCU_SCRATCHPAD_BASE
37	hex
38	default 0x40280000 if SOC_K3_AM6
39	default 0x40280000 if SOC_K3_J721E
40	help
41	  Describes the base address of MCU Scratchpad RAM.
42
43config SYS_K3_MCU_SCRATCHPAD_SIZE
44	hex
45	default 0x200 if SOC_K3_AM6
46	default 0x200 if SOC_K3_J721E
47	help
48	  Describes the size of MCU Scratchpad RAM.
49
50config SYS_K3_BOOT_PARAM_TABLE_INDEX
51	hex
52	default 0x41c7fbfc if SOC_K3_AM6
53	default 0x41cffbfc if SOC_K3_J721E
54	help
55	  Address at which ROM stores the value which determines if SPL
56	  is booted up by primary boot media or secondary boot media.
57
58config SYS_K3_KEY
59	string "Key used to generate x509 certificate"
60	help
61	  This option enables to provide a custom key that can be used for
62	  generating x509 certificate for spl binary. If not needed leave
63	  it blank so that a random key is generated and used.
64
65config SYS_K3_BOOT_CORE_ID
66	int
67	default 16
68
69config K3_EARLY_CONS
70	bool "Activate to allow for an early console during SPL"
71	depends on SPL
72	help
73	  Turn this option on to enable an early console functionality in SPL
74	  before the main console is being brought up. This can be useful in
75	  situations where the main console is dependent on System Firmware
76	  (SYSFW) being up and running, which is usually not the case during
77	  the very early stages of boot. Using this early console functionality
78	  will allow for an alternate serial port to be used to support things
79	  like UART-based boot and early diagnostic messages until the main
80	  console is ready to get activated.
81
82config K3_EARLY_CONS_IDX
83	depends on K3_EARLY_CONS
84	int "Index of serial device to use for SPL early console"
85	default 1
86	help
87	  Use this option to set the index of the serial device to be used
88	  for the early console during SPL execution.
89
90config K3_LOAD_SYSFW
91	bool
92	depends on SPL
93
94config K3_SYSFW_IMAGE_NAME
95	string "File name of SYSFW firmware and configuration blob"
96	depends on K3_LOAD_SYSFW
97	default	"sysfw.itb"
98	help
99	  Filename of the combined System Firmware and configuration image tree
100	  blob to be loaded when booting from a filesystem.
101
102config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_SECT
103	hex "MMC sector to load SYSFW firmware and configuration blob from"
104	depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
105	default 0x3600
106	help
107	  Address on the MMC to load the combined System Firmware and
108	  configuration image tree blob from, when the MMC is being used
109	  in raw mode. Units: MMC sectors (1 sector = 512 bytes).
110
111config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART
112	hex "MMC partition to load SYSFW firmware and configuration blob from"
113	depends on K3_LOAD_SYSFW && SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
114	default 2
115	help
116	  Partition on the MMC to the combined System Firmware and configuration
117	  image tree blob from, when the MMC is being used in raw mode.
118
119config K3_SYSFW_IMAGE_SIZE_MAX
120	int "Amount of memory dynamically allocated for loading SYSFW blob"
121	depends on K3_LOAD_SYSFW
122	default	278000
123	help
124	  Amount of memory (in bytes) reserved through dynamic allocation at
125	  runtime for loading the combined System Firmware and configuration image
126	  tree blob. Keep it as tight as possible, as this directly affects the
127	  overall SPL memory footprint.
128
129config K3_SYSFW_IMAGE_SPI_OFFS
130	hex "SPI offset of SYSFW firmware and configuration blob"
131	depends on K3_LOAD_SYSFW
132	default	0x6C0000
133	help
134	  Offset of the combined System Firmware and configuration image tree
135	  blob to be loaded when booting from a SPI flash memory.
136
137config SYS_K3_SPL_ATF
138	bool "Start Cortex-A from SPL"
139	depends on SPL && CPU_V7R
140	help
141	  Enabling this will try to start Cortex-A (typically with ATF)
142	  after SPL from R5.
143
144source "board/ti/am65x/Kconfig"
145source "board/ti/j721e/Kconfig"
146endif
147