近期发现AT91SAM9G25自带的RTC功能,在启动时候会导致启动失败的概率(2%),因此建议客户使用IIC扩展RTC功能。
推荐使用Epson的RX8025实时时钟芯片(RX8025T-UB为工业级,RX8025T-UC为商业级,驱动一样,请根据需求自行选用)。
硬件扩展电路如下:

软件驱动添加建议:
/**************************************************************/
1. 添加i2c0: i2c@0
/**************************************************************/
修改内核中的dts文件,配置i2c0:
linux-at91/arch/arm/boot/dts/at91sam9g25ek.dts
在at91sam9g25ek.dts文件中添加如下内容:
i2c0: i2c@0 {
    status = "okay";
    rtc: rtc@32 {
        compatible = "espon,rx8025";
        reg = <0x32>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_rx8025_irq>;
      };
  };
pinctrl@fffff400 {
    board {
        pinctrl_rx8025_irq: rx8025_irq {
            atmel,pins =
                <2 10 0x0 0x5>; /* PC10 GPIO with pull up deglith */
            };
         };
     };
/**************************************************************/
2. 选择RTC驱动
/**************************************************************/
进入linux内核源码,替换 \linux-at91\drivers\rtc\rtc-rx8025.c文件,点击下载rtc-rx8025.c文件。
配置内核-选择外部RTC,运行下列指令进入配置界面:
cd linux-at91/ make menuconfig
进入配置界面:
 Device Drivers  --->
     [*] Real Time Clock  --->   
         <*>   Epson RX-8025SA/NB  
然后选择 exit 退出 ,最后提示是否保存配置,选择yes回车键保存配置
然后重新编译内核即可。

 微博
微博
