Ooops...
Ooops, I forgot to attach the patches... :)
--
[]'s Bruno Renato Barreyra
[email protected]
[email protected]
arch/ppc/8xx_io/commproc.h +39 -0
@@ -584,6 +584,45 @@#define SICR_ENET_CLKRT ((uint)0x00260000)#endif /* CONFIG_SM850 */ +/*** FADS **********************************************************/ + +#ifdef CONFIG_FADS + +#ifdef CONFIG_SCC1_ENET +/* Bits in parallel I/O port registers that have to be set/cleared +* to configure the pins for SCC1 use. +* TCLK - CLK1, RCLK - CLK2. +*/ +#define PA_ENET_RXD ((ushort)0x0001) +#define PA_ENET_TXD ((ushort)0x0002) +#define PA_ENET_TCLK ((ushort)0x0100) +#define PA_ENET_RCLK ((ushort)0x0200) +#define PB_ENET_TENA ((uint)0x00001000) +#define PC_ENET_CLSN ((ushort)0x0010) +#define PC_ENET_RENA ((ushort)0x0020) + +/* Control bits in the SICR to route TCLK (CLK1) and RCLK (CLK2) to +* SCC1. Also, make sure GR1 (bit 24) and SC1 (bit 25) are zero. +*/ +#define SICR_ENET_MASK ((uint)0x000000ff) +#define SICR_ENET_CLKRT ((uint)0x0000002c) +#endif /* CONFIG_SCC1_ENET */ + +#ifdef CONFIG_SCC2_ENET +#define PA_ENET_RXD ((ushort)0x0004) +#define PA_ENET_TXD ((ushort)0x0008) +#define PA_ENET_TCLK ((ushort)0x0400) +#define PA_ENET_RCLK ((ushort)0x0200) +#define PB_ENET_TENA ((uint)0x00002000) +#define PC_ENET_CLSN ((ushort)0x0040) +#define PC_ENET_RENA ((ushort)0x0080) + +#define SICR_ENET_MASK ((uint)0x0000ff00) +#define SICR_ENET_CLKRT ((uint)0x00002e00) +#endif /* CONFIG_SCC2_ENET */ + +#endif /* CONFIG_FADS */ +/*********************************************************************/ /* SCC Event register as used by Ethernet.
arch/ppc/config.in +2 -1
@@ -67,7 +67,8 @@ IVMS8 CONFIG_IVMS8 \ SM850 CONFIG_SM850 \ MBX CONFIG_MBX \ - WinCept CONFIG_WINCEPT" RPX-Lite + WinCept CONFIG_WINCEPT \ + FADS CONFIG_FADS" RPX-Lite if [ "$CONFIG_TQM823L" = "y" -o \ "$CONFIG_TQM850L" = "y" -o \
include/asm-ppc/fads.h +32 -8
@@ -16,6 +16,8 @@unsigned int bi_memsize;/* Memory (end) size in bytes */ unsigned int bi_intfreq;/* Internal Freq, in Hz */ unsigned int bi_busfreq;/* Bus Freq, in Hz */ +unsigned char bi_enetaddr[6 ]; +unsigned int bi_baudrate; } bd_t;extern bd_t m8xx_board_info;
@@ -24,16 +26,38 @@* I tried to follow the FADS manual, although the startup PROM * dictates this. */ -#define BCSR_ADDR ((uint)0x02100000) +#define BCSR_ADDR ((uint)0xff010000)#define BCSR_SIZE ((uint)(64 * 1024)) -#define BCSR0 ((uint)0x02100000) -#define BCSR1 ((uint)0x02100004) -#define BCSR2 ((uint)0x02100008) -#define BCSR3 ((uint)0x0210000c) -#define BCSR4 ((uint)0x02100010) -#define IMAP_ADDR ((uint)0x02200000) +#define BCSR0 ((uint)0xff010000) +#define BCSR1 ((uint)0xff010004) +#define BCSR2 ((uint)0xff010008) +#define BCSR3 ((uint)0xff01000c) +#define BCSR4 ((uint)0xff010010) +#define IMAP_ADDR ((uint)0xff000000)#define IMAP_SIZE ((uint)(64 * 1024)) -#define PCMCIA_MEM_ADDR ((uint)0x04000000) +#define PCMCIA_MEM_ADDR ((uint)0xe0000000)#define PCMCIA_MEM_SIZE ((uint)(64 * 1024)) + +/* Bits of interest in the BCSRs. +*/ +#define BCSR1_ETHEN ((uint)0x20000000) +#define BCSR1_RS232EN_1 ((uint)0x01000000) +#define BCSR4_ETHLOOP ((uint)0x80000000)/* EEST Loopback */ +#define BCSR4_EEFDX ((uint)0x40000000)/* EEST FDX enable */ +#define BCSR4_FETH_EN ((uint)0x08000000)/* PHY enable */ +#define BCSR4_FETHCFG0 ((uint)0x04000000)/* PHY autoneg mode */ +#define BCSR4_FETHFDE ((uint)0x02000000)/* PHY FDX advertise */ + +/* Interrupt level assignments. +*/ +#define FEC_INTERRUPT SIU_LEVEL1/* FEC interrupt */ + +/* We don't use the 8259. +*/ +#define NR_8259_INTS 0 + +/* Machine type +*/ +#define _MACH_8xx (_MACH_fads)#endif
arch/ppc/config.in +6 -0
@@ -86,6 +86,12 @@ APUS CONFIG_APUS" PowerMac/PReP/MTX/CHRP fi +if [ "$CONFIG_6xx" = "y" -o \ + "$CONFIG_4xx" = "y" -o \ + "$CONFIG_8xx" = "y" ]; then + bool 'PPCBoot support' CONFIG_PPCBOOT +fi + if [ "$CONFIG_PPC64BRIDGE" != "y" ]; then bool 'Workarounds for PPC601 bugs' CONFIG_PPC601_SYNC_FIX fi
Binary files linuxppc_2_4.orig/image.fads823 and linuxppc_2_4/image.fads823 differ
include/asm-ppc/bseip.h +4 -0
@@ -8,6 +8,9 @@#ifndef __MACH_BSEIP_DEFS#define __MACH_BSEIP_DEFS +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else /* A Board Information structure that is given to a program when * prom starts it up. */
@@ -19,6 +22,7 @@unsigned char bi_enetaddr[6 ]; unsigned int bi_baudrate; } bd_t; +#endif /* CONFIG_PPCBOOT */ extern bd_t m8xx_board_info;
include/asm-ppc/est8260.h +4 -1
@@ -7,7 +7,9 @@#define IMAP_ADDR ((uint)0xf0000000) - +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else /* A Board Information structure that is given to a program when * prom starts it up. */
@@ -23,6 +25,7 @@unsigned int bi_immr;/* IMMR when called from boot rom */ unsigned char bi_enetaddr[6]; } bd_t; +#endif /* CONFIG_PPCBOOT */ extern bd_t m8xx_board_info;
include/asm-ppc/fads.h +4 -0
@@ -8,6 +8,9 @@#ifndef __MACH_FADS_DEFS#define __MACH_FADS_DEFS +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else /* A Board Information structure that is given to a program when * prom starts it up. */
@@ -19,6 +22,7 @@unsigned char bi_enetaddr[6 ]; unsigned int bi_baudrate; } bd_t; +#endif /* CONFIG_PPCBOOT */ extern bd_t m8xx_board_info;
include/asm-ppc/ivms8.h +4 -0
@@ -9,6 +9,9 @@ #ifndef __ASSEMBLY__ +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else typedef void (interrupt_handler_t)(void *); typedef struct serial_io {
@@ -46,6 +49,7 @@serial_io_t bi_serial_io;/* Addr of monitor fnc for Console I/O */ intr_util_t bi_interrupt;/* Addr of monitor fnc for Interrupts */ } bd_t; +#endif /* CONFIG_PPCBOOT */ #endif /* __ASSEMBLY__ */
include/asm-ppc/mbx.h +4 -0
@@ -11,6 +11,9 @@#ifndef __MACH_MBX_DEFS#define __MACH_MBX_DEFS +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else /* A Board Information structure that is given to a program when * EPPC-Bug starts it up. */
@@ -27,6 +30,7 @@unsigned int bi_dlun;/* Boot device logical dev */ unsigned int bi_baudrate; /* ...to be like everyone else */ } bd_t; +#endif /* CONFIG_PPCBOOT */ /* Memory map for the MBX as configured by EPPC-Bug. We could reprogram * The SIU and PCI bridge, and try to use larger MMU pages, but the
include/asm-ppc/ppcboot.h +82 -0
82 lines not on this page · raw message
include/asm-ppc/rpxclassic.h +4 -0
@@ -11,6 +11,9 @@#include <linux/config.h> +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else /* A Board Information structure that is given to a program when * prom starts it up. */
@@ -22,6 +25,7 @@unsigned char bi_enetaddr[6 ]; unsigned int bi_baudrate; } bd_t; +#endif /* CONFIG_PPCBOOT */ extern bd_t m8xx_board_info;
include/asm-ppc/rpxlite.h +4 -0
@@ -9,6 +9,9 @@#ifndef __MACH_RPX_DEFS#define __MACH_RPX_DEFS +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else /* A Board Information structure that is given to a program when * prom starts it up. */
@@ -20,6 +23,7 @@unsigned char bi_enetaddr[6 ]; unsigned int bi_baudrate; } bd_t; +#endif /* CONFIG_PPCBOOT */ extern bd_t m8xx_board_info;
include/asm-ppc/spd8xx.h +4 -0
@@ -9,6 +9,9 @@ #ifndef __ASSEMBLY__ +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else typedef void (interrupt_handler_t)(void *); typedef struct serial_io {
@@ -46,6 +49,7 @@serial_io_t bi_serial_io;/* Addr of monitor fnc for Console I/O */ intr_util_t bi_interrupt;/* Addr of monitor fnc for Interrupts */ } bd_t; +#endif /* CONFIG_PPCBOOT */ #endif /* __ASSEMBLY__ */
include/asm-ppc/tqm8xx.h +4 -0
@@ -14,6 +14,9 @@ #ifndef __ASSEMBLY__ +#ifdef CONFIG_PPCBOOT +#include <asm/ppcboot.h> +#else typedef void (interrupt_handler_t)(void *); typedef struct serial_io {
@@ -51,6 +54,7 @@serial_io_t bi_serial_io;/* Addr of monitor fnc for Console I/O */ intr_util_t bi_interrupt;/* Addr of monitor fnc for Interrupts */ } bd_t; +#endif /* CONFIG_PPCBOOT */ #endif /* __ASSEMBLY__ */