SPI驱动

1 关于 时钟信号

时钟信号是在板级文件中设置的

static struct s3c64xx_spi_csinfo s3c64xx_spi0_csinfo = { 
 .fb_delay=100, 
 .line=S3C64XX_GPC(3), //CS管脚
 .set_level=cs_set_level, 
}; 
 
static struct spi_board_info s3c6410_spi0_board[] = { 
[0] = { 
.modalias ="spidev", 
.bus_num= 0, 
.chip_select= 0, 
.irq =IRQ_SPI0, 
.max_speed_hz= 500*1000, //默认是设置的时钟
.mode=SPI_MODE_0, //工作模式,根据SPI设备的时序和主控制器的时序确定
.controller_data=&s3c64xx_spi0_csinfo, 
}, 
}; 
static struct s3c64xx_spi_csinfo s3c64xx_spi1_csinfo = { 
 .fb_delay=100, 
 .line=S3C64XX_GPC(7), 
 .set_level=cs_set_level, 
}; 
 
static struct spi_board_info s3c6410_spi1_board[] = { 
[0] = { 
.modalias = "spidev", 
.bus_num= 1, 
.chip_select= 1, 
.irq = IRQ_SPI1, 
.max_speed_hz = 500*1000, 
.mode=SPI_MODE_0, 
.controller_data=&s3c64xx_spi1_csinfo, 
}, 
};

时钟在板级文件初始化了 ,驱动的其他地方可以不用管了,系统做好了。

2、 mode的确定,根据数据手册读写数据的时序以及主控的的时序定义确定。

发布了27 篇原创文章 · 获赞 0 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章