]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/mach-tegra/Kconfig
ARM: tegra: enable standard clock/reset APIs everywhere
[people/ms/u-boot.git] / arch / arm / mach-tegra / Kconfig
1 if TEGRA
2
3 config SPL_GPIO_SUPPORT
4 default y
5
6 config SPL_LIBCOMMON_SUPPORT
7 default y
8
9 config SPL_LIBGENERIC_SUPPORT
10 default y
11
12 config SPL_SERIAL_SUPPORT
13 default y
14
15 config 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
23 config 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
43 config 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
49 config 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
58 config TEGRA_ARMV8_COMMON
59 bool "Tegra 64-bit common options"
60 select ARM64
61 select TEGRA_COMMON
62
63 choice
64 prompt "Tegra SoC select"
65 optional
66
67 config TEGRA20
68 bool "Tegra20 family"
69 select TEGRA_ARMV7_COMMON
70
71 config TEGRA30
72 bool "Tegra30 family"
73 select TEGRA_ARMV7_COMMON
74
75 config TEGRA114
76 bool "Tegra114 family"
77 select TEGRA_ARMV7_COMMON
78
79 config TEGRA124
80 bool "Tegra124 family"
81 select TEGRA_ARMV7_COMMON
82
83 config TEGRA210
84 bool "Tegra210 family"
85 select TEGRA_GPIO
86 select TEGRA_ARMV8_COMMON
87 select TEGRA_NO_BPMP
88
89 config 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
100 endchoice
101
102 config 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
115 config SYS_MALLOC_F_LEN
116 default 0x1800
117
118 source "arch/arm/mach-tegra/tegra20/Kconfig"
119 source "arch/arm/mach-tegra/tegra30/Kconfig"
120 source "arch/arm/mach-tegra/tegra114/Kconfig"
121 source "arch/arm/mach-tegra/tegra124/Kconfig"
122 source "arch/arm/mach-tegra/tegra210/Kconfig"
123 source "arch/arm/mach-tegra/tegra186/Kconfig"
124
125 endif