diff options
author | Marek Vasut <marex@denx.de> | 2012-11-18 16:08:29 -0500 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-11-20 09:09:05 -0500 |
commit | 160d5f27605f5acac8f426d862e8f8a499eef2b5 (patch) | |
tree | 00334d37b84f86c6ba61bf1af8a39f2117850291 | |
parent | a04878645f54d238821fff85e46d7603f45a0a1f (diff) |
ARM: mxs: Add SchulerControl SPS1 DTS file
Add DTS file for this custom board.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.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-sps1.dts | 169 | ||||
-rw-r--r-- | arch/arm/mach-mxs/mach-mxs.c | 7 |
3 files changed, 177 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index b451a79f2b3..73f0a61a8d1 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -61,6 +61,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | |||
61 | imx28-cfa10049.dtb \ | 61 | imx28-cfa10049.dtb \ |
62 | imx28-evk.dtb \ | 62 | imx28-evk.dtb \ |
63 | imx28-m28evk.dtb \ | 63 | imx28-m28evk.dtb \ |
64 | imx28-sps1.dtb \ | ||
64 | imx28-tx28.dtb | 65 | imx28-tx28.dtb |
65 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | 66 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ |
66 | omap3-beagle-xm.dtb \ | 67 | omap3-beagle-xm.dtb \ |
diff --git a/arch/arm/boot/dts/imx28-sps1.dts b/arch/arm/boot/dts/imx28-sps1.dts new file mode 100644 index 00000000000..e6cde8aa7ff --- /dev/null +++ b/arch/arm/boot/dts/imx28-sps1.dts | |||
@@ -0,0 +1,169 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Marek Vasut <marex@denx.de> | ||
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 = "SchulerControl GmbH, SC SPS 1"; | ||
17 | compatible = "schulercontrol,imx28-sps1", "fsl,imx28"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x40000000 0x08000000>; | ||
21 | }; | ||
22 | |||
23 | apb@80000000 { | ||
24 | apbh@80000000 { | ||
25 | pinctrl@80018000 { | ||
26 | pinctrl-names = "default"; | ||
27 | pinctrl-0 = <&hog_pins_a>; | ||
28 | |||
29 | hog_pins_a: hog-gpios@0 { | ||
30 | reg = <0>; | ||
31 | fsl,pinmux-ids = < | ||
32 | 0x0003 /* MX28_PAD_GPMI_D00__GPIO_0_0 */ | ||
33 | 0x0033 /* MX28_PAD_GPMI_D03__GPIO_0_3 */ | ||
34 | 0x0063 /* MX28_PAD_GPMI_D06__GPIO_0_6 */ | ||
35 | >; | ||
36 | fsl,drive-strength = <0>; | ||
37 | fsl,voltage = <1>; | ||
38 | fsl,pull-up = <0>; | ||
39 | }; | ||
40 | |||
41 | }; | ||
42 | |||
43 | ssp0: ssp@80010000 { | ||
44 | compatible = "fsl,imx28-mmc"; | ||
45 | pinctrl-names = "default"; | ||
46 | pinctrl-0 = <&mmc0_4bit_pins_a>; | ||
47 | bus-width = <4>; | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | ssp2: ssp@80014000 { | ||
52 | #address-cells = <1>; | ||
53 | #size-cells = <0>; | ||
54 | compatible = "fsl,imx28-spi"; | ||
55 | pinctrl-names = "default"; | ||
56 | pinctrl-0 = <&spi2_pins_a>; | ||
57 | status = "okay"; | ||
58 | |||
59 | flash: m25p80@0 { | ||
60 | #address-cells = <1>; | ||
61 | #size-cells = <1>; | ||
62 | compatible = "everspin,mr25h256", "mr25h256"; | ||
63 | spi-max-frequency = <40000000>; | ||
64 | reg = <0>; | ||
65 | }; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | apbx@80040000 { | ||
70 | i2c0: i2c@80058000 { | ||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&i2c0_pins_a>; | ||
73 | clock-frequency = <400000>; | ||
74 | status = "okay"; | ||
75 | |||
76 | rtc: rtc@51 { | ||
77 | compatible = "nxp,pcf8563"; | ||
78 | reg = <0x51>; | ||
79 | }; | ||
80 | |||
81 | eeprom: eeprom@52 { | ||
82 | compatible = "atmel,24c64"; | ||
83 | reg = <0x52>; | ||
84 | pagesize = <32>; | ||
85 | }; | ||
86 | }; | ||
87 | |||
88 | duart: serial@80074000 { | ||
89 | pinctrl-names = "default"; | ||
90 | pinctrl-0 = <&duart_pins_a>; | ||
91 | status = "okay"; | ||
92 | }; | ||
93 | |||
94 | usbphy0: usbphy@8007c000 { | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | |||
98 | auart0: serial@8006a000 { | ||
99 | pinctrl-names = "default"; | ||
100 | pinctrl-0 = <&auart0_pins_a>; | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | ahb@80080000 { | ||
107 | usb0: usb@80080000 { | ||
108 | vbus-supply = <®_usb0_vbus>; | ||
109 | pinctrl-names = "default"; | ||
110 | pinctrl-0 = <&usbphy0_pins_b>; | ||
111 | status = "okay"; | ||
112 | }; | ||
113 | |||
114 | mac0: ethernet@800f0000 { | ||
115 | phy-mode = "rmii"; | ||
116 | pinctrl-names = "default"; | ||
117 | pinctrl-0 = <&mac0_pins_a>; | ||
118 | status = "okay"; | ||
119 | }; | ||
120 | |||
121 | mac1: ethernet@800f4000 { | ||
122 | phy-mode = "rmii"; | ||
123 | pinctrl-names = "default"; | ||
124 | pinctrl-0 = <&mac1_pins_a>; | ||
125 | status = "okay"; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | regulators { | ||
130 | compatible = "simple-bus"; | ||
131 | |||
132 | reg_usb0_vbus: usb0_vbus { | ||
133 | compatible = "regulator-fixed"; | ||
134 | regulator-name = "usb0_vbus"; | ||
135 | regulator-min-microvolt = <5000000>; | ||
136 | regulator-max-microvolt = <5000000>; | ||
137 | gpio = <&gpio3 9 0>; | ||
138 | }; | ||
139 | }; | ||
140 | |||
141 | leds { | ||
142 | #address-cells = <1>; | ||
143 | #size-cells = <0>; | ||
144 | compatible = "gpio-leds"; | ||
145 | status = "okay"; | ||
146 | |||
147 | led@1 { | ||
148 | label = "sps1-1:yellow:user"; | ||
149 | gpios = <&gpio0 6 0>; | ||
150 | linux,default-trigger = "heartbeat"; | ||
151 | reg = <0>; | ||
152 | }; | ||
153 | |||
154 | led@2 { | ||
155 | label = "sps1-2:red:user"; | ||
156 | gpios = <&gpio0 3 0>; | ||
157 | linux,default-trigger = "heartbeat"; | ||
158 | reg = <1>; | ||
159 | }; | ||
160 | |||
161 | led@3 { | ||
162 | label = "sps1-3:red:user"; | ||
163 | gpios = <&gpio0 0 0>; | ||
164 | default-trigger = "heartbeat"; | ||
165 | reg = <2>; | ||
166 | }; | ||
167 | |||
168 | }; | ||
169 | }; | ||
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c index 67ef3550609..98070370d60 100644 --- a/arch/arm/mach-mxs/mach-mxs.c +++ b/arch/arm/mach-mxs/mach-mxs.c | |||
@@ -290,6 +290,11 @@ static void __init m28evk_init(void) | |||
290 | mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; | 290 | mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; |
291 | } | 291 | } |
292 | 292 | ||
293 | static void __init sc_sps1_init(void) | ||
294 | { | ||
295 | enable_clk_enet_out(); | ||
296 | } | ||
297 | |||
293 | static int apx4devkit_phy_fixup(struct phy_device *phy) | 298 | static int apx4devkit_phy_fixup(struct phy_device *phy) |
294 | { | 299 | { |
295 | phy->dev_flags |= MICREL_PHY_50MHZ_CLK; | 300 | phy->dev_flags |= MICREL_PHY_50MHZ_CLK; |
@@ -414,6 +419,8 @@ static void __init mxs_machine_init(void) | |||
414 | cfa10049_init(); | 419 | cfa10049_init(); |
415 | else if (of_machine_is_compatible("armadeus,imx28-apf28")) | 420 | else if (of_machine_is_compatible("armadeus,imx28-apf28")) |
416 | apf28_init(); | 421 | apf28_init(); |
422 | else if (of_machine_is_compatible("schulercontrol,imx28-sps1")) | ||
423 | sc_sps1_init(); | ||
417 | 424 | ||
418 | of_platform_populate(NULL, of_default_bus_match_table, | 425 | of_platform_populate(NULL, of_default_bus_match_table, |
419 | mxs_auxdata_lookup, NULL); | 426 | mxs_auxdata_lookup, NULL); |