xref: /openbmc/u-boot/arch/arm/mach-tegra/Kconfig (revision 9c0e2f6e)
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 OF_CONTROL
39	select VIDCONSOLE_AS_LCD if DM_VIDEO
40	select BOARD_EARLY_INIT_F
41	select BINMAN
42	imply CRC32_VERIFY
43
44config TEGRA_NO_BPMP
45	bool "Tegra common options for SoCs without BPMP"
46	select TEGRA_CAR
47	select TEGRA_CAR_CLOCK
48	select TEGRA_CAR_RESET
49
50config TEGRA_ARMV7_COMMON
51	bool "Tegra 32-bit common options"
52	select CPU_V7
53	select SPL
54	select SPL_BOARD_INIT if SPL
55	select SUPPORT_SPL
56	select TEGRA_COMMON
57	select TEGRA_GPIO
58	select TEGRA_NO_BPMP
59
60config TEGRA_ARMV8_COMMON
61	bool "Tegra 64-bit common options"
62	select ARM64
63	select LINUX_KERNEL_IMAGE_HEADER
64	select TEGRA_COMMON
65
66if TEGRA_ARMV8_COMMON
67config LNX_KRNL_IMG_TEXT_OFFSET_BASE
68	default 0x80000000
69endif
70
71choice
72	prompt "Tegra SoC select"
73	optional
74
75config TEGRA20
76	bool "Tegra20 family"
77	select ARM_ERRATA_716044
78	select ARM_ERRATA_742230
79	select ARM_ERRATA_751472
80	select TEGRA_ARMV7_COMMON
81
82config TEGRA30
83	bool "Tegra30 family"
84	select ARM_ERRATA_743622
85	select ARM_ERRATA_751472
86	select TEGRA_ARMV7_COMMON
87
88config TEGRA114
89	bool "Tegra114 family"
90	select TEGRA_ARMV7_COMMON
91
92config TEGRA124
93	bool "Tegra124 family"
94	select TEGRA_ARMV7_COMMON
95	imply REGMAP
96	imply SYSCON
97
98config TEGRA210
99	bool "Tegra210 family"
100	select TEGRA_GPIO
101	select TEGRA_ARMV8_COMMON
102	select TEGRA_NO_BPMP
103
104config TEGRA186
105	bool "Tegra186 family"
106	select DM_MAILBOX
107	select TEGRA186_BPMP
108	select TEGRA186_CLOCK
109	select TEGRA186_GPIO
110	select TEGRA186_RESET
111	select TEGRA_ARMV8_COMMON
112	select TEGRA_HSP
113	select TEGRA_IVC
114
115endchoice
116
117config TEGRA_DISCONNECT_UDC_ON_BOOT
118	bool "Disconnect USB device mode controller on boot"
119	default y
120	help
121	  When loading U-Boot into RAM over USB protocols using tools such as
122	  tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
123	  mode controller is initialized and enumerated by the host PC running
124	  the tool. Unfortunately, these tools do not shut down the USB
125	  controller before executing the downloaded code, and so the host PC
126	  does not "de-enumerate" the USB device. This option shuts down the
127	  USB controller when U-Boot boots to avoid leaving a stale USB device
128	  present.
129
130config SYS_MALLOC_F_LEN
131	default 0x1800
132
133source "arch/arm/mach-tegra/tegra20/Kconfig"
134source "arch/arm/mach-tegra/tegra30/Kconfig"
135source "arch/arm/mach-tegra/tegra114/Kconfig"
136source "arch/arm/mach-tegra/tegra124/Kconfig"
137source "arch/arm/mach-tegra/tegra210/Kconfig"
138source "arch/arm/mach-tegra/tegra186/Kconfig"
139
140config CMD_ENTERRCM
141	bool "Enable 'enterrcm' command"
142	default y
143	help
144	  Tegra's boot ROM supports a mode whereby code may be downloaded and
145	  flash-programmed over a USB connection. On dev boards, this is
146	  typically entered by holding down a "force recovery" button and
147	  resetting the CPU. However, not all boards have such a button (one
148	  example is the Compulab Trimslice), so a method to enter RCM from
149	  software is useful.
150
151	  Even on boards other than Trimslice, controlling this over a UART
152	  may be useful, e.g. to allow simple remote control without the need
153	  for mechanical button actuators, or hooking up relays/... to the
154	  button.
155
156endif
157