arm: add support for PDU001

This patch adds support for the PDU001 board.

Signed-off-by: Felix Brack <fb@ltec.ch>
Reviewed-by: Tom Rini <trini@konsulko.com>
diff --git a/include/configs/pdu001.h b/include/configs/pdu001.h
new file mode 100644
index 0000000..6fccae5
--- /dev/null
+++ b/include/configs/pdu001.h
@@ -0,0 +1,87 @@
+/*
+ * pdu001.h
+ *
+ * Copyright (C) 2018 EETS GmbH - http://www.eets.ch/
+ *
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_PDU001_H
+#define __CONFIG_PDU001_H
+
+#include <configs/ti_am335x_common.h>
+
+/* No more need for I2C legacy compatibility for this board.
+ * CONFIG_DM_I2C_COMPAT is defined in ti_armv7_common.h. See the comment there
+ * for the right moment to delete the following line.
+ */
+#undef CONFIG_DM_I2C_COMPAT
+
+/* Using 32K of volatile storage for environment */
+#define CONFIG_ENV_SIZE		0x4000
+
+#define MACH_TYPE_PDU001	5075
+#define CONFIG_MACH_TYPE	MACH_TYPE_PDU001
+#define CONFIG_BOARD_LATE_INIT
+
+/* Clock Defines */
+#define V_OSCK			24000000  /* Clock output from T2 */
+#define V_SCLK			(V_OSCK)
+
+#if CONFIG_CONS_INDEX == 1
+	#define CONSOLE_DEV "ttyO0"
+#elif CONFIG_CONS_INDEX == 2
+	#define CONSOLE_DEV "ttyO1"
+#elif CONFIG_CONS_INDEX == 3
+	#define CONSOLE_DEV "ttyO2"
+#elif CONFIG_CONS_INDEX == 4
+	#define CONSOLE_DEV "ttyO3"
+#elif CONFIG_CONS_INDEX == 5
+	#define CONSOLE_DEV "ttyO4"
+#elif CONFIG_CONS_INDEX == 6
+	#define CONSOLE_DEV "ttyO5"
+#endif
+
+#define CONFIG_BOOTCOMMAND \
+	"run eval_boot_device;" \
+	"setenv bootargs console=${console} " \
+	"vt.global_cursor_default=0 " \
+	"root=/dev/mmcblk${mmc_boot}p${root_fs_partition} " \
+	"rootfstype=ext4 " \
+	"rootwait " \
+	"rootdelay=1;" \
+	"fatload mmc ${mmc_boot} ${fdtaddr} ${fdtfile};" \
+	"fatload mmc ${mmc_boot} ${loadaddr} ${bootfile};" \
+	"bootz ${loadaddr} - ${fdtaddr}"
+
+#ifndef CONFIG_SPL_BUILD
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	DEFAULT_LINUX_BOOT_ENV \
+	"fdtfile=am335x-pdu001.dtb\0" \
+	"bootfile=zImage\0" \
+	"console=" CONSOLE_DEV ",115200n8\0" \
+	"root_fs_partition=2\0" \
+	"eval_boot_device=" \
+		"if test $boot_device = emmc; then " \
+			"setenv mmc_boot 0;" \
+		"elif test $boot_device = sdcard; then " \
+			"setenv mmc_boot 1;" \
+		"else " \
+			"echo Bootdevice is neither MMC0 nor MMC1;" \
+			"reset;" \
+		"fi;" \
+	"\0"
+#endif
+
+/* NS16550 Configuration */
+#define CONFIG_SYS_NS16550_COM1	UART0_BASE
+#define CONFIG_SYS_NS16550_COM2	UART1_BASE
+#define CONFIG_SYS_NS16550_COM3	UART2_BASE
+#define CONFIG_SYS_NS16550_COM4	UART3_BASE
+#define CONFIG_SYS_NS16550_COM5	UART4_BASE
+#define CONFIG_SYS_NS16550_COM6	UART5_BASE
+#define CONFIG_BAUDRATE		115200
+
+#endif	/* ! __CONFIG_PDU001_H */