mx51: add imx_keypad device definition for mx51 platforms
authorJason Wang <jason77.wang@gmail.com>
Wed, 14 Jul 2010 13:24:53 +0000 (21:24 +0800)
committerSascha Hauer <s.hauer@pengutronix.de>
Mon, 26 Jul 2010 12:29:20 +0000 (14:29 +0200)
add imx_keypad platform device definition and clocks for mx51
platforms.

Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx5/clock-mx51.c
arch/arm/mach-mx5/devices.c
arch/arm/mach-mx5/devices.h

index fd24092..6af69de 100644 (file)
@@ -758,6 +758,10 @@ static struct clk gpt_32k_clk = {
        .parent = &ckil_clk,
 };
 
+static struct clk kpp_clk = {
+       .id = 0,
+};
+
 #define DEFINE_CLOCK(name, i, er, es, gr, sr, p, s)    \
        static struct clk name = {                      \
                .id             = i,                    \
@@ -832,6 +836,7 @@ static struct clk_lookup lookups[] = {
        _REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", ahb_clk)
        _REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk)
        _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk)
+       _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk)
 };
 
 static void clk_tree_init(void)
index fa11864..aafa61c 100644 (file)
@@ -226,6 +226,25 @@ struct platform_device mxc_wdt = {
        .resource = mxc_wdt_resources,
 };
 
+static struct resource mxc_kpp_resources[] = {
+       {
+               .start = MX51_MXC_INT_KPP,
+               .end = MX51_MXC_INT_KPP,
+               .flags = IORESOURCE_IRQ,
+       } , {
+               .start = MX51_KPP_BASE_ADDR,
+               .end = MX51_KPP_BASE_ADDR + 0x8 - 1,
+               .flags = IORESOURCE_MEM,
+       },
+};
+
+struct platform_device mxc_keypad_device = {
+       .name = "imx-keypad",
+       .id = 0,
+       .num_resources = ARRAY_SIZE(mxc_kpp_resources),
+       .resource = mxc_kpp_resources,
+};
+
 static struct mxc_gpio_port mxc_gpio_ports[] = {
        {
                .chip.label = "gpio-0",
index a853933..e509cfa 100644 (file)
@@ -9,3 +9,4 @@ extern struct platform_device mxc_wdt;
 extern struct platform_device mxc_i2c_device0;
 extern struct platform_device mxc_i2c_device1;
 extern struct platform_device mxc_hsi2c_device;
+extern struct platform_device mxc_keypad_device;