|
@@ -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)
|