diff options
-rw-r--r-- | arch/arm/mach-mx5/clock-mx51.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-mx5/devices.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-mx5/devices.h | 1 |
3 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c index fd24092154b5..6af69def357f 100644 --- a/arch/arm/mach-mx5/clock-mx51.c +++ b/arch/arm/mach-mx5/clock-mx51.c | |||
@@ -758,6 +758,10 @@ static struct clk gpt_32k_clk = { | |||
758 | .parent = &ckil_clk, | 758 | .parent = &ckil_clk, |
759 | }; | 759 | }; |
760 | 760 | ||
761 | static struct clk kpp_clk = { | ||
762 | .id = 0, | ||
763 | }; | ||
764 | |||
761 | #define DEFINE_CLOCK(name, i, er, es, gr, sr, p, s) \ | 765 | #define DEFINE_CLOCK(name, i, er, es, gr, sr, p, s) \ |
762 | static struct clk name = { \ | 766 | static struct clk name = { \ |
763 | .id = i, \ | 767 | .id = i, \ |
@@ -832,6 +836,7 @@ static struct clk_lookup lookups[] = { | |||
832 | _REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", ahb_clk) | 836 | _REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", ahb_clk) |
833 | _REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk) | 837 | _REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk) |
834 | _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk) | 838 | _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk) |
839 | _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk) | ||
835 | }; | 840 | }; |
836 | 841 | ||
837 | static void clk_tree_init(void) | 842 | static void clk_tree_init(void) |
diff --git a/arch/arm/mach-mx5/devices.c b/arch/arm/mach-mx5/devices.c index fa118646c99e..aafa61c6cec5 100644 --- a/arch/arm/mach-mx5/devices.c +++ b/arch/arm/mach-mx5/devices.c | |||
@@ -226,6 +226,25 @@ struct platform_device mxc_wdt = { | |||
226 | .resource = mxc_wdt_resources, | 226 | .resource = mxc_wdt_resources, |
227 | }; | 227 | }; |
228 | 228 | ||
229 | static struct resource mxc_kpp_resources[] = { | ||
230 | { | ||
231 | .start = MX51_MXC_INT_KPP, | ||
232 | .end = MX51_MXC_INT_KPP, | ||
233 | .flags = IORESOURCE_IRQ, | ||
234 | } , { | ||
235 | .start = MX51_KPP_BASE_ADDR, | ||
236 | .end = MX51_KPP_BASE_ADDR + 0x8 - 1, | ||
237 | .flags = IORESOURCE_MEM, | ||
238 | }, | ||
239 | }; | ||
240 | |||
241 | struct platform_device mxc_keypad_device = { | ||
242 | .name = "imx-keypad", | ||
243 | .id = 0, | ||
244 | .num_resources = ARRAY_SIZE(mxc_kpp_resources), | ||
245 | .resource = mxc_kpp_resources, | ||
246 | }; | ||
247 | |||
229 | static struct mxc_gpio_port mxc_gpio_ports[] = { | 248 | static struct mxc_gpio_port mxc_gpio_ports[] = { |
230 | { | 249 | { |
231 | .chip.label = "gpio-0", | 250 | .chip.label = "gpio-0", |
diff --git a/arch/arm/mach-mx5/devices.h b/arch/arm/mach-mx5/devices.h index a853933682e7..e509cfaad1d4 100644 --- a/arch/arm/mach-mx5/devices.h +++ b/arch/arm/mach-mx5/devices.h | |||
@@ -9,3 +9,4 @@ extern struct platform_device mxc_wdt; | |||
9 | extern struct platform_device mxc_i2c_device0; | 9 | extern struct platform_device mxc_i2c_device0; |
10 | extern struct platform_device mxc_i2c_device1; | 10 | extern struct platform_device mxc_i2c_device1; |
11 | extern struct platform_device mxc_hsi2c_device; | 11 | extern struct platform_device mxc_hsi2c_device; |
12 | extern struct platform_device mxc_keypad_device; | ||