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