Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
895532a1
Commit
895532a1
authored
Oct 12, 2007
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-2.6.24' of
git://git.secretlab.ca/git/linux-2.6-mpc52xx
into for-2.6.24
parents
ad656887
e1eea9fa
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
68 additions
and
99 deletions
+68
-99
MAINTAINERS
MAINTAINERS
+2
-0
arch/powerpc/platforms/52xx/efika.c
arch/powerpc/platforms/52xx/efika.c
+1
-18
arch/powerpc/platforms/52xx/lite5200.c
arch/powerpc/platforms/52xx/lite5200.c
+50
-45
arch/powerpc/platforms/52xx/mpc52xx_common.c
arch/powerpc/platforms/52xx/mpc52xx_common.c
+13
-25
arch/powerpc/platforms/52xx/mpc52xx_pic.c
arch/powerpc/platforms/52xx/mpc52xx_pic.c
+1
-10
include/asm-powerpc/mpc52xx.h
include/asm-powerpc/mpc52xx.h
+1
-1
No files found.
MAINTAINERS
View file @
895532a1
...
@@ -2288,6 +2288,8 @@ S: Maintained
...
@@ -2288,6 +2288,8 @@ S: Maintained
LINUX FOR POWERPC EMBEDDED MPC52XX
LINUX FOR POWERPC EMBEDDED MPC52XX
P: Sylvain Munaut
P: Sylvain Munaut
M: tnt@246tNt.com
M: tnt@246tNt.com
P: Grant Likely
M: grant.likely@secretlab.ca
W: http://www.246tNt.com/mpc52xx/
W: http://www.246tNt.com/mpc52xx/
W: http://www.penguinppc.org/
W: http://www.penguinppc.org/
L: linuxppc-dev@ozlabs.org
L: linuxppc-dev@ozlabs.org
...
...
arch/powerpc/platforms/52xx/efika.c
View file @
895532a1
...
@@ -9,33 +9,16 @@
...
@@ -9,33 +9,16 @@
* kind, whether express or implied.
* kind, whether express or implied.
*/
*/
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/reboot.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/utsrelease.h>
#include <linux/utsrelease.h>
#include <linux/seq_file.h>
#include <linux/string.h>
#include <linux/root_dev.h>
#include <linux/initrd.h>
#include <linux/timer.h>
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/of.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/sections.h>
#include <asm/pci-bridge.h>
#include <asm/pgtable.h>
#include <asm/prom.h>
#include <asm/prom.h>
#include <asm/time.h>
#include <asm/time.h>
#include <asm/machdep.h>
#include <asm/machdep.h>
#include <asm/rtas.h>
#include <asm/rtas.h>
#include <asm/of_device.h>
#include <asm/of_platform.h>
#include <asm/mpc52xx.h>
#include <asm/mpc52xx.h>
#define EFIKA_PLATFORM_NAME "Efika"
#define EFIKA_PLATFORM_NAME "Efika"
...
...
arch/powerpc/platforms/52xx/lite5200.c
View file @
895532a1
...
@@ -15,32 +15,13 @@
...
@@ -15,32 +15,13 @@
#undef DEBUG
#undef DEBUG
#include <linux/stddef.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/reboot.h>
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/kdev_t.h>
#include <linux/of.h>
#include <linux/major.h>
#include <linux/console.h>
#include <linux/delay.h>
#include <linux/seq_file.h>
#include <linux/root_dev.h>
#include <linux/initrd.h>
#include <asm/system.h>
#include <asm/atomic.h>
#include <asm/time.h>
#include <asm/time.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/machdep.h>
#include <asm/machdep.h>
#include <asm/ipic.h>
#include <asm/irq.h>
#include <asm/prom.h>
#include <asm/prom.h>
#include <asm/udbg.h>
#include <sysdev/fsl_soc.h>
#include <asm/of_platform.h>
#include <asm/mpc52xx.h>
#include <asm/mpc52xx.h>
/* ************************************************************************
/* ************************************************************************
...
@@ -49,19 +30,56 @@
...
@@ -49,19 +30,56 @@
*
*
*/
*/
/*
* Fix clock configuration.
*
* Firmware is supposed to be responsible for this. If you are creating a
* new board port, do *NOT* duplicate this code. Fix your boot firmware
* to set it correctly in the first place
*/
static
void
__init
lite5200_fix_clock_config
(
void
)
{
struct
mpc52xx_cdm
__iomem
*
cdm
;
/* Map zones */
cdm
=
mpc52xx_find_and_map
(
"mpc5200-cdm"
);
if
(
!
cdm
)
{
printk
(
KERN_ERR
"%s() failed; expect abnormal behaviour
\n
"
,
__FUNCTION__
);
return
;
}
/* Use internal 48 Mhz */
out_8
(
&
cdm
->
ext_48mhz_en
,
0x00
);
out_8
(
&
cdm
->
fd_enable
,
0x01
);
if
(
in_be32
(
&
cdm
->
rstcfg
)
&
0x40
)
/* Assumes 33Mhz clock */
out_be16
(
&
cdm
->
fd_counters
,
0x0001
);
else
out_be16
(
&
cdm
->
fd_counters
,
0x5555
);
/* Unmap the regs */
iounmap
(
cdm
);
}
/*
* Fix setting of port_config register.
*
* Firmware is supposed to be responsible for this. If you are creating a
* new board port, do *NOT* duplicate this code. Fix your boot firmware
* to set it correctly in the first place
*/
static
void
__init
static
void
__init
lite5200_
setup_cpu
(
void
)
lite5200_
fix_port_config
(
void
)
{
{
struct
mpc52xx_gpio
__iomem
*
gpio
;
struct
mpc52xx_gpio
__iomem
*
gpio
;
u32
port_config
;
u32
port_config
;
/* Map zones */
gpio
=
mpc52xx_find_and_map
(
"mpc5200-gpio"
);
gpio
=
mpc52xx_find_and_map
(
"mpc5200-gpio"
);
if
(
!
gpio
)
{
if
(
!
gpio
)
{
printk
(
KERN_ERR
__FILE__
": "
printk
(
KERN_ERR
"%s() failed. expect abnormal behavior
\n
"
,
"Error while mapping GPIO register for port config. "
__FUNCTION__
);
"Expect some abnormal behavior
\n
"
);
return
;
goto
error
;
}
}
/* Set port config */
/* Set port config */
...
@@ -80,7 +98,6 @@ lite5200_setup_cpu(void)
...
@@ -80,7 +98,6 @@ lite5200_setup_cpu(void)
out_be32
(
&
gpio
->
port_config
,
port_config
);
out_be32
(
&
gpio
->
port_config
,
port_config
);
/* Unmap zone */
/* Unmap zone */
error:
iounmap
(
gpio
);
iounmap
(
gpio
);
}
}
...
@@ -119,9 +136,12 @@ static void __init lite5200_setup_arch(void)
...
@@ -119,9 +136,12 @@ static void __init lite5200_setup_arch(void)
if
(
ppc_md
.
progress
)
if
(
ppc_md
.
progress
)
ppc_md
.
progress
(
"lite5200_setup_arch()"
,
0
);
ppc_md
.
progress
(
"lite5200_setup_arch()"
,
0
);
/* CPU & Port mux setup */
/* Fix things that firmware should have done. */
mpc52xx_setup_cpu
();
/* Generic */
lite5200_fix_clock_config
();
lite5200_setup_cpu
();
/* Platorm specific */
lite5200_fix_port_config
();
/* Some mpc5200 & mpc5200b related configuration */
mpc5200_setup_xlb_arbiter
();
#ifdef CONFIG_PM
#ifdef CONFIG_PM
mpc52xx_suspend
.
board_suspend_prepare
=
lite5200_suspend_prepare
;
mpc52xx_suspend
.
board_suspend_prepare
=
lite5200_suspend_prepare
;
...
@@ -150,20 +170,6 @@ static void __init lite5200_setup_arch(void)
...
@@ -150,20 +170,6 @@ static void __init lite5200_setup_arch(void)
}
}
static
void
lite5200_show_cpuinfo
(
struct
seq_file
*
m
)
{
struct
device_node
*
np
=
of_find_all_nodes
(
NULL
);
const
char
*
model
=
NULL
;
if
(
np
)
model
=
of_get_property
(
np
,
"model"
,
NULL
);
seq_printf
(
m
,
"vendor
\t\t
: Freescale Semiconductor
\n
"
);
seq_printf
(
m
,
"machine
\t\t
: %s
\n
"
,
model
?
model
:
"unknown"
);
of_node_put
(
np
);
}
/*
/*
* Called very early, MMU is off, device-tree isn't unflattened
* Called very early, MMU is off, device-tree isn't unflattened
*/
*/
...
@@ -187,6 +193,5 @@ define_machine(lite5200) {
...
@@ -187,6 +193,5 @@ define_machine(lite5200) {
.
init
=
mpc52xx_declare_of_platform_devices
,
.
init
=
mpc52xx_declare_of_platform_devices
,
.
init_IRQ
=
mpc52xx_init_irq
,
.
init_IRQ
=
mpc52xx_init_irq
,
.
get_irq
=
mpc52xx_get_irq
,
.
get_irq
=
mpc52xx_get_irq
,
.
show_cpuinfo
=
lite5200_show_cpuinfo
,
.
calibrate_decr
=
generic_calibrate_decr
,
.
calibrate_decr
=
generic_calibrate_decr
,
};
};
arch/powerpc/platforms/52xx/mpc52xx_common.c
View file @
895532a1
...
@@ -13,10 +13,9 @@
...
@@ -13,10 +13,9 @@
#undef DEBUG
#undef DEBUG
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/of_platform.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/prom.h>
#include <asm/of_platform.h>
#include <asm/mpc52xx.h>
#include <asm/mpc52xx.h>
...
@@ -76,44 +75,33 @@ mpc52xx_find_ipb_freq(struct device_node *node)
...
@@ -76,44 +75,33 @@ mpc52xx_find_ipb_freq(struct device_node *node)
EXPORT_SYMBOL
(
mpc52xx_find_ipb_freq
);
EXPORT_SYMBOL
(
mpc52xx_find_ipb_freq
);
/*
* Configure the XLB arbiter settings to match what Linux expects.
*/
void
__init
void
__init
mpc52
xx_setup_cpu
(
void
)
mpc52
00_setup_xlb_arbiter
(
void
)
{
{
struct
mpc52xx_cdm
__iomem
*
cdm
;
struct
mpc52xx_xlb
__iomem
*
xlb
;
struct
mpc52xx_xlb
__iomem
*
xlb
;
/* Map zones */
cdm
=
mpc52xx_find_and_map
(
"mpc5200-cdm"
);
xlb
=
mpc52xx_find_and_map
(
"mpc5200-xlb"
);
xlb
=
mpc52xx_find_and_map
(
"mpc5200-xlb"
);
if
(
!
xlb
)
{
if
(
!
cdm
||
!
xlb
)
{
printk
(
KERN_ERR
__FILE__
": "
printk
(
KERN_ERR
__FILE__
": "
"Error
while mapping CDM/XLB during mpc52xx_setup_cpu.
"
"Error
mapping XLB in mpc52xx_setup_cpu().
"
"Expect some abnormal behavior
\n
"
);
"Expect some abnormal behavior
\n
"
);
goto
unmap_regs
;
return
;
}
}
/* Use internal 48 Mhz */
out_8
(
&
cdm
->
ext_48mhz_en
,
0x00
);
out_8
(
&
cdm
->
fd_enable
,
0x01
);
if
(
in_be32
(
&
cdm
->
rstcfg
)
&
0x40
)
/* Assumes 33Mhz clock */
out_be16
(
&
cdm
->
fd_counters
,
0x0001
);
else
out_be16
(
&
cdm
->
fd_counters
,
0x5555
);
/* Configure the XLB Arbiter priorities */
/* Configure the XLB Arbiter priorities */
out_be32
(
&
xlb
->
master_pri_enable
,
0xff
);
out_be32
(
&
xlb
->
master_pri_enable
,
0xff
);
out_be32
(
&
xlb
->
master_priority
,
0x11111111
);
out_be32
(
&
xlb
->
master_priority
,
0x11111111
);
/* Disable XLB pipelining */
/* Disable XLB pipelining
/* (cfr errate 292. We could do this only just before ATA PIO
* (cfr errate 292. We could do this only just before ATA PIO
transaction and re-enable it afterwards ...) */
* transaction and re-enable it afterwards ...)
*/
out_be32
(
&
xlb
->
config
,
in_be32
(
&
xlb
->
config
)
|
MPC52xx_XLB_CFG_PLDIS
);
out_be32
(
&
xlb
->
config
,
in_be32
(
&
xlb
->
config
)
|
MPC52xx_XLB_CFG_PLDIS
);
/* Unmap zones */
iounmap
(
xlb
);
unmap_regs:
if
(
cdm
)
iounmap
(
cdm
);
if
(
xlb
)
iounmap
(
xlb
);
}
}
void
__init
void
__init
...
...
arch/powerpc/platforms/52xx/mpc52xx_pic.c
View file @
895532a1
...
@@ -18,18 +18,9 @@
...
@@ -18,18 +18,9 @@
#undef DEBUG
#undef DEBUG
#include <linux/stddef.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/hardirq.h>
#include <linux/of.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/processor.h>
#include <asm/system.h>
#include <asm/irq.h>
#include <asm/prom.h>
#include <asm/prom.h>
#include <asm/mpc52xx.h>
#include <asm/mpc52xx.h>
#include "mpc52xx_pic.h"
#include "mpc52xx_pic.h"
...
...
include/asm-powerpc/mpc52xx.h
View file @
895532a1
...
@@ -243,7 +243,7 @@ struct mpc52xx_cdm {
...
@@ -243,7 +243,7 @@ struct mpc52xx_cdm {
extern
void
__iomem
*
mpc52xx_find_and_map
(
const
char
*
);
extern
void
__iomem
*
mpc52xx_find_and_map
(
const
char
*
);
extern
unsigned
int
mpc52xx_find_ipb_freq
(
struct
device_node
*
node
);
extern
unsigned
int
mpc52xx_find_ipb_freq
(
struct
device_node
*
node
);
extern
void
mpc52
xx_setup_cpu
(
void
);
extern
void
mpc52
00_setup_xlb_arbiter
(
void
);
extern
void
mpc52xx_declare_of_platform_devices
(
void
);
extern
void
mpc52xx_declare_of_platform_devices
(
void
);
extern
void
mpc52xx_init_irq
(
void
);
extern
void
mpc52xx_init_irq
(
void
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment