3 * Copyright 2000 MontaVista Software Inc.
4 * Author: Armin Kuster <akuster@mvista.com>
5 * MontaVista Software, Inc.
7 * Module name: sycamore.h
10 * Macros, definitions, and data structures specific to the IBM PowerPC
15 * 405GP "Sycamore" evaluation board
17 * Please read the COPYING file for all license details.
21 #ifndef __ASM_SYCAMORE_H__
22 #define __ASM_SYCAMORE_H__
24 #include <platforms/ibm405gpr.h>
28 * Data structure defining board information maintained by the boot
29 * ROM on IBM's "Sycamore" evaluation board. An effort has been made to
30 * keep the field names consistent with the 8xx 'bd_t' board info
34 typedef struct board_info {
35 unsigned char bi_s_version[4]; /* Version of this structure */
36 unsigned char bi_r_version[30]; /* Version of the IBM ROM */
37 unsigned int bi_memsize; /* DRAM installed, in bytes */
38 unsigned char bi_enetaddr[6]; /* Local Ethernet MAC address */
39 unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
40 unsigned int bi_intfreq; /* Processor speed, in Hz */
41 unsigned int bi_busfreq; /* PLB Bus speed, in Hz */
42 unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */
45 /* Some 4xx parts use a different timebase frequency from the internal clock.
47 #define bi_tbfreq bi_intfreq
50 /* Memory map for the IBM "Sycamore" 405GP evaluation board.
51 * Generic 4xx plus RTC.
54 extern void *walnut_rtc_base;
55 #define SYCAMORE_RTC_PADDR ((uint)0xf0000000)
56 #define SYCAMORE_RTC_VADDR SYCAMORE_RTC_PADDR
57 #define SYCAMORE_RTC_SIZE ((uint)8*1024)
59 /* ps2 keyboard and mouse */
60 #define KEYBOARD_IRQ 25
63 #ifdef CONFIG_PPC405GP_INTERNAL_CLOCK
64 #define BASE_BAUD 201600
66 #define BASE_BAUD 691200
69 #define SYCAMORE_PS2_BASE 0xF0100000
70 #define SYCAMORE_FPGA_BASE 0xF0300000
75 #define kbd_read_input() readb(kb_data)
76 #define kbd_read_status() readb(kb_cs)
77 #define kbd_write_output(val) writeb(val, kb_data)
78 #define kbd_write_command(val) writeb(val, kb_cs)
80 #define PPC4xx_MACHINE_NAME "IBM Sycamore"
82 #endif /* !__ASSEMBLY__ */
83 #endif /* __ASM_SYCAMORE_H__ */
84 #endif /* __KERNEL__ */