首页 > 其他 > 详细

设备驱动之SPI

时间:2015-02-10 15:02:15      阅读:247      评论:0      收藏:0      [点我收藏+]

本文非专业讲SPI,只是讲网上看到的资料略微总结,并加上自己的想法,附资料links。

 

devs.c  :各个platform_device 的定义,比如I2C、USB、SPI等等。应该是内核加载时,读取该配置文件,然后注册进系统。目录在/arch/arm/plat-samsung/devs.c

  比如:

    

/* SPI */

#ifdef CONFIG_PLAT_S3C24XX
static struct resource s3c_spi0_resource[] = { //下面s3c_device_spi0对象的资源
    [0] = DEFINE_RES_MEM(S3C24XX_PA_SPI, SZ_32),
    [1] = DEFINE_RES_IRQ(IRQ_SPI0),
};

struct platform_device s3c_device_spi0 = {  // 声明s3c_device_spi0 platform设备
    .name        = "s3c2410-spi",  //会与驱动匹配,比较两个名字是一样的
    .id        = 0,  //相当于次设备号
    .num_resources    = ARRAY_SIZE(s3c_spi0_resource),
    .resource    = s3c_spi0_resource,
    .dev        = {
        .dma_mask        = &samsung_device_dma_mask,
        .coherent_dma_mask    = DMA_BIT_MASK(32),
    }
};

 

 

SPI分三层:

  SPI核心层:/drivers/spi/spi.c

  SPI控制器驱动层:/drivers/spi/spi-s3c24xx.c

  SPI设备驱动层: /drivers/spi/spidev.c

 

 

 

 

 

 

 

related links:

 

设备驱动之SPI

原文:http://www.cnblogs.com/zhongyuan/p/4283826.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!