]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/mach-tegra/Kconfig
Convert CONFIG_SPL_BOARD_INIT to Kconfig
[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_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
42 config TEGRA_NO_BPMP
43 bool "Tegra common options for SoCs without BPMP"
44 select TEGRA_CAR
45 select TEGRA_CAR_CLOCK
46 select TEGRA_CAR_RESET
47
48 config TEGRA_ARMV7_COMMON
49 bool "Tegra 32-bit common options"
50 select CPU_V7
51 select SPL
52 select SPL_BOARD_INIT if 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 ARM_ERRATA_716044
70 select ARM_ERRATA_742230
71 select ARM_ERRATA_751472
72 select TEGRA_ARMV7_COMMON
73
74 config TEGRA30
75 bool "Tegra30 family"
76 select ARM_ERRATA_743622
77 select ARM_ERRATA_751472
78 select TEGRA_ARMV7_COMMON
79
80 config TEGRA114
81 bool "Tegra114 family"
82 select TEGRA_ARMV7_COMMON
83
84 config TEGRA124
85 bool "Tegra124 family"
86 select TEGRA_ARMV7_COMMON
87
88 config TEGRA210
89 bool "Tegra210 family"
90 select TEGRA_GPIO
91 select TEGRA_ARMV8_COMMON
92 select TEGRA_NO_BPMP
93
94 config TEGRA186
95 bool "Tegra186 family"
96 select DM_MAILBOX
97 select TEGRA186_BPMP
98 select TEGRA186_CLOCK
99 select TEGRA186_GPIO
100 select TEGRA186_RESET
101 select TEGRA_ARMV8_COMMON
102 select TEGRA_HSP
103 select TEGRA_IVC
104
105 endchoice
106
107 config TEGRA_DISCONNECT_UDC_ON_BOOT
108 bool "Disconnect USB device mode controller on boot"
109 default y
110 help
111 When loading U-Boot into RAM over USB protocols using tools such as
112 tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
113 mode controller is initialized and enumerated by the host PC running
114 the tool. Unfortunately, these tools do not shut down the USB
115 controller before executing the downloaded code, and so the host PC
116 does not "de-enumerate" the USB device. This option shuts down the
117 USB controller when U-Boot boots to avoid leaving a stale USB device
118 present.
119
120 config SYS_MALLOC_F_LEN
121 default 0x1800
122
123 source "arch/arm/mach-tegra/tegra20/Kconfig"
124 source "arch/arm/mach-tegra/tegra30/Kconfig"
125 source "arch/arm/mach-tegra/tegra114/Kconfig"
126 source "arch/arm/mach-tegra/tegra124/Kconfig"
127 source "arch/arm/mach-tegra/tegra210/Kconfig"
128 source "arch/arm/mach-tegra/tegra186/Kconfig"
129
130 endif