]> git.sur5r.net Git - u-boot/blob - arch/arm/mach-tegra/Kconfig
Merge branch 'master' of git://git.denx.de/u-boot-mmc
[u-boot] / 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_PWM
33         select DM_RESET
34         select DM_SERIAL
35         select DM_SPI
36         select DM_SPI_FLASH
37         select MISC
38         select OF_CONTROL
39         select VIDCONSOLE_AS_LCD if DM_VIDEO
40         select BOARD_EARLY_INIT_F
41         imply CRC32_VERIFY
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 SPL_BOARD_INIT if SPL
54         select SUPPORT_SPL
55         select TEGRA_COMMON
56         select TEGRA_GPIO
57         select TEGRA_NO_BPMP
58
59 config TEGRA_ARMV8_COMMON
60         bool "Tegra 64-bit common options"
61         select ARM64
62         select TEGRA_COMMON
63
64 choice
65         prompt "Tegra SoC select"
66         optional
67
68 config TEGRA20
69         bool "Tegra20 family"
70         select ARM_ERRATA_716044
71         select ARM_ERRATA_742230
72         select ARM_ERRATA_751472
73         select TEGRA_ARMV7_COMMON
74
75 config TEGRA30
76         bool "Tegra30 family"
77         select ARM_ERRATA_743622
78         select ARM_ERRATA_751472
79         select TEGRA_ARMV7_COMMON
80
81 config TEGRA114
82         bool "Tegra114 family"
83         select TEGRA_ARMV7_COMMON
84
85 config TEGRA124
86         bool "Tegra124 family"
87         select TEGRA_ARMV7_COMMON
88         imply REGMAP
89         imply SYSCON
90
91 config TEGRA210
92         bool "Tegra210 family"
93         select TEGRA_GPIO
94         select TEGRA_ARMV8_COMMON
95         select TEGRA_NO_BPMP
96
97 config TEGRA186
98         bool "Tegra186 family"
99         select DM_MAILBOX
100         select TEGRA186_BPMP
101         select TEGRA186_CLOCK
102         select TEGRA186_GPIO
103         select TEGRA186_RESET
104         select TEGRA_ARMV8_COMMON
105         select TEGRA_HSP
106         select TEGRA_IVC
107
108 endchoice
109
110 config TEGRA_DISCONNECT_UDC_ON_BOOT
111         bool "Disconnect USB device mode controller on boot"
112         default y
113         help
114           When loading U-Boot into RAM over USB protocols using tools such as
115           tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
116           mode controller is initialized and enumerated by the host PC running
117           the tool. Unfortunately, these tools do not shut down the USB
118           controller before executing the downloaded code, and so the host PC
119           does not "de-enumerate" the USB device. This option shuts down the
120           USB controller when U-Boot boots to avoid leaving a stale USB device
121           present.
122
123 config SYS_MALLOC_F_LEN
124         default 0x1800
125
126 source "arch/arm/mach-tegra/tegra20/Kconfig"
127 source "arch/arm/mach-tegra/tegra30/Kconfig"
128 source "arch/arm/mach-tegra/tegra114/Kconfig"
129 source "arch/arm/mach-tegra/tegra124/Kconfig"
130 source "arch/arm/mach-tegra/tegra210/Kconfig"
131 source "arch/arm/mach-tegra/tegra186/Kconfig"
132
133 config CMD_ENTERRCM
134         bool "Enable 'enterrcm' command"
135         default y
136         help
137           Tegra's boot ROM supports a mode whereby code may be downloaded and
138           flash-programmed over a USB connection. On dev boards, this is
139           typically entered by holding down a "force recovery" button and
140           resetting the CPU. However, not all boards have such a button (one
141           example is the Compulab Trimslice), so a method to enter RCM from
142           software is useful.
143
144           Even on boards other than Trimslice, controlling this over a UART
145           may be useful, e.g. to allow simple remote control without the need
146           for mechanical button actuators, or hooking up relays/... to the
147           button.
148
149 endif