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
42a0ae22
Commit
42a0ae22
authored
Aug 05, 2010
by
Benjamin Herrenschmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'kumar/next' into next
parents
412a4ac5
c4b6a776
Changes
36
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
3185 additions
and
186 deletions
+3185
-186
arch/powerpc/Kconfig
arch/powerpc/Kconfig
+5
-5
arch/powerpc/boot/dts/mpc8308rdb.dts
arch/powerpc/boot/dts/mpc8308rdb.dts
+303
-0
arch/powerpc/boot/dts/mpc8540ads.dts
arch/powerpc/boot/dts/mpc8540ads.dts
+2
-2
arch/powerpc/boot/dts/mpc8541cds.dts
arch/powerpc/boot/dts/mpc8541cds.dts
+2
-2
arch/powerpc/boot/dts/mpc8544ds.dts
arch/powerpc/boot/dts/mpc8544ds.dts
+2
-2
arch/powerpc/boot/dts/mpc8548cds.dts
arch/powerpc/boot/dts/mpc8548cds.dts
+2
-2
arch/powerpc/boot/dts/mpc8555cds.dts
arch/powerpc/boot/dts/mpc8555cds.dts
+2
-2
arch/powerpc/boot/dts/mpc8560ads.dts
arch/powerpc/boot/dts/mpc8560ads.dts
+2
-2
arch/powerpc/boot/dts/mpc8568mds.dts
arch/powerpc/boot/dts/mpc8568mds.dts
+2
-2
arch/powerpc/boot/dts/p1021mds.dts
arch/powerpc/boot/dts/p1021mds.dts
+1
-0
arch/powerpc/boot/dts/p1022ds.dts
arch/powerpc/boot/dts/p1022ds.dts
+633
-0
arch/powerpc/boot/dts/stxssa8555.dts
arch/powerpc/boot/dts/stxssa8555.dts
+380
-0
arch/powerpc/boot/dts/tqm8540.dts
arch/powerpc/boot/dts/tqm8540.dts
+8
-1
arch/powerpc/boot/dts/tqm8541.dts
arch/powerpc/boot/dts/tqm8541.dts
+8
-1
arch/powerpc/boot/dts/tqm8548-bigflash.dts
arch/powerpc/boot/dts/tqm8548-bigflash.dts
+8
-1
arch/powerpc/boot/dts/tqm8548.dts
arch/powerpc/boot/dts/tqm8548.dts
+8
-1
arch/powerpc/boot/dts/tqm8555.dts
arch/powerpc/boot/dts/tqm8555.dts
+8
-1
arch/powerpc/boot/dts/tqm8560.dts
arch/powerpc/boot/dts/tqm8560.dts
+8
-1
arch/powerpc/boot/dts/tqm8xx.dts
arch/powerpc/boot/dts/tqm8xx.dts
+172
-0
arch/powerpc/configs/mpc85xx_defconfig
arch/powerpc/configs/mpc85xx_defconfig
+12
-22
arch/powerpc/configs/mpc85xx_smp_defconfig
arch/powerpc/configs/mpc85xx_smp_defconfig
+12
-22
arch/powerpc/configs/tqm8xx_defconfig
arch/powerpc/configs/tqm8xx_defconfig
+934
-0
arch/powerpc/platforms/83xx/Kconfig
arch/powerpc/platforms/83xx/Kconfig
+8
-0
arch/powerpc/platforms/83xx/Makefile
arch/powerpc/platforms/83xx/Makefile
+1
-0
arch/powerpc/platforms/83xx/mpc830x_rdb.c
arch/powerpc/platforms/83xx/mpc830x_rdb.c
+94
-0
arch/powerpc/platforms/85xx/Kconfig
arch/powerpc/platforms/85xx/Kconfig
+8
-0
arch/powerpc/platforms/85xx/Makefile
arch/powerpc/platforms/85xx/Makefile
+1
-0
arch/powerpc/platforms/85xx/mpc85xx_mds.c
arch/powerpc/platforms/85xx/mpc85xx_mds.c
+162
-117
arch/powerpc/platforms/85xx/p1022_ds.c
arch/powerpc/platforms/85xx/p1022_ds.c
+148
-0
arch/powerpc/platforms/85xx/smp.c
arch/powerpc/platforms/85xx/smp.c
+63
-0
arch/powerpc/platforms/85xx/tqm85xx.c
arch/powerpc/platforms/85xx/tqm85xx.c
+21
-0
arch/powerpc/platforms/8xx/Kconfig
arch/powerpc/platforms/8xx/Kconfig
+6
-0
arch/powerpc/platforms/8xx/Makefile
arch/powerpc/platforms/8xx/Makefile
+1
-0
arch/powerpc/platforms/8xx/tqm8xx_setup.c
arch/powerpc/platforms/8xx/tqm8xx_setup.c
+156
-0
arch/powerpc/sysdev/fsl_pci.c
arch/powerpc/sysdev/fsl_pci.c
+1
-0
include/linux/pci_ids.h
include/linux/pci_ids.h
+1
-0
No files found.
arch/powerpc/Kconfig
View file @
42a0ae22
...
...
@@ -352,7 +352,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
depends on (PPC_BOOK3S ||
(FSL_BOOKE && !SMP)
) && EXPERIMENTAL
depends on (PPC_BOOK3S ||
FSL_BOOKE
) && EXPERIMENTAL
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
...
...
@@ -369,8 +369,8 @@ config KEXEC
config CRASH_DUMP
bool "Build a kdump crash kernel"
depends on PPC64 || 6xx
select RELOCATABLE if PPC64
depends on PPC64 || 6xx
|| FSL_BOOKE
select RELOCATABLE if PPC64
|| FSL_BOOKE
help
Build a kernel suitable for use as a kdump capture kernel.
The same kernel binary can be used as production kernel and dump
...
...
@@ -898,7 +898,7 @@ config KERNEL_START_BOOL
config KERNEL_START
hex "Virtual address of kernel base" if KERNEL_START_BOOL
default PAGE_OFFSET if PAGE_OFFSET_BOOL
default "0xc2000000" if CRASH_DUMP
default "0xc2000000" if CRASH_DUMP
&& !RELOCATABLE
default "0xc0000000"
config PHYSICAL_START_BOOL
...
...
@@ -911,7 +911,7 @@ config PHYSICAL_START_BOOL
config PHYSICAL_START
hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
default "0x02000000" if PPC_STD_MMU && CRASH_DUMP
&& !RELOCATABLE
default "0x00000000"
config PHYSICAL_ALIGN
...
...
arch/powerpc/boot/dts/mpc8308rdb.dts
0 → 100644
View file @
42a0ae22
/*
*
MPC8308RDB
Device
Tree
Source
*
*
Copyright
2009
Freescale
Semiconductor
Inc
.
*
Copyright
2010
Ilya
Yanok
,
Emcraft
Systems
,
yanok
@
emcraft
.
com
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
modify
it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
*
Free
Software
Foundation
;
either
version
2
of
the
License
,
or
(
at
your
*
option
)
any
later
version
.
*/
/
dts
-
v1
/;
/
{
compatible
=
"fsl,mpc8308rdb"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
aliases
{
ethernet0
=
&
enet0
;
ethernet1
=
&
enet1
;
serial0
=
&
serial0
;
serial1
=
&
serial1
;
pci0
=
&
pci0
;
};
cpus
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
PowerPC
,
8308
@
0
{
device_type
=
"cpu"
;
reg
=
<
0x0
>;
d
-
cache
-
line
-
size
=
<
32
>;
i
-
cache
-
line
-
size
=
<
32
>;
d
-
cache
-
size
=
<
16384
>;
i
-
cache
-
size
=
<
16384
>;
timebase
-
frequency
=
<
0
>;
//
from
bootloader
bus
-
frequency
=
<
0
>;
//
from
bootloader
clock
-
frequency
=
<
0
>;
//
from
bootloader
};
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x00000000
0x08000000
>;
//
128
MB
at
0
};
localbus
@
e0005000
{
#
address
-
cells
=
<
2
>;
#
size
-
cells
=
<
1
>;
compatible
=
"fsl,mpc8315-elbc"
,
"fsl,elbc"
,
"simple-bus"
;
reg
=
<
0xe0005000
0x1000
>;
interrupts
=
<
77
0x8
>;
interrupt
-
parent
=
<&
ipic
>;
//
CS0
and
CS1
are
swapped
when
//
booting
from
nand
,
but
the
//
addresses
are
the
same
.
ranges
=
<
0x0
0x0
0xfe000000
0x00800000
0x1
0x0
0xe0600000
0x00002000
0x2
0x0
0xf0000000
0x00020000
0x3
0x0
0xfa000000
0x00008000
>;
flash
@
0
,
0
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"cfi-flash"
;
reg
=
<
0x0
0x0
0x800000
>;
bank
-
width
=
<
2
>;
device
-
width
=
<
1
>;
u
-
boot
@
0
{
reg
=
<
0x0
0x60000
>;
read
-
only
;
};
env
@
60000
{
reg
=
<
0x60000
0x10000
>;
};
env1
@
70000
{
reg
=
<
0x70000
0x10000
>;
};
kernel
@
80000
{
reg
=
<
0x80000
0x200000
>;
};
dtb
@
280000
{
reg
=
<
0x280000
0x10000
>;
};
ramdisk
@
290000
{
reg
=
<
0x290000
0x570000
>;
};
};
nand
@
1
,
0
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"fsl,mpc8315-fcm-nand"
,
"fsl,elbc-fcm-nand"
;
reg
=
<
0x1
0x0
0x2000
>;
jffs2
@
0
{
reg
=
<
0x0
0x2000000
>;
};
};
};
immr
@
e0000000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
device_type
=
"soc"
;
compatible
=
"fsl,mpc8315-immr"
,
"simple-bus"
;
ranges
=
<
0
0xe0000000
0x00100000
>;
reg
=
<
0xe0000000
0x00000200
>;
bus
-
frequency
=
<
0
>;
i2c
@
3000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
cell
-
index
=
<
0
>;
compatible
=
"fsl-i2c"
;
reg
=
<
0x3000
0x100
>;
interrupts
=
<
14
0x8
>;
interrupt
-
parent
=
<&
ipic
>;
dfsrr
;
rtc
@
68
{
compatible
=
"dallas,ds1339"
;
reg
=
<
0x68
>;
};
};
usb
@
23000
{
compatible
=
"fsl-usb2-dr"
;
reg
=
<
0x23000
0x1000
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
interrupt
-
parent
=
<&
ipic
>;
interrupts
=
<
38
0x8
>;
dr_mode
=
"peripheral"
;
phy_type
=
"ulpi"
;
};
enet0
:
ethernet
@
24000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
ranges
=
<
0x0
0x24000
0x1000
>;
cell
-
index
=
<
0
>;
device_type
=
"network"
;
model
=
"eTSEC"
;
compatible
=
"gianfar"
;
reg
=
<
0x24000
0x1000
>;
local
-
mac
-
address
=
[
00
00
00
00
00
00
];
interrupts
=
<
32
0x8
33
0x8
34
0x8
>;
interrupt
-
parent
=
<&
ipic
>;
tbi
-
handle
=
<
&
tbi0
>;
phy
-
handle
=
<
&
phy2
>;
fsl
,
magic
-
packet
;
mdio
@
520
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
compatible
=
"fsl,gianfar-mdio"
;
reg
=
<
0x520
0x20
>;
phy2
:
ethernet
-
phy
@
2
{
interrupt
-
parent
=
<&
ipic
>;
interrupts
=
<
17
0x8
>;
reg
=
<
0x2
>;
device_type
=
"ethernet-phy"
;
};
tbi0
:
tbi
-
phy
@
11
{
reg
=
<
0x11
>;
device_type
=
"tbi-phy"
;
};
};
};
enet1
:
ethernet
@
25000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
cell
-
index
=
<
1
>;
device_type
=
"network"
;
model
=
"eTSEC"
;
compatible
=
"gianfar"
;
reg
=
<
0x25000
0x1000
>;
ranges
=
<
0x0
0x25000
0x1000
>;
local
-
mac
-
address
=
[
00
00
00
00
00
00
];
interrupts
=
<
35
0x8
36
0x8
37
0x8
>;
interrupt
-
parent
=
<&
ipic
>;
tbi
-
handle
=
<
&
tbi1
>;
/*
Vitesse
7385
isn
't on the MDIO bus */
fixed-link = <1 1 1000 0 0>;
fsl,magic-packet;
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi1: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
};
serial0: serial@4500 {
cell-index = <0>;
device_type = "serial";
compatible = "ns16550";
reg = <0x4500 0x100>;
clock-frequency = <133333333>;
interrupts = <9 0x8>;
interrupt-parent = <&ipic>;
};
serial1: serial@4600 {
cell-index = <1>;
device_type = "serial";
compatible = "ns16550";
reg = <0x4600 0x100>;
clock-frequency = <133333333>;
interrupts = <10 0x8>;
interrupt-parent = <&ipic>;
};
gpio@c00 {
#gpio-cells = <2>;
device_type = "gpio";
compatible = "fsl,mpc8308-gpio", "fsl,mpc8349-gpio";
reg = <0xc00 0x18>;
interrupts = <74 0x8>;
interrupt-parent = <&ipic>;
gpio-controller;
};
/* IPIC
* interrupts cell = <intr #, sense>
* sense values match linux IORESOURCE_IRQ_* defines:
* sense == 8: Level, low assertion
* sense == 2: Edge, high-to-low change
*/
ipic: interrupt-controller@700 {
compatible = "fsl,ipic";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
reg = <0x700 0x100>;
device_type = "ipic";
};
ipic-msi@7c0 {
compatible = "fsl,ipic-msi";
reg = <0x7c0 0x40>;
msi-available-ranges = <0x0 0x100>;
interrupts = < 0x43 0x8
0x4 0x8
0x51 0x8
0x52 0x8
0x56 0x8
0x57 0x8
0x58 0x8
0x59 0x8 >;
interrupt-parent = < &ipic >;
};
};
pci0: pcie@e0009000 {
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
device_type = "pci";
compatible = "fsl,mpc8308-pcie", "fsl,mpc8314-pcie";
reg = <0xe0009000 0x00001000
0xb0000000 0x01000000>;
ranges = <0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
0x01000000 0 0x00000000 0xb1000000 0 0x00800000>;
bus-range = <0 0>;
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map = <0 0 0 1 &ipic 1 8
0 0 0 2 &ipic 1 8
0 0 0 3 &ipic 1 8
0 0 0 4 &ipic 1 8>;
interrupts = <0x1 0x8>;
interrupt-parent = <&ipic>;
clock-frequency = <0>;
pcie@0 {
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
reg = <0 0 0 0 0>;
ranges = <0x02000000 0 0xa0000000
0x02000000 0 0xa0000000
0 0x10000000
0x01000000 0 0x00000000
0x01000000 0 0x00000000
0 0x00800000>;
};
};
};
arch/powerpc/boot/dts/mpc8540ads.dts
View file @
42a0ae22
...
...
@@ -71,14 +71,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8540-memory-controller"
;
compatible
=
"fsl,
mpc
8540-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8540-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8540-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x40000
>;
//
L2
,
256
K
...
...
arch/powerpc/boot/dts/mpc8541cds.dts
View file @
42a0ae22
...
...
@@ -71,14 +71,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8541-memory-controller"
;
compatible
=
"fsl,
mpc
8541-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8541-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8541-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x40000
>;
//
L2
,
256
K
...
...
arch/powerpc/boot/dts/mpc8544ds.dts
View file @
42a0ae22
...
...
@@ -73,14 +73,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8544-memory-controller"
;
compatible
=
"fsl,
mpc
8544-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8544-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8544-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x40000
>;
//
L2
,
256
K
...
...
arch/powerpc/boot/dts/mpc8548cds.dts
View file @
42a0ae22
...
...
@@ -74,14 +74,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8548-memory-controller"
;
compatible
=
"fsl,
mpc
8548-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8548-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8548-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x80000
>;
//
L2
,
512
K
...
...
arch/powerpc/boot/dts/mpc8555cds.dts
View file @
42a0ae22
...
...
@@ -71,14 +71,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8555-memory-controller"
;
compatible
=
"fsl,
mpc
8555-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8555-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8555-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x40000
>;
//
L2
,
256
K
...
...
arch/powerpc/boot/dts/mpc8560ads.dts
View file @
42a0ae22
...
...
@@ -71,14 +71,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8540-memory-controller"
;
compatible
=
"fsl,
mpc
8540-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8540-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8540-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x40000
>;
//
L2
,
256
K
...
...
arch/powerpc/boot/dts/mpc8568mds.dts
View file @
42a0ae22
...
...
@@ -124,14 +124,14 @@ ecm@1000 {
};
memory
-
controller
@
2000
{
compatible
=
"fsl,8568-memory-controller"
;
compatible
=
"fsl,
mpc
8568-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,8568-l2-cache-controller"
;
compatible
=
"fsl,
mpc
8568-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x80000
>;
//
L2
,
512
K
...
...
arch/powerpc/boot/dts/p1021mds.dts
View file @
42a0ae22
...
...
@@ -617,6 +617,7 @@ qe@ffe80000 {
bus
-
frequency
=
<
0
>;
fsl
,
qe
-
num
-
riscs
=
<
1
>;
fsl
,
qe
-
num
-
snums
=
<
28
>;
status
=
"disabled"
;
/*
no
firmware
loaded
*/
qeic
:
interrupt
-
controller
@
80
{
interrupt
-
controller
;
...
...
arch/powerpc/boot/dts/p1022ds.dts
0 → 100644
View file @
42a0ae22
This diff is collapsed.
Click to expand it.
arch/powerpc/boot/dts/stxssa8555.dts
0 → 100644
View file @
42a0ae22
/*
*
MPC8555
-
based
STx
GP3
Device
Tree
Source
*
*
Copyright
2006
,
2008
Freescale
Semiconductor
Inc
.
*
*
Copyright
2010
Silicon
Turnkey
Express
LLC
.
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
modify
it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
*
Free
Software
Foundation
;
either
version
2
of
the
License
,
or
(
at
your
*
option
)
any
later
version
.
*/
/
dts
-
v1
/;
/
{
model
=
"stx,gp3"
;
compatible
=
"stx,gp3-8560"
,
"stx,gp3"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
aliases
{
ethernet0
=
&
enet0
;
ethernet1
=
&
enet1
;
serial0
=
&
serial0
;
serial1
=
&
serial1
;
pci0
=
&
pci0
;
};
cpus
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
PowerPC
,
8555
@
0
{
device_type
=
"cpu"
;
reg
=
<
0x0
>;
d
-
cache
-
line
-
size
=
<
32
>;
//
32
bytes
i
-
cache
-
line
-
size
=
<
32
>;
//
32
bytes
d
-
cache
-
size
=
<
0x8000
>;
//
L1
,
32
K
i
-
cache
-
size
=
<
0x8000
>;
//
L1
,
32
K
timebase
-
frequency
=
<
0
>;
//
33
MHz
,
from
uboot
bus
-
frequency
=
<
0
>;
//
166
MHz
clock
-
frequency
=
<
0
>;
//
825
MHz
,
from
uboot
next
-
level
-
cache
=
<&
L2
>;
};
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x00000000
0x10000000
>;
};
soc8555
@
e0000000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
device_type
=
"soc"
;
compatible
=
"simple-bus"
;
ranges
=
<
0x0
0xe0000000
0x100000
>;
bus
-
frequency
=
<
0
>;
ecm
-
law
@
0
{
compatible
=
"fsl,ecm-law"
;
reg
=
<
0x0
0x1000
>;
fsl
,
num
-
laws
=
<
8
>;
};
ecm
@
1000
{
compatible
=
"fsl,mpc8555-ecm"
,
"fsl,ecm"
;
reg
=
<
0x1000
0x1000
>;
interrupts
=
<
17
2
>;
interrupt
-
parent
=
<&
mpic
>;
};
memory
-
controller
@
2000
{
compatible
=
"fsl,mpc8555-memory-controller"
;
reg
=
<
0x2000
0x1000
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
18
2
>;
};
L2
:
l2
-
cache
-
controller
@
20000
{
compatible
=
"fsl,mpc8555-l2-cache-controller"
;
reg
=
<
0x20000
0x1000
>;
cache
-
line
-
size
=
<
32
>;
//
32
bytes
cache
-
size
=
<
0x40000
>;
//
L2
,
256
K
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
16
2
>;
};
i2c
@
3000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
cell
-
index
=
<
0
>;
compatible
=
"fsl-i2c"
;
reg
=
<
0x3000
0x100
>;
interrupts
=
<
43
2
>;
interrupt
-
parent
=
<&
mpic
>;
dfsrr
;
};
dma
@
21300
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"fsl,mpc8555-dma"
,
"fsl,eloplus-dma"
;
reg
=
<
0x21300
0x4
>;
ranges
=
<
0x0
0x21100
0x200
>;
cell
-
index
=
<
0
>;
dma
-
channel
@
0
{
compatible
=
"fsl,mpc8555-dma-channel"
,
"fsl,eloplus-dma-channel"
;
reg
=
<
0x0
0x80
>;
cell
-
index
=
<
0
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
20
2
>;
};
dma
-
channel
@
80
{
compatible
=
"fsl,mpc8555-dma-channel"
,
"fsl,eloplus-dma-channel"
;
reg
=
<
0x80
0x80
>;
cell
-
index
=
<
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
21
2
>;
};
dma
-
channel
@
100
{
compatible
=
"fsl,mpc8555-dma-channel"
,
"fsl,eloplus-dma-channel"
;
reg
=
<
0x100
0x80
>;
cell
-
index
=
<
2
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
22
2
>;
};
dma
-
channel
@
180
{
compatible
=
"fsl,mpc8555-dma-channel"
,
"fsl,eloplus-dma-channel"
;
reg
=
<
0x180
0x80
>;
cell
-
index
=
<
3
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
23
2
>;
};
};
enet0
:
ethernet
@
24000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
cell
-
index
=
<
0
>;
device_type
=
"network"
;
model
=
"TSEC"
;
compatible
=
"gianfar"
;
reg
=
<
0x24000
0x1000
>;
ranges
=
<
0x0
0x24000
0x1000
>;
local
-
mac
-
address
=
[
00
00
00
00
00
00
];
interrupts
=
<
29
2
30
2
34
2
>;
interrupt
-
parent
=
<&
mpic
>;
tbi
-
handle
=
<&
tbi0
>;
phy
-
handle
=
<&
phy0
>;
mdio
@
520
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
compatible
=
"fsl,gianfar-mdio"
;
reg
=
<
0x520
0x20
>;
phy0
:
ethernet
-
phy
@
2
{
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
5
1
>;
reg
=
<
0x2
>;
device_type
=
"ethernet-phy"
;
};
phy1
:
ethernet
-
phy
@
4
{
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
5
1
>;
reg
=
<
0x4
>;
device_type
=
"ethernet-phy"
;
};
tbi0
:
tbi
-
phy
@
11
{
reg
=
<
0x11
>;
device_type
=
"tbi-phy"
;
};
};
};
enet1
:
ethernet
@
25000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
cell
-
index
=
<
1
>;
device_type
=
"network"
;
model
=
"TSEC"
;
compatible
=
"gianfar"
;
reg
=
<
0x25000
0x1000
>;
ranges
=
<
0x0
0x25000
0x1000
>;
local
-
mac
-
address
=
[
00
00
00
00
00
00
];
interrupts
=
<
35
2
36
2
40
2
>;
interrupt
-
parent
=
<&
mpic
>;
tbi
-
handle
=
<&
tbi1
>;
phy
-
handle
=
<&
phy1
>;
mdio
@
520
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
compatible
=
"fsl,gianfar-tbi"
;
reg
=
<
0x520
0x20
>;
tbi1
:
tbi
-
phy
@
11
{
reg
=
<
0x11
>;
device_type
=
"tbi-phy"
;
};
};
};
serial0
:
serial
@
4500
{
cell
-
index
=
<
0
>;
device_type
=
"serial"
;
compatible
=
"ns16550"
;
reg
=
<
0x4500
0x100
>;
//
reg
base
,
size
clock
-
frequency
=
<
0
>;
//
should
we
fill
in
in
uboot
?
interrupts
=
<
42
2
>;
interrupt
-
parent
=
<&
mpic
>;
};
serial1
:
serial
@
4600
{
cell
-
index
=
<
1
>;
device_type
=
"serial"
;
compatible
=
"ns16550"
;
reg
=
<
0x4600
0x100
>;
//
reg
base
,
size
clock
-
frequency
=
<
0
>;
//
should
we
fill
in
in
uboot
?
interrupts
=
<
42
2
>;
interrupt
-
parent
=
<&
mpic
>;
};
crypto
@
30000
{
compatible
=
"fsl,sec2.0"
;
reg
=
<
0x30000
0x10000
>;
interrupts
=
<
45
2
>;
interrupt
-
parent
=
<&
mpic
>;
fsl
,
num
-
channels
=
<
4
>;
fsl
,
channel
-
fifo
-
len
=
<
24
>;
fsl
,
exec
-
units
-
mask
=
<
0x7e
>;
fsl
,
descriptor
-
types
-
mask
=
<
0x01010ebf
>;
};
mpic
:
pic
@
40000
{
interrupt
-
controller
;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
reg
=
<
0x40000
0x40000
>;
compatible
=
"chrp,open-pic"
;
device_type
=
"open-pic"
;
};
cpm
@
919
c0
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"fsl,mpc8555-cpm"
,
"fsl,cpm2"
;
reg
=
<
0x919c0
0x30
>;
ranges
;
muram
@
80000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
ranges
=
<
0x0
0x80000
0x10000
>;
data
@
0
{
compatible
=
"fsl,cpm-muram-data"
;
reg
=
<
0x0
0x2000
0x9000
0x1000
>;
};
};
brg
@
919f0
{
compatible
=
"fsl,mpc8555-brg"
,
"fsl,cpm2-brg"
,
"fsl,cpm-brg"
;
reg
=
<
0x919f0
0x10
0x915f0
0x10
>;
};
cpmpic
:
pic
@
90
c00
{
interrupt
-
controller
;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
interrupts
=
<
46
2
>;
interrupt
-
parent
=
<&
mpic
>;
reg
=
<
0x90c00
0x80
>;
compatible
=
"fsl,mpc8555-cpm-pic"
,
"fsl,cpm2-pic"
;
};
};
};
pci0
:
pci
@
e0008000
{
interrupt
-
map
-
mask
=
<
0x1f800
0x0
0x0
0x7
>;
interrupt
-
map
=
<
/*
IDSEL
0x10
*/
0x8000
0x0
0x0
0x1
&
mpic
0x0
0x1
0x8000
0x0
0x0
0x2
&
mpic
0x1
0x1
0x8000
0x0
0x0
0x3
&
mpic
0x2
0x1
0x8000
0x0
0x0
0x4
&
mpic
0x3
0x1
/*
IDSEL
0x11
*/
0x8800
0x0
0x0
0x1
&
mpic
0x0
0x1
0x8800
0x0
0x0
0x2
&
mpic
0x1
0x1
0x8800
0x0
0x0
0x3
&
mpic
0x2
0x1
0x8800
0x0
0x0
0x4
&
mpic
0x3
0x1
/*
IDSEL
0x12
(
Slot
1
)
*/
0x9000
0x0
0x0
0x1
&
mpic
0x0
0x1
0x9000
0x0
0x0
0x2
&
mpic
0x1
0x1
0x9000
0x0
0x0
0x3
&
mpic
0x2
0x1
0x9000
0x0
0x0
0x4
&
mpic
0x3
0x1
/*
IDSEL
0x13
(
Slot
2
)
*/
0x9800
0x0
0x0
0x1
&
mpic
0x1
0x1
0x9800
0x0
0x0
0x2
&
mpic
0x2
0x1
0x9800
0x0
0x0
0x3
&
mpic
0x3
0x1
0x9800
0x0
0x0
0x4
&
mpic
0x0
0x1
/*
IDSEL
0x14
(
Slot
3
)
*/
0xa000
0x0
0x0
0x1
&
mpic
0x2
0x1
0xa000
0x0
0x0
0x2
&
mpic
0x3
0x1
0xa000
0x0
0x0
0x3
&
mpic
0x0
0x1
0xa000
0x0
0x0
0x4
&
mpic
0x1
0x1
/*
IDSEL
0x15
(
Slot
4
)
*/
0xa800
0x0
0x0
0x1
&
mpic
0x3
0x1
0xa800
0x0
0x0
0x2
&
mpic
0x0
0x1
0xa800
0x0
0x0
0x3
&
mpic
0x1
0x1
0xa800
0x0
0x0
0x4
&
mpic
0x2
0x1
/*
Bus
1
(
Tundra
Bridge
)
*/
/*
IDSEL
0x12
(
ISA
bridge
)
*/
0x19000
0x0
0x0
0x1
&
mpic
0x0
0x1
0x19000
0x0
0x0
0x2
&
mpic
0x1
0x1
0x19000
0x0
0x0
0x3
&
mpic
0x2
0x1
0x19000
0x0
0x0
0x4
&
mpic
0x3
0x1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
bus
-
range
=
<
0
0
>;
ranges
=
<
0x2000000
0x0
0x80000000
0x80000000
0x0
0x20000000
0x1000000
0x0
0x0
0xe2000000
0x0
0x100000
>;
clock
-
frequency
=
<
66666666
>;
#
interrupt
-
cells
=
<
1
>;
#
size
-
cells
=
<
2
>;
#
address
-
cells
=
<
3
>;
reg
=
<
0xe0008000
0x1000
>;
compatible
=
"fsl,mpc8540-pci"
;
device_type
=
"pci"
;
i8259
@
19000
{
interrupt
-
controller
;
device_type
=
"interrupt-controller"
;
reg
=
<
0x19000
0x0
0x0
0x0
0x1
>;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
compatible
=
"chrp,iic"
;
interrupts
=
<
1
>;
interrupt
-
parent
=
<&
pci0
>;
};
};
pci1
:
pci
@
e0009000
{
interrupt
-
map
-
mask
=
<
0xf800
0x0
0x0
0x7
>;
interrupt
-
map
=
<
/*
IDSEL
0x15
*/
0xa800
0x0
0x0
0x1
&
mpic
0xb
0x1
0xa800
0x0
0x0
0x2
&
mpic
0xb
0x1
0xa800
0x0
0x0
0x3
&
mpic
0xb
0x1
0xa800
0x0
0x0
0x4
&
mpic
0xb
0x1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
25
2
>;
bus
-
range
=
<
0
0
>;
ranges
=
<
0x2000000
0x0
0xa0000000
0xa0000000
0x0
0x20000000
0x1000000
0x0
0x0
0xe3000000
0x0
0x100000
>;
clock
-
frequency
=
<
66666666
>;
#
interrupt
-
cells
=
<
1
>;
#
size
-
cells
=
<
2
>;
#
address
-
cells
=
<
3
>;
reg
=
<
0xe0009000
0x1000
>;
compatible
=
"fsl,mpc8540-pci"
;
device_type
=
"pci"
;
};
};
arch/powerpc/boot/dts/tqm8540.dts
View file @
42a0ae22
...
...
@@ -289,7 +289,14 @@ pci0: pci@e0008000 {
interrupt
-
map
=
<
/*
IDSEL
28
*/
0xe000
0
0
1
&
mpic
2
1
0xe000
0
0
2
&
mpic
3
1
>;
0xe000
0
0
2
&
mpic
3
1
0xe000
0
0
3
&
mpic
6
1
0xe000
0
0
4
&
mpic
5
1
/*
IDSEL
11
*/
0x5800
0
0
1
&
mpic
6
1
0x5800
0
0
2
&
mpic
5
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
...
...
arch/powerpc/boot/dts/tqm8541.dts
View file @
42a0ae22
...
...
@@ -311,7 +311,14 @@ pci0: pci@e0008000 {
interrupt
-
map
=
<
/*
IDSEL
28
*/
0xe000
0
0
1
&
mpic
2
1
0xe000
0
0
2
&
mpic
3
1
>;
0xe000
0
0
2
&
mpic
3
1
0xe000
0
0
3
&
mpic
6
1
0xe000
0
0
4
&
mpic
5
1
/*
IDSEL
11
*/
0x5800
0
0
1
&
mpic
6
1
0x5800
0
0
2
&
mpic
5
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
...
...
arch/powerpc/boot/dts/tqm8548-bigflash.dts
View file @
42a0ae22
...
...
@@ -442,7 +442,14 @@ pci0: pci@a0008000 {
interrupt
-
map
=
<
/*
IDSEL
28
*/
0xe000
0
0
1
&
mpic
2
1
0xe000
0
0
2
&
mpic
3
1
>;
0xe000
0
0
2
&
mpic
3
1
0xe000
0
0
3
&
mpic
6
1
0xe000
0
0
4
&
mpic
5
1
/*
IDSEL
11
*/
0x5800
0
0
1
&
mpic
6
1
0x5800
0
0
2
&
mpic
5
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
...
...
arch/powerpc/boot/dts/tqm8548.dts
View file @
42a0ae22
...
...
@@ -442,7 +442,14 @@ pci0: pci@e0008000 {
interrupt
-
map
=
<
/*
IDSEL
28
*/
0xe000
0
0
1
&
mpic
2
1
0xe000
0
0
2
&
mpic
3
1
>;
0xe000
0
0
2
&
mpic
3
1
0xe000
0
0
3
&
mpic
6
1
0xe000
0
0
4
&
mpic
5
1
/*
IDSEL
11
*/
0x5800
0
0
1
&
mpic
6
1
0x5800
0
0
2
&
mpic
5
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
...
...
arch/powerpc/boot/dts/tqm8555.dts
View file @
42a0ae22
...
...
@@ -311,7 +311,14 @@ pci0: pci@e0008000 {
interrupt
-
map
=
<
/*
IDSEL
28
*/
0xe000
0
0
1
&
mpic
2
1
0xe000
0
0
2
&
mpic
3
1
>;
0xe000
0
0
2
&
mpic
3
1
0xe000
0
0
3
&
mpic
6
1
0xe000
0
0
4
&
mpic
5
1
/*
IDSEL
11
*/
0x5800
0
0
1
&
mpic
6
1
0x5800
0
0
2
&
mpic
5
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
...
...
arch/powerpc/boot/dts/tqm8560.dts
View file @
42a0ae22
...
...
@@ -382,7 +382,14 @@ pci0: pci@e0008000 {
interrupt
-
map
=
<
/*
IDSEL
28
*/
0xe000
0
0
1
&
mpic
2
1
0xe000
0
0
2
&
mpic
3
1
>;
0xe000
0
0
2
&
mpic
3
1
0xe000
0
0
3
&
mpic
6
1
0xe000
0
0
4
&
mpic
5
1
/*
IDSEL
11
*/
0x5800
0
0
1
&
mpic
6
1
0x5800
0
0
2
&
mpic
5
1
>;
interrupt
-
parent
=
<&
mpic
>;
interrupts
=
<
24
2
>;
...
...
arch/powerpc/boot/dts/tqm8xx.dts
0 → 100644
View file @
42a0ae22
/*
*
TQM8XX
Device
Tree
Source
*
*
Heiko
Schocher
<
hs
@
denx
.
de
>
*
2010
DENX
Software
Engineering
GmbH
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
modify
it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
*
Free
Software
Foundation
;
either
version
2
of
the
License
,
or
(
at
your
*
option
)
any
later
version
.
*/
/
dts
-
v1
/;
/
{
model
=
"TQM8xx"
;
compatible
=
"tqc,tqm8xx"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
aliases
{
ethernet0
=
&
eth0
;
ethernet1
=
&
eth1
;
mdio1
=
&
phy1
;
serial0
=
&
smc1
;
};
cpus
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
PowerPC
,
860
@
0
{
device_type
=
"cpu"
;
reg
=
<
0x0
>;
d
-
cache
-
line
-
size
=
<
16
>;
//
16
bytes
i
-
cache
-
line
-
size
=
<
16
>;
//
16
bytes
d
-
cache
-
size
=
<
0x1000
>;
//
L1
,
4
K
i
-
cache
-
size
=
<
0x1000
>;
//
L1
,
4
K
timebase
-
frequency
=
<
0
>;
bus
-
frequency
=
<
0
>;
clock
-
frequency
=
<
0
>;
interrupts
=
<
15
2
>;
//
decrementer
interrupt
interrupt
-
parent
=
<&
PIC
>;
};
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x0
0x2000000
>;
};
localbus
@
fff00100
{
compatible
=
"fsl,mpc860-localbus"
,
"fsl,pq1-localbus"
;
#
address
-
cells
=
<
2
>;
#
size
-
cells
=
<
1
>;
reg
=
<
0xfff00100
0x40
>;
ranges
=
<
0x0
0x0
0x40000000
0x800000
>;
flash
@
0
,
0
{
compatible
=
"cfi-flash"
;
reg
=
<
0
0
0x800000
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
bank
-
width
=
<
4
>;
device
-
width
=
<
2
>;
};
};
soc
@
fff00000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
device_type
=
"soc"
;
ranges
=
<
0x0
0xfff00000
0x00004000
>;
phy1
:
mdio
@
e00
{
compatible
=
"fsl,mpc866-fec-mdio"
,
"fsl,pq1-fec-mdio"
;
reg
=
<
0xe00
0x188
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
PHY
:
ethernet
-
phy
@
f
{
reg
=
<
0xf
>;
device_type
=
"ethernet-phy"
;
};
};
eth1
:
ethernet
@
e00
{
device_type
=
"network"
;
compatible
=
"fsl,mpc866-fec-enet"
,
"fsl,pq1-fec-enet"
;
reg
=
<
0xe00
0x188
>;
interrupts
=
<
3
1
>;
interrupt
-
parent
=
<&
PIC
>;
phy
-
handle
=
<&
PHY
>;
linux
,
network
-
index
=
<
1
>;
};
PIC
:
pic
@
0
{
interrupt
-
controller
;
#
interrupt
-
cells
=
<
2
>;
reg
=
<
0x0
0x24
>;
compatible
=
"fsl,mpc860-pic"
,
"fsl,pq1-pic"
;
};
cpm
@
9
c0
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"fsl,mpc860-cpm"
,
"fsl,cpm1"
;
ranges
;
reg
=
<
0x9c0
0x40
>;
brg
-
frequency
=
<
0
>;
interrupts
=
<
0
2
>;
//
cpm
error
interrupt
interrupt
-
parent
=
<&
CPM_PIC
>;
muram
@
2000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
ranges
=
<
0x0
0x2000
0x2000
>;
data
@
0
{
compatible
=
"fsl,cpm-muram-data"
;
reg
=
<
0x0
0x2000
>;
};
};
brg
@
9f0
{
compatible
=
"fsl,mpc860-brg"
,
"fsl,cpm1-brg"
,
"fsl,cpm-brg"
;
reg
=
<
0x9f0
0x10
>;
clock
-
frequency
=
<
0
>;
};
CPM_PIC
:
pic
@
930
{
interrupt
-
controller
;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
1
>;
interrupts
=
<
5
2
0
2
>;
interrupt
-
parent
=
<&
PIC
>;
reg
=
<
0x930
0x20
>;
compatible
=
"fsl,mpc860-cpm-pic"
,
"fsl,cpm1-pic"
;
};
smc1
:
serial
@
a80
{
device_type
=
"serial"
;
compatible
=
"fsl,mpc860-smc-uart"
,
"fsl,cpm1-smc-uart"
;
reg
=
<
0xa80
0x10
0x3e80
0x40
>;
interrupts
=
<
4
>;
interrupt
-
parent
=
<&
CPM_PIC
>;
fsl
,
cpm
-
brg
=
<
1
>;
fsl
,
cpm
-
command
=
<
0x90
>;
};
eth0
:
ethernet
@
a00
{
device_type
=
"network"
;
compatible
=
"fsl,mpc860-scc-enet"
,
"fsl,cpm1-scc-enet"
;
reg
=
<
0xa00
0x18
0x3c00
0x100
>;
interrupts
=
<
30
>;
interrupt
-
parent
=
<&
CPM_PIC
>;
fsl
,
cpm
-
command
=
<
0000
>;
linux
,
network
-
index
=
<
0
>;
fixed
-
link
=
<
0
0
10
0
0
>;
};
};
};
};
arch/powerpc/configs/mpc85xx_defconfig
View file @
42a0ae22
...
...
@@ -19,7 +19,8 @@ CONFIG_E500=y
CONFIG_FSL_EMB_PERFMON=y
CONFIG_BOOKE=y
CONFIG_FSL_BOOKE=y
# CONFIG_PHYS_64BIT is not set
CONFIG_PTE_64BIT=y
CONFIG_PHYS_64BIT=y
CONFIG_SPE=y
CONFIG_PPC_MMU_NOHASH=y
CONFIG_PPC_MMU_NOHASH_32=y
...
...
@@ -28,7 +29,7 @@ CONFIG_PPC_BOOK3E_MMU=y
# CONFIG_SMP is not set
CONFIG_PPC32=y
CONFIG_WORD_SIZE=32
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
...
...
@@ -239,6 +240,7 @@ CONFIG_MPC85xx_MDS=y
CONFIG_MPC8536_DS=y
CONFIG_MPC85xx_DS=y
CONFIG_MPC85xx_RDB=y
CONFIG_P1022_DS=y
CONFIG_SOCRATES=y
CONFIG_KSI8560=y
CONFIG_XES_MPC85xx=y
...
...
@@ -311,7 +313,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
...
...
@@ -321,7 +323,7 @@ CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_PPC_256K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=1
1
CONFIG_FORCE_MAX_ZONEORDER=1
2
CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_EXTRA_TARGETS=""
...
...
@@ -1122,16 +1124,13 @@ CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_HRTIMER is not set
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
...
...
@@ -1145,12 +1144,7 @@ CONFIG_SND_VMASTER=y
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_DRIVERS=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
...
...
@@ -1218,12 +1212,8 @@ CONFIG_SND_INTEL8X0=y
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_SND_PPC=y
CONFIG_SND_USB=y
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_UA101 is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_PPC is not set
# CONFIG_SND_USB is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=y
...
...
arch/powerpc/configs/mpc85xx_smp_defconfig
View file @
42a0ae22
...
...
@@ -19,7 +19,8 @@ CONFIG_E500=y
CONFIG_FSL_EMB_PERFMON=y
CONFIG_BOOKE=y
CONFIG_FSL_BOOKE=y
# CONFIG_PHYS_64BIT is not set
CONFIG_PTE_64BIT=y
CONFIG_PHYS_64BIT=y
CONFIG_SPE=y
CONFIG_PPC_MMU_NOHASH=y
CONFIG_PPC_MMU_NOHASH_32=y
...
...
@@ -29,7 +30,7 @@ CONFIG_SMP=y
CONFIG_NR_CPUS=8
CONFIG_PPC32=y
CONFIG_WORD_SIZE=32
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
...
...
@@ -243,6 +244,7 @@ CONFIG_MPC85xx_MDS=y
CONFIG_MPC8536_DS=y
CONFIG_MPC85xx_DS=y
CONFIG_MPC85xx_RDB=y
CONFIG_P1022_DS=y
CONFIG_SOCRATES=y
CONFIG_KSI8560=y
CONFIG_XES_MPC85xx=y
...
...
@@ -316,7 +318,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
...
...
@@ -326,7 +328,7 @@ CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
# CONFIG_PPC_256K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=1
1
CONFIG_FORCE_MAX_ZONEORDER=1
2
CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_EXTRA_TARGETS=""
...
...
@@ -1127,16 +1129,13 @@ CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_HRTIMER is not set
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
...
...
@@ -1150,12 +1149,7 @@ CONFIG_SND_VMASTER=y
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_DRIVERS=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
...
...
@@ -1223,12 +1217,8 @@ CONFIG_SND_INTEL8X0=y
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_SND_PPC=y
CONFIG_SND_USB=y
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_UA101 is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_PPC is not set
# CONFIG_SND_USB is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=y
...
...
arch/powerpc/configs/tqm8xx_defconfig
0 → 100644
View file @
42a0ae22
This diff is collapsed.
Click to expand it.
arch/powerpc/platforms/83xx/Kconfig
View file @
42a0ae22
...
...
@@ -9,6 +9,14 @@ menuconfig PPC_83xx
if PPC_83xx
config MPC830x_RDB
bool "Freescale MPC830x RDB"
select DEFAULT_UIMAGE
select PPC_MPC831x
select FSL_GTM
help
This option enables support for the MPC8308 RDB board.
config MPC831x_RDB
bool "Freescale MPC831x RDB"
select DEFAULT_UIMAGE
...
...
arch/powerpc/platforms/83xx/Makefile
View file @
42a0ae22
...
...
@@ -4,6 +4,7 @@
obj-y
:=
misc.o usb.o
obj-$(CONFIG_SUSPEND)
+=
suspend.o suspend-asm.o
obj-$(CONFIG_MCU_MPC8349EMITX)
+=
mcu_mpc8349emitx.o
obj-$(CONFIG_MPC830x_RDB)
+=
mpc830x_rdb.o
obj-$(CONFIG_MPC831x_RDB)
+=
mpc831x_rdb.o
obj-$(CONFIG_MPC832x_RDB)
+=
mpc832x_rdb.o
obj-$(CONFIG_MPC834x_MDS)
+=
mpc834x_mds.o
...
...
arch/powerpc/platforms/83xx/mpc830x_rdb.c
0 → 100644
View file @
42a0ae22
/*
* arch/powerpc/platforms/83xx/mpc830x_rdb.c
*
* Description: MPC830x RDB board specific routines.
* This file is based on mpc831x_rdb.c
*
* Copyright (C) Freescale Semiconductor, Inc. 2009. All rights reserved.
* Copyright (C) 2010. Ilya Yanok, Emcraft Systems, yanok@emcraft.com
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#include <linux/pci.h>
#include <linux/of_platform.h>
#include <asm/time.h>
#include <asm/ipic.h>
#include <asm/udbg.h>
#include <sysdev/fsl_pci.h>
#include <sysdev/fsl_soc.h>
#include "mpc83xx.h"
/*
* Setup the architecture
*/
static
void
__init
mpc830x_rdb_setup_arch
(
void
)
{
#ifdef CONFIG_PCI
struct
device_node
*
np
;
#endif
if
(
ppc_md
.
progress
)
ppc_md
.
progress
(
"mpc830x_rdb_setup_arch()"
,
0
);
#ifdef CONFIG_PCI
for_each_compatible_node
(
np
,
"pci"
,
"fsl,mpc8308-pcie"
)
mpc83xx_add_bridge
(
np
);
#endif
mpc831x_usb_cfg
();
}
static
void
__init
mpc830x_rdb_init_IRQ
(
void
)
{
struct
device_node
*
np
;
np
=
of_find_node_by_type
(
NULL
,
"ipic"
);
if
(
!
np
)
return
;
ipic_init
(
np
,
0
);
/* Initialize the default interrupt mapping priorities,
* in case the boot rom changed something on us.
*/
ipic_set_default_priority
();
}
/*
* Called very early, MMU is off, device-tree isn't unflattened
*/
static
int
__init
mpc830x_rdb_probe
(
void
)
{
unsigned
long
root
=
of_get_flat_dt_root
();
return
of_flat_dt_is_compatible
(
root
,
"MPC8308RDB"
)
||
of_flat_dt_is_compatible
(
root
,
"fsl,mpc8308rdb"
);
}
static
struct
of_device_id
__initdata
of_bus_ids
[]
=
{
{
.
compatible
=
"simple-bus"
},
{
.
compatible
=
"gianfar"
},
{},
};
static
int
__init
declare_of_platform_devices
(
void
)
{
of_platform_bus_probe
(
NULL
,
of_bus_ids
,
NULL
);
return
0
;
}
machine_device_initcall
(
mpc830x_rdb
,
declare_of_platform_devices
);
define_machine
(
mpc830x_rdb
)
{
.
name
=
"MPC830x RDB"
,
.
probe
=
mpc830x_rdb_probe
,
.
setup_arch
=
mpc830x_rdb_setup_arch
,
.
init_IRQ
=
mpc830x_rdb_init_IRQ
,
.
get_irq
=
ipic_get_irq
,
.
restart
=
mpc83xx_restart
,
.
time_init
=
mpc83xx_time_init
,
.
calibrate_decr
=
generic_calibrate_decr
,
.
progress
=
udbg_progress
,
};
arch/powerpc/platforms/85xx/Kconfig
View file @
42a0ae22
...
...
@@ -65,6 +65,14 @@ config MPC85xx_RDB
help
This option enables support for the MPC85xx RDB (P2020 RDB) board
config P1022_DS
bool "Freescale P1022 DS"
select DEFAULT_UIMAGE
select CONFIG_PHYS_64BIT # The DTS has 36-bit addresses
select SWIOTLB
help
This option enables support for the Freescale P1022DS reference board.
config SOCRATES
bool "Socrates"
select DEFAULT_UIMAGE
...
...
arch/powerpc/platforms/85xx/Makefile
View file @
42a0ae22
...
...
@@ -10,6 +10,7 @@ obj-$(CONFIG_MPC8536_DS) += mpc8536_ds.o
obj-$(CONFIG_MPC85xx_DS)
+=
mpc85xx_ds.o
obj-$(CONFIG_MPC85xx_MDS)
+=
mpc85xx_mds.o
obj-$(CONFIG_MPC85xx_RDB)
+=
mpc85xx_rdb.o
obj-$(CONFIG_P1022_DS)
+=
p1022_ds.o
obj-$(CONFIG_P4080_DS)
+=
p4080_ds.o corenet_ds.o
obj-$(CONFIG_STX_GP3)
+=
stx_gp3.o
obj-$(CONFIG_TQM85xx)
+=
tqm85xx.o
...
...
arch/powerpc/platforms/85xx/mpc85xx_mds.c
View file @
42a0ae22
...
...
@@ -158,73 +158,41 @@ static int mpc8568_mds_phy_fixups(struct phy_device *phydev)
extern
void
__init
mpc85xx_smp_init
(
void
);
#endif
static
void
__init
mpc85xx_mds_setup_arch
(
void
)
#ifdef CONFIG_QUICC_ENGINE
static
struct
of_device_id
mpc85xx_qe_ids
[]
__initdata
=
{
{
.
type
=
"qe"
,
},
{
.
compatible
=
"fsl,qe"
,
},
{
},
};
static
void
__init
mpc85xx_publish_qe_devices
(
void
)
{
struct
device_node
*
np
;
static
u8
__iomem
*
bcsr_regs
=
NULL
;
#ifdef CONFIG_PCI
struct
pci_controller
*
hose
;
#endif
dma_addr_t
max
=
0xffffffff
;
if
(
ppc_md
.
progress
)
ppc_md
.
progress
(
"mpc85xx_mds_setup_arch()"
,
0
);
/* Map BCSR area */
np
=
of_find_node_by_name
(
NULL
,
"bcsr"
);
if
(
np
!=
NULL
)
{
struct
resource
res
;
of_address_to_resource
(
np
,
0
,
&
res
);
bcsr_regs
=
ioremap
(
res
.
start
,
res
.
end
-
res
.
start
+
1
);
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,qe"
);
if
(
!
of_device_is_available
(
np
))
{
of_node_put
(
np
);
return
;
}
#ifdef CONFIG_PCI
for_each_node_by_type
(
np
,
"pci"
)
{
if
(
of_device_is_compatible
(
np
,
"fsl,mpc8540-pci"
)
||
of_device_is_compatible
(
np
,
"fsl,mpc8548-pcie"
))
{
struct
resource
rsrc
;
of_address_to_resource
(
np
,
0
,
&
rsrc
);
if
((
rsrc
.
start
&
0xfffff
)
==
0x8000
)
fsl_add_bridge
(
np
,
1
);
else
fsl_add_bridge
(
np
,
0
);
hose
=
pci_find_hose_for_OF_device
(
np
);
max
=
min
(
max
,
hose
->
dma_window_base_cur
+
hose
->
dma_window_size
);
}
}
#endif
of_platform_bus_probe
(
NULL
,
mpc85xx_qe_ids
,
NULL
);
}
#ifdef CONFIG_SMP
mpc85xx_smp_init
();
#endif
static
void
__init
mpc85xx_mds_reset_ucc_phys
(
void
)
{
struct
device_node
*
np
;
static
u8
__iomem
*
bcsr_regs
;
#ifdef CONFIG_QUICC_ENGINE
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,qe"
);
if
(
!
np
)
{
np
=
of_find_node_by_name
(
NULL
,
"qe"
);
/* Map BCSR area */
np
=
of_find_node_by_name
(
NULL
,
"bcsr"
);
if
(
!
np
)
return
;
}
qe_reset
(
);
bcsr_regs
=
of_iomap
(
np
,
0
);
of_node_put
(
np
);
if
(
!
bcsr_regs
)
return
;
np
=
of_find_node_by_name
(
NULL
,
"par_io"
);
if
(
np
)
{
struct
device_node
*
ucc
;
par_io_init
(
np
);
of_node_put
(
np
);
for_each_node_by_name
(
ucc
,
"ucc"
)
par_io_of_config
(
ucc
);
}
if
(
bcsr_regs
)
{
if
(
machine_is
(
mpc8568_mds
))
{
#define BCSR_UCC1_GETH_EN (0x1 << 7)
#define BCSR_UCC2_GETH_EN (0x1 << 7)
...
...
@@ -278,7 +246,6 @@ static void __init mpc85xx_mds_setup_arch(void)
clrsetbits_8
(
&
bcsr_regs
[
7
+
ucc_num
],
BCSR_UCC_RGMII
,
BCSR_UCC_RTBI
);
}
}
else
if
(
machine_is
(
p1021_mds
))
{
#define BCSR11_ENET_MICRST (0x1 << 5)
/* Reset Micrel PHY */
...
...
@@ -287,8 +254,40 @@ static void __init mpc85xx_mds_setup_arch(void)
}
iounmap
(
bcsr_regs
);
}
static
void
__init
mpc85xx_mds_qe_init
(
void
)
{
struct
device_node
*
np
;
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,qe"
);
if
(
!
np
)
{
np
=
of_find_node_by_name
(
NULL
,
"qe"
);
if
(
!
np
)
return
;
}
if
(
!
of_device_is_available
(
np
))
{
of_node_put
(
np
);
return
;
}
qe_reset
();
of_node_put
(
np
);
np
=
of_find_node_by_name
(
NULL
,
"par_io"
);
if
(
np
)
{
struct
device_node
*
ucc
;
par_io_init
(
np
);
of_node_put
(
np
);
for_each_node_by_name
(
ucc
,
"ucc"
)
par_io_of_config
(
ucc
);
}
mpc85xx_mds_reset_ucc_phys
();
if
(
machine_is
(
p1021_mds
))
{
#define MPC85xx_PMUXCR_OFFSET 0x60
#define MPC85xx_PMUXCR_QE0 0x00008000
...
...
@@ -322,8 +321,72 @@ static void __init mpc85xx_mds_setup_arch(void)
}
}
}
static
void
__init
mpc85xx_mds_qeic_init
(
void
)
{
struct
device_node
*
np
;
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,qe"
);
if
(
!
of_device_is_available
(
np
))
{
of_node_put
(
np
);
return
;
}
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,qe-ic"
);
if
(
!
np
)
{
np
=
of_find_node_by_type
(
NULL
,
"qeic"
);
if
(
!
np
)
return
;
}
if
(
machine_is
(
p1021_mds
))
qe_ic_init
(
np
,
0
,
qe_ic_cascade_low_mpic
,
qe_ic_cascade_high_mpic
);
else
qe_ic_init
(
np
,
0
,
qe_ic_cascade_muxed_mpic
,
NULL
);
of_node_put
(
np
);
}
#else
static
void
__init
mpc85xx_publish_qe_devices
(
void
)
{
}
static
void
__init
mpc85xx_mds_qe_init
(
void
)
{
}
static
void
__init
mpc85xx_mds_qeic_init
(
void
)
{
}
#endif
/* CONFIG_QUICC_ENGINE */
static
void
__init
mpc85xx_mds_setup_arch
(
void
)
{
#ifdef CONFIG_PCI
struct
pci_controller
*
hose
;
#endif
dma_addr_t
max
=
0xffffffff
;
if
(
ppc_md
.
progress
)
ppc_md
.
progress
(
"mpc85xx_mds_setup_arch()"
,
0
);
#ifdef CONFIG_PCI
for_each_node_by_type
(
np
,
"pci"
)
{
if
(
of_device_is_compatible
(
np
,
"fsl,mpc8540-pci"
)
||
of_device_is_compatible
(
np
,
"fsl,mpc8548-pcie"
))
{
struct
resource
rsrc
;
of_address_to_resource
(
np
,
0
,
&
rsrc
);
if
((
rsrc
.
start
&
0xfffff
)
==
0x8000
)
fsl_add_bridge
(
np
,
1
);
else
fsl_add_bridge
(
np
,
0
);
hose
=
pci_find_hose_for_OF_device
(
np
);
max
=
min
(
max
,
hose
->
dma_window_base_cur
+
hose
->
dma_window_size
);
}
}
#endif
#ifdef CONFIG_SMP
mpc85xx_smp_init
();
#endif
mpc85xx_mds_qe_init
();
#ifdef CONFIG_SWIOTLB
if
(
memblock_end_of_DRAM
()
>
max
)
{
ppc_swiotlb_enable
=
1
;
...
...
@@ -369,8 +432,6 @@ static struct of_device_id mpc85xx_ids[] = {
{
.
type
=
"soc"
,
},
{
.
compatible
=
"soc"
,
},
{
.
compatible
=
"simple-bus"
,
},
{
.
type
=
"qe"
,
},
{
.
compatible
=
"fsl,qe"
,
},
{
.
compatible
=
"gianfar"
,
},
{
.
compatible
=
"fsl,rapidio-delta"
,
},
{
.
compatible
=
"fsl,mpc8548-guts"
,
},
...
...
@@ -382,8 +443,6 @@ static struct of_device_id p1021_ids[] = {
{
.
type
=
"soc"
,
},
{
.
compatible
=
"soc"
,
},
{
.
compatible
=
"simple-bus"
,
},
{
.
type
=
"qe"
,
},
{
.
compatible
=
"fsl,qe"
,
},
{
.
compatible
=
"gianfar"
,
},
{},
};
...
...
@@ -395,16 +454,16 @@ static int __init mpc85xx_publish_devices(void)
if
(
machine_is
(
mpc8569_mds
))
simple_gpiochip_init
(
"fsl,mpc8569mds-bcsr-gpio"
);
/* Publish the QE devices */
of_platform_bus_probe
(
NULL
,
mpc85xx_ids
,
NULL
);
mpc85xx_publish_qe_devices
();
return
0
;
}
static
int
__init
p1021_publish_devices
(
void
)
{
/* Publish the QE devices */
of_platform_bus_probe
(
NULL
,
p1021_ids
,
NULL
);
mpc85xx_publish_qe_devices
();
return
0
;
}
...
...
@@ -441,21 +500,7 @@ static void __init mpc85xx_mds_pic_init(void)
of_node_put
(
np
);
mpic_init
(
mpic
);
#ifdef CONFIG_QUICC_ENGINE
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,qe-ic"
);
if
(
!
np
)
{
np
=
of_find_node_by_type
(
NULL
,
"qeic"
);
if
(
!
np
)
return
;
}
if
(
machine_is
(
p1021_mds
))
qe_ic_init
(
np
,
0
,
qe_ic_cascade_low_mpic
,
qe_ic_cascade_high_mpic
);
else
qe_ic_init
(
np
,
0
,
qe_ic_cascade_muxed_mpic
,
NULL
);
of_node_put
(
np
);
#endif
/* CONFIG_QUICC_ENGINE */
mpc85xx_mds_qeic_init
();
}
static
int
__init
mpc85xx_mds_probe
(
void
)
...
...
arch/powerpc/platforms/85xx/p1022_ds.c
0 → 100644
View file @
42a0ae22
/*
* P1022DS board specific routines
*
* Authors: Travis Wheatley <travis.wheatley@freescale.com>
* Dave Liu <daveliu@freescale.com>
* Timur Tabi <timur@freescale.com>
*
* Copyright 2010 Freescale Semiconductor, Inc.
*
* This file is taken from the Freescale P1022DS BSP, with modifications:
* 1) No DIU support (pending rewrite of DIU code)
* 2) No AMP support
* 3) No PCI endpoint support
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
* kind, whether express or implied.
*/
#include <linux/pci.h>
#include <linux/of_platform.h>
#include <linux/lmb.h>
#include <asm/mpic.h>
#include <asm/swiotlb.h>
#include <sysdev/fsl_soc.h>
#include <sysdev/fsl_pci.h>
void
__init
p1022_ds_pic_init
(
void
)
{
struct
mpic
*
mpic
;
struct
resource
r
;
struct
device_node
*
np
;
np
=
of_find_node_by_type
(
NULL
,
"open-pic"
);
if
(
!
np
)
{
pr_err
(
"Could not find open-pic node
\n
"
);
return
;
}
if
(
of_address_to_resource
(
np
,
0
,
&
r
))
{
pr_err
(
"Failed to map mpic register space
\n
"
);
of_node_put
(
np
);
return
;
}
mpic
=
mpic_alloc
(
np
,
r
.
start
,
MPIC_PRIMARY
|
MPIC_WANTS_RESET
|
MPIC_BIG_ENDIAN
|
MPIC_BROKEN_FRR_NIRQS
|
MPIC_SINGLE_DEST_CPU
,
0
,
256
,
" OpenPIC "
);
BUG_ON
(
mpic
==
NULL
);
of_node_put
(
np
);
mpic_init
(
mpic
);
}
#ifdef CONFIG_SMP
void
__init
mpc85xx_smp_init
(
void
);
#endif
/*
* Setup the architecture
*/
static
void
__init
p1022_ds_setup_arch
(
void
)
{
#ifdef CONFIG_PCI
struct
device_node
*
np
;
#endif
dma_addr_t
max
=
0xffffffff
;
if
(
ppc_md
.
progress
)
ppc_md
.
progress
(
"p1022_ds_setup_arch()"
,
0
);
#ifdef CONFIG_PCI
for_each_compatible_node
(
np
,
"pci"
,
"fsl,p1022-pcie"
)
{
struct
resource
rsrc
;
struct
pci_controller
*
hose
;
of_address_to_resource
(
np
,
0
,
&
rsrc
);
if
((
rsrc
.
start
&
0xfffff
)
==
0x8000
)
fsl_add_bridge
(
np
,
1
);
else
fsl_add_bridge
(
np
,
0
);
hose
=
pci_find_hose_for_OF_device
(
np
);
max
=
min
(
max
,
hose
->
dma_window_base_cur
+
hose
->
dma_window_size
);
}
#endif
#ifdef CONFIG_SMP
mpc85xx_smp_init
();
#endif
#ifdef CONFIG_SWIOTLB
if
(
lmb_end_of_DRAM
()
>
max
)
{
ppc_swiotlb_enable
=
1
;
set_pci_dma_ops
(
&
swiotlb_dma_ops
);
ppc_md
.
pci_dma_dev_setup
=
pci_dma_dev_setup_swiotlb
;
}
#endif
pr_info
(
"Freescale P1022 DS reference board
\n
"
);
}
static
struct
of_device_id
__initdata
p1022_ds_ids
[]
=
{
{
.
type
=
"soc"
,
},
{
.
compatible
=
"soc"
,
},
{
.
compatible
=
"simple-bus"
,
},
{
.
compatible
=
"gianfar"
,
},
{},
};
static
int
__init
p1022_ds_publish_devices
(
void
)
{
return
of_platform_bus_probe
(
NULL
,
p1022_ds_ids
,
NULL
);
}
machine_device_initcall
(
p1022_ds
,
p1022_ds_publish_devices
);
machine_arch_initcall
(
p1022_ds
,
swiotlb_setup_bus_notifier
);
/*
* Called very early, device-tree isn't unflattened
*/
static
int
__init
p1022_ds_probe
(
void
)
{
unsigned
long
root
=
of_get_flat_dt_root
();
return
of_flat_dt_is_compatible
(
root
,
"fsl,p1022ds"
);
}
define_machine
(
p1022_ds
)
{
.
name
=
"P1022 DS"
,
.
probe
=
p1022_ds_probe
,
.
setup_arch
=
p1022_ds_setup_arch
,
.
init_IRQ
=
p1022_ds_pic_init
,
#ifdef CONFIG_PCI
.
pcibios_fixup_bus
=
fsl_pcibios_fixup_bus
,
#endif
.
get_irq
=
mpic_get_irq
,
.
restart
=
fsl_rstcr_restart
,
.
calibrate_decr
=
generic_calibrate_decr
,
.
progress
=
udbg_progress
,
};
arch/powerpc/platforms/85xx/smp.c
View file @
42a0ae22
...
...
@@ -15,6 +15,7 @@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/of.h>
#include <linux/kexec.h>
#include <asm/machdep.h>
#include <asm/pgtable.h>
...
...
@@ -24,6 +25,7 @@
#include <asm/dbell.h>
#include <sysdev/fsl_soc.h>
#include <sysdev/mpic.h>
extern
void
__early_start
(
void
);
...
...
@@ -105,8 +107,64 @@ smp_85xx_setup_cpu(int cpu_nr)
struct
smp_ops_t
smp_85xx_ops
=
{
.
kick_cpu
=
smp_85xx_kick_cpu
,
#ifdef CONFIG_KEXEC
.
give_timebase
=
smp_generic_give_timebase
,
.
take_timebase
=
smp_generic_take_timebase
,
#endif
};
#ifdef CONFIG_KEXEC
static
int
kexec_down_cpus
=
0
;
void
mpc85xx_smp_kexec_cpu_down
(
int
crash_shutdown
,
int
secondary
)
{
mpic_teardown_this_cpu
(
1
);
/* When crashing, this gets called on all CPU's we only
* take down the non-boot cpus */
if
(
smp_processor_id
()
!=
boot_cpuid
)
{
local_irq_disable
();
kexec_down_cpus
++
;
while
(
1
);
}
}
static
void
mpc85xx_smp_kexec_down
(
void
*
arg
)
{
if
(
ppc_md
.
kexec_cpu_down
)
ppc_md
.
kexec_cpu_down
(
0
,
1
);
}
static
void
mpc85xx_smp_machine_kexec
(
struct
kimage
*
image
)
{
int
timeout
=
2000
;
int
i
;
set_cpus_allowed
(
current
,
cpumask_of_cpu
(
boot_cpuid
));
smp_call_function
(
mpc85xx_smp_kexec_down
,
NULL
,
0
);
while
(
(
kexec_down_cpus
!=
(
num_online_cpus
()
-
1
))
&&
(
timeout
>
0
)
)
{
timeout
--
;
}
if
(
!
timeout
)
printk
(
KERN_ERR
"Unable to bring down secondary cpu(s)"
);
for
(
i
=
0
;
i
<
num_present_cpus
();
i
++
)
{
if
(
i
==
smp_processor_id
()
)
continue
;
mpic_reset_core
(
i
);
}
default_machine_kexec
(
image
);
}
#endif
/* CONFIG_KEXEC */
void
__init
mpc85xx_smp_init
(
void
)
{
struct
device_node
*
np
;
...
...
@@ -124,4 +182,9 @@ void __init mpc85xx_smp_init(void)
BUG_ON
(
!
smp_85xx_ops
.
message_pass
);
smp_ops
=
&
smp_85xx_ops
;
#ifdef CONFIG_KEXEC
ppc_md
.
kexec_cpu_down
=
mpc85xx_smp_kexec_cpu_down
;
ppc_md
.
machine_kexec
=
mpc85xx_smp_machine_kexec
;
#endif
}
arch/powerpc/platforms/85xx/tqm85xx.c
View file @
42a0ae22
...
...
@@ -151,6 +151,27 @@ static void tqm85xx_show_cpuinfo(struct seq_file *m)
seq_printf
(
m
,
"PLL setting
\t
: 0x%x
\n
"
,
((
phid1
>>
24
)
&
0x3f
));
}
static
void
__init
tqm85xx_ti1520_fixup
(
struct
pci_dev
*
pdev
)
{
unsigned
int
val
;
/* Do not do the fixup on other platforms! */
if
(
!
machine_is
(
tqm85xx
))
return
;
dev_info
(
&
pdev
->
dev
,
"Using TI 1520 fixup on TQM85xx
\n
"
);
/*
* Enable P2CCLK bit in system control register
* to enable CLOCK output to power chip
*/
pci_read_config_dword
(
pdev
,
0x80
,
&
val
);
pci_write_config_dword
(
pdev
,
0x80
,
val
|
(
1
<<
27
));
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_1520
,
tqm85xx_ti1520_fixup
);
static
struct
of_device_id
__initdata
of_bus_ids
[]
=
{
{
.
compatible
=
"simple-bus"
,
},
{
.
compatible
=
"gianfar"
,
},
...
...
arch/powerpc/platforms/8xx/Kconfig
View file @
42a0ae22
...
...
@@ -55,6 +55,12 @@ config PPC_MGSUVD
help
This enables support for the Keymile MGSUVD board.
config TQM8XX
bool "TQM8XX"
select CPM1
help
support for the mpc8xx based boards from TQM.
endchoice
menu "Freescale Ethernet driver platform-specific options"
...
...
arch/powerpc/platforms/8xx/Makefile
View file @
42a0ae22
...
...
@@ -7,3 +7,4 @@ obj-$(CONFIG_MPC86XADS) += mpc86xads_setup.o
obj-$(CONFIG_PPC_EP88XC)
+=
ep88xc.o
obj-$(CONFIG_PPC_ADDER875)
+=
adder875.o
obj-$(CONFIG_PPC_MGSUVD)
+=
mgsuvd.o
obj-$(CONFIG_TQM8XX)
+=
tqm8xx_setup.o
arch/powerpc/platforms/8xx/tqm8xx_setup.c
0 → 100644
View file @
42a0ae22
/*
* Platform setup for the MPC8xx based boards from TQM.
*
* Heiko Schocher <hs@denx.de>
* Copyright 2010 DENX Software Engineering GmbH
*
* based on:
* Vitaly Bordug <vbordug@ru.mvista.com>
*
* Copyright 2005 MontaVista Software Inc.
*
* Heavily modified by Scott Wood <scottwood@freescale.com>
* Copyright 2007 Freescale Semiconductor, Inc.
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
* kind, whether express or implied.
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/param.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/device.h>
#include <linux/delay.h>
#include <linux/fs_enet_pd.h>
#include <linux/fs_uart_pd.h>
#include <linux/fsl_devices.h>
#include <linux/mii.h>
#include <linux/of_platform.h>
#include <asm/delay.h>
#include <asm/io.h>
#include <asm/machdep.h>
#include <asm/page.h>
#include <asm/processor.h>
#include <asm/system.h>
#include <asm/time.h>
#include <asm/mpc8xx.h>
#include <asm/8xx_immap.h>
#include <asm/cpm1.h>
#include <asm/fs_pd.h>
#include <asm/udbg.h>
#include "mpc8xx.h"
struct
cpm_pin
{
int
port
,
pin
,
flags
;
};
static
struct
__initdata
cpm_pin
tqm8xx_pins
[]
=
{
/* SMC1 */
{
CPM_PORTB
,
24
,
CPM_PIN_INPUT
},
/* RX */
{
CPM_PORTB
,
25
,
CPM_PIN_INPUT
|
CPM_PIN_SECONDARY
},
/* TX */
/* SCC1 */
{
CPM_PORTA
,
5
,
CPM_PIN_INPUT
},
/* CLK1 */
{
CPM_PORTA
,
7
,
CPM_PIN_INPUT
},
/* CLK2 */
{
CPM_PORTA
,
14
,
CPM_PIN_INPUT
},
/* TX */
{
CPM_PORTA
,
15
,
CPM_PIN_INPUT
},
/* RX */
{
CPM_PORTC
,
15
,
CPM_PIN_INPUT
|
CPM_PIN_SECONDARY
},
/* TENA */
{
CPM_PORTC
,
10
,
CPM_PIN_INPUT
|
CPM_PIN_SECONDARY
|
CPM_PIN_GPIO
},
{
CPM_PORTC
,
11
,
CPM_PIN_INPUT
|
CPM_PIN_SECONDARY
|
CPM_PIN_GPIO
},
};
static
struct
__initdata
cpm_pin
tqm8xx_fec_pins
[]
=
{
/* MII */
{
CPM_PORTD
,
3
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
4
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
5
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
6
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
7
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
8
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
9
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
10
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
11
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
12
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
13
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
14
,
CPM_PIN_OUTPUT
},
{
CPM_PORTD
,
15
,
CPM_PIN_OUTPUT
},
};
static
void
__init
init_pins
(
int
n
,
struct
cpm_pin
*
pin
)
{
int
i
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
cpm1_set_pin
(
pin
->
port
,
pin
->
pin
,
pin
->
flags
);
pin
++
;
}
}
static
void
__init
init_ioports
(
void
)
{
struct
device_node
*
dnode
;
struct
property
*
prop
;
int
len
;
init_pins
(
ARRAY_SIZE
(
tqm8xx_pins
),
&
tqm8xx_pins
[
0
]);
cpm1_clk_setup
(
CPM_CLK_SMC1
,
CPM_BRG1
,
CPM_CLK_RTX
);
dnode
=
of_find_node_by_name
(
NULL
,
"aliases"
);
if
(
dnode
==
NULL
)
return
;
prop
=
of_find_property
(
dnode
,
"ethernet1"
,
&
len
);
if
(
prop
==
NULL
)
return
;
/* init FEC pins */
init_pins
(
ARRAY_SIZE
(
tqm8xx_fec_pins
),
&
tqm8xx_fec_pins
[
0
]);
}
static
void
__init
tqm8xx_setup_arch
(
void
)
{
cpm_reset
();
init_ioports
();
}
static
int
__init
tqm8xx_probe
(
void
)
{
unsigned
long
node
=
of_get_flat_dt_root
();
return
of_flat_dt_is_compatible
(
node
,
"tqc,tqm8xx"
);
}
static
struct
of_device_id
__initdata
of_bus_ids
[]
=
{
{
.
name
=
"soc"
,
},
{
.
name
=
"cpm"
,
},
{
.
name
=
"localbus"
,
},
{
.
compatible
=
"simple-bus"
},
{},
};
static
int
__init
declare_of_platform_devices
(
void
)
{
of_platform_bus_probe
(
NULL
,
of_bus_ids
,
NULL
);
return
0
;
}
machine_device_initcall
(
tqm8xx
,
declare_of_platform_devices
);
define_machine
(
tqm8xx
)
{
.
name
=
"TQM8xx"
,
.
probe
=
tqm8xx_probe
,
.
setup_arch
=
tqm8xx_setup_arch
,
.
init_IRQ
=
mpc8xx_pics_init
,
.
get_irq
=
mpc8xx_get_irq
,
.
restart
=
mpc8xx_restart
,
.
calibrate_decr
=
mpc8xx_calibrate_decr
,
.
set_rtc_time
=
mpc8xx_set_rtc_time
,
.
get_rtc_time
=
mpc8xx_get_rtc_time
,
.
progress
=
udbg_progress
,
};
arch/powerpc/sysdev/fsl_pci.c
View file @
42a0ae22
...
...
@@ -412,6 +412,7 @@ DECLARE_PCI_FIXUP_HEADER(0x1957, PCI_DEVICE_ID_P4080, quirk_fsl_pcie_header);
#endif
/* CONFIG_FSL_SOC_BOOKE || CONFIG_PPC_86xx */
#if defined(CONFIG_PPC_83xx) || defined(CONFIG_PPC_MPC512x)
DECLARE_PCI_FIXUP_HEADER
(
0x1957
,
PCI_DEVICE_ID_MPC8308
,
quirk_fsl_pcie_header
);
DECLARE_PCI_FIXUP_HEADER
(
0x1957
,
PCI_DEVICE_ID_MPC8314E
,
quirk_fsl_pcie_header
);
DECLARE_PCI_FIXUP_HEADER
(
0x1957
,
PCI_DEVICE_ID_MPC8314
,
quirk_fsl_pcie_header
);
DECLARE_PCI_FIXUP_HEADER
(
0x1957
,
PCI_DEVICE_ID_MPC8315E
,
quirk_fsl_pcie_header
);
...
...
include/linux/pci_ids.h
View file @
42a0ae22
...
...
@@ -2264,6 +2264,7 @@
#define PCI_DEVICE_ID_TDI_EHCI 0x0101
#define PCI_VENDOR_ID_FREESCALE 0x1957
#define PCI_DEVICE_ID_MPC8308 0xc006
#define PCI_DEVICE_ID_MPC8315E 0x00b4
#define PCI_DEVICE_ID_MPC8315 0x00b5
#define PCI_DEVICE_ID_MPC8314E 0x00b6
...
...
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