]> Git Repo - u-boot.git/blob - arch/arm/mach-tegra/Kconfig
serial: Rename SERIAL_SUPPORT to SERIAL
[u-boot.git] / arch / arm / mach-tegra / Kconfig
1 if ARCH_TEGRA
2
3 config SPL_GPIO
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
13         default y
14
15 config TEGRA_CLKRST
16         bool
17
18 config TEGRA_GP_PADCTRL
19         bool
20
21 config TEGRA_IVC
22         bool "Tegra IVC protocol"
23         help
24           IVC (Inter-VM Communication) protocol is a Tegra-specific IPC
25           (Inter Processor Communication) framework. Within the context of
26           U-Boot, it is typically used for communication between the main CPU
27           and various auxiliary processors.
28
29 config TEGRA_MC
30         bool
31
32 config TEGRA_PINCTRL
33         bool
34
35 config TEGRA_PMC
36         bool
37
38 config TEGRA_PMC_SECURE
39         bool
40         depends on TEGRA_PMC
41
42 config TEGRA_COMMON
43         bool "Tegra common options"
44         select BOARD_EARLY_INIT_F
45         select CLK
46         select DM
47         select DM_ETH
48         select DM_GPIO
49         select DM_I2C
50         select DM_KEYBOARD
51         select DM_MMC
52         select DM_PWM
53         select DM_RESET
54         select DM_SERIAL
55         select DM_SPI
56         select DM_SPI_FLASH
57         select MISC
58         select OF_CONTROL
59         select SPI
60         imply CMD_DM
61         imply CRC32_VERIFY
62
63 config TEGRA_NO_BPMP
64         bool "Tegra common options for SoCs without BPMP"
65         select TEGRA_CAR
66         select TEGRA_CAR_CLOCK
67         select TEGRA_CAR_RESET
68
69 config TEGRA_ARMV7_COMMON
70         bool "Tegra 32-bit common options"
71         select BINMAN
72         select CPU_V7A
73         select SPL
74         select SPL_BOARD_INIT if SPL
75         select SPL_SKIP_LOWLEVEL_INIT_ONLY if SPL
76         select SUPPORT_SPL
77         select TEGRA_CLKRST
78         select TEGRA_COMMON
79         select TEGRA_GPIO
80         select TEGRA_GP_PADCTRL
81         select TEGRA_MC
82         select TEGRA_NO_BPMP
83         select TEGRA_PINCTRL
84         select TEGRA_PMC
85
86 config TEGRA_ARMV8_COMMON
87         bool "Tegra 64-bit common options"
88         select ARM64
89         select INIT_SP_RELATIVE
90         select LINUX_KERNEL_IMAGE_HEADER
91         select POSITION_INDEPENDENT
92         select TEGRA_COMMON
93
94 if TEGRA_ARMV8_COMMON
95 config LNX_KRNL_IMG_TEXT_OFFSET_BASE
96         default 0x80000000
97 endif
98
99 choice
100         prompt "Tegra SoC select"
101         optional
102
103 config TEGRA20
104         bool "Tegra20 family"
105         select ARM_ERRATA_716044
106         select ARM_ERRATA_742230
107         select ARM_ERRATA_751472
108         select TEGRA_ARMV7_COMMON
109
110 config TEGRA30
111         bool "Tegra30 family"
112         select ARM_ERRATA_743622
113         select ARM_ERRATA_751472
114         select TEGRA_ARMV7_COMMON
115
116 config TEGRA114
117         bool "Tegra114 family"
118         select TEGRA_ARMV7_COMMON
119
120 config TEGRA124
121         bool "Tegra124 family"
122         select TEGRA_ARMV7_COMMON
123         imply REGMAP
124         imply SYSCON
125
126 config TEGRA210
127         bool "Tegra210 family"
128         select GICV2
129         select TEGRA_ARMV8_COMMON
130         select TEGRA_CLKRST
131         select TEGRA_GPIO
132         select TEGRA_GP_PADCTRL
133         select TEGRA_MC
134         select TEGRA_NO_BPMP
135         select TEGRA_PINCTRL
136         select TEGRA_PMC
137         select TEGRA_PMC_SECURE
138
139 config TEGRA186
140         bool "Tegra186 family"
141         select DM_MAILBOX
142         select GICV2
143         select TEGRA186_BPMP
144         select TEGRA186_CLOCK
145         select TEGRA186_GPIO
146         select TEGRA186_RESET
147         select TEGRA_ARMV8_COMMON
148         select TEGRA_HSP
149         select TEGRA_IVC
150
151 endchoice
152
153 config TEGRA_DISCONNECT_UDC_ON_BOOT
154         bool "Disconnect USB device mode controller on boot"
155         depends on CI_UDC
156         default y
157         help
158           When loading U-Boot into RAM over USB protocols using tools such as
159           tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
160           mode controller is initialized and enumerated by the host PC running
161           the tool. Unfortunately, these tools do not shut down the USB
162           controller before executing the downloaded code, and so the host PC
163           does not "de-enumerate" the USB device. This option shuts down the
164           USB controller when U-Boot boots to avoid leaving a stale USB device
165           present.
166
167 config SYS_MALLOC_F_LEN
168         default 0x1800
169
170 source "arch/arm/mach-tegra/tegra20/Kconfig"
171 source "arch/arm/mach-tegra/tegra30/Kconfig"
172 source "arch/arm/mach-tegra/tegra114/Kconfig"
173 source "arch/arm/mach-tegra/tegra124/Kconfig"
174 source "arch/arm/mach-tegra/tegra210/Kconfig"
175 source "arch/arm/mach-tegra/tegra186/Kconfig"
176
177 config CMD_ENTERRCM
178         bool "Enable 'enterrcm' command"
179         default y
180         help
181           Tegra's boot ROM supports a mode whereby code may be downloaded and
182           flash-programmed over a USB connection. On dev boards, this is
183           typically entered by holding down a "force recovery" button and
184           resetting the CPU. However, not all boards have such a button (one
185           example is the Compulab Trimslice), so a method to enter RCM from
186           software is useful.
187
188           Even on boards other than Trimslice, controlling this over a UART
189           may be useful, e.g. to allow simple remote control without the need
190           for mechanical button actuators, or hooking up relays/... to the
191           button.
192
193 endif
This page took 0.0382130000000001 seconds and 4 git commands to generate.