修改文件:
// forch:
static struct spi_board_info s3c2410_spi1_board[] = {
{
.modalias = "spidev",
.bus_num = 0,
.chip_select = 0,
.irq = IRQ_EINT9,
.max_speed_hz = 500*1000,
},
{
.modalias = "spidev",
.bus_num = 0,
.chip_select = 1,
.irq = IRQ_EINT9,
.max_speed_hz = 500*1000,
},
};
// forch:
static struct s3c2410_spi_info s3c2410_spi1_platdata[] = {
[0] ={
.pin_cs = S3C2410_GPA1,
.num_cs = 2, // 1正常
},
[1] ={
.pin_cs = S3C2440_GPJ12,
.num_cs = 2, // 1正常
},
};
// forch
static struct platform_device *smdk2410_devices[] __initdata = {
&s3c_device_usb,
// &qt2410_spi,// tianyl2011-0927
&s3c_device_spi1,// forch
//&s3c_device_lcd,
//&s3c_device_wdt,
//&s3c_device_i2c,
//&s3c_device_iis,
};
static void __init smdk2410_init(void)
{
platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));
// 本来要添加到 smdk_machine_init(); 直接放这里了
s3c_device_spi1.dev.platform_data = s3c2410_spi1_platdata;// forch 片选
spi_register_board_info(s3c2410_spi1_board,ARRAY_SIZE(s3c2410_spi1_board));// forch 设备名称编号
smdk_machine_init();
}
驱动下生成了两个节点
[root@forch app]# ls /dev/ |grep spi
spidev0.0
spidev0.1
[root@forch app]#
本文介绍了一个具体的SPI调试案例,包括配置SPI板级支持包的具体参数,如芯片选择、中断请求及最大速度等,并展示了如何在系统中注册这些配置,最终使能SPI设备。通过此过程,系统生成了两个SPI设备节点。
1727

被折叠的 条评论
为什么被折叠?



