码迷,mamicode.com
首页 > 其他好文 > 详细

设备驱动之SPI

时间:2015-02-10 15:04:48      阅读:235      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!