1 /* 2 * include/asm-ppc/platforms/spruce.h 3 * 4 * Definitions for IBM Spruce reference board support 5 * 6 * Authors: Matt Porter and Johnnie Peters 7 * mporter@mvista.com 8 * jpeters@mvista.com 9 * 10 * 2001 (c) MontaVista, Software, Inc. This file is licensed under 11 * the terms of the GNU General Public License version 2. This program 12 * is licensed "as is" without any warranty of any kind, whether express 13 * or implied. 14 */ 15 16 #ifdef __KERNEL__ 17 #ifndef __ASM_SPRUCE_H__ 18 #define __ASM_SPRUCE_H__ 19 20 #define SPRUCE_PCI_CONFIG_ADDR 0xfec00000 21 #define SPRUCE_PCI_CONFIG_DATA 0xfec00004 22 23 #define SPRUCE_PCI_PHY_IO_BASE 0xf8000000 24 #define SPRUCE_PCI_IO_BASE SPRUCE_PCI_PHY_IO_BASE 25 26 #define SPRUCE_PCI_SYS_MEM_BASE 0x00000000 27 28 #define SPRUCE_PCI_LOWER_MEM 0x80000000 29 #define SPRUCE_PCI_UPPER_MEM 0x9fffffff 30 #define SPRUCE_PCI_LOWER_IO 0x00000000 31 #define SPRUCE_PCI_UPPER_IO 0x03ffffff 32 33 #define SPRUCE_ISA_IO_BASE SPRUCE_PCI_IO_BASE 34 35 #define SPRUCE_MEM_SIZE 0x04000000 36 #define SPRUCE_BUS_SPEED 66666667 37 38 #define SPRUCE_NVRAM_BASE_ADDR 0xff800000 39 #define SPRUCE_RTC_BASE_ADDR SPRUCE_NVRAM_BASE_ADDR 40 41 #define KEYBOARD_IRQ 22 42 #define AUX_IRQ 21 43 44 unsigned char spruce_read_keyb_data(void); 45 unsigned char spruce_read_keyb_status(void); 46 47 #define kbd_read_input spruce_read_keyb_data 48 #define kbd_read_status spruce_read_keyb_status 49 #define kbd_write_output(val) *((unsigned char *)0xff810000) = (char)val 50 #define kbd_write_command(val) *((unsigned char *)0xff810001) = (char)val 51 52 /* 53 * Serial port defines 54 */ 55 #define SPRUCE_FPGA_REG_A 0xff820000 56 #define SPRUCE_UARTCLK_33M 0x02 57 #define SPRUCE_UARTCLK_IS_33M(reg) (reg & SPRUCE_UARTCLK_33M) 58 59 #define UART0_IO_BASE 0xff600300 60 #define UART1_IO_BASE 0xff600400 61 62 #define RS_TABLE_SIZE 2 63 64 #define SPRUCE_BAUD_33M 33000000/64 65 #define SPRUCE_BAUD_30M 30000000/64 66 #define BASE_BAUD SPRUCE_BAUD_33M 67 68 #define UART0_INT 3 69 #define UART1_INT 4 70 71 #define STD_UART_OP(num) \ 72 { 0, BASE_BAUD, 0, UART##num##_INT, \ 73 ASYNC_BOOT_AUTOCONF, \ 74 iomem_base: UART##num##_IO_BASE, \ 75 io_type: SERIAL_IO_MEM}, 76 77 #define SERIAL_PORT_DFNS \ 78 STD_UART_OP(0) \ 79 STD_UART_OP(1) 80 81 #endif /* __ASM_SPRUCE_H__ */ 82 #endif /* __KERNEL__ */ 83