1. 前言

限于作者能力水平,本文可能存在的谬误,因此而给读者带来的损失,作者不做任何承诺。

2. 背景

移植 RTC 芯片HYM8563驱动移植到 S5P4418 + Linux 3.4.y 系统。

3. 适配和测试

3.1 适配

(1) 拷贝rtc-HYM8563.c, rtc-HYM8563.h到目录drivers/rtc
(2) 修改文件drivers/rtc/Kconfig,增加如下内容:

if I2C...config RTC_DRV_HYM8563tristate "H&M SEMI RTC HYM8563"endif # I2C

(3) 修改文件drivers/rtc/Makefile,增加如下内容:

obj-$(CONFIG_RTC_DRV_HYM8563) += rtc-HYM8563.o

(4) 运行 make menuconfig 修改内核配置,使能rtc hym8563驱动:

Device Drivers-> Real Time Clock-> <*> H&M SEMI RTC HYM8563

同时,关闭SoC RTC

Device Drivers-> Real Time Clock-> <> SLsiAP RTC

(5) 修改文件arch/arm/plat-s5p4418/nanopi2/device.c,注册HYM8563 I2C设备到I2C总线:

#if defined(CONFIG_RTC_DRV_HYM8563)
#define HYM8563_I2C_BUS (1)static struct i2c_board_info __initdata hym8563_i2c_bdi = {I2C_BOARD_INFO("rtc_hym8563", 0x51),.irq    = -1/*PB_PIO_IRQ(CFG_IO_RTC_INT)*/,
};
#endifvoid __init nxp_board_devices_register(void)
{...
#if defined(CONFIG_RTC_DRV_HYM8563)printk("plat: add hym8563 device\n");i2c_register_board_info(HYM8563_I2C_BUS, &hym8563_i2c_bdi, 1);
#endif...
}

(6) 修改文件arch/arm/plat-s5p4418/nanopi2/include/cfg_gpio.h,适配HYM8563中断引脚:

/* RTC_INT gpio, RTC_INT IRQ number. */
#define CFG_RTC_IRQ                         (IRQ_GPIO_C_START + 25)
#define CFG_IO_RTC_INT                      (PAD_GPIO_C + 25)

3.2 测试

hwclockdate命令测试RTC的:

date -s 2017.06.13-15:12  # 设置系统时钟
hwclock -w                  # 把系统时间写回rtc芯片

之后就可以重启或重新上电系统,然后查看时间或rtc芯片时间,看rtc有没有正常工作

hwclock -r
date

S5P4418:RTC芯片HYM8563驱动移植相关推荐

  1. 【原创】ARM LINUX 外部RTC实时时钟驱动移植(RX8025)

    [原创]ARM LINUX 外部RTC实时时钟驱动移植(RX8025) Author: chad Mail: linczone@163.com 开发板:AT91SAM9260 内核版本:linux-2 ...

  2. RTC芯片——DS1302驱动方式讲解(附代码)

    RTC芯片--DS1302驱动方式讲解(附代码) 最近的一个项目中用到了DS1302rtc芯片,中间弯弯绕绕也费了点时间,好在最后还是成功搞定,现做一下总结,希望能让各位少走些弯路. 写代码前所需了解 ...

  3. wifi/BT芯片RTL8723DS驱动移植和测试之一wifi篇

    目录 背景: 1.增加驱动源码: 2.内核增加配置: (1)配置 USB 支持设备 (2)配置支持 WIFI 设备 (3)配置支持 IEEE 802.11 (4)使能 STAGING 配置 (5)rt ...

  4. wifi/BT芯片RTL8723DS驱动移植和测试之二蓝牙篇

    目录 1.根文件系统添加库和蓝牙工具 2.内核配置 (1)自带串口驱动不可选 (2)增加RFCOMM和ble的支持 (3)User level driver support (4)HID driver ...

  5. c++驱动键鼠源码_Android移植FM芯片RDA5807M驱动指导

    文档说明 本文档以SC826为例(MSM8953平台,Android 7),描述如何移植FM芯片RDA5807M驱动. 移植修改 1):rdafm_drv.c rdafm_drv.h 放到kernel ...

  6. 【正点原子MP157连载】第四十三章 外置RTC芯片PCF8563实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

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

  7. rt3070网卡 linux驱动,移植rt3070芯片网卡驱动到dm365全过程---yingru

    #History:2011-05-18 #Author:yingru 新增: 在内核添加对设置雷凌网卡参数的wireless tools的支持: Make menuconfig: Device Dri ...

  8. RK3399外设驱动之RTC驱动(二):hym8563驱动

    RK3399外设驱动之RTC驱动(二):hym8563驱动 文章目录 RK3399外设驱动之RTC驱动(二):hym8563驱动 hym8563硬件相关 注册驱动 probe函数 hym8563_in ...

  9. 华大单片机 HC32F460 驱动BM8563ESA RTC芯片

    前言 因华大单片机没有单独VBAT管脚,无法使用,如果用单片机自带的RTC模块,系统断电后时间无法准确,需要重新设置,影响用户体验,说以系统加入单独的RTC芯片. RTC时钟电路 单片机管脚定义 RT ...

最新文章

  1. Java类加载器详解
  2. Linux内核最新的连续内存分配器(CMA)——避免预留大块内存
  3. eclipse debug(程序调试)单步执行 简述
  4. 深入浅出MFC学习笔记 消息
  5. Node.js和io.js将合并到Node基金会下
  6. Tensorflow官方文档学习理解 (五)-卷积MNIST
  7. 打造自己的linux桌面,一步一步打造你自己的Ubuntu 10.04桌面
  8. 阻止中文输入时触发input事件
  9. 图片外链网站需要什么样服务器,10个支持外链图片服务的免费图床网站
  10. Arduino 使用 LCD1602 显示屏IIC驱动
  11. GODI2018基站
  12. 一文读懂keepalive的工作原理
  13. 基于VGG19的识别中国人、韩国人、日本人分类器
  14. java读取pdf签名_Java 获取PDF中的数字签名信息
  15. 多元函数概念和偏导数
  16. 基于EGE的双人象棋
  17. 《算法和数据结构》LeetCode 篇
  18. python语言入门自学-Python入门
  19. JavaScript:实现加密哈希SHA-1 算法(附完整源码)
  20. 一个Vue.js音乐项目

热门文章

  1. CSS3图片阴影效果解析
  2. 例题6-13 古代象形符号(Ancient Messages,World Finals 2011,UVa 1103)
  3. 应届生的身份有什么好处
  4. 应届生做技术支持好吗_应届生第一份工作做销售合适吗?难吗?对吗?谁能给我答案?...
  5. 《你当像鸟飞往你的山》笔记
  6. Tab切换 排斥 asyncData
  7. [C语言]expected declaration or statement at end of input
  8. 磁盘配额管理disk quotas
  9. 菲律宾苏禄省天主教堂连环爆炸造成20人死81人伤
  10. Win10添加开机自动运行软件三种方法(亲测可用)