Skip to content

Commit

Permalink
ARM: shmobile: armadillo800eva: Add support RTC
Browse files Browse the repository at this point in the history
The armadillo800eva has S35390A which is RTC. This is controlled
using I2C of GPIO.
This commit supports RTC of armadillo800eva.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
  • Loading branch information
Nobuhiro Iwamatsu authored and Simon Horman committed Sep 13, 2012
1 parent eb8ca94 commit b22f6bb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm/configs/armadillo800eva_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=8
CONFIG_SERIAL_SH_SCI_CONSOLE=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_GPIO=y
CONFIG_I2C_SH_MOBILE=y
# CONFIG_HWMON is not set
CONFIG_MEDIA_SUPPORT=y
Expand Down Expand Up @@ -120,6 +121,8 @@ CONFIG_USB_ETH=m
CONFIG_MMC=y
CONFIG_MMC_SDHI=y
CONFIG_MMC_SH_MMCIF=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_S35390A=y
CONFIG_DMADEVICES=y
CONFIG_SH_DMAE=y
CONFIG_UIO=y
Expand Down
25 changes: 25 additions & 0 deletions arch/arm/mach-shmobile/board-armadillo800eva.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#include <linux/mmc/host.h>
#include <linux/mmc/sh_mmcif.h>
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/i2c-gpio.h>
#include <mach/common.h>
#include <mach/irqs.h>
#include <mach/r8a7740.h>
Expand Down Expand Up @@ -876,6 +877,21 @@ static struct platform_device fsi_hdmi_device = {
},
};

/* RTC: RTC connects i2c-gpio. */
static struct i2c_gpio_platform_data i2c_gpio_data = {
.sda_pin = GPIO_PORT208,
.scl_pin = GPIO_PORT91,
.udelay = 5, /* 100 kHz */
};

static struct platform_device i2c_gpio_device = {
.name = "i2c-gpio",
.id = 2,
.dev = {
.platform_data = &i2c_gpio_data,
},
};

/* I2C */
static struct i2c_board_info i2c0_devices[] = {
{
Expand All @@ -887,6 +903,13 @@ static struct i2c_board_info i2c0_devices[] = {
},
};

static struct i2c_board_info i2c2_devices[] = {
{
I2C_BOARD_INFO("s35390a", 0x30),
.type = "s35390a",
},
};

/*
* board devices
*/
Expand All @@ -903,6 +926,7 @@ static struct platform_device *eva_devices[] __initdata = {
&fsi_device,
&fsi_hdmi_device,
&fsi_wm8978_device,
&i2c_gpio_device,
};

static void __init eva_clock_init(void)
Expand Down Expand Up @@ -1173,6 +1197,7 @@ static void __init eva_init(void)
#endif

i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices));
i2c_register_board_info(2, i2c2_devices, ARRAY_SIZE(i2c2_devices));

r8a7740_add_standard_devices();

Expand Down

0 comments on commit b22f6bb

Please sign in to comment.