Signed-off-by: Dmitry Eremin-Solenikov <[email protected]> Signed-off-by: Andrea Adami <[email protected]> --- .../linux/linux-yocto-3.10/collie/collie.scc | 1 + .../patches/patches-sa1100/collie-irda.patch | 88 ++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 recipes-kernel/linux/linux-yocto-3.10/patches/patches-sa1100/collie-irda.patch
diff --git a/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc b/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc index 3b9b55a..f66b7be 100644 --- a/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc +++ b/recipes-kernel/linux/linux-yocto-3.10/collie/collie.scc @@ -11,3 +11,4 @@ patch ../patches/patches-mtd/collie-eraseinfo.patch patch ../patches/patches-mtd/collie-force-cfi.patch patch ../patches/patches-mtd/collie-mtd-resize.patch patch ../patches/patches-mtd/collie-force-unlock.patch +patch ../patches/patches-sa1100/collie-irda.patch diff --git a/recipes-kernel/linux/linux-yocto-3.10/patches/patches-sa1100/collie-irda.patch b/recipes-kernel/linux/linux-yocto-3.10/patches/patches-sa1100/collie-irda.patch new file mode 100644 index 0000000..46ad808 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto-3.10/patches/patches-sa1100/collie-irda.patch @@ -0,0 +1,88 @@ +From c6fb61edf283f255c3763a57366bb89bb36ad79c Mon Sep 17 00:00:00 2001 +From: Dmitry Eremin-Solenikov <[email protected]> +Date: Fri, 8 Nov 2013 17:57:32 +0400 +Subject: [PATCH] collie: add support for IrDA transceiver + +Collie has onboard IrDA transceiver controlled via active-low gpio. Add +corresponding platform data. + +Signed-off-by: Dmitry Eremin-Solenikov <[email protected]> +--- + arch/arm/mach-sa1100/collie.c | 33 ++++++++++++++++++++++++++++++ + arch/arm/mach-sa1100/include/mach/collie.h | 2 +- + 2 files changed, 34 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c +index 2349dee..1b9473d 100644 +--- a/arch/arm/mach-sa1100/collie.c ++++ b/arch/arm/mach-sa1100/collie.c +@@ -41,6 +41,7 @@ + #include <asm/mach/arch.h> + #include <asm/mach/flash.h> + #include <asm/mach/map.h> ++#include <asm/mach/irda.h> + + #include <asm/hardware/scoop.h> + #include <asm/mach/sharpsl_param.h> +@@ -94,6 +95,37 @@ static struct mcp_plat_data collie_mcp_data = { + .codec_pdata = &collie_ucb1x00_data, + }; + ++int collie_ir_startup(struct device *dev) ++{ ++ int rc = gpio_request(COLLIE_GPIO_IR_ON, "IrDA"); ++ if (rc) ++ return rc; ++ rc = gpio_direction_output(COLLIE_GPIO_IR_ON, 1); ++ ++ if (!rc) ++ return 0; ++ ++ gpio_free(COLLIE_GPIO_IR_ON); ++ return rc; ++} ++ ++void collie_ir_shutdown(struct device *dev) ++{ ++ gpio_free(COLLIE_GPIO_IR_ON); ++} ++ ++static int collie_ir_set_power(struct device *dev, unsigned int state) ++{ ++ gpio_set_value(COLLIE_GPIO_IR_ON, !state); ++ return 0; ++} ++ ++static struct irda_platform_data collie_ir_data = { ++ .startup = collie_ir_startup, ++ .shutdown = collie_ir_shutdown, ++ .set_power = collie_ir_set_power, ++}; ++ + /* + * Collie AC IN + */ +@@ -323,6 +355,7 @@ static void __init collie_init(void) + sa11x0_register_mtd(&collie_flash_data, collie_flash_resources, + ARRAY_SIZE(collie_flash_resources)); + sa11x0_register_mcp(&collie_mcp_data); ++ sa11x0_register_irda(&collie_ir_data); + + sharpsl_save_param(); + } +diff --git a/arch/arm/mach-sa1100/include/mach/collie.h b/arch/arm/mach-sa1100/include/mach/collie.h +index f33679d..0ef22f9 100644 +--- a/arch/arm/mach-sa1100/include/mach/collie.h ++++ b/arch/arm/mach-sa1100/include/mach/collie.h +@@ -78,7 +78,7 @@ extern void locomolcd_power(int on); + #define COLLIE_TC35143_GPIO_VERSION0 UCB_IO_0 + #define COLLIE_TC35143_GPIO_TBL_CHK UCB_IO_1 + #define COLLIE_TC35143_GPIO_VPEN_ON UCB_IO_2 +-#define COLLIE_TC35143_GPIO_IR_ON UCB_IO_3 ++#define COLLIE_GPIO_IR_ON (COLLIE_TC35143_GPIO_BASE + 3) + #define COLLIE_TC35143_GPIO_AMP_ON UCB_IO_4 + #define COLLIE_TC35143_GPIO_VERSION1 UCB_IO_5 + #define COLLIE_TC35143_GPIO_FS8KLPF UCB_IO_5 +-- +1.8.4.rc3 + -- 1.8.1.5 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
