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