Skip to content
Snippets Groups Projects
Commit b370b082 authored by Paul Mackerras's avatar Paul Mackerras
Browse files

Merge branch 'for-2.6.25' of...

Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.25
parents 75e89b02 7e25867f
No related branches found
No related tags found
No related merge requests found
Showing
with 78 additions and 44 deletions
...@@ -151,6 +151,7 @@ ...@@ -151,6 +151,7 @@
compatible = "fsl,mpc875-brg", compatible = "fsl,mpc875-brg",
"fsl,cpm1-brg", "fsl,cpm1-brg",
"fsl,cpm-brg"; "fsl,cpm-brg";
clock-frequency = <50000000>;
reg = <0x9f0 0x10>; reg = <0x9f0 0x10>;
}; };
......
...@@ -150,6 +150,7 @@ ...@@ -150,6 +150,7 @@
compatible = "fsl,mpc875-brg", compatible = "fsl,mpc875-brg",
"fsl,cpm1-brg", "fsl,cpm1-brg",
"fsl,cpm-brg"; "fsl,cpm-brg";
clock-frequency = <50000000>;
reg = <0x9f0 0x10>; reg = <0x9f0 0x10>;
}; };
......
...@@ -118,6 +118,10 @@ ...@@ -118,6 +118,10 @@
interrupts = <14 0x8>; interrupts = <14 0x8>;
interrupt-parent = <&ipic>; interrupt-parent = <&ipic>;
dfsrr; dfsrr;
rtc@68 {
compatible = "dallas,ds1339";
reg = <0x68>;
};
}; };
i2c@3100 { i2c@3100 {
......
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
device_type = "soc"; device_type = "soc";
compatible = "simple-bus"; compatible = "fsl,mpc8315-immr", "simple-bus";
ranges = <0 0xe0000000 0x00100000>; ranges = <0 0xe0000000 0x00100000>;
reg = <0xe0000000 0x00000200>; reg = <0xe0000000 0x00000200>;
bus-frequency = <0>; bus-frequency = <0>;
......
...@@ -332,7 +332,7 @@ ...@@ -332,7 +332,7 @@
0xc000 0x0 0x0 0x3 &ipic 23 0x8 0xc000 0x0 0x0 0x3 &ipic 23 0x8
0xc000 0x0 0x0 0x4 &ipic 20 0x8>; 0xc000 0x0 0x0 0x4 &ipic 20 0x8>;
interrupt-parent = <&ipic>; interrupt-parent = <&ipic>;
interrupts = <66 0x8>; interrupts = <67 0x8>;
bus-range = <0 0>; bus-range = <0 0>;
ranges = <0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000 ranges = <0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
......
...@@ -42,6 +42,18 @@ ...@@ -42,6 +42,18 @@
bus-frequency = <0>; bus-frequency = <0>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
PowerPC,8572@1 {
device_type = "cpu";
reg = <1>;
d-cache-line-size = <20>; // 32 bytes
i-cache-line-size = <20>; // 32 bytes
d-cache-size = <8000>; // L1, 32K
i-cache-size = <8000>; // L1, 32K
timebase-frequency = <0>;
bus-frequency = <0>;
clock-frequency = <0>;
};
}; };
memory { memory {
......
...@@ -166,6 +166,7 @@ ...@@ -166,6 +166,7 @@
compatible = "fsl,mpc885-brg", compatible = "fsl,mpc885-brg",
"fsl,cpm1-brg", "fsl,cpm1-brg",
"fsl,cpm-brg"; "fsl,cpm-brg";
clock-frequency = <0>;
reg = <9f0 10>; reg = <9f0 10>;
}; };
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
/ { / {
model = "StorCenter"; model = "StorCenter";
compatible = "storcenter"; compatible = "iomega,storcenter";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -62,12 +62,12 @@ ...@@ -62,12 +62,12 @@
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl-i2c"; compatible = "fsl-i2c";
reg = <0x3000 0x100>; reg = <0x3000 0x100>;
interrupts = <5 2>; interrupts = <17 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
rtc@68 { rtc@68 {
compatible = "dallas,ds1337"; compatible = "dallas,ds1337";
reg = <68>; reg = <0x68>;
}; };
}; };
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
reg = <0x4500 0x20>; reg = <0x4500 0x20>;
clock-frequency = <97553800>; /* Hz */ clock-frequency = <97553800>; /* Hz */
current-speed = <115200>; current-speed = <115200>;
interrupts = <9 2>; interrupts = <25 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
}; };
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
reg = <0x4600 0x20>; reg = <0x4600 0x20>;
clock-frequency = <97553800>; /* Hz */ clock-frequency = <97553800>; /* Hz */
current-speed = <9600>; current-speed = <9600>;
interrupts = <10 2>; interrupts = <26 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
}; };
...@@ -136,6 +136,6 @@ ...@@ -136,6 +136,6 @@
}; };
chosen { chosen {
linux,stdout-path = "/soc/serial@4500"; linux,stdout-path = &serial0;
}; };
}; };
...@@ -186,7 +186,7 @@ CONFIG_PREEMPT_NONE=y ...@@ -186,7 +186,7 @@ CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT is not set # CONFIG_PREEMPT is not set
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
# CONFIG_MATH_EMULATION is not set CONFIG_MATH_EMULATION=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
...@@ -416,14 +416,14 @@ CONFIG_PHYLIB=y ...@@ -416,14 +416,14 @@ CONFIG_PHYLIB=y
# MII PHY device drivers # MII PHY device drivers
# #
CONFIG_MARVELL_PHY=y CONFIG_MARVELL_PHY=y
# CONFIG_DAVICOM_PHY is not set CONFIG_DAVICOM_PHY=y
# CONFIG_QSEMI_PHY is not set # CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set # CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set # CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set CONFIG_VITESSE_PHY=y
# CONFIG_SMSC_PHY is not set # CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set # CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set CONFIG_ICPLUS_PHY=y
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
...@@ -436,7 +436,7 @@ CONFIG_MII=y ...@@ -436,7 +436,7 @@ CONFIG_MII=y
CONFIG_NETDEV_1000=y CONFIG_NETDEV_1000=y
CONFIG_GIANFAR=y CONFIG_GIANFAR=y
# CONFIG_GFAR_NAPI is not set # CONFIG_GFAR_NAPI is not set
# CONFIG_UCC_GETH is not set CONFIG_UCC_GETH=y
CONFIG_NETDEV_10000=y CONFIG_NETDEV_10000=y
# #
......
...@@ -959,6 +959,9 @@ static struct cpu_spec __initdata cpu_specs[] = { ...@@ -959,6 +959,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
.icache_bsize = 32, .icache_bsize = 32,
.dcache_bsize = 32, .dcache_bsize = 32,
.cpu_setup = __setup_cpu_603, .cpu_setup = __setup_cpu_603,
.num_pmcs = 4,
.oprofile_cpu_type = "ppc/e300",
.oprofile_type = PPC_OPROFILE_FSL_EMB,
.platform = "ppc603", .platform = "ppc603",
}, },
{ /* e300c4 (e300c1, plus one IU) */ { /* e300c4 (e300c1, plus one IU) */
...@@ -971,6 +974,9 @@ static struct cpu_spec __initdata cpu_specs[] = { ...@@ -971,6 +974,9 @@ static struct cpu_spec __initdata cpu_specs[] = {
.dcache_bsize = 32, .dcache_bsize = 32,
.cpu_setup = __setup_cpu_603, .cpu_setup = __setup_cpu_603,
.machine_check = machine_check_generic, .machine_check = machine_check_generic,
.num_pmcs = 4,
.oprofile_cpu_type = "ppc/e300",
.oprofile_type = PPC_OPROFILE_FSL_EMB,
.platform = "ppc603", .platform = "ppc603",
}, },
{ /* default match, we assume split I/D cache & TB (non-601)... */ { /* default match, we assume split I/D cache & TB (non-601)... */
...@@ -1435,7 +1441,7 @@ static struct cpu_spec __initdata cpu_specs[] = { ...@@ -1435,7 +1441,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
.dcache_bsize = 32, .dcache_bsize = 32,
.num_pmcs = 4, .num_pmcs = 4,
.oprofile_cpu_type = "ppc/e500", .oprofile_cpu_type = "ppc/e500",
.oprofile_type = PPC_OPROFILE_BOOKE, .oprofile_type = PPC_OPROFILE_FSL_EMB,
.machine_check = machine_check_e500, .machine_check = machine_check_e500,
.platform = "ppc8540", .platform = "ppc8540",
}, },
...@@ -1453,7 +1459,7 @@ static struct cpu_spec __initdata cpu_specs[] = { ...@@ -1453,7 +1459,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
.dcache_bsize = 32, .dcache_bsize = 32,
.num_pmcs = 4, .num_pmcs = 4,
.oprofile_cpu_type = "ppc/e500", .oprofile_cpu_type = "ppc/e500",
.oprofile_type = PPC_OPROFILE_BOOKE, .oprofile_type = PPC_OPROFILE_FSL_EMB,
.machine_check = machine_check_e500, .machine_check = machine_check_e500,
.platform = "ppc8548", .platform = "ppc8548",
}, },
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
static void dummy_perf(struct pt_regs *regs) static void dummy_perf(struct pt_regs *regs)
{ {
#if defined(CONFIG_FSL_BOOKE) && !defined(CONFIG_E200) #if defined(CONFIG_FSL_EMB_PERFMON)
mtpmr(PMRN_PMGC0, mfpmr(PMRN_PMGC0) & ~PMGC0_PMIE); mtpmr(PMRN_PMGC0, mfpmr(PMRN_PMGC0) & ~PMGC0_PMIE);
#elif defined(CONFIG_PPC64) || defined(CONFIG_6xx) #elif defined(CONFIG_PPC64) || defined(CONFIG_6xx)
if (cur_cpu_spec->pmc_type == PPC_PMC_IBM) if (cur_cpu_spec->pmc_type == PPC_PMC_IBM)
......
...@@ -15,5 +15,5 @@ oprofile-$(CONFIG_OPROFILE_CELL) += op_model_cell.o \ ...@@ -15,5 +15,5 @@ oprofile-$(CONFIG_OPROFILE_CELL) += op_model_cell.o \
cell/spu_profiler.o cell/vma_map.o \ cell/spu_profiler.o cell/vma_map.o \
cell/spu_task_sync.o cell/spu_task_sync.o
oprofile-$(CONFIG_PPC64) += op_model_rs64.o op_model_power4.o op_model_pa6t.o oprofile-$(CONFIG_PPC64) += op_model_rs64.o op_model_power4.o op_model_pa6t.o
oprofile-$(CONFIG_FSL_BOOKE) += op_model_fsl_booke.o oprofile-$(CONFIG_FSL_EMB_PERFMON) += op_model_fsl_emb.o
oprofile-$(CONFIG_6xx) += op_model_7450.o oprofile-$(CONFIG_6xx) += op_model_7450.o
...@@ -202,9 +202,9 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) ...@@ -202,9 +202,9 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
model = &op_model_7450; model = &op_model_7450;
break; break;
#endif #endif
#ifdef CONFIG_FSL_BOOKE #if defined(CONFIG_FSL_EMB_PERFMON)
case PPC_OPROFILE_BOOKE: case PPC_OPROFILE_FSL_EMB:
model = &op_model_fsl_booke; model = &op_model_fsl_emb;
break; break;
#endif #endif
default: default:
......
/* /*
* arch/powerpc/oprofile/op_model_fsl_booke.c * Freescale Embedded oprofile support, based on ppc64 oprofile support
*
* Freescale Book-E oprofile support, based on ppc64 oprofile support
* Copyright (C) 2004 Anton Blanchard <anton@au.ibm.com>, IBM * Copyright (C) 2004 Anton Blanchard <anton@au.ibm.com>, IBM
* *
* Copyright (c) 2004 Freescale Semiconductor, Inc * Copyright (c) 2004 Freescale Semiconductor, Inc
...@@ -22,7 +20,7 @@ ...@@ -22,7 +20,7 @@
#include <asm/system.h> #include <asm/system.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/cputable.h> #include <asm/cputable.h>
#include <asm/reg_booke.h> #include <asm/reg_fsl_emb.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/pmc.h> #include <asm/pmc.h>
#include <asm/oprofile_impl.h> #include <asm/oprofile_impl.h>
...@@ -244,7 +242,7 @@ static void dump_pmcs(void) ...@@ -244,7 +242,7 @@ static void dump_pmcs(void)
mfpmr(PMRN_PMLCA3), mfpmr(PMRN_PMLCB3)); mfpmr(PMRN_PMLCA3), mfpmr(PMRN_PMLCB3));
} }
static int fsl_booke_cpu_setup(struct op_counter_config *ctr) static int fsl_emb_cpu_setup(struct op_counter_config *ctr)
{ {
int i; int i;
...@@ -262,7 +260,7 @@ static int fsl_booke_cpu_setup(struct op_counter_config *ctr) ...@@ -262,7 +260,7 @@ static int fsl_booke_cpu_setup(struct op_counter_config *ctr)
return 0; return 0;
} }
static int fsl_booke_reg_setup(struct op_counter_config *ctr, static int fsl_emb_reg_setup(struct op_counter_config *ctr,
struct op_system_config *sys, struct op_system_config *sys,
int num_ctrs) int num_ctrs)
{ {
...@@ -281,7 +279,7 @@ static int fsl_booke_reg_setup(struct op_counter_config *ctr, ...@@ -281,7 +279,7 @@ static int fsl_booke_reg_setup(struct op_counter_config *ctr,
return 0; return 0;
} }
static int fsl_booke_start(struct op_counter_config *ctr) static int fsl_emb_start(struct op_counter_config *ctr)
{ {
int i; int i;
...@@ -315,7 +313,7 @@ static int fsl_booke_start(struct op_counter_config *ctr) ...@@ -315,7 +313,7 @@ static int fsl_booke_start(struct op_counter_config *ctr)
return 0; return 0;
} }
static void fsl_booke_stop(void) static void fsl_emb_stop(void)
{ {
/* freeze counters */ /* freeze counters */
pmc_stop_ctrs(); pmc_stop_ctrs();
...@@ -329,7 +327,7 @@ static void fsl_booke_stop(void) ...@@ -329,7 +327,7 @@ static void fsl_booke_stop(void)
} }
static void fsl_booke_handle_interrupt(struct pt_regs *regs, static void fsl_emb_handle_interrupt(struct pt_regs *regs,
struct op_counter_config *ctr) struct op_counter_config *ctr)
{ {
unsigned long pc; unsigned long pc;
...@@ -362,10 +360,10 @@ static void fsl_booke_handle_interrupt(struct pt_regs *regs, ...@@ -362,10 +360,10 @@ static void fsl_booke_handle_interrupt(struct pt_regs *regs,
pmc_start_ctrs(1); pmc_start_ctrs(1);
} }
struct op_powerpc_model op_model_fsl_booke = { struct op_powerpc_model op_model_fsl_emb = {
.reg_setup = fsl_booke_reg_setup, .reg_setup = fsl_emb_reg_setup,
.cpu_setup = fsl_booke_cpu_setup, .cpu_setup = fsl_emb_cpu_setup,
.start = fsl_booke_start, .start = fsl_emb_start,
.stop = fsl_booke_stop, .stop = fsl_emb_stop,
.handle_interrupt = fsl_booke_handle_interrupt, .handle_interrupt = fsl_emb_handle_interrupt,
}; };
...@@ -101,7 +101,7 @@ static void __init mpc832x_rdb_setup_arch(void) ...@@ -101,7 +101,7 @@ static void __init mpc832x_rdb_setup_arch(void)
#ifdef CONFIG_QUICC_ENGINE #ifdef CONFIG_QUICC_ENGINE
qe_reset(); qe_reset();
if ((np = of_find_node_by_name(np, "par_io")) != NULL) { if ((np = of_find_node_by_name(NULL, "par_io")) != NULL) {
par_io_init(np); par_io_init(np);
of_node_put(np); of_node_put(np);
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
#define MPC83XX_SCCR_USB_DRCM_11 0x00300000 #define MPC83XX_SCCR_USB_DRCM_11 0x00300000
#define MPC83XX_SCCR_USB_DRCM_01 0x00100000 #define MPC83XX_SCCR_USB_DRCM_01 0x00100000
#define MPC83XX_SCCR_USB_DRCM_10 0x00200000 #define MPC83XX_SCCR_USB_DRCM_10 0x00200000
#define MPC8315_SCCR_USB_MASK 0x00c00000
#define MPC8315_SCCR_USB_DRCM_11 0x00c00000
#define MPC837X_SCCR_USB_DRCM_11 0x00c00000 #define MPC837X_SCCR_USB_DRCM_11 0x00c00000
/* system i/o configuration register low */ /* system i/o configuration register low */
......
...@@ -104,6 +104,7 @@ int mpc831x_usb_cfg(void) ...@@ -104,6 +104,7 @@ int mpc831x_usb_cfg(void)
u32 temp; u32 temp;
void __iomem *immap, *usb_regs; void __iomem *immap, *usb_regs;
struct device_node *np = NULL; struct device_node *np = NULL;
struct device_node *immr_node = NULL;
const void *prop; const void *prop;
struct resource res; struct resource res;
int ret = 0; int ret = 0;
...@@ -124,10 +125,15 @@ int mpc831x_usb_cfg(void) ...@@ -124,10 +125,15 @@ int mpc831x_usb_cfg(void)
} }
/* Configure clock */ /* Configure clock */
temp = in_be32(immap + MPC83XX_SCCR_OFFS); immr_node = of_get_parent(np);
temp &= ~MPC83XX_SCCR_USB_MASK; if (immr_node && of_device_is_compatible(immr_node, "fsl,mpc8315-immr"))
temp |= MPC83XX_SCCR_USB_DRCM_11; /* 1:3 */ clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
out_be32(immap + MPC83XX_SCCR_OFFS, temp); MPC8315_SCCR_USB_MASK,
MPC8315_SCCR_USB_DRCM_11);
else
clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
MPC83XX_SCCR_USB_MASK,
MPC83XX_SCCR_USB_DRCM_11);
/* Configure pin mux for ULPI. There is no pin mux for UTMI */ /* Configure pin mux for ULPI. There is no pin mux for UTMI */
if (prop && !strcmp(prop, "ulpi")) { if (prop && !strcmp(prop, "ulpi")) {
...@@ -144,6 +150,9 @@ int mpc831x_usb_cfg(void) ...@@ -144,6 +150,9 @@ int mpc831x_usb_cfg(void)
iounmap(immap); iounmap(immap);
if (immr_node)
of_node_put(immr_node);
/* Map USB SOC space */ /* Map USB SOC space */
ret = of_address_to_resource(np, 0, &res); ret = of_address_to_resource(np, 0, &res);
if (ret) { if (ret) {
......
...@@ -15,12 +15,12 @@ ...@@ -15,12 +15,12 @@
#include <asm/time.h> #include <asm/time.h>
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/commproc.h> #include <asm/cpm1.h>
#include <asm/fs_pd.h> #include <asm/fs_pd.h>
#include <asm/udbg.h> #include <asm/udbg.h>
#include <asm/prom.h> #include <asm/prom.h>
#include <sysdev/commproc.h> #include "mpc8xx.h"
struct cpm_pin { struct cpm_pin {
int port, pin, flags; int port, pin, flags;
...@@ -108,7 +108,7 @@ define_machine(adder875) { ...@@ -108,7 +108,7 @@ define_machine(adder875) {
.name = "Adder MPC875", .name = "Adder MPC875",
.probe = adder875_probe, .probe = adder875_probe,
.setup_arch = adder875_setup, .setup_arch = adder875_setup,
.init_IRQ = m8xx_pic_init, .init_IRQ = mpc8xx_pics_init,
.get_irq = mpc8xx_get_irq, .get_irq = mpc8xx_get_irq,
.restart = mpc8xx_restart, .restart = mpc8xx_restart,
.calibrate_decr = generic_calibrate_decr, .calibrate_decr = generic_calibrate_decr,
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <asm/machdep.h> #include <asm/machdep.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/udbg.h> #include <asm/udbg.h>
#include <asm/commproc.h>
#include <asm/cpm1.h> #include <asm/cpm1.h>
#include "mpc8xx.h" #include "mpc8xx.h"
......
...@@ -24,6 +24,7 @@ config PPC_83xx ...@@ -24,6 +24,7 @@ config PPC_83xx
select MPC83xx select MPC83xx
select IPIC select IPIC
select WANT_DEVICE_TREE select WANT_DEVICE_TREE
select FSL_EMB_PERFMON
config PPC_86xx config PPC_86xx
bool "Freescale 86xx" bool "Freescale 86xx"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment