4 * Include file that defines the Xilinx ML300 evaluation board
6 * Author: MontaVista Software, Inc.
9 * 2002 (c) MontaVista, Software, Inc. This file is licensed under the terms
10 * of the GNU General Public License version 2.1. This program is licensed
11 * "as is" without any warranty of any kind, whether express or implied.
15 #ifndef __ASM_XILINX_ML300_H__
16 #define __ASM_XILINX_ML300_H__
18 /* ML300 has a Xilinx Virtex-II Pro processor */
19 #include <platforms/virtex-ii_pro.h>
20 #include <platforms/xilinx_ocp/xparameters.h>
23 typedef struct board_info {
24 unsigned int bi_memsize; /* DRAM installed, in bytes */
25 unsigned char bi_enetaddr[6]; /* Local Ethernet MAC address */
26 unsigned int bi_intfreq; /* Processor speed, in Hz */
27 unsigned int bi_busfreq; /* Bus speed, in Hz */
30 /* Some 4xx parts use a different timebase frequency from the internal clock.
32 #define bi_tbfreq bi_intfreq
34 #endif /* !__ASSEMBLY__ */
36 #define BASE_BAUD (XPAR_UARTNS550_0_CLOCK_FREQ_HZ/16)
38 /* We don't need anything mapped. Size of zero will accomplish that. */
39 #define PPC4xx_ONB_IO_PADDR ((uint)0)
40 #define PPC4xx_ONB_IO_VADDR ((uint)0)
41 #define PPC4xx_ONB_IO_SIZE ((uint)0)
43 /* The serial ports in the Virtex-II Pro have each I/O byte in the
44 * LSByte of a word. This means that iomem_reg_shift needs to be 2 to
45 * change the byte offsets into word offsets. In addition the base
46 * addresses need to have 3 added to them to get to the LSByte.
48 #define STD_UART_OP(num) \
49 { 0, BASE_BAUD, 0, 31-XPAR_INTC_0_UARTNS550_##num##_VEC_ID, \
50 (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST), \
51 iomem_base: (u8 *)XPAR_UARTNS550_##num##_BASEADDR + 3, \
53 io_type: SERIAL_IO_MEM},
55 #if defined(XPAR_INTC_0_UARTNS550_0_VEC_ID)
56 #define ML300_UART0 STD_UART_OP(0)
61 #if defined(XPAR_INTC_0_UARTNS550_1_VEC_ID)
62 #define ML300_UART1 STD_UART_OP(1)
67 #if defined(XPAR_INTC_0_UARTNS550_2_VEC_ID)
68 #define ML300_UART2 STD_UART_OP(2)
73 #if defined(XPAR_INTC_0_UARTNS550_3_VEC_ID)
74 #define ML300_UART3 STD_UART_OP(3)
79 #if defined(XPAR_INTC_0_UARTNS550_4_VEC_ID)
80 #error Edit this file to add more devices.
83 #if defined(CONFIG_UART0_TTYS0)
84 #define SERIAL_PORT_DFNS \
91 #if defined(CONFIG_UART0_TTYS1)
92 #define SERIAL_PORT_DFNS \
99 /* ps2 keyboard and mouse */
100 #define KEYBOARD_IRQ (31 - XPAR_INTC_0_PS2_1_VEC_ID)
101 #define AUX_IRQ (31 - XPAR_INTC_0_PS2_0_VEC_ID)
103 #define PPC4xx_MACHINE_NAME "Xilinx ML300"
105 #endif /* __ASM_XILINX_ML300_H__ */
106 #endif /* __KERNEL__ */