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 b451a79f2b32..73f0a61a8d1c 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 000000000000..e6cde8aa7fff --- /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 67ef35506093..98070370d602 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); |
