diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2014-07-26 05:45:28 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@freescale.com> | 2014-09-15 22:06:44 -0400 |
commit | 24980dc810f2c41929a50277946737e25ab3c0cd (patch) | |
tree | eaa785433017c017b8c5c8cfadaf33db33b3e731 | |
parent | c896e938505714d4346388ddc8a82fb190f235aa (diff) |
ARM: i.MX1: Add devicetree support
This patch adds basic devicetree support for i.MX1 based SoCs.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 8 | ||||
-rw-r--r-- | arch/arm/mach-imx/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx1-dt.c | 26 |
3 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 4e9b4f63d42b..11b2957f792b 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -69,6 +69,7 @@ config SOC_IMX1 | |||
69 | select CPU_ARM920T | 69 | select CPU_ARM920T |
70 | select IMX_HAVE_IOMUX_V1 | 70 | select IMX_HAVE_IOMUX_V1 |
71 | select MXC_AVIC | 71 | select MXC_AVIC |
72 | select PINCTRL_IMX1 | ||
72 | 73 | ||
73 | config SOC_IMX21 | 74 | config SOC_IMX21 |
74 | bool | 75 | bool |
@@ -124,6 +125,13 @@ config MACH_APF9328 | |||
124 | help | 125 | help |
125 | Say Yes here if you are using the Armadeus APF9328 development board | 126 | Say Yes here if you are using the Armadeus APF9328 development board |
126 | 127 | ||
128 | config MACH_IMX1_DT | ||
129 | bool "Support i.MX1 platforms from device tree" | ||
130 | select SOC_IMX1 | ||
131 | help | ||
132 | Include support for Freescale i.MX1 based platforms | ||
133 | using the device tree for discovery. | ||
134 | |||
127 | endif | 135 | endif |
128 | 136 | ||
129 | if ARCH_MULTI_V5 | 137 | if ARCH_MULTI_V5 |
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 4147729775d2..ef215d108e4d 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile | |||
@@ -43,6 +43,7 @@ endif | |||
43 | # i.MX1 based machines | 43 | # i.MX1 based machines |
44 | obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o | 44 | obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o |
45 | obj-$(CONFIG_MACH_APF9328) += mach-apf9328.o | 45 | obj-$(CONFIG_MACH_APF9328) += mach-apf9328.o |
46 | obj-$(CONFIG_MACH_IMX1_DT) += imx1-dt.o | ||
46 | 47 | ||
47 | # i.MX21 based machines | 48 | # i.MX21 based machines |
48 | obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o | 49 | obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o |
diff --git a/arch/arm/mach-imx/imx1-dt.c b/arch/arm/mach-imx/imx1-dt.c new file mode 100644 index 000000000000..6f915b0961c4 --- /dev/null +++ b/arch/arm/mach-imx/imx1-dt.c | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include <linux/of_platform.h> | ||
11 | #include <asm/mach/arch.h> | ||
12 | |||
13 | #include "common.h" | ||
14 | |||
15 | static const char * const imx1_dt_board_compat[] __initconst = { | ||
16 | "fsl,imx1", | ||
17 | NULL | ||
18 | }; | ||
19 | |||
20 | DT_MACHINE_START(IMX1_DT, "Freescale i.MX1 (Device Tree Support)") | ||
21 | .map_io = mx1_map_io, | ||
22 | .init_early = imx1_init_early, | ||
23 | .init_irq = mx1_init_irq, | ||
24 | .dt_compat = imx1_dt_board_compat, | ||
25 | .restart = mxc_restart, | ||
26 | MACHINE_END | ||