基于S3C2440的Linux SPI驱动移植笔记
来源:互联网 发布:js中什么是原型链 编辑:程序博客网 时间:2024/05/18 03:43
参考:
http://blog.csdn.net/woshixingaaa/article/details/6574215
http://blog.163.com/joyrain_06/blog/static/1788253920113823524293/
Linux内核版本:2.6.30.4
测试平台:EmbedSky TQ2440
在2.6.30.4内核源码中,已经给出了S3C2440的SPI驱动,但是TQ2440并没有启用这个驱动,因此要在arch/arm/mach-s3c2440/mach-tq2440.c中加入SPI的支持。网上参考的文章只将S3C2440的SPI0进行了配置,如果需要使用到两个SPI Master,就需要进行进一步配置。首先增加如下结构定义:
static struct spi_board_info s3c2410_spi0_board[] = {
[0] = {
.modalias = "spidev",
.bus_num = 0,
.chip_select = 0,
.irq = IRQ_EINT10,
.max_speed_hz = 500*1000,
},
};
static struct s3c2410_spi_info s3c2410_spi0_platdata = {
.pin_cs = S3C2410_GPG2,
.num_cs = 1,
.bus_num = 0,
};
static struct spi_board_info s3c2410_spi1_board[] = {
[0] = {
.modalias = "spidev",
.bus_num = 1,
.chip_select = 0,
.irq = IRQ_EINT11,
.max_speed_hz = 500*1000,
},
};
static struct s3c2410_spi_info s3c2410_spi1_platdata = {
http://blog.csdn.net/woshixingaaa/article/details/6574215
http://blog.163.com/joyrain_06/blog/static/1788253920113823524293/
Linux内核版本:2.6.30.4
测试平台:EmbedSky TQ2440
在2.6.30.4内核源码中,已经给出了S3C2440的SPI驱动,但是TQ2440并没有启用这个驱动,因此要在arch/arm/mach-s3c2440/mach-tq2440.c中加入SPI的支持。网上参考的文章只将S3C2440的SPI0进行了配置,如果需要使用到两个SPI Master,就需要进行进一步配置。首先增加如下结构定义:
static struct spi_board_info s3c2410_spi0_board[] = {
};
static struct s3c2410_spi_info s3c2410_spi0_platdata = {
};
static struct spi_board_info s3c2410_spi1_board[] = {
};
static struct s3c2410_spi_info s3c2410_spi1_platdata = {