From c37da2ba69ad677764d3f01394819a2d3a42957e Mon Sep 17 00:00:00 2001 From: Vaibhav Hiremath Date: Sat, 13 Feb 2010 11:47:56 +0000 Subject: [PATCH] --- yaml --- r: 184747 b: refs/heads/master c: f2afbbb82e263086d02a772e43f5290b1a6f673e h: refs/heads/master i: 184745: e1c19edd3acada3ccac89c271f079945e0defcca 184743: 75ec1cb446cfed0bde3b0ec33d8db99050dc7c91 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-omap2/board-am3517evm.c | 39 +++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ceabe1105fb0..206a1b1bf0a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1f738dc306c86a8293c7ea929d07f55f32d52ff6 +refs/heads/master: f2afbbb82e263086d02a772e43f5290b1a6f673e diff --git a/trunk/arch/arm/mach-omap2/board-am3517evm.c b/trunk/arch/arm/mach-omap2/board-am3517evm.c index af99faf2cced..fe2446ded5ad 100644 --- a/trunk/arch/arm/mach-omap2/board-am3517evm.c +++ b/trunk/arch/arm/mach-omap2/board-am3517evm.c @@ -38,6 +38,39 @@ #define LCD_PANEL_BKLIGHT_PWR 182 #define LCD_PANEL_PWM 181 +static struct i2c_board_info __initdata am3517evm_i2c_boardinfo[] = { + { + I2C_BOARD_INFO("s35390a", 0x30), + .type = "s35390a", + }, +}; + +/* + * RTC - S35390A + */ +#define GPIO_RTCS35390A_IRQ 55 + +static void __init am3517_evm_rtc_init(void) +{ + int r; + + omap_mux_init_gpio(GPIO_RTCS35390A_IRQ, OMAP_PIN_INPUT_PULLUP); + r = gpio_request(GPIO_RTCS35390A_IRQ, "rtcs35390a-irq"); + if (r < 0) { + printk(KERN_WARNING "failed to request GPIO#%d\n", + GPIO_RTCS35390A_IRQ); + return; + } + r = gpio_direction_input(GPIO_RTCS35390A_IRQ); + if (r < 0) { + printk(KERN_WARNING "GPIO#%d cannot be configured as input\n", + GPIO_RTCS35390A_IRQ); + gpio_free(GPIO_RTCS35390A_IRQ); + return; + } + am3517evm_i2c_boardinfo[0].irq = gpio_to_irq(GPIO_RTCS35390A_IRQ); +} + static int __init am3517_evm_i2c_init(void) { omap_register_i2c_bus(1, 400, NULL, 0); @@ -235,6 +268,12 @@ static void __init am3517_evm_init(void) usb_ehci_init(&ehci_pdata); /* DSS */ am3517_evm_display_init(); + + /* RTC - S35390A */ + am3517_evm_rtc_init(); + + i2c_register_board_info(1, am3517evm_i2c_boardinfo, + ARRAY_SIZE(am3517evm_i2c_boardinfo)); } static void __init am3517_evm_map_io(void)