xref: /openbmc/u-boot/arch/arm/mach-tegra/Kconfig (revision ad97051b)
1if TEGRA
2
3config SPL_GPIO_SUPPORT
4	default y
5
6config SPL_LIBCOMMON_SUPPORT
7	default y
8
9config SPL_LIBGENERIC_SUPPORT
10	default y
11
12config SPL_SERIAL_SUPPORT
13	default y
14
15config TEGRA_IVC
16	bool "Tegra IVC protocol"
17	help
18	  IVC (Inter-VM Communication) protocol is a Tegra-specific IPC
19	  (Inter Processor Communication) framework. Within the context of
20	  U-Boot, it is typically used for communication between the main CPU
21	  and various auxiliary processors.
22
23config TEGRA_COMMON
24	bool "Tegra common options"
25	select CLK
26	select DM
27	select DM_ETH
28	select DM_GPIO
29	select DM_I2C
30	select DM_KEYBOARD
31	select DM_MMC
32	select DM_PWM
33	select DM_RESET
34	select DM_SERIAL
35	select DM_SPI
36	select DM_SPI_FLASH
37	select MISC
38	select SPI
39	select OF_CONTROL
40	select VIDCONSOLE_AS_LCD if DM_VIDEO
41	select BOARD_EARLY_INIT_F
42	select BINMAN
43	imply CRC32_VERIFY
44
45config TEGRA_NO_BPMP
46	bool "Tegra common options for SoCs without BPMP"
47	select TEGRA_CAR
48	select TEGRA_CAR_CLOCK
49	select TEGRA_CAR_RESET
50
51config TEGRA_ARMV7_COMMON
52	bool "Tegra 32-bit common options"
53	select CPU_V7A
54	select SPL
55	select SPL_BOARD_INIT if SPL
56	select SUPPORT_SPL
57	select TEGRA_COMMON
58	select TEGRA_GPIO
59	select TEGRA_NO_BPMP
60
61config TEGRA_ARMV8_COMMON
62	bool "Tegra 64-bit common options"
63	select ARM64
64	select LINUX_KERNEL_IMAGE_HEADER
65	select TEGRA_COMMON
66
67if TEGRA_ARMV8_COMMON
68config LNX_KRNL_IMG_TEXT_OFFSET_BASE
69	default 0x80000000
70endif
71
72choice
73	prompt "Tegra SoC select"
74	optional
75
76config TEGRA20
77	bool "Tegra20 family"
78	select ARM_ERRATA_716044
79	select ARM_ERRATA_742230
80	select ARM_ERRATA_751472
81	select TEGRA_ARMV7_COMMON
82
83config TEGRA30
84	bool "Tegra30 family"
85	select ARM_ERRATA_743622
86	select ARM_ERRATA_751472
87	select TEGRA_ARMV7_COMMON
88
89config TEGRA114
90	bool "Tegra114 family"
91	select TEGRA_ARMV7_COMMON
92
93config TEGRA124
94	bool "Tegra124 family"
95	select TEGRA_ARMV7_COMMON
96	imply REGMAP
97	imply SYSCON
98
99config TEGRA210
100	bool "Tegra210 family"
101	select TEGRA_GPIO
102	select TEGRA_ARMV8_COMMON
103	select TEGRA_NO_BPMP
104
105config TEGRA186
106	bool "Tegra186 family"
107	select DM_MAILBOX
108	select TEGRA186_BPMP
109	select TEGRA186_CLOCK
110	select TEGRA186_GPIO
111	select TEGRA186_RESET
112	select TEGRA_ARMV8_COMMON
113	select TEGRA_HSP
114	select TEGRA_IVC
115
116endchoice
117
118config TEGRA_DISCONNECT_UDC_ON_BOOT
119	bool "Disconnect USB device mode controller on boot"
120	default y
121	help
122	  When loading U-Boot into RAM over USB protocols using tools such as
123	  tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
124	  mode controller is initialized and enumerated by the host PC running
125	  the tool. Unfortunately, these tools do not shut down the USB
126	  controller before executing the downloaded code, and so the host PC
127	  does not "de-enumerate" the USB device. This option shuts down the
128	  USB controller when U-Boot boots to avoid leaving a stale USB device
129	  present.
130
131config SYS_MALLOC_F_LEN
132	default 0x1800
133
134source "arch/arm/mach-tegra/tegra20/Kconfig"
135source "arch/arm/mach-tegra/tegra30/Kconfig"
136source "arch/arm/mach-tegra/tegra114/Kconfig"
137source "arch/arm/mach-tegra/tegra124/Kconfig"
138source "arch/arm/mach-tegra/tegra210/Kconfig"
139source "arch/arm/mach-tegra/tegra186/Kconfig"
140
141config CMD_ENTERRCM
142	bool "Enable 'enterrcm' command"
143	default y
144	help
145	  Tegra's boot ROM supports a mode whereby code may be downloaded and
146	  flash-programmed over a USB connection. On dev boards, this is
147	  typically entered by holding down a "force recovery" button and
148	  resetting the CPU. However, not all boards have such a button (one
149	  example is the Compulab Trimslice), so a method to enter RCM from
150	  software is useful.
151
152	  Even on boards other than Trimslice, controlling this over a UART
153	  may be useful, e.g. to allow simple remote control without the need
154	  for mechanical button actuators, or hooking up relays/... to the
155	  button.
156
157endif
158