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