[media] ARM: mach-omap2: board-rx51-peripherals: Add lirc-rx51 data
authorTimo Kokkonen <timo.t.kokkonen@iki.fi>
Fri, 10 Aug 2012 09:16:37 +0000 (06:16 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 13 Aug 2012 19:54:26 +0000 (16:54 -0300)
The IR diode on the RX51 is connected to the GPT9. This data is needed
for the IR driver to function.

Signed-off-by: Timo Kokkonen <timo.t.kokkonen@iki.fi>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
arch/arm/mach-omap2/board-rx51-peripherals.c

index df2534de3361d5b9c2317db5cec7222e5993d2fb..ca07264bd3ae7633d370e3ba9047988fd8153bf4 100644 (file)
@@ -34,6 +34,7 @@
 #include <plat/gpmc.h>
 #include <plat/onenand.h>
 #include <plat/gpmc-smc91x.h>
+#include <plat/omap-pm.h>
 
 #include <mach/board-rx51.h>
 
 #include <../drivers/staging/iio/light/tsl2563.h>
 #include <linux/lis3lv02d.h>
 
+#if defined(CONFIG_IR_RX51) || defined(CONFIG_IR_RX51_MODULE)
+#include <media/ir-rx51.h>
+#endif
+
 #include "mux.h"
 #include "hsmmc.h"
 #include "common-board-devices.h"
@@ -1220,6 +1225,30 @@ static void __init rx51_init_tsc2005(void)
                                gpio_to_irq(RX51_TSC2005_IRQ_GPIO);
 }
 
+#if defined(CONFIG_IR_RX51) || defined(CONFIG_IR_RX51_MODULE)
+static struct lirc_rx51_platform_data rx51_lirc_data = {
+       .set_max_mpu_wakeup_lat = omap_pm_set_max_mpu_wakeup_lat,
+       .pwm_timer = 9, /* Use GPT 9 for CIR */
+};
+
+static struct platform_device rx51_lirc_device = {
+       .name           = "lirc_rx51",
+       .id             = -1,
+       .dev            = {
+               .platform_data = &rx51_lirc_data,
+       },
+};
+
+static void __init rx51_init_lirc(void)
+{
+       platform_device_register(&rx51_lirc_device);
+}
+#else
+static void __init rx51_init_lirc(void)
+{
+}
+#endif
+
 void __init rx51_peripherals_init(void)
 {
        rx51_i2c_init();
@@ -1230,6 +1259,7 @@ void __init rx51_peripherals_init(void)
        rx51_init_wl1251();
        rx51_init_tsc2005();
        rx51_init_si4713();
+       rx51_init_lirc();
        spi_register_board_info(rx51_peripherals_spi_board_info,
                                ARRAY_SIZE(rx51_peripherals_spi_board_info));