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