8xx platform definitions
RFC PATCH 1/2 8xx platform definitions
This is preliminary version of 8xx platform definitions. Currently sys section contains only MPC885 and MPC866. Working example of board-specific setup will follow.
Signature · 2 lines
Sincerely, Vitaly
8xx platform stuff
---
commit e4c1c9d34899352dd332c63dea090e8ba9bbe757
tree 1b6484c6cac83d6e851854fe5c73357e014f2819
parent 7e49f04f36830c7d1ee442447e46dba3a0a1b58d
author Vitaly Bordug <[email protected]> Fri, 19 Aug 2005 16:37:50 +0400 committer Vitaly Bordug <[email protected]> Fri, 19 Aug 2005 16:37:50 +0400
arch/ppc/syslib/Makefile | 3 arch/ppc/syslib/mpc8xx_devices.c | 274 ++++++++++++++++++++++++++++++++++++++ arch/ppc/syslib/mpc8xx_sys.c | 61 ++++++++ include/asm-ppc/mpc8xx.h | 20 +++ include/asm-ppc/ppc_sys.h | 2 5 files changed, 359 insertions(+), 1 deletions(-)
arch/ppc/syslib/Makefile +2 -1
@@ -34,7 +34,8 @@ ifeq ($(CONFIG_40x),y) obj-$(CONFIG_PCI) += indirect_pci.o pci_auto.o ppc405_pci.o endif endif -obj-$(CONFIG_8xx) += m8xx_setup.o ppc8xx_pic.o $(wdt-mpc8xx-y) +obj-$(CONFIG_8xx) += m8xx_setup.o ppc8xx_pic.o $(wdt-mpc8xx-y) \ + ppc_sys.o mpc8xx_devices.o mpc8xx_sys.o ifeq ($(CONFIG_8xx),y) obj-$(CONFIG_PCI) += qspan_pci.o i8259.o endif
arch/ppc/syslib/mpc8xx_devices.c new file +274 -0
274 lines not on this page · raw message
arch/ppc/syslib/mpc8xx_sys.c new file +77 -0
83 lines not on this page · raw message
include/asm-ppc/ppc_sys.h +2 -0
@@ -25,6 +25,8 @@#include <asm/mpc83xx.h> #elif defined(CONFIG_85xx)#include <asm/mpc85xx.h> +#elif defined(CONFIG_8xx) +#include <asm/mpc8xx.h> #elif defined(CONFIG_PPC_MPC52xx)#include <asm/mpc52xx.h> #elif defined(CONFIG_MPC10X_BRIDGE )
Quoted 30 lines · Vitaly Bordug
arch/ppc/syslib/mpc8xx_devices.c new file +30
-0+#define MPC8xx_INT_FEC1 SIU_LEVEL1 +#define MPC8xx_INT_FEC2 SIU_LEVEL3 + +#define MPC8xx_INT_SCC1 (CPM_IRQ_OFFSET + CPMVEC_SCC1) +#define MPC8xx_INT_SCC2 (CPM_IRQ_OFFSET + CPMVEC_SCC2) +#define MPC8xx_INT_SCC3 (CPM_IRQ_OFFSET + CPMVEC_SCC3) +#define MPC8xx_INT_SCC4 (CPM_IRQ_OFFSET + CPMVEC_SCC4) +#define MPC8xx_INT_SMC1 (CPM_IRQ_OFFSET + CPMVEC_SMC1) +#define MPC8xx_INT_SMC2 (CPM_IRQ_OFFSET + CPMVEC_SMC2) + +/* Offset from IMMAP base address */ +#define MPC8xx_SCC1_OFFSET (0xa00) +#define MPC8xx_SCC1_SIZE (0x18) +#define MPC8xx_SCC2_OFFSET (0xa20) +#define MPC8xx_SCC2_SIZE (0x18) +#define MPC8xx_SCC3_OFFSET (0xa40) +#define MPC8xx_SCC3_SIZE (0x18) +#define MPC8xx_SCC4_OFFSET (0xa60) +#define MPC8xx_SCC4_SIZE (0x18) +#define MPC8xx_SMC1_OFFSET (0xa82) +#define MPC8xx_SMC1_SIZE (0x0f) +#define MPC8xx_SMC2_OFFSET (0xa92) +#define MPC8xx_SMC2_SIZE (0x0d) +#define MPC8xx_FEC1_OFFSET (0xe00) +#define MPC8xx_FEC1_SIZE (0x88) +#define MPC8xx_FEC2_OFFSET (0x1e00) +#define MPC8xx_FEC2_SIZE (0x88) + +#define MPC8xx_DPARAM_SCC1_OFFSET (0x3C00) +#define MPC8xx_DPARAM_SCC1_SIZE (0x80)
arch/ppc/syslib/mpc8xx_devices.c line 74
Quoted 10 lines
arch/ppc/syslib/mpc8xx_devices.c new file +10
-0+#define MPC8xx_DPARAM_SCC2_OFFSET (0x3D00) +#define MPC8xx_DPARAM_SCC2_SIZE (0x80) +#define MPC8xx_DPARAM_SCC3_OFFSET (0x3E00) +#define MPC8xx_DPARAM_SCC3_SIZE (0x80) +#define MPC8xx_DPARAM_SCC4_OFFSET (0x3F00) +#define MPC8xx_DPARAM_SCC4_SIZE (0x80) +#define MPC8xx_DPARAM_SMC1_OFFSET (0x3E80) +#define MPC8xx_DPARAM_SMC1_SIZE (0x40) +#define MPC8xx_DPARAM_SMC2_OFFSET (0x3F80) +#define MPC8xx_DPARAM_SMC2_SIZE (0x40)
All of these #defines should already be in a header file somewhere, and if they aren't, should be in the generic CPM header file. Please clean this up.
Thanks.
-- Dan
Quoted 49 lines · Dan Malek
Quoted 30 lines · Vitaly Bordug
arch/ppc/syslib/mpc8xx_devices.c new file +30
-0+#define MPC8xx_INT_FEC1 SIU_LEVEL1 +#define MPC8xx_INT_FEC2 SIU_LEVEL3 + +#define MPC8xx_INT_SCC1 (CPM_IRQ_OFFSET + CPMVEC_SCC1) +#define MPC8xx_INT_SCC2 (CPM_IRQ_OFFSET + CPMVEC_SCC2) +#define MPC8xx_INT_SCC3 (CPM_IRQ_OFFSET + CPMVEC_SCC3) +#define MPC8xx_INT_SCC4 (CPM_IRQ_OFFSET + CPMVEC_SCC4) +#define MPC8xx_INT_SMC1 (CPM_IRQ_OFFSET + CPMVEC_SMC1) +#define MPC8xx_INT_SMC2 (CPM_IRQ_OFFSET + CPMVEC_SMC2) + +/* Offset from IMMAP base address */ +#define MPC8xx_SCC1_OFFSET (0xa00) +#define MPC8xx_SCC1_SIZE (0x18) +#define MPC8xx_SCC2_OFFSET (0xa20) +#define MPC8xx_SCC2_SIZE (0x18) +#define MPC8xx_SCC3_OFFSET (0xa40) +#define MPC8xx_SCC3_SIZE (0x18) +#define MPC8xx_SCC4_OFFSET (0xa60) +#define MPC8xx_SCC4_SIZE (0x18) +#define MPC8xx_SMC1_OFFSET (0xa82) +#define MPC8xx_SMC1_SIZE (0x0f) +#define MPC8xx_SMC2_OFFSET (0xa92) +#define MPC8xx_SMC2_SIZE (0x0d) +#define MPC8xx_FEC1_OFFSET (0xe00) +#define MPC8xx_FEC1_SIZE (0x88) +#define MPC8xx_FEC2_OFFSET (0x1e00) +#define MPC8xx_FEC2_SIZE (0x88) + +#define MPC8xx_DPARAM_SCC1_OFFSET (0x3C00) +#define MPC8xx_DPARAM_SCC1_SIZE (0x80)arch/ppc/syslib/mpc8xx_devices.c line 74
Quoted 10 lines
arch/ppc/syslib/mpc8xx_devices.c new file +10
-0+#define MPC8xx_DPARAM_SCC2_OFFSET (0x3D00) +#define MPC8xx_DPARAM_SCC2_SIZE (0x80) +#define MPC8xx_DPARAM_SCC3_OFFSET (0x3E00) +#define MPC8xx_DPARAM_SCC3_SIZE (0x80) +#define MPC8xx_DPARAM_SCC4_OFFSET (0x3F00) +#define MPC8xx_DPARAM_SCC4_SIZE (0x80) +#define MPC8xx_DPARAM_SMC1_OFFSET (0x3E80) +#define MPC8xx_DPARAM_SMC1_SIZE (0x40) +#define MPC8xx_DPARAM_SMC2_OFFSET (0x3F80) +#define MPC8xx_DPARAM_SMC2_SIZE (0x40)All of these #defines should already be in a header file somewhere, and if they aren't, should be in the generic CPM header file. Please clean this up.
Quoted 5 lines
Thanks.
-- Dan
I am going to move interrupts to the generic CPM header file, others I guess may be cleanup'ed, with replace respective defines in the source by pure numbers (as was done previously for PQ2 platform stuff).
Signature · 2 lines
Sincerely, Vitaly