xref: /openbmc/u-boot/arch/arm/mach-tegra/Kconfig (revision 9c21d06c)
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
41config TEGRA_NO_BPMP
42	bool "Tegra common options for SoCs without BPMP"
43	select TEGRA_CAR
44	select TEGRA_CAR_CLOCK
45	select TEGRA_CAR_RESET
46
47config TEGRA_ARMV7_COMMON
48	bool "Tegra 32-bit common options"
49	select CPU_V7
50	select SPL
51	select SUPPORT_SPL
52	select TEGRA_COMMON
53	select TEGRA_GPIO
54	select TEGRA_NO_BPMP
55
56config TEGRA_ARMV8_COMMON
57	bool "Tegra 64-bit common options"
58	select ARM64
59	select TEGRA_COMMON
60
61choice
62	prompt "Tegra SoC select"
63	optional
64
65config TEGRA20
66	bool "Tegra20 family"
67	select TEGRA_ARMV7_COMMON
68
69config TEGRA30
70	bool "Tegra30 family"
71	select TEGRA_ARMV7_COMMON
72
73config TEGRA114
74	bool "Tegra114 family"
75	select TEGRA_ARMV7_COMMON
76
77config TEGRA124
78	bool "Tegra124 family"
79	select TEGRA_ARMV7_COMMON
80
81config TEGRA210
82	bool "Tegra210 family"
83	select TEGRA_GPIO
84	select TEGRA_ARMV8_COMMON
85	select TEGRA_NO_BPMP
86
87config TEGRA186
88	bool "Tegra186 family"
89	select DM_MAILBOX
90	select TEGRA186_BPMP
91	select TEGRA186_CLOCK
92	select TEGRA186_GPIO
93	select TEGRA186_RESET
94	select TEGRA_ARMV8_COMMON
95	select TEGRA_HSP
96	select TEGRA_IVC
97
98endchoice
99
100config TEGRA_DISCONNECT_UDC_ON_BOOT
101	bool "Disconnect USB device mode controller on boot"
102	default y
103	help
104	  When loading U-Boot into RAM over USB protocols using tools such as
105	  tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
106	  mode controller is initialized and enumerated by the host PC running
107	  the tool. Unfortunately, these tools do not shut down the USB
108	  controller before executing the downloaded code, and so the host PC
109	  does not "de-enumerate" the USB device. This option shuts down the
110	  USB controller when U-Boot boots to avoid leaving a stale USB device
111	  present.
112
113config SYS_MALLOC_F_LEN
114	default 0x1800
115
116source "arch/arm/mach-tegra/tegra20/Kconfig"
117source "arch/arm/mach-tegra/tegra30/Kconfig"
118source "arch/arm/mach-tegra/tegra114/Kconfig"
119source "arch/arm/mach-tegra/tegra124/Kconfig"
120source "arch/arm/mach-tegra/tegra210/Kconfig"
121source "arch/arm/mach-tegra/tegra186/Kconfig"
122
123endif
124