summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Feng <fenghua@phytium.com.cn>2015-01-31 11:55:29 +0800
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2015-03-27 16:33:51 +0100
commitd8bafe1310487ba0e0785997726b4792072178d3 (patch)
treed0dcbb0cf5b122fc09efdb7b9cfe3f98de888e71
parentb263302aa588464cec3bbdde09e2b52765dbae9e (diff)
downloadu-boot-imx-d8bafe1310487ba0e0785997726b4792072178d3.zip
u-boot-imx-d8bafe1310487ba0e0785997726b4792072178d3.tar.gz
u-boot-imx-d8bafe1310487ba0e0785997726b4792072178d3.tar.bz2
ARMv8: enable DM in vexpress64 board
Signed-off-by: David Feng <fenghua@phytium.com.cn>
-rw-r--r--board/armltd/vexpress64/vexpress64.c13
-rw-r--r--include/configs/vexpress_aemv8a.h13
2 files changed, 25 insertions, 1 deletions
diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index de62864..071d88c 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -12,9 +12,22 @@
#include <asm/io.h>
#include <linux/compiler.h>
#include <asm/semihosting.h>
+#include <dm/platdata.h>
+#include <dm/platform_data/serial_pl01x.h>
DECLARE_GLOBAL_DATA_PTR;
+static const struct pl01x_serial_platdata serial_platdata = {
+ .base = V2M_UART0,
+ .type = TYPE_PL011,
+ .clock = 2400 * 1000,
+};
+
+U_BOOT_DEVICE(vexpress_serials) = {
+ .name = "serial_pl01x",
+ .platdata = &serial_platdata,
+};
+
int board_init(void)
{
return 0;
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index 810eef1..047514a 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -8,6 +8,8 @@
#ifndef __VEXPRESS_AEMV8A_H
#define __VEXPRESS_AEMV8A_H
+#define CONFIG_DM
+
/* We use generic board for v8 Versatile Express */
#define CONFIG_SYS_GENERIC_BOARD
@@ -127,6 +129,7 @@
#define CONFIG_SYS_MEMTEST_END (V2M_BASE + 0x80000000)
/* Size of malloc() pool */
+#define CONFIG_SYS_MALLOC_F_LEN 0x2000
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 << 20))
/* Ethernet Configuration */
@@ -142,6 +145,14 @@
#endif
/* PL011 Serial Configuration */
+#define CONFIG_BAUDRATE 115200
+#ifdef CONFIG_DM
+#define CONFIG_DM_SERIAL
+#define CONFIG_PL01X_SERIAL
+#else
+#define CONFIG_SYS_SERIAL0 V2M_UART0
+#define CONFIG_SYS_SERIAL1 V2M_UART1
+#define CONFIG_CONS_INDEX 0
#define CONFIG_PL011_SERIAL
#ifdef CONFIG_TARGET_VEXPRESS64_JUNO
#define CONFIG_PL011_CLOCK 7273800
@@ -150,7 +161,7 @@
#endif
#define CONFIG_PL01x_PORTS {(void *)CONFIG_SYS_SERIAL0, \
(void *)CONFIG_SYS_SERIAL1}
-#define CONFIG_CONS_INDEX 0
+#endif
#define CONFIG_BAUDRATE 115200
#define CONFIG_SYS_SERIAL0 V2M_UART0