Commit 21f0fd245e311fdb0d8a79747437595d9fab1536
Committed by
Tom Warren
1 parent
a8f2d01967
Exists in
v2017.01-smarct4x
and in
34 other branches
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 |