3 * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu>
5 * Copyright 2000 MontaVista Software Inc.
7 * Author: MontaVista Software, Inc.
8 * frank_rowand@mvista.com or source@mvista.com
9 * debbie_chu@mvista.com
11 * Module name: ppc405.h
14 * Macros, definitions, and data structures specific to the IBM PowerPC
19 * 405GP "Walnut" evaluation board
21 * Please read the COPYING file for all license details.
25 #ifndef __ASM_WALNUT_H__
26 #define __ASM_WALNUT_H__
28 /* We have a 405GP core */
29 #include <platforms/ibm405gp.h>
33 * Data structure defining board information maintained by the boot
34 * ROM on IBM's "Walnut" evaluation board. An effort has been made to
35 * keep the field names consistent with the 8xx 'bd_t' board info
39 typedef struct board_info {
40 unsigned char bi_s_version[4]; /* Version of this structure */
41 unsigned char bi_r_version[30]; /* Version of the IBM ROM */
42 unsigned int bi_memsize; /* DRAM installed, in bytes */
43 unsigned char bi_enetaddr[6]; /* Local Ethernet MAC address */
44 unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
45 unsigned int bi_intfreq; /* Processor speed, in Hz */
46 unsigned int bi_busfreq; /* PLB Bus speed, in Hz */
47 unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */
48 unsigned int bi_opbfreq; /* OPB Bus speed, in Hz */
49 int bi_iic_fast[1]; /* Use fast i2c mode */
52 /* Some 4xx parts use a different timebase frequency from the internal clock.
54 #define bi_tbfreq bi_intfreq
57 /* Memory map for the IBM "Walnut" 405GP evaluation board.
58 * Generic 4xx plus RTC.
61 extern void *walnut_rtc_base;
62 #define WALNUT_RTC_PADDR ((uint)0xf0000000)
63 #define WALNUT_RTC_VADDR WALNUT_RTC_PADDR
64 #define WALNUT_RTC_SIZE ((uint)8*1024)
66 /* ps2 keyboard and mouse */
67 #define KEYBOARD_IRQ 25
70 #ifdef CONFIG_PPC405GP_INTERNAL_CLOCK
71 #define BASE_BAUD 201600
73 #define BASE_BAUD 691200
76 #define WALNUT_PS2_BASE 0xF0100000
77 #define WALNUT_FPGA_BASE 0xF0300000
82 #define kbd_read_input() readb(kb_data)
83 #define kbd_read_status() readb(kb_cs)
84 #define kbd_write_output(val) writeb(val, kb_data)
85 #define kbd_write_command(val) writeb(val, kb_cs)
87 #define PPC4xx_MACHINE_NAME "IBM Walnut"
89 #endif /* !__ASSEMBLY__ */
90 #endif /* __ASM_WALNUT_H__ */
91 #endif /* __KERNEL__ */