summaryrefslogtreecommitdiff
path: root/include/configs/seaboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/configs/seaboard.h')
-rw-r--r--include/configs/seaboard.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/configs/seaboard.h b/include/configs/seaboard.h
index b50796334b..b61dc1535b 100644
--- a/include/configs/seaboard.h
+++ b/include/configs/seaboard.h
@@ -36,6 +36,11 @@
#define CONFIG_SERIAL_MULTI
#define CONFIG_TEGRA2_ENABLE_UARTD
#define CONFIG_SYS_NS16550_COM1 NV_PA_APB_UARTD_BASE
+#define CONFIG_NS16550_BUFFER_READS
+
+/* Seaboard SPI activity corrupts the first UART */
+#define CONFIG_SPI_CORRUPTS_UART NV_PA_APB_UARTD_BASE
+#define CONFIG_SPI_CORRUPTS_UART_NR 0
#define CONFIG_MACH_TYPE MACH_TYPE_SEABOARD
#define CONFIG_SYS_BOARD_ODMDATA 0x300d8011 /* lp1, 1GB */
@@ -67,5 +72,25 @@
CONFIG_EXTRA_ENV_SETTINGS_COMMON \
"board=seaboard\0" \
+/* On Seaboard: GPIO_PI3 = Port I = 8, bit = 3 */
+#define UART_DISABLE_GPIO GPIO_PI3
+
+#if defined(CONFIG_SPI_CORRUPTS_UART) && !defined(__ASSEMBLY__)
+
+/* position of the UART/SPI select switch */
+enum spi_uart_switch {
+ SWITCH_UNKNOWN,
+ SWITCH_SPI,
+ SWITCH_UART
+};
+
+/* Move the SPI/UART switch - we can only use one at a time! */
+void seaboard_switch_spi_uart(enum spi_uart_switch new_pos);
+
+static inline void uart_enable(void) { seaboard_switch_spi_uart(SWITCH_UART); }
+static inline void spi_enable(void) { seaboard_switch_spi_uart(SWITCH_SPI); }
+
+#endif
+
#endif /* __CONFIG_H */