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