if ARCH_ZYNQ
menu "Xilinx Specific Options"
-config XILINX_EARLY_UART1
+config ZYNQ_EARLY_UART1
tristate "Early Printk On UART1 (2nd UART)"
default n
help
Select if you want to use the 2nd UART (UART1) in Zynq for the early
printk. If not selected, the 1st UART (UART0) is used.
+config ZYNQ_EARLY_UART_EP107
+ tristate "Early UART Clock Input For EP107"
+ default y
+ help
+ Select if you want the kernel to be setup for the EP107 board which is
+ using a 50 MHz clock into the UART. Not selecting this causes a clock into
+ the UART that is based on a 33.333 MHz clock divided down by 63. Note that
+ this only affects early printk.
config XILINX_FIXED_DEVTREE_ADDR
tristate "Device Tree At Fixed Address"
#define UART_SR_TXFULL 0x00000010 /* TX FIFO full */
#define UART_SR_TXEMPTY 0x00000008 /* TX FIFO empty */
-#define UART_BAUD_9600 0x145 /* 9600 based on 50 MHz clock */
-#define UART_BAUDDIV_9600 0xF
-#define UART_BAUD_115K 0x56 /* 115200 based on 50 MHz clock */
-#define UART_BAUDDIV_115K 0x4
+/* The EP107 uses a different clock (50 MHz) right into the UART while the new boards
+ will be using a 33.333 MHz clock into the chip which then is divided by 63.
+*/
+#ifdef CONFIG_XILINX_EARLY_UART_EP107
+ #define UART_BAUD_115K 0x56 /* 115200 based on 50 MHz clock */
+ #define UART_BAUDDIV_115K 0x4
+#else
+ #define UART_BAUD_115K 0x11 /* 115200 based on 33.33MHz / 63 clock */
+ #define UART_BAUDDIV_115K 0x6
+#endif
#ifndef __ASSEMBLY__
#if defined(CONFIG_XILINX_AMP_CPU1_SLAVE) || \
defined(CONFIG_XILINX_CPU1_TEST) || \
defined(CONFIG_ZYNQ_AMP_CPU1_SLAVE) || \
- defined(CONFIG_ZYNQ_CPU1_TEST)
+ defined(CONFIG_ZYNQ_CPU1_TEST) || \
+ defined(CONFIG_ZYNQ_EARLY_UART1)
#define LL_UART_PADDR UART1_PHYS
#define LL_UART_VADDR UART1_VIRT