Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
5ca328d2
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5ca328d2
编写于
3月 13, 2009
作者:
K
Krzysztof Hałasa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
IXP4xx: add Ethernet and NPE support for IXP43x CPU.
Signed-off-by:
N
Krzysztof Hałasa
<
khc@pm.waw.pl
>
上级
0a07232f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
10 deletion
+16
-10
arch/arm/mach-ixp4xx/ixp4xx_npe.c
arch/arm/mach-ixp4xx/ixp4xx_npe.c
+3
-3
drivers/net/arm/ixp4xx_eth.c
drivers/net/arm/ixp4xx_eth.c
+13
-7
未找到文件。
arch/arm/mach-ixp4xx/ixp4xx_npe.c
浏览文件 @
5ca328d2
...
...
@@ -575,8 +575,8 @@ int npe_load_firmware(struct npe *npe, const char *name, struct device *dev)
for
(
i
=
0
;
i
<
image
->
size
;
i
++
)
image
->
data
[
i
]
=
swab32
(
image
->
data
[
i
]);
if
(
!
cpu_is_ixp46
x
()
&&
((
image
->
id
>>
28
)
&
0xF
/* device ID */
))
{
print_npe
(
KERN_INFO
,
npe
,
"IXP46x firmware ignored on "
if
(
cpu_is_ixp42
x
()
&&
((
image
->
id
>>
28
)
&
0xF
/* device ID */
))
{
print_npe
(
KERN_INFO
,
npe
,
"IXP4
3x/IXP4
6x firmware ignored on "
"IXP42x
\n
"
);
goto
err
;
}
...
...
@@ -596,7 +596,7 @@ int npe_load_firmware(struct npe *npe, const char *name, struct device *dev)
"revision 0x%X:%X
\n
"
,
(
image
->
id
>>
16
)
&
0xFF
,
(
image
->
id
>>
8
)
&
0xFF
,
image
->
id
&
0xFF
);
if
(
!
cpu_is_ixp46
x
())
{
if
(
cpu_is_ixp42
x
())
{
if
(
!
npe
->
id
)
instr_size
=
NPE_A_42X_INSTR_SIZE
;
else
...
...
drivers/net/arm/ixp4xx_eth.c
浏览文件 @
5ca328d2
...
...
@@ -335,11 +335,20 @@ static int ixp4xx_mdio_register(void)
if
(
!
(
mdio_bus
=
mdiobus_alloc
()))
return
-
ENOMEM
;
/* All MII PHY accesses use NPE-B Ethernet registers */
spin_lock_init
(
&
mdio_lock
);
mdio_regs
=
(
struct
eth_regs
__iomem
*
)
IXP4XX_EthB_BASE_VIRT
;
__raw_writel
(
DEFAULT_CORE_CNTRL
,
&
mdio_regs
->
core_control
);
if
(
cpu_is_ixp43x
())
{
/* IXP43x lacks NPE-B and uses NPE-C for MII PHY access */
if
(
!
(
ixp4xx_read_feature_bits
()
&
IXP4XX_FEATURE_NPEC_ETH
))
return
-
ENOSYS
;
mdio_regs
=
(
struct
eth_regs
__iomem
*
)
IXP4XX_EthC_BASE_VIRT
;
}
else
{
/* All MII PHY accesses use NPE-B Ethernet registers */
if
(
!
(
ixp4xx_read_feature_bits
()
&
IXP4XX_FEATURE_NPEB_ETH0
))
return
-
ENOSYS
;
mdio_regs
=
(
struct
eth_regs
__iomem
*
)
IXP4XX_EthB_BASE_VIRT
;
}
__raw_writel
(
DEFAULT_CORE_CNTRL
,
&
mdio_regs
->
core_control
);
spin_lock_init
(
&
mdio_lock
);
mdio_bus
->
name
=
"IXP4xx MII Bus"
;
mdio_bus
->
read
=
&
ixp4xx_mdio_read
;
mdio_bus
->
write
=
&
ixp4xx_mdio_write
;
...
...
@@ -1250,9 +1259,6 @@ static struct platform_driver ixp4xx_eth_driver = {
static
int
__init
eth_init_module
(
void
)
{
int
err
;
if
(
!
(
ixp4xx_read_feature_bits
()
&
IXP4XX_FEATURE_NPEB_ETH0
))
return
-
ENOSYS
;
if
((
err
=
ixp4xx_mdio_register
()))
return
err
;
return
platform_driver_register
(
&
ixp4xx_eth_driver
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录