summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r--arch/arm/mach-tegra/Kconfig40
-rw-r--r--arch/arm/mach-tegra/board.c14
-rw-r--r--arch/arm/mach-tegra/board2.c4
3 files changed, 40 insertions, 18 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index de2454e..fbfb204 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -1,18 +1,29 @@
if TEGRA
-config TEGRA_ARMV7_COMMON
- bool "Tegra 32-bit"
- select SUPPORT_SPL
- select SPL
- select OF_CONTROL
- select CPU_V7
+config TEGRA_COMMON
+ bool "Tegra common options"
select DM
- select DM_SPI_FLASH
- select DM_SERIAL
- select DM_I2C
- select DM_SPI
select DM_GPIO
+ select DM_I2C
select DM_KEYBOARD
+ select DM_PCI
+ select DM_PCI_COMPAT
+ select DM_SERIAL
+ select DM_SPI
+ select DM_SPI_FLASH
+ select OF_CONTROL
+
+config TEGRA_ARMV7_COMMON
+ bool "Tegra 32-bit common options"
+ select CPU_V7
+ select SPL
+ select SUPPORT_SPL
+ select TEGRA_COMMON
+
+config TEGRA_ARMV8_COMMON
+ bool "Tegra 64-bit common options"
+ select ARM64
+ select TEGRA_COMMON
choice
prompt "Tegra SoC select"
@@ -36,14 +47,7 @@ config TEGRA124
config TEGRA210
bool "Tegra210 family"
- select OF_CONTROL
- select ARM64
- select DM
- select DM_SPI_FLASH
- select DM_SERIAL
- select DM_I2C
- select DM_SPI
- select DM_GPIO
+ select TEGRA_ARMV8_COMMON
endchoice
diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
index b00e4b5..3d1d26d 100644
--- a/arch/arm/mach-tegra/board.c
+++ b/arch/arm/mach-tegra/board.c
@@ -6,6 +6,8 @@
*/
#include <common.h>
+#include <dm.h>
+#include <ns16550.h>
#include <spl.h>
#include <asm/io.h>
#include <asm/arch/clock.h>
@@ -212,6 +214,18 @@ void board_init_uart_f(void)
setup_uarts(uart_ids);
}
+#if !CONFIG_IS_ENABLED(OF_CONTROL)
+static struct ns16550_platdata ns16550_com1_pdata = {
+ .base = CONFIG_SYS_NS16550_COM1,
+ .reg_shift = 2,
+ .clock = CONFIG_SYS_NS16550_CLK,
+};
+
+U_BOOT_DEVICE(ns16550_com1) = {
+ "ns16550_serial", &ns16550_com1_pdata
+};
+#endif
+
#if !defined(CONFIG_SYS_DCACHE_OFF) && !defined(CONFIG_ARM64)
void enable_caches(void)
{
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index 8ba143d..a650abd 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -377,6 +377,10 @@ void dram_init_banksize(void)
gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
gd->bd->bi_dram[0].size = usable_ram_size_below_4g();
+#ifdef CONFIG_PCI
+ gd->pci_ram_top = gd->bd->bi_dram[0].start + gd->bd->bi_dram[0].size;
+#endif
+
#ifdef CONFIG_PHYS_64BIT
if (gd->ram_size > SZ_2G) {
gd->bd->bi_dram[1].start = 0x100000000;