Commit 21f0fd245e311fdb0d8a79747437595d9fab1536

Authored by Ian Campbell
Committed by Tom Warren
1 parent a8f2d01967

jetson-tk1: Add PSCI configuration options and reserve secure code

The secure world code is relocated to the MB just below the top of 4G, we
reserve it in the FDT (by setting CONFIG_ARMV7_SECURE_RESERVE_SIZE) but it is
not protected in h/w.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Tested-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Tom Warren <twarren@nvidia.com>

Showing 2 changed files with 7 additions and 0 deletions Inline Diff

arch/arm/mach-tegra/tegra124/Kconfig
1 if TEGRA124 1 if TEGRA124
2 2
3 choice 3 choice
4 prompt "Tegra124 board select" 4 prompt "Tegra124 board select"
5 optional 5 optional
6 6
7 config TARGET_JETSON_TK1 7 config TARGET_JETSON_TK1
8 bool "NVIDIA Tegra124 Jetson TK1 board" 8 bool "NVIDIA Tegra124 Jetson TK1 board"
9 select CPU_V7_HAS_NONSEC if !SPL_BUILD
10 select CPU_V7_HAS_VIRT if !SPL_BUILD
9 11
10 config TARGET_NYAN_BIG 12 config TARGET_NYAN_BIG
11 bool "Google/NVIDIA Nyan-big Chrombook" 13 bool "Google/NVIDIA Nyan-big Chrombook"
12 help 14 help
13 Nyan Big is a Tegra124 clamshell board that is very similar 15 Nyan Big is a Tegra124 clamshell board that is very similar
14 to venice2, but it has a different panel, the sdcard CD and WP 16 to venice2, but it has a different panel, the sdcard CD and WP
15 sense are flipped, and it has a different revision of the AS3722 17 sense are flipped, and it has a different revision of the AS3722
16 PMIC. The retail name is the Acer Chromebook 13 CB5-311-T7NN 18 PMIC. The retail name is the Acer Chromebook 13 CB5-311-T7NN
17 (13.3-inch HD, NVIDIA Tegra K1, 2GB). 19 (13.3-inch HD, NVIDIA Tegra K1, 2GB).
18 20
19 config TARGET_VENICE2 21 config TARGET_VENICE2
20 bool "NVIDIA Tegra124 Venice2" 22 bool "NVIDIA Tegra124 Venice2"
21 23
22 endchoice 24 endchoice
23 25
24 config SYS_SOC 26 config SYS_SOC
25 default "tegra124" 27 default "tegra124"
26 28
27 source "board/nvidia/jetson-tk1/Kconfig" 29 source "board/nvidia/jetson-tk1/Kconfig"
28 source "board/nvidia/nyan-big/Kconfig" 30 source "board/nvidia/nyan-big/Kconfig"
29 source "board/nvidia/venice2/Kconfig" 31 source "board/nvidia/venice2/Kconfig"
30 32
31 endif 33 endif
32 34
include/configs/jetson-tk1.h
1 /* 1 /*
2 * (C) Copyright 2013-2014 2 * (C) Copyright 2013-2014
3 * NVIDIA Corporation <www.nvidia.com> 3 * NVIDIA Corporation <www.nvidia.com>
4 * 4 *
5 * SPDX-License-Identifier: GPL-2.0 5 * SPDX-License-Identifier: GPL-2.0
6 */ 6 */
7 7
8 #ifndef __CONFIG_H 8 #ifndef __CONFIG_H
9 #define __CONFIG_H 9 #define __CONFIG_H
10 10
11 #include <linux/sizes.h> 11 #include <linux/sizes.h>
12 12
13 /* enable PMIC */ 13 /* enable PMIC */
14 #define CONFIG_AS3722_POWER 14 #define CONFIG_AS3722_POWER
15 15
16 #include "tegra124-common.h" 16 #include "tegra124-common.h"
17 17
18 /* High-level configuration options */ 18 /* High-level configuration options */
19 #define V_PROMPT "Tegra124 (Jetson TK1) # " 19 #define V_PROMPT "Tegra124 (Jetson TK1) # "
20 #define CONFIG_TEGRA_BOARD_STRING "NVIDIA Jetson TK1" 20 #define CONFIG_TEGRA_BOARD_STRING "NVIDIA Jetson TK1"
21 21
22 /* Board-specific serial config */ 22 /* Board-specific serial config */
23 #define CONFIG_SERIAL_MULTI 23 #define CONFIG_SERIAL_MULTI
24 #define CONFIG_TEGRA_ENABLE_UARTD 24 #define CONFIG_TEGRA_ENABLE_UARTD
25 #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE 25 #define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
26 26
27 /* I2C */ 27 /* I2C */
28 #define CONFIG_SYS_I2C_TEGRA 28 #define CONFIG_SYS_I2C_TEGRA
29 #define CONFIG_CMD_I2C 29 #define CONFIG_CMD_I2C
30 30
31 /* SD/MMC */ 31 /* SD/MMC */
32 #define CONFIG_MMC 32 #define CONFIG_MMC
33 #define CONFIG_GENERIC_MMC 33 #define CONFIG_GENERIC_MMC
34 #define CONFIG_TEGRA_MMC 34 #define CONFIG_TEGRA_MMC
35 #define CONFIG_CMD_MMC 35 #define CONFIG_CMD_MMC
36 36
37 /* Environment in eMMC, at the end of 2nd "boot sector" */ 37 /* Environment in eMMC, at the end of 2nd "boot sector" */
38 #define CONFIG_ENV_IS_IN_MMC 38 #define CONFIG_ENV_IS_IN_MMC
39 #define CONFIG_ENV_OFFSET (-CONFIG_ENV_SIZE) 39 #define CONFIG_ENV_OFFSET (-CONFIG_ENV_SIZE)
40 #define CONFIG_SYS_MMC_ENV_DEV 0 40 #define CONFIG_SYS_MMC_ENV_DEV 0
41 #define CONFIG_SYS_MMC_ENV_PART 2 41 #define CONFIG_SYS_MMC_ENV_PART 2
42 42
43 /* SPI */ 43 /* SPI */
44 #define CONFIG_TEGRA114_SPI /* Compatible w/ Tegra114 SPI */ 44 #define CONFIG_TEGRA114_SPI /* Compatible w/ Tegra114 SPI */
45 #define CONFIG_TEGRA114_SPI_CTRLS 6 45 #define CONFIG_TEGRA114_SPI_CTRLS 6
46 #define CONFIG_SPI_FLASH 46 #define CONFIG_SPI_FLASH
47 #define CONFIG_SPI_FLASH_WINBOND 47 #define CONFIG_SPI_FLASH_WINBOND
48 #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 48 #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0
49 #define CONFIG_SF_DEFAULT_SPEED 24000000 49 #define CONFIG_SF_DEFAULT_SPEED 24000000
50 #define CONFIG_CMD_SPI 50 #define CONFIG_CMD_SPI
51 #define CONFIG_CMD_SF 51 #define CONFIG_CMD_SF
52 #define CONFIG_SPI_FLASH_SIZE (4 << 20) 52 #define CONFIG_SPI_FLASH_SIZE (4 << 20)
53 53
54 /* USB Host support */ 54 /* USB Host support */
55 #define CONFIG_USB_EHCI 55 #define CONFIG_USB_EHCI
56 #define CONFIG_USB_EHCI_TEGRA 56 #define CONFIG_USB_EHCI_TEGRA
57 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 57 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
58 #define CONFIG_USB_STORAGE 58 #define CONFIG_USB_STORAGE
59 #define CONFIG_CMD_USB 59 #define CONFIG_CMD_USB
60 60
61 /* USB networking support */ 61 /* USB networking support */
62 #define CONFIG_USB_HOST_ETHER 62 #define CONFIG_USB_HOST_ETHER
63 #define CONFIG_USB_ETHER_ASIX 63 #define CONFIG_USB_ETHER_ASIX
64 64
65 /* PCI host support */ 65 /* PCI host support */
66 #define CONFIG_PCI 66 #define CONFIG_PCI
67 #define CONFIG_PCI_TEGRA 67 #define CONFIG_PCI_TEGRA
68 #define CONFIG_PCI_PNP 68 #define CONFIG_PCI_PNP
69 #define CONFIG_CMD_PCI 69 #define CONFIG_CMD_PCI
70 #define CONFIG_CMD_PCI_ENUM 70 #define CONFIG_CMD_PCI_ENUM
71 71
72 /* PCI networking support */ 72 /* PCI networking support */
73 #define CONFIG_RTL8169 73 #define CONFIG_RTL8169
74 74
75 /* General networking support */ 75 /* General networking support */
76 #define CONFIG_CMD_NET 76 #define CONFIG_CMD_NET
77 #define CONFIG_CMD_DHCP 77 #define CONFIG_CMD_DHCP
78 78
79 #include "tegra-common-usb-gadget.h" 79 #include "tegra-common-usb-gadget.h"
80 #include "tegra-common-post.h" 80 #include "tegra-common-post.h"
81 81
82 #define CONFIG_ARMV7_PSCI 1
83 /* Reserve top 1M for secure RAM */
84 #define CONFIG_ARMV7_SECURE_BASE 0xfff00000
85 #define CONFIG_ARMV7_SECURE_RESERVE_SIZE 0x00100000
86
82 #endif /* __CONFIG_H */ 87 #endif /* __CONFIG_H */
83 88