查看: 7352|回复: 2

arm外扩 AD(上操作系统)

zl870213 该用户已被删除
zl870213 发表于 2011-8-18 09:11:55 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

25

主题

8842

回帖

5593

积分

飞凌-fatfish 发表于 2011-8-18 11:28:06 | 显示全部楼层
一般的清楚,除了需要外设芯片的驱动以外,还需要在mach-smdk6410.c中添加对spi外设的data、初始化等
static struct mcp251x_platform_data mcp251x_info = {
        .oscillator_frequency = 8000000,
        .board_specific_setup = NULL,
        .transceiver_enable = NULL,
        .power_enable = NULL,
};

static struct spi_board_info __initdata forlinx6410_mc251x_info[]  = {
        {
                .modalias = "mcp251x",        //must match with device driver id_table name
                .platform_data = &mcp251x_info,
                .irq = IRQ_EINT(16),
                .max_speed_hz = 8000000,        //maxium is 10MHz, but will lost data in my experience
                .bus_num = 1,
                .chip_select = 1,
                .mode = SPI_MODE_0        //not required exactly since mcp251x driver will set it to SPI_MODE_0
        },
};

这是一个mcp2515的例子
该会员没有填写今日想说内容.

25

主题

8842

回帖

5593

积分

飞凌-fatfish 发表于 2011-8-18 11:30:03 | 显示全部楼层
在init函数中,还要调用
s3c64xx_spi_set_info(1,0,1);
spi_register_board_info(forlinx6410_mc251x_info,ARRAY_SIZE(forlinx6410_mc251x_info));

这些初始化和注册的函数。
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 注册

本版积分规则