博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WK2124 驱动移植
阅读量:5985 次
发布时间:2019-06-20

本文共 3534 字,大约阅读时间需要 11 分钟。

  • 官网:

  • 驱动首先放在 kernel 3.2.0 driver/spi/ 下面

//  1.  更名为 wk2124A.h  wk2124A.c    //  2. 在 Kconfig 加入如下配置:    429 config SPI_WK2124A    430     tristate "WK2124A spi to 4 uart drvier"    431     depends on SPI    432     help    433       SPI driver for  wk2124  cs1  spi to 4 wire uart IC driver.    // 3 . 在 Makefile 里面加入:    61 obj-$(CONFIG_SPI_WK2124A)       += wk2124A.o     //  4. 修改驱动源码    //  5. 在 头文件中修改:    //  修改主次设备号    144 #define     SERIAL_WK2124A_MAJOR        190    145 #define     CALLOUT_WK2124A_MAJOR       191    148 /* am33xx irq   */    149 #define GPIO_TO_PIN(bank, gpio) (32 * (bank) + (gpio))    150 #define IH2_BASE        32    151 #define OMAP_MAX_GPIO_LINES 192    152 #define IH_GPIO_BASE        (128 + IH2_BASE)    153 #define IH_MPUIO_BASE       (OMAP_MAX_GPIO_LINES + IH_GPIO_BASE)    154 #define OMAP_IRQ_END        (IH_MPUIO_BASE + 16)    155 #define OMAP_GPIO_IS_MPUIO(nr)  ((nr) >= OMAP_MAX_GPIO_LINES)    156 #define OMAP_GPIO_IRQ(nr)   (OMAP_GPIO_IS_MPUIO(nr) ? \    157                  IH_MPUIO_BASE + ((nr) & 0x0f) : \    158                  IH_GPIO_BASE + (nr))    159     160 //wk2xxx hardware configuration    161 #define     IRQ_WK2124A             OMAP_GPIO_IRQ(GPIO_TO_PIN(0, 23))      //  这段代码是加入 AM335X 中断的选择    //  在 wk2124A.c 里面修改    29 #include "wk2124A.h"    1476 static struct uart_driver wk2124_uart_driver = {    1477     owner:          THIS_MODULE,    1478     major:          SERIAL_WK2124A_MAJOR,    1479 #ifdef CONFIG_DEVFS_FS    1480     driver_name:    "ttySWZA",    1481     dev_name:       "ttysWZA",    1482 #else    1483     driver_name:    "ttySWZA",    1484     dev_name:       "ttysWZA",    1485 #endif    1486     minor:          MINOR_START,    1487     nr:             NR_PORTS,    1488     cons:           NULL//WK2Xxx_CONSOLE,    1489 };    1595 static struct spi_driver wk2124A_driver = {    1596     .driver = {    1597         .name  = "wk2124A",    1598         .bus   = &spi_bus_type,    1599         .owner = THIS_MODULE,    1600     },    1601     1602     .probe  = wk2124A_probe,     // 相应的, probe 的名字也要修改    1603     .remove = __devexit_p(wk2124_remove),    1604     .resume = wk2124_resume,    1605 };    1607 static int __init wk2124A_init(void)    1608 {    1609     int retval;    1610     1611     retval = spi_register_driver(&wk2124A_driver);    1612     printk(KERN_ALERT "rgister spi return v = :%d\n", retval);    1613     1614     return retval;    1615 }    1616     1617 static void __exit wk2124A_exit(void)    1618 {    1619     spi_unregister_driver(&wk2124A_driver);    1620     printk("TEST_REG:quit ");    1621 }    1622     1623 module_init(wk2124A_init);    1624 module_exit(wk2124A_exit);    1625     1626 MODULE_AUTHOR("WKIC Ltd");    1627 MODULE_DESCRIPTION("wk2xxx generic serial port driver");    1628 MODULE_LICENSE("GPL");    // 修改 init 函数名字以及 驱动名字
  • 在板级文件的 spi_slave 里面加入:

841 static struct spi_board_info am335x_spi0_slave_info[] = {     842 #if 0     843     {     844         .modalias      = "spidev",     845         .max_speed_hz  = 10000000,//48Mbps     846         .bus_num       = 1,     847         .chip_select   = 0,     848         .mode = SPI_MODE_0,     849     },     850 #endif     851 #if 1     852     {     853         .modalias = "wk2124A",    // compiler     854         .mode = SPI_MODE_0,     855         .max_speed_hz = 10000000,   // speed 10Mbps     856         .bus_num = 1,               //  spi0 bus     857         .chip_select = 0,           //  spi_cs0     858     },     859 #endif     860 };

转载地址:http://fuylx.baihongyu.com/

你可能感兴趣的文章
redis安装使用
查看>>
【干货】Java岗面试考点大合集
查看>>
Android安全开发之浅谈密钥硬编码
查看>>
UTF-8 编码及检查其完整性
查看>>
Android NDK开发扫盲及最新CMake的编译使用
查看>>
Weex开发系列(一):初识Weex
查看>>
开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件
查看>>
找到思聪王
查看>>
[译] 学习 Spring Security(五):重发验证邮件
查看>>
快速的React Native开发方法
查看>>
1.扩展方法2.接口的隐式实现和显式实现
查看>>
xcache 源码包编译安装
查看>>
前端开发思考与实践
查看>>
tcp/ip参数控制
查看>>
[分享]iOS开发-UIView顺时针旋转、逆时针旋转
查看>>
Conversion to Dalvik format failed with error 1的又一种情形
查看>>
Citrix VDI实战攻略之八:测试验收
查看>>
windows下安装memcached
查看>>
Java读取properties文件的思考
查看>>
分秒必争域的时间同步问题[为企业部署Windows Server 2008系列十四]
查看>>