Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85f91dd0 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Paul Mundt
Browse files

ARM: mach-shmobile: g3evm: Add IrDA support

parent 495b3cea
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -38,6 +38,14 @@
#include <asm/mach/arch.h>
#include <asm/mach/map.h>

/*
 * IrDA
 *
 * S67: 5bit : ON  power
 *    : 6bit : ON  remote control
 *             OFF IrDA
 */

static struct mtd_partition nor_flash_partitions[] = {
	{
		.name		= "loader",
@@ -209,11 +217,30 @@ static struct platform_device nand_flash_device = {
	},
};

static struct resource irda_resources[] = {
	[0] = {
		.start	= 0xE6D00000,
		.end	= 0xE6D01FD4 - 1,
		.flags	= IORESOURCE_MEM,
	},
	[1] = {
		.start  = 20,
		.flags  = IORESOURCE_IRQ,
	},
};

static struct platform_device irda_device = {
	.name		= "sh_irda",
	.resource	= irda_resources,
	.num_resources	= ARRAY_SIZE(irda_resources),
};

static struct platform_device *g3evm_devices[] __initdata = {
	&nor_flash_device,
	&usb_host_device,
	&keysc_device,
	&nand_flash_device,
	&irda_device,
};

static struct map_desc g3evm_io_desc[] __initdata = {
@@ -318,6 +345,12 @@ static void __init g3evm_init(void)
	/* FOE, FCDE, FSC on dedicated pins */
	__raw_writel(__raw_readl(0xe6158048) & ~(1 << 15), 0xe6158048);

	/* IrDA */
	gpio_request(GPIO_FN_IRDA_OUT, NULL);
	gpio_request(GPIO_FN_IRDA_IN, NULL);
	gpio_request(GPIO_FN_IRDA_FIRSEL, NULL);
	set_irq_type(20, IRQ_TYPE_LEVEL_LOW);

	sh7367_add_standard_devices();

	platform_add_devices(g3evm_devices, ARRAY_SIZE(g3evm_devices));