Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
1f7d4f83
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
1f7d4f83
编写于
2月 07, 2008
作者:
P
Paul Mackerras
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-2.6.25' of
git://git.secretlab.ca/git/linux-2.6-mpc52xx
into for-2.6.25
上级
b370b082
25ae3a07
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
694 addition
and
79 deletion
+694
-79
arch/powerpc/Kconfig
arch/powerpc/Kconfig
+1
-1
arch/powerpc/boot/dts/mpc5121ads.dts
arch/powerpc/boot/dts/mpc5121ads.dts
+122
-0
arch/powerpc/platforms/512x/Kconfig
arch/powerpc/platforms/512x/Kconfig
+20
-0
arch/powerpc/platforms/512x/Makefile
arch/powerpc/platforms/512x/Makefile
+4
-0
arch/powerpc/platforms/512x/mpc5121_ads.c
arch/powerpc/platforms/512x/mpc5121_ads.c
+104
-0
arch/powerpc/platforms/Kconfig
arch/powerpc/platforms/Kconfig
+1
-0
arch/powerpc/platforms/Kconfig.cputype
arch/powerpc/platforms/Kconfig.cputype
+3
-3
arch/powerpc/platforms/Makefile
arch/powerpc/platforms/Makefile
+1
-0
drivers/serial/Kconfig
drivers/serial/Kconfig
+6
-6
drivers/serial/mpc52xx_uart.c
drivers/serial/mpc52xx_uart.c
+362
-69
include/asm-powerpc/mpc512x.h
include/asm-powerpc/mpc512x.h
+22
-0
include/asm-powerpc/mpc52xx_psc.h
include/asm-powerpc/mpc52xx_psc.h
+48
-0
未找到文件。
arch/powerpc/Kconfig
浏览文件 @
1f7d4f83
...
@@ -512,7 +512,7 @@ config PCI
...
@@ -512,7 +512,7 @@ config PCI
bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
|| PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
|| PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
|| PPC_PS3 || 44x
|| PPC_PS3 || 44x
default y if !40x && !CPM2 && !8xx && !PPC_83xx \
default y if !40x && !CPM2 && !8xx && !PPC_
MPC512x && !PPC_
83xx \
&& !PPC_85xx && !PPC_86xx
&& !PPC_85xx && !PPC_86xx
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
default PCI_QSPAN if !4xx && !CPM2 && 8xx
default PCI_QSPAN if !4xx && !CPM2 && 8xx
...
...
arch/powerpc/boot/dts/mpc5121ads.dts
0 → 100644
浏览文件 @
1f7d4f83
/*
*
MPC5121E
MDS
Device
Tree
Source
*
*
Copyright
2007
Freescale
Semiconductor
Inc
.
*
*
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
=
"mpc5121ads"
;
compatible
=
"fsl,mpc5121ads"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
cpus
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
PowerPC
,
5121
@
0
{
device_type
=
"cpu"
;
reg
=
<
0
>;
d
-
cache
-
line
-
size
=
<
0x20
>;
//
32
bytes
i
-
cache
-
line
-
size
=
<
0x20
>;
//
32
bytes
d
-
cache
-
size
=
<
0x8000
>;
//
L1
,
32
K
i
-
cache
-
size
=
<
0x8000
>;
//
L1
,
32
K
timebase
-
frequency
=
<
49500000
>;//
49.5
MHz
(
csb
/
4
)
bus
-
frequency
=
<
198000000
>;
//
198
MHz
csb
bus
clock
-
frequency
=
<
396000000
>;
//
396
MHz
ppc
core
};
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x00000000
0x10000000
>;
//
256
MB
at
0
};
localbus
@
80000020
{
compatible
=
"fsl,mpc5121ads-localbus"
;
#
address
-
cells
=
<
2
>;
#
size
-
cells
=
<
1
>;
reg
=
<
0x80000020
0x40
>;
ranges
=
<
0x0
0x0
0xfc000000
0x04000000
0x2
0x0
0x82000000
0x00008000
>;
flash
@
0
,
0
{
compatible
=
"cfi-flash"
;
reg
=
<
0
0x0
0x4000000
>;
bank
-
width
=
<
4
>;
device
-
width
=
<
1
>;
};
board
-
control
@
2
,
0
{
compatible
=
"fsl,mpc5121ads-cpld"
;
reg
=
<
0x2
0x0
0x8000
>;
};
};
soc
@
80000000
{
compatible
=
"fsl,mpc5121-immr"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
#
interrupt
-
cells
=
<
2
>;
ranges
=
<
0x0
0x80000000
0x400000
>;
reg
=
<
0x80000000
0x400000
>;
bus
-
frequency
=
<
66000000
>;
//
66
MHz
ips
bus
//
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
@
c00
{
compatible
=
"fsl,mpc5121-ipic"
,
"fsl,ipic"
;
interrupt
-
controller
;
#
address
-
cells
=
<
0
>;
#
interrupt
-
cells
=
<
2
>;
reg
=
<
0xc00
0x100
>;
};
//
512
x
PSCs
are
not
52
xx
PSCs
compatible
//
PSC3
serial
port
A
aka
ttyPSC0
serial
@
11300
{
device_type
=
"serial"
;
compatible
=
"fsl,mpc5121-psc-uart"
;
//
Logical
port
assignment
needed
until
driver
//
learns
to
use
aliases
port
-
number
=
<
0
>;
cell
-
index
=
<
3
>;
reg
=
<
0x11300
0x100
>;
interrupts
=
<
0x28
0x8
>;
//
actually
the
fifo
irq
interrupt
-
parent
=
<
&
ipic
>;
};
//
PSC4
serial
port
B
aka
ttyPSC1
serial
@
11400
{
device_type
=
"serial"
;
compatible
=
"fsl,mpc5121-psc-uart"
;
//
Logical
port
assignment
needed
until
driver
//
learns
to
use
aliases
port
-
number
=
<
1
>;
cell
-
index
=
<
4
>;
reg
=
<
0x11400
0x100
>;
interrupts
=
<
0x28
0x8
>;
//
actually
the
fifo
irq
interrupt
-
parent
=
<
&
ipic
>;
};
pscsfifo
@
11f00
{
compatible
=
"fsl,mpc5121-psc-fifo"
;
reg
=
<
0x11f00
0x100
>;
interrupts
=
<
0x28
0x8
>;
interrupt
-
parent
=
<
&
ipic
>;
};
};
};
arch/powerpc/platforms/512x/Kconfig
0 → 100644
浏览文件 @
1f7d4f83
config PPC_MPC512x
bool
select FSL_SOC
select IPIC
default n
config PPC_MPC5121
bool
select PPC_MPC512x
default n
config MPC5121_ADS
bool "Freescale MPC5121E ADS"
depends on PPC_MULTIPLATFORM && PPC32
select DEFAULT_UIMAGE
select WANT_DEVICE_TREE
select PPC_MPC5121
help
This option enables support for the MPC5121E ADS board.
default n
arch/powerpc/platforms/512x/Makefile
0 → 100644
浏览文件 @
1f7d4f83
#
# Makefile for the Freescale PowerPC 512x linux kernel.
#
obj-$(CONFIG_MPC5121_ADS)
+=
mpc5121_ads.o
arch/powerpc/platforms/512x/mpc5121_ads.c
0 → 100644
浏览文件 @
1f7d4f83
/*
* Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved.
*
* Author: John Rigby, <jrigby@freescale.com>, Thur Mar 29 2007
*
* Description:
* MPC5121 ADS board setup
*
* This 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/kernel.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/of_platform.h>
#include <asm/machdep.h>
#include <asm/ipic.h>
#include <asm/prom.h>
#include <asm/time.h>
/**
* mpc512x_find_ips_freq - Find the IPS bus frequency for a device
* @node: device node
*
* Returns IPS bus frequency, or 0 if the bus frequency cannot be found.
*/
unsigned
long
mpc512x_find_ips_freq
(
struct
device_node
*
node
)
{
struct
device_node
*
np
;
const
unsigned
int
*
p_ips_freq
=
NULL
;
of_node_get
(
node
);
while
(
node
)
{
p_ips_freq
=
of_get_property
(
node
,
"bus-frequency"
,
NULL
);
if
(
p_ips_freq
)
break
;
np
=
of_get_parent
(
node
);
of_node_put
(
node
);
node
=
np
;
}
if
(
node
)
of_node_put
(
node
);
return
p_ips_freq
?
*
p_ips_freq
:
0
;
}
EXPORT_SYMBOL
(
mpc512x_find_ips_freq
);
static
struct
of_device_id
__initdata
of_bus_ids
[]
=
{
{
.
name
=
"soc"
,
},
{
.
name
=
"localbus"
,
},
{},
};
static
void
__init
mpc5121_ads_declare_of_platform_devices
(
void
)
{
/* Find every child of the SOC node and add it to of_platform */
if
(
of_platform_bus_probe
(
NULL
,
of_bus_ids
,
NULL
))
printk
(
KERN_ERR
__FILE__
": "
"Error while probing of_platform bus
\n
"
);
}
static
void
__init
mpc5121_ads_init_IRQ
(
void
)
{
struct
device_node
*
np
;
np
=
of_find_compatible_node
(
NULL
,
NULL
,
"fsl,ipic"
);
if
(
!
np
)
return
;
ipic_init
(
np
,
0
);
of_node_put
(
np
);
/*
* 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
mpc5121_ads_probe
(
void
)
{
unsigned
long
root
=
of_get_flat_dt_root
();
return
of_flat_dt_is_compatible
(
root
,
"fsl,mpc5121ads"
);
}
define_machine
(
mpc5121_ads
)
{
.
name
=
"MPC5121 ADS"
,
.
probe
=
mpc5121_ads_probe
,
.
init
=
mpc5121_ads_declare_of_platform_devices
,
.
init_IRQ
=
mpc5121_ads_init_IRQ
,
.
get_irq
=
ipic_get_irq
,
.
calibrate_decr
=
generic_calibrate_decr
,
};
arch/powerpc/platforms/Kconfig
浏览文件 @
1f7d4f83
...
@@ -42,6 +42,7 @@ config CLASSIC32
...
@@ -42,6 +42,7 @@ config CLASSIC32
source "arch/powerpc/platforms/pseries/Kconfig"
source "arch/powerpc/platforms/pseries/Kconfig"
source "arch/powerpc/platforms/iseries/Kconfig"
source "arch/powerpc/platforms/iseries/Kconfig"
source "arch/powerpc/platforms/chrp/Kconfig"
source "arch/powerpc/platforms/chrp/Kconfig"
source "arch/powerpc/platforms/512x/Kconfig"
source "arch/powerpc/platforms/52xx/Kconfig"
source "arch/powerpc/platforms/52xx/Kconfig"
source "arch/powerpc/platforms/powermac/Kconfig"
source "arch/powerpc/platforms/powermac/Kconfig"
source "arch/powerpc/platforms/prep/Kconfig"
source "arch/powerpc/platforms/prep/Kconfig"
...
...
arch/powerpc/platforms/Kconfig.cputype
浏览文件 @
1f7d4f83
...
@@ -14,7 +14,7 @@ choice
...
@@ -14,7 +14,7 @@ choice
There are five families of 32 bit PowerPC chips supported.
There are five families of 32 bit PowerPC chips supported.
The most common ones are the desktop and server CPUs (601, 603,
The most common ones are the desktop and server CPUs (601, 603,
604, 740, 750, 74xx) CPUs from Freescale and IBM, with their
604, 740, 750, 74xx) CPUs from Freescale and IBM, with their
embedded 52xx/82xx/83xx/86xx counterparts.
embedded 5
12x/5
2xx/82xx/83xx/86xx counterparts.
The other embeeded parts, namely 4xx, 8xx, e200 (55xx) and e500
The other embeeded parts, namely 4xx, 8xx, e200 (55xx) and e500
(85xx) each form a family of their own that is not compatible
(85xx) each form a family of their own that is not compatible
with the others.
with the others.
...
@@ -22,7 +22,7 @@ choice
...
@@ -22,7 +22,7 @@ choice
If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
config 6xx
config 6xx
bool "52xx/6xx/7xx/74xx/82xx/83xx/86xx"
bool "5
12x/5
2xx/6xx/7xx/74xx/82xx/83xx/86xx"
select PPC_FPU
select PPC_FPU
config PPC_85xx
config PPC_85xx
...
@@ -225,7 +225,7 @@ config NR_CPUS
...
@@ -225,7 +225,7 @@ config NR_CPUS
config NOT_COHERENT_CACHE
config NOT_COHERENT_CACHE
bool
bool
depends on 4xx || 8xx || E200
depends on 4xx || 8xx || E200
|| PPC_MPC512x
default y
default y
config CHECK_CACHE_COHERENCY
config CHECK_CACHE_COHERENCY
...
...
arch/powerpc/platforms/Makefile
浏览文件 @
1f7d4f83
...
@@ -11,6 +11,7 @@ endif
...
@@ -11,6 +11,7 @@ endif
obj-$(CONFIG_PPC_CHRP)
+=
chrp/
obj-$(CONFIG_PPC_CHRP)
+=
chrp/
obj-$(CONFIG_40x)
+=
40x/
obj-$(CONFIG_40x)
+=
40x/
obj-$(CONFIG_44x)
+=
44x/
obj-$(CONFIG_44x)
+=
44x/
obj-$(CONFIG_PPC_MPC512x)
+=
512x/
obj-$(CONFIG_PPC_MPC52xx)
+=
52xx/
obj-$(CONFIG_PPC_MPC52xx)
+=
52xx/
obj-$(CONFIG_PPC_8xx)
+=
8xx/
obj-$(CONFIG_PPC_8xx)
+=
8xx/
obj-$(CONFIG_PPC_82xx)
+=
82xx/
obj-$(CONFIG_PPC_82xx)
+=
82xx/
...
...
drivers/serial/Kconfig
浏览文件 @
1f7d4f83
...
@@ -1138,17 +1138,17 @@ config SERIAL_SGI_L1_CONSOLE
...
@@ -1138,17 +1138,17 @@ config SERIAL_SGI_L1_CONSOLE
say Y. Otherwise, say N.
say Y. Otherwise, say N.
config SERIAL_MPC52xx
config SERIAL_MPC52xx
tristate "Freescale MPC52xx family PSC serial support"
tristate "Freescale MPC52xx
/MPC512x
family PSC serial support"
depends on PPC_MPC52xx
depends on PPC_MPC52xx
|| PPC_MPC512x
select SERIAL_CORE
select SERIAL_CORE
help
help
This driver
s support the MPC52x
x PSC serial ports. If you would
This driver
supports MPC52xx and MPC512
x PSC serial ports. If you would
like to use them, you must answer Y or M to this option. Not that
like to use them, you must answer Y or M to this option. Not
e
that
for use as console, it must be included in kernel and not as a
for use as console, it must be included in kernel and not as a
module.
module.
config SERIAL_MPC52xx_CONSOLE
config SERIAL_MPC52xx_CONSOLE
bool "Console on a Freescale MPC52xx family PSC serial port"
bool "Console on a Freescale MPC52xx
/MPC512x
family PSC serial port"
depends on SERIAL_MPC52xx=y
depends on SERIAL_MPC52xx=y
select SERIAL_CORE_CONSOLE
select SERIAL_CORE_CONSOLE
help
help
...
@@ -1156,7 +1156,7 @@ config SERIAL_MPC52xx_CONSOLE
...
@@ -1156,7 +1156,7 @@ config SERIAL_MPC52xx_CONSOLE
of the Freescale MPC52xx family as a console.
of the Freescale MPC52xx family as a console.
config SERIAL_MPC52xx_CONSOLE_BAUD
config SERIAL_MPC52xx_CONSOLE_BAUD
int "Freescale MPC52xx family PSC serial port baud"
int "Freescale MPC52xx
/MPC512x
family PSC serial port baud"
depends on SERIAL_MPC52xx_CONSOLE=y
depends on SERIAL_MPC52xx_CONSOLE=y
default "9600"
default "9600"
help
help
...
...
drivers/serial/mpc52xx_uart.c
浏览文件 @
1f7d4f83
此差异已折叠。
点击以展开。
include/asm-powerpc/mpc512x.h
0 → 100644
浏览文件 @
1f7d4f83
/*
* Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved.
*
* Author: John Rigby, <jrigby@freescale.com>, Friday Apr 13 2007
*
* Description:
* MPC5121 Prototypes and definitions
*
* This 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.
*
*/
#ifndef __ASM_POWERPC_MPC512x_H__
#define __ASM_POWERPC_MPC512x_H__
extern
unsigned
long
mpc512x_find_ips_freq
(
struct
device_node
*
node
);
#endif
/* __ASM_POWERPC_MPC512x_H__ */
include/asm-powerpc/mpc52xx_psc.h
浏览文件 @
1f7d4f83
...
@@ -190,5 +190,53 @@ struct mpc52xx_psc_fifo {
...
@@ -190,5 +190,53 @@ struct mpc52xx_psc_fifo {
u16
tflwfptr
;
/* PSC + 0x9e */
u16
tflwfptr
;
/* PSC + 0x9e */
};
};
#define MPC512x_PSC_FIFO_RESET_SLICE 0x80
#define MPC512x_PSC_FIFO_ENABLE_SLICE 0x01
#define MPC512x_PSC_FIFO_ENABLE_DMA 0x04
#define MPC512x_PSC_FIFO_EMPTY 0x1
#define MPC512x_PSC_FIFO_FULL 0x2
#define MPC512x_PSC_FIFO_ALARM 0x4
#define MPC512x_PSC_FIFO_URERR 0x8
#define MPC512x_PSC_FIFO_ORERR 0x01
#define MPC512x_PSC_FIFO_MEMERROR 0x02
struct
mpc512x_psc_fifo
{
u32
reserved1
[
10
];
u32
txcmd
;
/* PSC + 0x80 */
u32
txalarm
;
/* PSC + 0x84 */
u32
txsr
;
/* PSC + 0x88 */
u32
txisr
;
/* PSC + 0x8c */
u32
tximr
;
/* PSC + 0x90 */
u32
txcnt
;
/* PSC + 0x94 */
u32
txptr
;
/* PSC + 0x98 */
u32
txsz
;
/* PSC + 0x9c */
u32
reserved2
[
7
];
union
{
u8
txdata_8
;
u16
txdata_16
;
u32
txdata_32
;
}
txdata
;
/* PSC + 0xbc */
#define txdata_8 txdata.txdata_8
#define txdata_16 txdata.txdata_16
#define txdata_32 txdata.txdata_32
u32
rxcmd
;
/* PSC + 0xc0 */
u32
rxalarm
;
/* PSC + 0xc4 */
u32
rxsr
;
/* PSC + 0xc8 */
u32
rxisr
;
/* PSC + 0xcc */
u32
rximr
;
/* PSC + 0xd0 */
u32
rxcnt
;
/* PSC + 0xd4 */
u32
rxptr
;
/* PSC + 0xd8 */
u32
rxsz
;
/* PSC + 0xdc */
u32
reserved3
[
7
];
union
{
u8
rxdata_8
;
u16
rxdata_16
;
u32
rxdata_32
;
}
rxdata
;
/* PSC + 0xfc */
#define rxdata_8 rxdata.rxdata_8
#define rxdata_16 rxdata.rxdata_16
#define rxdata_32 rxdata.rxdata_32
};
#endif
/* __ASM_MPC52xx_PSC_H__ */
#endif
/* __ASM_MPC52xx_PSC_H__ */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录