1、在配置Linux 编译选项时,开启相应的SPI 选项,如下所示

-> Device Drivers

-> SPI support

SPI support

*** SPI Master Controller Drivers ***

-*- Bitbanging SPI master

Samsung S3C24XX series SPI

< > Samsung S3C24XX series SPI by GPIO

*** SPI Protocol Masters ***

< > SPI EEPROMs from most vendors

User mode SPI device driver support

< > Infineon TLE62X0 (for power switching)设置完成保存。

2.驱动文件mcp251x.c mcp251x.h can.h

文件mcp251x.c放在目录drivers/net/can/下;

文件mcp251x.h放在目录include/linux/can/platform/下;

文件can.h放在目录include/linux/can/下

3.添加配置文件drivers/net/can/Kconfig

在文件中添加

config CAN_MCP251X

tristate "Microchip 251x series SPI CAN Controller"

depends on CAN && SPI

default N

---help---

Say Y here if you want support for the Microchip 251x series of

SPI based CAN controllers.

4.在drivers/net/can/Makefile文件中添加编译文件obj-$(CONFIG_CAN_MCP251X)                 += mcp251x.o

5. 修改文件arch/arm/mach-s3c2410/mach-smdk2410.c中添加spi板级启动信息#include #include //包含s3c2410_spi_info结构体

#include //包含struct mcp251x_platform_data结构体

static struct mcp251x_platform_data mcp251x_info = {

.f_osc = 16000000,

//.oscillator_frequency = 19000000,

//.board_specific_setup = myboard_mcp251x_initfunc,

//.device_reset = myboard_mcp251x_reset,

//.transceiver_enable = NULL,

};

static struct spi_board_info spi_board_info[] __initdata = {

[0]=

{

.modalias       = "mcp251x", //这个名称一定要与mcp251x.c驱动中

//proc函数中的.name要一致

.platform_data  = &mcp251x_info,  //上面的结构体

.irq              = IRQ_EINT3,            中断端口号

.max_speed_hz  = 8000000,            //spi最大的速度

.bus_num        = 0,            //spi0,1中选择spi0口

.chip_select      = 0,            //多个芯片选择

},

};

static struct s3c2410_spi_info s3c2410_spi0_platdata = {

.pin_cs = S3C2410_GPG2,     //片选端口指定

.num_cs = 1,                  //总共端口数

// .bus_num = 0,

};

smdk2410_devices数组中添加&s3c_device_spi0,

mcp2515 linux 设备树,mcp2515驱动的实现相关推荐

  1. mcp2515 linux 设备树,MCP2515在Hi3521D上的调试

    近期要在板子上要用到SPI接口的mcp2515,hi3521d采用了linux3.18.20的内核,使用了设备树的方式加载驱动.不算复杂,调了2天搞完了. 内核修改 1.注意RESET脚控制,为海思的 ...

  2. linux 设备树i2驱动,TX2i设备树SPI驱动

    默认/dev下是没有spi设备的@H_301_1@ JetPack版本@H_301_1@ JetPack-L4T-3.2.1-linux-x64_b23.run@H_301_1@ 下载Kernel@H ...

  3. 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  4. 【正点原子Linux连载】第四十三章 Linux设备树 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  5. Linux设备树语法详解【转】

    转自:http://www.cnblogs.com/xiaojiang1025/p/6131381.html 概念 Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离.在设备 ...

  6. linux spidev 应用_嵌入式Linux设备树语法总结

    1 设备树的说明 在写完嵌入式驱动总结后,对于设备树相关的语法和使用一直都想进行系统的描述,但是因为最近比较忙碌,所以一直拖到现在才完成初版,对于整个嵌入式Linux驱动开发中,设备树语法和构建是其中 ...

  7. Linux设备树OF API 中OF的含义

    * 前言 读Linux内核源码或者开源GPL程序源码时,看到各种英文首字母缩写满天飞,英文单词首字母缩写是Unix/Linux C 编程的一个历史习惯,部分英文首字母缩写结合上下文可以找到理解含义,但 ...

  8. Linux 设备树的使用技巧

    Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离.在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写.引入了设备树之后,驱动代码只负 ...

  9. linux 设备树详解

    2 Linux 设备树 2.1 什么是设备树? 设备树(Device Tree),将这个词分开就是"设备"和"树",描述设备树的文件叫做DTS(Device T ...

最新文章

  1. 【c++】23.【函数指针】定义? 为什么不直接调用函数而要使用函数指针?
  2. 把整形数据格式化为指定长度的字符串
  3. JavaScript实现permutate With Repetitions重复排列算法(附完整源码)
  4. 在HTML文档内引入CSS
  5. 阿里妈妈是如何做品牌风险管理的
  6. android init.d脚本,◇添加init.d脚本支持教程贴◇
  7. CheckBox as Image use button
  8. Dubbo(十一)dubbo的超时重试配置以及启动检查
  9. 【华为云技术分享】数据湖数据库,别再傻傻分不清了
  10. 边缘设备上的实时AI人员检测:使用预先训练的SSD模型检测人员
  11. 网络协议收发数据问题
  12. c++时间函数及转换
  13. MLT-type渲染算法review(笔记)
  14. JDBC下载,使用,访问数据库
  15. 别催了,医药行业数字化转型真的“急不得”
  16. Others13_在黑市里,苹果iPhone是这样被解锁的
  17. 卡马克在光线追踪,id tech6,射线跟踪,控制台,物理学等的谈话 第一部分
  18. 1-乙基-3-甲基咪唑四氟硼酸盐/[C2MIm]BF4/cas:143314-16-3/分子量:197.97/离子液体
  19. TDengine与InfluxDB对比测试
  20. python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库

热门文章

  1. Simple Java Mail的使用,发送qq邮件
  2. 比你聪明的人比你y更聪明
  3. C 语言的起源与发展
  4. 你觉得惠普DV2000,DV3000该召回去重新设计散热系统吗?惠普主板显卡投诉,门庭若市...
  5. 身份证实名认证数据API可以这样获取和使用
  6. 基于three.js的3D炫酷元素周期表
  7. OSChina 周三乱弹 ——你未来老婆的背影
  8. 原创Citrix XenDesktop7.15长期稳定版本虚拟桌面-实施手册
  9. 博客就是我的发泄桶!
  10. Bat大厂程序员常用的IDE工具,你接触过哪些?