From a7cbe91dd18b61d4bec634d2c8706eccb266a9ec Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 30 Oct 2005 14:38:52 +0000 Subject: [PATCH] --- yaml --- r: 11928 b: refs/heads/master c: 8e4b8715d815a29b4f0655e698a0c5f8d05b6dc9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-pxa/poodle.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 1c9b49b3b427..66d9a7888855 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 91e1a512291f258746611c18ec4970a81c9f311b +refs/heads/master: 8e4b8715d815a29b4f0655e698a0c5f8d05b6dc9 diff --git a/trunk/arch/arm/mach-pxa/poodle.c b/trunk/arch/arm/mach-pxa/poodle.c index f25638810017..6d413f6701a7 100644 --- a/trunk/arch/arm/mach-pxa/poodle.c +++ b/trunk/arch/arm/mach-pxa/poodle.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -151,6 +152,24 @@ static struct pxamci_platform_data poodle_mci_platform_data = { }; +/* + * Irda + */ +static void poodle_irda_transceiver_mode(struct device *dev, int mode) +{ + if (mode & IR_OFF) { + GPSR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON); + } else { + GPCR(POODLE_GPIO_IR_ON) = GPIO_bit(POODLE_GPIO_IR_ON); + } +} + +static struct pxaficp_platform_data poodle_ficp_platform_data = { + .transceiver_cap = IR_SIRMODE | IR_OFF, + .transceiver_mode = poodle_irda_transceiver_mode, +}; + + /* * USB Device Controller */ @@ -244,8 +263,10 @@ static void __init poodle_init(void) set_pxa_fb_info(&poodle_fb_info); pxa_gpio_mode(POODLE_GPIO_USB_PULLUP | GPIO_OUT); + pxa_gpio_mode(POODLE_GPIO_IR_ON | GPIO_OUT); pxa_set_udc_info(&udc_info); pxa_set_mci_info(&poodle_mci_platform_data); + pxa_set_ficp_info(&poodle_ficp_platform_data); scoop_num = 1; scoop_devs = &poodle_pcmcia_scoop[0];