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