Commit | Line | Data |
---|---|---|
cfca8b53 PZ |
1 | /* |
2 | * author: Sascha Hauer | |
3 | * Created: april 20th, 2004 | |
4 | * Copyright: Synertronixx GmbH | |
5 | * | |
07469495 | 6 | * Common code for i.MX1 machines |
cfca8b53 PZ |
7 | * |
8 | * This program is free software; you can redistribute it and/or modify | |
9 | * it under the terms of the GNU General Public License as published by | |
10 | * the Free Software Foundation; either version 2 of the License, or | |
11 | * (at your option) any later version. | |
12 | * | |
13 | * This program is distributed in the hope that it will be useful, | |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | * GNU General Public License for more details. | |
cfca8b53 PZ |
17 | */ |
18 | #include <linux/kernel.h> | |
19 | #include <linux/init.h> | |
20 | #include <linux/io.h> | |
21 | ||
22 | #include <asm/mach/map.h> | |
23 | ||
345569a2 | 24 | #include <mach/common.h> |
cfca8b53 | 25 | #include <mach/hardware.h> |
5ae30b47 SH |
26 | #include <mach/gpio.h> |
27 | #include <mach/irqs.h> | |
ff255feb | 28 | #include <mach/iomux-v1.h> |
cfca8b53 PZ |
29 | |
30 | static struct map_desc imx_io_desc[] __initdata = { | |
08ff97b5 | 31 | imx_map_entry(MX1, IO, MT_DEVICE), |
cfca8b53 PZ |
32 | }; |
33 | ||
cd4a05f9 | 34 | void __init mx1_map_io(void) |
3dac2196 UKK |
35 | { |
36 | iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc)); | |
37 | } | |
38 | ||
39 | void __init imx1_init_early(void) | |
cfca8b53 | 40 | { |
cd4a05f9 | 41 | mxc_set_cpu_type(MXC_CPU_MX1); |
05a3185c | 42 | mxc_arch_reset_init(MX1_IO_ADDRESS(MX1_WDT_BASE_ADDR)); |
ff255feb SH |
43 | imx_iomuxv1_init(MX1_IO_ADDRESS(MX1_GPIO_BASE_ADDR), |
44 | MX1_NUM_GPIO_PORT); | |
cfca8b53 | 45 | } |
c5aa0ad0 | 46 | |
5ae30b47 SH |
47 | static struct mxc_gpio_port imx1_gpio_ports[] = { |
48 | DEFINE_IMX_GPIO_PORT_IRQ(MX1, 0, 1, MX1_GPIO_INT_PORTA), | |
49 | DEFINE_IMX_GPIO_PORT_IRQ(MX1, 1, 2, MX1_GPIO_INT_PORTB), | |
50 | DEFINE_IMX_GPIO_PORT_IRQ(MX1, 2, 3, MX1_GPIO_INT_PORTC), | |
51 | DEFINE_IMX_GPIO_PORT_IRQ(MX1, 3, 4, MX1_GPIO_INT_PORTD), | |
52 | }; | |
9a763bfb | 53 | |
c5aa0ad0 SH |
54 | void __init mx1_init_irq(void) |
55 | { | |
05a3185c | 56 | mxc_init_irq(MX1_IO_ADDRESS(MX1_AVIC_BASE_ADDR)); |
5ae30b47 | 57 | mxc_gpio_init(imx1_gpio_ports, ARRAY_SIZE(imx1_gpio_ports)); |
c5aa0ad0 | 58 | } |