diff options
| author | Olof Johansson <olof@lixom.net> | 2012-11-26 02:26:53 -0500 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2012-11-26 02:26:53 -0500 |
| commit | 8d2282a77bf0977e7033d8ea5970f369bc28f0f0 (patch) | |
| tree | 25af2fa8e1b4c001ebdbc97f465f946786ba1678 | |
| parent | 24025f6f5821bf3715b283f6490212ac44d6a4fe (diff) | |
| parent | 25d6dd859e73248432051257b4b4d2a3d51b295b (diff) | |
Merge tag 'mxs-dt-3.8-2' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt
From Shawn Guo:
They are a few mxs dts updates coming a little bit late. I'm sending
them as the second mxs/dt pull request for 3.8. Please consider to
pull.
* tag 'mxs-dt-3.8-2' of git://git.linaro.org/people/shawnguo/linux-2.6:
ARM: dts: mxs: add oled support for the cfa-10036
ARM: mxs: Add SchulerControl SPS1 DTS file
ARM: imx23-olinuxino: Add spi support
| -rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/boot/dts/imx23-olinuxino.dts | 9 | ||||
| -rw-r--r-- | arch/arm/boot/dts/imx23.dtsi | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/imx28-cfa10036.dts | 19 | ||||
| -rw-r--r-- | arch/arm/boot/dts/imx28-sps1.dts | 169 | ||||
| -rw-r--r-- | arch/arm/mach-mxs/mach-mxs.c | 7 |
6 files changed, 218 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index e1e2a6d119f2..83faa72dc176 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
| @@ -67,6 +67,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | |||
| 67 | imx28-cfa10049.dtb \ | 67 | imx28-cfa10049.dtb \ |
| 68 | imx28-evk.dtb \ | 68 | imx28-evk.dtb \ |
| 69 | imx28-m28evk.dtb \ | 69 | imx28-m28evk.dtb \ |
| 70 | imx28-sps1.dtb \ | ||
| 70 | imx28-tx28.dtb | 71 | imx28-tx28.dtb |
| 71 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | 72 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ |
| 72 | omap3-beagle.dtb \ | 73 | omap3-beagle.dtb \ |
diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts index 8bd56fc7e194..7c43b8e70b9f 100644 --- a/arch/arm/boot/dts/imx23-olinuxino.dts +++ b/arch/arm/boot/dts/imx23-olinuxino.dts | |||
| @@ -56,6 +56,15 @@ | |||
| 56 | fsl,pull-up = <0>; | 56 | fsl,pull-up = <0>; |
| 57 | }; | 57 | }; |
| 58 | }; | 58 | }; |
| 59 | |||
| 60 | ssp1: ssp@80034000 { | ||
| 61 | #address-cells = <1>; | ||
| 62 | #size-cells = <0>; | ||
| 63 | compatible = "fsl,imx23-spi"; | ||
| 64 | pinctrl-names = "default"; | ||
| 65 | pinctrl-0 = <&spi2_pins_a>; | ||
| 66 | status = "okay"; | ||
| 67 | }; | ||
| 59 | }; | 68 | }; |
| 60 | 69 | ||
| 61 | apbx@80040000 { | 70 | apbx@80040000 { |
diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi index 6d31aa383460..65415c598a5e 100644 --- a/arch/arm/boot/dts/imx23.dtsi +++ b/arch/arm/boot/dts/imx23.dtsi | |||
| @@ -279,6 +279,19 @@ | |||
| 279 | fsl,voltage = <1>; | 279 | fsl,voltage = <1>; |
| 280 | fsl,pull-up = <0>; | 280 | fsl,pull-up = <0>; |
| 281 | }; | 281 | }; |
| 282 | |||
| 283 | spi2_pins_a: spi2@0 { | ||
| 284 | reg = <0>; | ||
| 285 | fsl,pinmux-ids = < | ||
| 286 | 0x0182 /* MX23_PAD_GPMI_WRN__SSP2_SCK */ | ||
| 287 | 0x0142 /* MX23_PAD_GPMI_RDY1__SSP2_CMD */ | ||
| 288 | 0x0002 /* MX23_PAD_GPMI_D00__SSP2_DATA0 */ | ||
| 289 | 0x0032 /* MX23_PAD_GPMI_D03__SSP2_DATA3 */ | ||
| 290 | >; | ||
| 291 | fsl,drive-strength = <1>; | ||
| 292 | fsl,voltage = <1>; | ||
| 293 | fsl,pull-up = <1>; | ||
| 294 | }; | ||
| 282 | }; | 295 | }; |
| 283 | 296 | ||
| 284 | digctl@8001c000 { | 297 | digctl@8001c000 { |
diff --git a/arch/arm/boot/dts/imx28-cfa10036.dts b/arch/arm/boot/dts/imx28-cfa10036.dts index 794fc9f8ec3c..1594694532b9 100644 --- a/arch/arm/boot/dts/imx28-cfa10036.dts +++ b/arch/arm/boot/dts/imx28-cfa10036.dts | |||
| @@ -58,11 +58,30 @@ | |||
| 58 | }; | 58 | }; |
| 59 | 59 | ||
| 60 | apbx@80040000 { | 60 | apbx@80040000 { |
| 61 | pwm: pwm@80064000 { | ||
| 62 | pinctrl-names = "default"; | ||
| 63 | pinctrl-0 = <&pwm4_pins_a>; | ||
| 64 | status = "okay"; | ||
| 65 | }; | ||
| 66 | |||
| 61 | duart: serial@80074000 { | 67 | duart: serial@80074000 { |
| 62 | pinctrl-names = "default"; | 68 | pinctrl-names = "default"; |
| 63 | pinctrl-0 = <&duart_pins_b>; | 69 | pinctrl-0 = <&duart_pins_b>; |
| 64 | status = "okay"; | 70 | status = "okay"; |
| 65 | }; | 71 | }; |
| 72 | |||
| 73 | i2c0: i2c@80058000 { | ||
| 74 | pinctrl-names = "default"; | ||
| 75 | pinctrl-0 = <&i2c0_pins_b>; | ||
| 76 | status = "okay"; | ||
| 77 | |||
| 78 | ssd1307: oled@3c { | ||
| 79 | compatible = "solomon,ssd1307fb-i2c"; | ||
| 80 | reg = <0x3c>; | ||
| 81 | pwms = <&pwm 4 3000>; | ||
| 82 | reset-gpios = <&gpio2 7 0>; | ||
| 83 | }; | ||
| 84 | }; | ||
| 66 | }; | 85 | }; |
| 67 | }; | 86 | }; |
| 68 | 87 | ||
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); |
