Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
79206750
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看板
提交
79206750
编写于
1月 28, 2009
作者:
S
Sascha Hauer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ARM] PCM037 Board: Add I2C support
Signed-off-by:
N
Sascha Hauer
<
s.hauer@pengutronix.de
>
上级
c2aaac70
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
51 addition
and
0 deletion
+51
-0
arch/arm/mach-mx3/pcm037.c
arch/arm/mach-mx3/pcm037.c
+51
-0
未找到文件。
arch/arm/mach-mx3/pcm037.c
浏览文件 @
79206750
...
@@ -26,6 +26,8 @@
...
@@ -26,6 +26,8 @@
#include <linux/gpio.h>
#include <linux/gpio.h>
#include <linux/smc911x.h>
#include <linux/smc911x.h>
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/i2c.h>
#include <linux/i2c/at24.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
...
@@ -37,6 +39,9 @@
...
@@ -37,6 +39,9 @@
#include <mach/iomux-mx3.h>
#include <mach/iomux-mx3.h>
#include <mach/board-pcm037.h>
#include <mach/board-pcm037.h>
#include <mach/mxc_nand.h>
#include <mach/mxc_nand.h>
#ifdef CONFIG_I2C_IMX
#include <mach/i2c.h>
#endif
#include "devices.h"
#include "devices.h"
...
@@ -117,6 +122,46 @@ static struct mxc_nand_platform_data pcm037_nand_board_info = {
...
@@ -117,6 +122,46 @@ static struct mxc_nand_platform_data pcm037_nand_board_info = {
.
hw_ecc
=
1
,
.
hw_ecc
=
1
,
};
};
#ifdef CONFIG_I2C_IMX
static
int
i2c_1_pins
[]
=
{
MX31_PIN_CSPI2_MOSI__SCL
,
MX31_PIN_CSPI2_MISO__SDA
,
};
static
int
pcm037_i2c_1_init
(
struct
device
*
dev
)
{
return
mxc_iomux_setup_multiple_pins
(
i2c_1_pins
,
ARRAY_SIZE
(
i2c_1_pins
),
"i2c-1"
);
}
static
void
pcm037_i2c_1_exit
(
struct
device
*
dev
)
{
mxc_iomux_release_multiple_pins
(
i2c_1_pins
,
ARRAY_SIZE
(
i2c_1_pins
));
}
static
struct
imxi2c_platform_data
pcm037_i2c_1_data
=
{
.
bitrate
=
100000
,
.
init
=
pcm037_i2c_1_init
,
.
exit
=
pcm037_i2c_1_exit
,
};
static
struct
at24_platform_data
board_eeprom
=
{
.
byte_len
=
4096
,
.
page_size
=
32
,
.
flags
=
AT24_FLAG_ADDR16
,
};
static
struct
i2c_board_info
pcm037_i2c_devices
[]
=
{
{
I2C_BOARD_INFO
(
"at24"
,
0x52
),
/* E0=0, E1=1, E2=0 */
.
platform_data
=
&
board_eeprom
,
},
{
I2C_BOARD_INFO
(
"rtc-pcf8563"
,
0x51
),
.
type
=
"pcf8563"
,
}
};
#endif
static
struct
platform_device
*
devices
[]
__initdata
=
{
static
struct
platform_device
*
devices
[]
__initdata
=
{
&
pcm037_flash
,
&
pcm037_flash
,
&
pcm037_eth
,
&
pcm037_eth
,
...
@@ -156,6 +201,12 @@ static void __init mxc_board_init(void)
...
@@ -156,6 +201,12 @@ static void __init mxc_board_init(void)
"pcm037-eth"
))
"pcm037-eth"
))
gpio_direction_input
(
MX31_PIN_GPIO3_1
);
gpio_direction_input
(
MX31_PIN_GPIO3_1
);
#ifdef CONFIG_I2C_IMX
i2c_register_board_info
(
1
,
pcm037_i2c_devices
,
ARRAY_SIZE
(
pcm037_i2c_devices
));
mxc_register_device
(
&
mxc_i2c_device1
,
&
pcm037_i2c_1_data
);
#endif
mxc_register_device
(
&
mxc_nand_device
,
&
pcm037_nand_board_info
);
mxc_register_device
(
&
mxc_nand_device
,
&
pcm037_nand_board_info
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录