Skip to contentSkip to conversation

Ooops...

PATCH Bruno R. Barreyra 1 participant 1 message Mar 12, 2001

lore
Share & tools
lore
#0 lore raw

Ooops, I forgot to attach the patches... :)

--
[]'s Bruno Renato Barreyra
[email protected]
[email protected]

arch/ppc/8xx_io/commproc.h +39 -0
diff -urN linuxppc_2_4.orig/arch/ppc/8xx_io/commproc.h linuxppc_2_4/arch/ppc/8xx_io/commproc.h
@@ -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
diff -urN linuxppc_2_4.orig/arch/ppc/config.in linuxppc_2_4/arch/ppc/config.in
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/fads.h linuxppc_2_4/include/asm-ppc/fads.h
@@ -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
diff -urN linuxppc_2_4.orig/arch/ppc/config.in linuxppc_2_4/arch/ppc/config.in
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/bseip.h linuxppc_2_4/include/asm-ppc/bseip.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/est8260.h linuxppc_2_4/include/asm-ppc/est8260.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/fads.h linuxppc_2_4/include/asm-ppc/fads.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/ivms8.h linuxppc_2_4/include/asm-ppc/ivms8.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/mbx.h linuxppc_2_4/include/asm-ppc/mbx.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/rpxclassic.h linuxppc_2_4/include/asm-ppc/rpxclassic.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/rpxlite.h linuxppc_2_4/include/asm-ppc/rpxlite.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/spd8xx.h linuxppc_2_4/include/asm-ppc/spd8xx.h
@@ -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
diff -urN linuxppc_2_4.orig/include/asm-ppc/tqm8xx.h linuxppc_2_4/include/asm-ppc/tqm8xx.h
@@ -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__ */