mini2440 rtc支持

内核版本:linux-2.6.32.2        实验平台:mini2440

s3c2440的rtc平台设备已经定义好了的,定义在plat-s3c24xx/devs.c中:

/* RTC */

static struct resource s3c_rtc_resource[] = {
	[0] = {
		.start = S3C24XX_PA_RTC,
		.end   = S3C24XX_PA_RTC + 0xff,
		.flags = IORESOURCE_MEM,
	},
	[1] = {
		.start = IRQ_RTC,
		.end   = IRQ_RTC,
		.flags = IORESOURCE_IRQ,
	},
	[2] = {
		.start = IRQ_TICK,
		.end   = IRQ_TICK,
		.flags = IORESOURCE_IRQ
	}
};

struct platform_device s3c_device_rtc = {
	.name             = "s3c2410-rtc",
	.id               = -1,
	.num_resources    = ARRAY_SIZE(s3c_rtc_resource),
	.resource         = s3c_rtc_resource,
};

EXPORT_SYMBOL(s3c_device_rtc);
将s3c_device_rtc添加到mini2440_devices这个平台设备数组里面:
static struct platform_device *mini2440_devices[] __initdata = {
	/* ... */
	&s3c_device_rtc,
	/* ... */
};

2. 配置
linux的s3c2440的rtc驱动已经支持的很好了,只需要配置使用就可以了:

    Device Drivers  --->
	<*> Real Time Clock  --->
		[*]   Set system time from RTC on startup and resume
		(rtc0)  RTC used to set the system time
		[*]   /sys/class/rtc/rtcN (sysfs)
		[*]   /proc/driver/rtc (procfs for rtc0)
		[*]   /dev/rtcN (character devices)

		<*>   Samsung S3C series SoC RTC

3. 测试
使用date命令修改linux的系统时钟:

date "2014-07-09 23:44:00"
使用hwclock -w命令将系统时钟写入到硬件时钟里面,hwclock -r显示硬件时钟,当系统启动之后会将系统时钟设置为当前的硬件时钟,这样在电池存在情况下,即使板子掉电时钟也能正常走动。

你可能感兴趣的:(mini2440 rtc支持)