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