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