am335x gpio 模拟 spi 驱动添加
kernel 内 make menuconfig
// make menuconfig
Device Drivers --->
[*] SPI support --->
<*> GPIO-based bitbanging SPI Master // 这个是gpio-spi 的驱动
<*> User mode SPI device driver support // 这个是生成 /dev/spidev*.*的驱动
在板级文件里面添加:
// vim arch/arm/mach-omap2/board-aplex_ECM_5416.c
#define GPIO1_12 GPIO_TO_PIN(1, 12)
#define GPIO1_13 GPIO_TO_PIN(1, 13)
#define GPIO1_14 GPIO_TO_PIN(1, 14)
#define GPIO1_15 GPIO_TO_PIN(1, 15)
#define SPI_GPIO_BUS_NUM 3 // 设置spi 总线编号
static struct spi_gpio_platform_data ecm_5410_gpio_spi_data = {
.sck = GPIO1_12, // 指定clk 的gpio
.mosi = GPIO1_13, // 指定slave input
.miso = GPIO1_14, // 指定 slave output
.num_chipselect = 1, // 指定一共有几个cs
};
static struct platform_device ecm_5410_gpio_spi_device = {
.name = "spi_gpio", // 匹配 spi-gpio.c 里面的驱动名字
.id = SPI_GPIO_BUS_NUM, // 配置 spi 总线编号
.dev = {
.platform_data = &ecm_5410_gpio_spi_data, // 指定配置数据
},
};
// 配置 pin_mux
static struct pinmux_config ecm_5410_gpio_spi_pin_mux[] = {
{"gpmc_ad12.gpio1_12", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
{"gpmc_ad13.gpio1_13", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN},
{"gpmc_ad14.gpio1_14", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
{"gpmc_ad15.gpio1_15", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
};
static struct spi_board_info am335x_spi2_slave_info[] = {
{
.modalias = "spidev",
.max_speed_hz = 10000000,
.bus_num = SPI_GPIO_BUS_NUM,
.controller_data = (void *)GPIO1_15, // 设置 cs 总线
.chip_select = 0,
.mode = SPI_MODE_0,
},
};
static void ecm_5410_gpio_spi_init(int evm_id, int profile)
{
setup_pin_mux(ecm_5410_gpio_spi_pin_mux);
// 总线设备注册,先配置到spi-gpio 的总线驱动
platform_device_register(&ecm_5410_gpio_spi_device);
// spi 板级信息注册,生成 /dev/spidev3.0
spi_register_board_info(am335x_spi2_slave_info,
ARRAY_SIZE(am335x_spi2_slave_info));
};
static struct evm_dev_cfg ECM_5412_dev_cfg[] = {
// ... ... 加入板级初始化
{ecm_5410_gpio_spi_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{NULL, 0, 0},
};
am335x gpio 模拟 spi 驱动添加的更多相关文章
- linux SPI驱动——gpio模拟spi驱动(三)
一:首先在我的平台注册platform_device,保证能让spi-gpio.c能执行到probe函数. 1: struct spi_gpio_platform_data { 2: unsigned ...
- linux SPI驱动——简单的gpio模拟SPI驱动测试 (二)
1: /* 2: * Add by xuyonghong for duotin car radio fm 3: * Copyright (C) 2016-5-24 xuyonghong@duotin. ...
- GPIO模拟SPI
上次用gpio模拟i2c理解i2c协议.相同的,我用gpio模拟spi来理解spi协议. 我用的是4线spi,四线各自是片选.时钟.命令/数据.数据. 数据在时钟上升沿传递,数据表示的是数据还是命令由 ...
- gpio模拟i2c驱动
前段时间做项目,需要gpio模拟i2c通信,最后参考了一些资料,然后编写了一个程序.现在发出来,以免以后忘记,也为一些需要的朋友提供参考.不喜勿喷哈. /* 说明:该程序是基于atmel公司的sama ...
- LPC4370使用学习:GPIO的引脚功能使用,和12864OLED模拟I2C驱动
一: 手中有块LPC4370的开发板,因为便宜,所以引脚引出的不多,而且只有基本的底板资源驱动代码和例程. 看着手册和例程看了老半天,写程序写了半天,结果GPIO老是驱动不起来,因为引脚配置寄存器中有 ...
- STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI
1.AD7799介绍 AD7799结构图如下所示: 其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示: 注意: 如果REG_CONFIG的 ...
- 基于TQ2440的SPI驱动学习(OLED)
平台简介 开发板:TQ2440 (NandFlash:256M 内存:64M) u-boot版本:u-boot-2015.04 内核版本:Linux-3.14 作者:彭东林 邮箱:pengdongl ...
- OLED的使用-4线SPI驱动
一 .OLED屏 1.OLED屏(七针) 2.OLED电路图 3.0.96'OLED简介 该模块特点: 1.三色可选,模块有两种单色和黄蓝双色两种颜色可选,单色为纯白色和纯蓝色,双 色为黄蓝双色: 2 ...
- linux enc28j60网卡驱动移植(硬件spi和模拟spi)
本来想移植DM9000网卡的驱动,无奈硬件出了点问题,通过杜邦线链接开发板和DM9000网卡模块,系统上电,还没加载网卡驱动就直接崩溃了,找不到原因...刚好手上有一个enc28j60的网卡模块,于是 ...
随机推荐
- Foundations of Machine Learning: The Margin Explanation for Boosting's Effectiveness
Foundations of Machine Learning: The Margin Explanation for Boosting's Effectiveness 在这一节,我们要回答的一个问题 ...
- word中批量修改图片大小
一,在word中按alt+f11组合键,进入VBA模式二,在左边的工程资源管理器中找到你的word文档,在其上右键/添加/模块三,把下面代码复制,粘贴进去.四,更改数值, 改一下宽度和高度数值(10) ...
- vi中全选的命令或者快捷方式
http://blog.163.com/boby_boke/blog/static/126877354200910308522382/网上有两种说法比较多:“:1,$y”和 “dG” 但是我查到有资料 ...
- SAP接口设计的扩展性考虑
由于现在的系统和SAP的接口出现了几次变更,因此需要对系统进行设计改造.由于系统中和SAP交互的接口不止一处,而且也是在不同的时间段进行开发,并由不同的人员来完成的,因此我在维护升级的 ...
- 将Log4J的日志内容发送到agent的source
项目中使用log4j打印的内容同时传输到flume 1.flume端 flume的agent配置内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a1.sour ...
- FA_会计中的折旧方式的种类(概念)
2014-06-08 Created By BaoXinjian
- PLSQL_性能优化效能跟踪工具DBMS_PROFILER分析(案例)
2014-06-01 Created By BaoXinjian
- Mysql multi实现mysql双实例
Mysql multi实现mysql双实例 1.添加mysql用户 以root登录,新建mysql用户组 groupadd mysql useradd -d /data/mariadb -g mysq ...
- MAR 27 解决华为手机访问Google Play:从服务器检索信息时出错。[DF-DFERH-01]
虽然路由器已经设置了梯子,但是用华为手机访问Google Play时,还是提示:从服务器检索信息时出错.[DF-DFERH-01]. 虽然在手机上把梯子设置成全局模式,连接Google Play后 ...
- NPOI导出Excel2007-xlsx格式文件,用于web时需要注意的问题-XSSFWorkbook处理问题
1.今天再处理Excel2007.2010文件,格式.xlsx文件存在一个问题,在调用 Write方法之后关闭了传入的文件流. 2.今天针对此问题好一顿的测试: 2.1 在有文件构建时不是.xlsx文 ...