diff options
author | Julien Boibessot <julien.boibessot@armadeus.com> | 2012-10-18 05:50:26 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-10-19 04:45:20 -0400 |
commit | a957fdca4feb7fbc51f9c7c6a152a86f35ca7751 (patch) | |
tree | 02fe1029ff58c3af71eb3e1b84f464e2ed47cc83 | |
parent | 8eec4b3117405e5561d2c65c9222cf3334c0ca3a (diff) |
ARM: mxs: Add support for the Armadeus Systems APF28 module
The APF28 is a small SOM built around an i.MX28 processor with 128MBytes DDR2,
256MBytes NAND Flash and an Ethernet PHY.
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@armadeus.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx28-apf28.dts | 85 | ||||
-rw-r--r-- | arch/arm/mach-mxs/mach-mxs.c | 7 |
3 files changed, 93 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index c1ce813fcc4a..9bca96f0438f 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \ | |||
54 | dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | 54 | dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ |
55 | imx23-olinuxino.dtb \ | 55 | imx23-olinuxino.dtb \ |
56 | imx23-stmp378x_devb.dtb \ | 56 | imx23-stmp378x_devb.dtb \ |
57 | imx28-apf28.dtb \ | ||
57 | imx28-apx4devkit.dtb \ | 58 | imx28-apx4devkit.dtb \ |
58 | imx28-cfa10036.dtb \ | 59 | imx28-cfa10036.dtb \ |
59 | imx28-cfa10049.dtb \ | 60 | imx28-cfa10049.dtb \ |
diff --git a/arch/arm/boot/dts/imx28-apf28.dts b/arch/arm/boot/dts/imx28-apf28.dts new file mode 100644 index 000000000000..7eb075876c4c --- /dev/null +++ b/arch/arm/boot/dts/imx28-apf28.dts | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Armadeus Systems - <support@armadeus.com> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "imx28.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Armadeus Systems APF28 module"; | ||
17 | compatible = "armadeus,imx28-apf28", "fsl,imx28"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x40000000 0x08000000>; | ||
21 | }; | ||
22 | |||
23 | apb@80000000 { | ||
24 | apbh@80000000 { | ||
25 | gpmi-nand@8000c000 { | ||
26 | pinctrl-names = "default"; | ||
27 | pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; | ||
28 | status = "okay"; | ||
29 | |||
30 | partition@0 { | ||
31 | label = "u-boot"; | ||
32 | reg = <0x0 0x300000>; | ||
33 | }; | ||
34 | |||
35 | partition@300000 { | ||
36 | label = "env"; | ||
37 | reg = <0x300000 0x80000>; | ||
38 | }; | ||
39 | |||
40 | partition@380000 { | ||
41 | label = "env2"; | ||
42 | reg = <0x380000 0x80000>; | ||
43 | }; | ||
44 | |||
45 | partition@400000 { | ||
46 | label = "dtb"; | ||
47 | reg = <0x400000 0x80000>; | ||
48 | }; | ||
49 | |||
50 | partition@480000 { | ||
51 | label = "splash"; | ||
52 | reg = <0x480000 0x80000>; | ||
53 | }; | ||
54 | |||
55 | partition@500000 { | ||
56 | label = "kernel"; | ||
57 | reg = <0x500000 0x800000>; | ||
58 | }; | ||
59 | |||
60 | partition@d00000 { | ||
61 | label = "rootfs"; | ||
62 | reg = <0xd00000 0xf300000>; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | apbx@80040000 { | ||
68 | duart: serial@80074000 { | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&duart_pins_a>; | ||
71 | status = "okay"; | ||
72 | }; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | ahb@80080000 { | ||
77 | mac0: ethernet@800f0000 { | ||
78 | phy-mode = "rmii"; | ||
79 | pinctrl-names = "default"; | ||
80 | pinctrl-0 = <&mac0_pins_a>; | ||
81 | phy-reset-gpios = <&gpio4 13 0>; | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c index b8c452a1b0ae..9cfb25cb0e90 100644 --- a/arch/arm/mach-mxs/mach-mxs.c +++ b/arch/arm/mach-mxs/mach-mxs.c | |||
@@ -367,6 +367,11 @@ static void __init cfa10049_init(void) | |||
367 | update_fec_mac_prop(OUI_CRYSTALFONTZ); | 367 | update_fec_mac_prop(OUI_CRYSTALFONTZ); |
368 | } | 368 | } |
369 | 369 | ||
370 | static void __init apf28_init(void) | ||
371 | { | ||
372 | enable_clk_enet_out(); | ||
373 | } | ||
374 | |||
370 | static void __init mxs_machine_init(void) | 375 | static void __init mxs_machine_init(void) |
371 | { | 376 | { |
372 | if (of_machine_is_compatible("fsl,imx28-evk")) | 377 | if (of_machine_is_compatible("fsl,imx28-evk")) |
@@ -379,6 +384,8 @@ static void __init mxs_machine_init(void) | |||
379 | apx4devkit_init(); | 384 | apx4devkit_init(); |
380 | else if (of_machine_is_compatible("crystalfontz,cfa10049")) | 385 | else if (of_machine_is_compatible("crystalfontz,cfa10049")) |
381 | cfa10049_init(); | 386 | cfa10049_init(); |
387 | else if (of_machine_is_compatible("armadeus,imx28-apf28")) | ||
388 | apf28_init(); | ||
382 | 389 | ||
383 | of_platform_populate(NULL, of_default_bus_match_table, | 390 | of_platform_populate(NULL, of_default_bus_match_table, |
384 | mxs_auxdata_lookup, NULL); | 391 | mxs_auxdata_lookup, NULL); |