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