76909ee2d9b2d59121318c4564da23980ade9754
[platform/kernel/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 DM
26         select DM_ETH
27         select DM_GPIO
28         select DM_I2C
29         select DM_KEYBOARD
30         select DM_PCI
31         select DM_PCI_COMPAT
32         select DM_PWM
33         select DM_SERIAL
34         select DM_SPI
35         select DM_SPI_FLASH
36         select OF_CONTROL
37         select VIDCONSOLE_AS_LCD if DM_VIDEO
38
39 config TEGRA_ARMV7_COMMON
40         bool "Tegra 32-bit common options"
41         select CPU_V7
42         select SPL
43         select SUPPORT_SPL
44         select TEGRA_COMMON
45         select TEGRA_GPIO
46
47 config TEGRA_ARMV8_COMMON
48         bool "Tegra 64-bit common options"
49         select ARM64
50         select TEGRA_COMMON
51
52 choice
53         prompt "Tegra SoC select"
54         optional
55
56 config TEGRA20
57         bool "Tegra20 family"
58         select TEGRA_ARMV7_COMMON
59
60 config TEGRA30
61         bool "Tegra30 family"
62         select TEGRA_ARMV7_COMMON
63
64 config TEGRA114
65         bool "Tegra114 family"
66         select TEGRA_ARMV7_COMMON
67
68 config TEGRA124
69         bool "Tegra124 family"
70         select TEGRA_ARMV7_COMMON
71
72 config TEGRA210
73         bool "Tegra210 family"
74         select TEGRA_GPIO
75         select TEGRA_ARMV8_COMMON
76
77 config TEGRA186
78         bool "Tegra186 family"
79         select CLK
80         select DM_MAILBOX
81         select DM_RESET
82         select MISC
83         select TEGRA186_BPMP
84         select TEGRA186_CLOCK
85         select TEGRA186_GPIO
86         select TEGRA186_RESET
87         select TEGRA_ARMV8_COMMON
88         select TEGRA_HSP
89         select TEGRA_IVC
90
91 endchoice
92
93 config TEGRA_DISCONNECT_UDC_ON_BOOT
94         bool "Disconnect USB device mode controller on boot"
95         default y
96         help
97           When loading U-Boot into RAM over USB protocols using tools such as
98           tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
99           mode controller is initialized and enumerated by the host PC running
100           the tool. Unfortunately, these tools do not shut down the USB
101           controller before executing the downloaded code, and so the host PC
102           does not "de-enumerate" the USB device. This option shuts down the
103           USB controller when U-Boot boots to avoid leaving a stale USB device
104           present.
105
106 config SYS_MALLOC_F_LEN
107         default 0x1800
108
109 source "arch/arm/mach-tegra/tegra20/Kconfig"
110 source "arch/arm/mach-tegra/tegra30/Kconfig"
111 source "arch/arm/mach-tegra/tegra114/Kconfig"
112 source "arch/arm/mach-tegra/tegra124/Kconfig"
113 source "arch/arm/mach-tegra/tegra210/Kconfig"
114 source "arch/arm/mach-tegra/tegra186/Kconfig"
115
116 endif