Merge tag 'mxs-dt-3.12' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt
authorKevin Hilman <khilman@linaro.org>
Fri, 23 Aug 2013 19:09:38 +0000 (12:09 -0700)
committerOlof Johansson <olof@lixom.net>
Tue, 3 Sep 2013 17:20:04 +0000 (10:20 -0700)
From Shawn Guo:
It contains mxs device tree changes for 3.12.

- New board addition and hogpins cleanup for Crystalfontz
- New pinctrl entry addition for lcd, ssp2 and saif0
- Add alias and labels for various nodes
- Enable devices like LRADC and USB for a couple of imx23 boards,
  and backlight for M28EVK

* tag 'mxs-dt-3.12' of git://git.linaro.org/people/shawnguo/linux-2.6:
  ARM: dts: mxs: add pin config for LCD sync and clock pins
  ARM: dts: mxs: add pin config for SSP3 interface
  ARM: dts: mxs: add another set of saif0_pins (without MCLK)
  ARM: dts: mxs: add labels to most nodes for easier reference
  ARM: dts: mxs: whitespace cleanup
  ARM: dts: mxs: Add spi alias
  ARM: dts: imx23-olinuxino: enable Low Resolution ADC
  ARM: dts: imx23-evk: enable Low Resolution ADC
  ARM: dts: imx23-evk: enable USB PHY and controller
  ARM: dts: mxs: remove old DMA binding data from client nodes
  ARM: mxs: Add backlight support for M28EVK
  ARM: mxs: dt: cfa10036: make hogpins grabbed by respective drivers
  ARM: mxs: dt: cfa10057: remove hogpins
  ARM: mxs: dt: cfa10055: make hogpins grabbed by respective drivers
  ARM: mxs: dt: cfa10049: make hogpins grabbed by respective drivers
  ARM: mxs: dt: cfa10037: make hogpins grabbed by respective drivers
  ARM: mxs: dt: Add Crystalfontz CFA-10058 device tree
  ARM: mxs: dt: Add Crystalfontz CFA-10056 device tree

13 files changed:
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx23-evk.dts
arch/arm/boot/dts/imx23-olinuxino.dts
arch/arm/boot/dts/imx23.dtsi
arch/arm/boot/dts/imx28-cfa10036.dts
arch/arm/boot/dts/imx28-cfa10037.dts
arch/arm/boot/dts/imx28-cfa10049.dts
arch/arm/boot/dts/imx28-cfa10055.dts
arch/arm/boot/dts/imx28-cfa10056.dts [new file with mode: 0644]
arch/arm/boot/dts/imx28-cfa10057.dts
arch/arm/boot/dts/imx28-cfa10058.dts [new file with mode: 0644]
arch/arm/boot/dts/imx28-m28evk.dts
arch/arm/boot/dts/imx28.dtsi

index 34d317e..a491687 100644 (file)
@@ -144,7 +144,9 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
        imx28-cfa10037.dtb \
        imx28-cfa10049.dtb \
        imx28-cfa10055.dtb \
+       imx28-cfa10056.dtb \
        imx28-cfa10057.dtb \
+       imx28-cfa10058.dtb \
        imx28-evk.dtb \
        imx28-m28evk.dtb \
        imx28-sps1.dtb \
index da0588a..185c7c0 100644 (file)
                };
 
                apbx@80040000 {
+                       lradc@80050000 {
+                               status = "okay";
+                               fsl,lradc-touchscreen-wires = <4>;
+                       };
+
                        pwm: pwm@80064000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&pwm2_pins_a>;
                                pinctrl-0 = <&duart_pins_a>;
                                status = "okay";
                        };
+
+                       usbphy0: usbphy@8007c000 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ahb@80080000 {
+               usb0: usb@80080000 {
+                       status = "okay";
                };
        };
 
index d107c4a..fc766ae 100644 (file)
                };
 
                apbx@80040000 {
+                       lradc@80050000 {
+                               status = "okay";
+                       };
+
                        duart: serial@80070000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&duart_pins_a>;
index 587ceef..28b5ce2 100644 (file)
@@ -20,6 +20,8 @@
                gpio2 = &gpio2;
                serial0 = &auart0;
                serial1 = &auart1;
+               spi0 = &ssp0;
+               spi1 = &ssp1;
        };
 
        cpus {
                                #size-cells = <1>;
                                reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
                                reg-names = "gpmi-nand", "bch";
-                               interrupts = <13>, <56>;
-                               interrupt-names = "gpmi-dma", "bch";
+                               interrupts = <56>;
+                               interrupt-names = "bch";
                                clocks = <&clks 34>;
                                clock-names = "gpmi_io";
                                dmas = <&dma_apbh 4>;
                                dma-names = "rx-tx";
-                               fsl,gpmi-dma-channel = <4>;
                                status = "disabled";
                        };
 
                        ssp0: ssp@80010000 {
                                reg = <0x80010000 0x2000>;
-                               interrupts = <15 14>;
+                               interrupts = <15>;
                                clocks = <&clks 33>;
                                dmas = <&dma_apbh 1>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <1>;
                                status = "disabled";
                        };
 
 
                        ssp1: ssp@80034000 {
                                reg = <0x80034000 0x2000>;
-                               interrupts = <2 20>;
+                               interrupts = <2>;
                                clocks = <&clks 33>;
                                dmas = <&dma_apbh 2>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <2>;
                                status = "disabled";
                        };
 
                        auart0: serial@8006c000 {
                                compatible = "fsl,imx23-auart";
                                reg = <0x8006c000 0x2000>;
-                               interrupts = <24 25 23>;
+                               interrupts = <24>;
                                clocks = <&clks 32>;
                                dmas = <&dma_apbx 6>, <&dma_apbx 7>;
                                dma-names = "rx", "tx";
                        auart1: serial@8006e000 {
                                compatible = "fsl,imx23-auart";
                                reg = <0x8006e000 0x2000>;
-                               interrupts = <59 60 58>;
+                               interrupts = <59>;
                                clocks = <&clks 32>;
                                dmas = <&dma_apbx 8>, <&dma_apbx 9>;
                                dma-names = "rx", "tx";
index 94c4476..1ec8c94 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default";
-                               pinctrl-0 = <&hog_pins_cfa10036>;
-
-                               hog_pins_cfa10036: hog-10036@0 {
+                               ssd1306_cfa10036: ssd1306-10036@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x2073 /* MX28_PAD_SSP0_D7__GPIO_2_7 */
@@ -83,6 +80,8 @@
 
                                ssd1306: oled@3c {
                                        compatible = "solomon,ssd1306fb-i2c";
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&ssd1306_cfa10036>;
                                        reg = <0x3c>;
                                        reset-gpios = <&gpio2 7 0>;
                                        solomon,height = <32>;
index c2ef3a3..182b99f 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10037>;
-
-                               hog_pins_cfa10037: hog-10037@0 {
+                               usb_pins_cfa10037: usb-10037@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               mac0_pins_cfa10037: mac0-10037@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
                                        >;
                                        fsl,drive-strength = <0>;
@@ -56,7 +62,8 @@
                mac0: ethernet@800f0000 {
                        phy-mode = "rmii";
                        pinctrl-names = "default";
-                       pinctrl-0 = <&mac0_pins_a>;
+                       pinctrl-0 = <&mac0_pins_a
+                               &mac0_pins_cfa10037>;
                        phy-reset-gpios = <&gpio2 21 0>;
                        phy-reset-duration = <100>;
                        status = "okay";
@@ -68,6 +75,8 @@
 
                reg_usb1_vbus: usb1_vbus {
                        compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10037>;
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
index 04b2f76..06e4cfa 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10049
-                                       &hog_pins_cfa10049_pullup>;
-
-                               hog_pins_cfa10049: hog-10049@0 {
+                               usb_pins_cfa10049: usb-10049@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               i2cmux_pins_cfa10049: i2cmux-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */
                                                0x1173 /* MX28_PAD_LCD_D22__GPIO_1_23 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               mac0_pins_cfa10049: mac0-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <0>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
 
-                               hog_pins_cfa10049_pullup: hog-10049-pullup@0 {
+                               pca_pins_cfa10049: pca-10049@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
+                               rotary_pins_cfa10049: rotary-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
                                                0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
+                               rotary_btn_pins_cfa10049: rotary-btn-10049@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
                                                0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
                                        >;
                                        fsl,drive-strength = <0>;
                                        fsl,voltage = <1>;
@@ -60,6 +90,7 @@
                                                0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
                                                0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
                                                0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
+                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <1>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
 
+                               lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
                                w1_gpio_pins: w1-gpio@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                        lcdif@80030000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10049
-                                            &lcdif_pins_cfa10049>;
+                                            &lcdif_pins_cfa10049
+                                            &lcdif_pins_cfa10049_pullup>;
                                display = <&display>;
                                status = "okay";
 
                                compatible = "i2c-mux-gpio";
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&i2cmux_pins_cfa10049>;
                                mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
                                i2c-parent = <&i2c1>;
 
 
                                        pca9555: pca9555@20 {
                                                compatible = "nxp,pca9555";
+                                               pinctrl-names = "default";
+                                               pinctrl-0 = <&pca_pins_cfa10049>;
                                                interrupt-parent = <&gpio2>;
                                                interrupts = <19 0x2>;
                                                gpio-controller;
 
                reg_usb1_vbus: usb1_vbus {
                        compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10049>;
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                mac0: ethernet@800f0000 {
                        phy-mode = "rmii";
                        pinctrl-names = "default";
-                       pinctrl-0 = <&mac0_pins_a>;
+                       pinctrl-0 = <&mac0_pins_a
+                               &mac0_pins_cfa10049>;
                        phy-reset-gpios = <&gpio2 21 0>;
                        phy-reset-duration = <100>;
                        status = "okay";
 
        gpio_keys {
                compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&rotary_btn_pins_cfa10049>;
                #address-cells = <1>;
                #size-cells = <0>;
 
 
        rotary {
                compatible = "rotary-encoder";
+               pinctrl-names = "default";
+               pinctrl-0 = <&rotary_pins_cfa10049>;
                gpios = <&gpio3 24 1>, <&gpio3 25 1>;
                linux,axis = <1>; /* REL_Y */
                rotary-encoder,relative-axis;
index 1581112..171bcbe 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10055
-                                       &hog_pins_cfa10055_pullup>;
-
-                               hog_pins_cfa10055: hog-10055@0 {
-                                       reg = <0>;
-                                       fsl,pinmux-ids = <
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <0>;
-                               };
-
-                               hog_pins_cfa10055_pullup: hog-10055-pullup@0 {
-                                       reg = <0>;
-                                       fsl,pinmux-ids = <
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
-                               };
-
                                spi2_pins_cfa10055: spi2-cfa10055@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
                                                0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
                                                0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
+                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <1>;
                                        fsl,voltage = <1>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
+
+                               lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
                        };
 
                        lcdif@80030000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&lcdif_18bit_pins_cfa10055
-                                            &lcdif_pins_cfa10055>;
+                                            &lcdif_pins_cfa10055
+                                            &lcdif_pins_cfa10055_pullup>;
                                display = <&display>;
                                status = "okay";
 
diff --git a/arch/arm/boot/dts/imx28-cfa10056.dts b/arch/arm/boot/dts/imx28-cfa10056.dts
new file mode 100644 (file)
index 0000000..b45dd0e
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2013 Free Electrons
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*
+ * The CFA-10055 is an expansion board for the CFA-10036 module and
+ * CFA-10037, thus we need to include the CFA-10037 DTS.
+ */
+/include/ "imx28-cfa10037.dts"
+
+/ {
+       model = "Crystalfontz CFA-10056 Board";
+       compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
+
+       apb@80000000 {
+               apbh@80000000 {
+                       pinctrl@80018000 {
+                               spi2_pins_cfa10056: spi2-cfa10056@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
+                                               0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
+                                               0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
+                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
+                                       >;
+                                       fsl,drive-strength = <1>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
+                               lcdif_pins_cfa10056: lcdif-10056@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
+                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
+                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+                       };
+
+                       lcdif@80030000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&lcdif_24bit_pins_a
+                                               &lcdif_pins_cfa10056
+                                               &lcdif_pins_cfa10056_pullup >;
+                               display = <&display>;
+                               status = "okay";
+
+                               display: display {
+                                       bits-per-pixel = <32>;
+                                       bus-width = <24>;
+
+                                       display-timings {
+                                               native-mode = <&timing0>;
+                                               timing0: timing0 {
+                                                       clock-frequency = <32000000>;
+                                                       hactive = <480>;
+                                                       vactive = <800>;
+                                                       hback-porch = <2>;
+                                                       hfront-porch = <2>;
+                                                       vback-porch = <2>;
+                                                       vfront-porch = <2>;
+                                                       hsync-len = <5>;
+                                                       vsync-len = <5>;
+                                                       hsync-active = <0>;
+                                                       vsync-active = <0>;
+                                                       de-active = <1>;
+                                                       pixelclk-active = <1>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
+       spi2 {
+               compatible = "spi-gpio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&spi2_pins_cfa10056>;
+               status = "okay";
+               gpio-sck = <&gpio2 16 0>;
+               gpio-mosi = <&gpio2 17 0>;
+               gpio-miso = <&gpio2 18 0>;
+               cs-gpios = <&gpio3 5 0>;
+               num-chipselects = <1>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               hx8369: hx8369@0 {
+                       compatible = "himax,hx8369a", "himax,hx8369";
+                       reg = <0>;
+                       spi-max-frequency = <100000>;
+                       spi-cpol;
+                       spi-cpha;
+                       gpios-reset = <&gpio3 30 0>;
+               };
+       };
+};
index 2da713c..0333c05 100644 (file)
        apb@80000000 {
                apbh@80000000 {
                        pinctrl@80018000 {
-                               pinctrl-names = "default", "default";
-                               pinctrl-1 = <&hog_pins_cfa10057
-                                       &hog_pins_cfa10057_pullup>;
-
-                               hog_pins_cfa10057: hog-10057@0 {
+                               usb_pins_cfa10057: usb-10057@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                                0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
-                                               0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
                                        >;
                                        fsl,drive-strength = <0>;
                                        fsl,voltage = <1>;
                                        fsl,pull-up = <0>;
                                };
 
-                               hog_pins_cfa10057_pullup: hog-10057-pullup@0 {
-                                       reg = <0>;
-                                       fsl,pinmux-ids = <
-                                               0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
-                                               0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
-                                               0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
-                                               0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
-                                               0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
-                                       >;
-                                       fsl,drive-strength = <0>;
-                                       fsl,voltage = <1>;
-                                       fsl,pull-up = <1>;
-                               };
-
                                lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
 
                reg_usb1_vbus: usb1_vbus {
                        compatible = "regulator-fixed";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10057>;
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/imx28-cfa10058.dts b/arch/arm/boot/dts/imx28-cfa10058.dts
new file mode 100644 (file)
index 0000000..64c64c5
--- /dev/null
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2013 Crystalfontz America, Inc.
+ * Copyright 2013 Free Electrons
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*
+ * The CFA-10058 is an expansion board for the CFA-10036 module, thus we
+ * need to include the CFA-10036 DTS.
+ */
+/include/ "imx28-cfa10036.dts"
+
+/ {
+       model = "Crystalfontz CFA-10058 Board";
+       compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28";
+
+       apb@80000000 {
+               apbh@80000000 {
+                       pinctrl@80018000 {
+                               usb_pins_cfa10058: usb-10058@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
+                               lcdif_pins_cfa10058: lcdif-10058@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
+                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
+                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+                       };
+
+                       lcdif@80030000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&lcdif_24bit_pins_a
+                                                &lcdif_pins_cfa10058>;
+                               display = <&display>;
+                               status = "okay";
+
+                               display: display {
+                                       bits-per-pixel = <32>;
+                                       bus-width = <24>;
+
+                                       display-timings {
+                                               native-mode = <&timing0>;
+                                               timing0: timing0 {
+                                                       clock-frequency = <30000000>;
+                                                       hactive = <800>;
+                                                       vactive = <480>;
+                                                       hback-porch = <40>;
+                                                       hfront-porch = <40>;
+                                                       vback-porch = <13>;
+                                                       vfront-porch = <29>;
+                                                       hsync-len = <8>;
+                                                       vsync-len = <8>;
+                                                       hsync-active = <0>;
+                                                       vsync-active = <0>;
+                                                       de-active = <1>;
+                                                       pixelclk-active = <1>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+
+               apbx@80040000 {
+                       lradc@80050000 {
+                               fsl,lradc-touchscreen-wires = <4>;
+                               status = "okay";
+                       };
+
+                       pwm: pwm@80064000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pwm3_pins_b>;
+                               status = "okay";
+                       };
+
+                       usbphy1: usbphy@8007e000 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ahb@80080000 {
+               usb1: usb@80090000 {
+                       vbus-supply = <&reg_usb1_vbus>;
+                       pinctrl-0 = <&usbphy1_pins_a>;
+                       pinctrl-names = "default";
+                       status = "okay";
+               };
+       };
+
+       regulators {
+               compatible = "simple-bus";
+
+               reg_usb1_vbus: usb1_vbus {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_pins_cfa10058>;
+                       compatible = "regulator-fixed";
+                       regulator-name = "usb1_vbus";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       gpio = <&gpio0 7 1>;
+               };
+       };
+
+       ahb@80080000 {
+               mac0: ethernet@800f0000 {
+                       phy-mode = "rmii";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mac0_pins_a>;
+                       phy-reset-gpios = <&gpio2 21 0>;
+                       phy-reset-duration = <100>;
+                       status = "okay";
+               };
+       };
+
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm 3 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+       };
+};
index 44d9da5..0d322a2 100644 (file)
                                pinctrl-0 = <&auart2_2pins_b>;
                                status = "okay";
                        };
+
+                       pwm: pwm@80064000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pwm4_pins_a>;
+                               status = "okay";
+                       };
                };
        };
 
                };
        };
 
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm 4 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+       };
+
        regulators {
                compatible = "simple-bus";
 
index 9524a05..7363fde 100644 (file)
@@ -15,6 +15,8 @@
        interrupt-parent = <&icoll>;
 
        aliases {
+               ethernet0 = &mac0;
+               ethernet1 = &mac1;
                gpio0 = &gpio0;
                gpio1 = &gpio1;
                gpio2 = &gpio2;
@@ -27,8 +29,8 @@
                serial2 = &auart2;
                serial3 = &auart3;
                serial4 = &auart4;
-               ethernet0 = &mac0;
-               ethernet1 = &mac1;
+               spi0 = &ssp1;
+               spi1 = &ssp2;
        };
 
        cpus {
@@ -62,9 +64,9 @@
                                reg = <0x80000000 0x2000>;
                        };
 
-                       hsadc@80002000 {
+                       hsadc: hsadc@80002000 {
                                reg = <0x80002000 0x2000>;
-                               interrupts = <13 87>;
+                               interrupts = <13>;
                                dmas = <&dma_apbh 12>;
                                dma-names = "rx";
                                status = "disabled";
                                clocks = <&clks 25>;
                        };
 
-                       perfmon@80006000 {
+                       perfmon: perfmon@80006000 {
                                reg = <0x80006000 0x800>;
                                interrupts = <27>;
                                status = "disabled";
                        };
 
-                       gpmi-nand@8000c000 {
+                       gpmi: gpmi-nand@8000c000 {
                                compatible = "fsl,imx28-gpmi-nand";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
                                reg-names = "gpmi-nand", "bch";
-                               interrupts = <88>, <41>;
-                               interrupt-names = "gpmi-dma", "bch";
+                               interrupts = <41>;
+                               interrupt-names = "bch";
                                clocks = <&clks 50>;
                                clock-names = "gpmi_io";
                                dmas = <&dma_apbh 4>;
                                dma-names = "rx-tx";
-                               fsl,gpmi-dma-channel = <4>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80010000 0x2000>;
-                               interrupts = <96 82>;
+                               interrupts = <96>;
                                clocks = <&clks 46>;
                                dmas = <&dma_apbh 0>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <0>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80012000 0x2000>;
-                               interrupts = <97 83>;
+                               interrupts = <97>;
                                clocks = <&clks 47>;
                                dmas = <&dma_apbh 1>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <1>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80014000 0x2000>;
-                               interrupts = <98 84>;
+                               interrupts = <98>;
                                clocks = <&clks 48>;
                                dmas = <&dma_apbh 2>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <2>;
                                status = "disabled";
                        };
 
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x80016000 0x2000>;
-                               interrupts = <99 85>;
+                               interrupts = <99>;
                                clocks = <&clks 49>;
                                dmas = <&dma_apbh 3>;
                                dma-names = "rx-tx";
-                               fsl,ssp-dma-channel = <3>;
                                status = "disabled";
                        };
 
-                       pinctrl@80018000 {
+                       pinctrl: pinctrl@80018000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx28-pinctrl", "simple-bus";
                                        fsl,pull-up = <1>;
                                };
 
+                               saif0_pins_b: saif0@1 {
+                                       reg = <1>;
+                                       fsl,pinmux-ids = <
+                                               0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
+                                               0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
+                                               0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
+                                       >;
+                                       fsl,drive-strength = <2>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <1>;
+                               };
+
                                saif1_pins_a: saif1@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                        fsl,pull-up = <0>;
                                };
 
+                               lcdif_sync_pins_a: lcdif-sync@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
+                                               0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
+                                               0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
+                                               0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
+                                       >;
+                                       fsl,drive-strength = <0>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
                                can0_pins_a: can0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                        fsl,pull-up = <1>;
                                };
 
+                               spi3_pins_a: spi3@0 {
+                                       reg = <0>;
+                                       fsl,pinmux-ids = <
+                                               0x3082 /* MX28_PAD_AUART2_RX__SSP3_D4 */
+                                               0x3092 /* MX28_PAD_AUART2_TX__SSP3_D5 */
+                                               0x2180 /* MX28_PAD_SSP3_SCK__SSP3_SCK */
+                                               0x2190 /* MX28_PAD_SSP3_MOSI__SSP3_CMD */
+                                               0x21A0 /* MX28_PAD_SSP3_MISO__SSP3_D0 */
+                                               0x21B0 /* MX28_PAD_SSP3_SS0__SSP3_D3 */
+                                       >;
+                                       fsl,drive-strength = <1>;
+                                       fsl,voltage = <1>;
+                                       fsl,pull-up = <0>;
+                               };
+
                                usbphy0_pins_a: usbphy0@0 {
                                        reg = <0>;
                                        fsl,pinmux-ids = <
                                };
                        };
 
-                       digctl@8001c000 {
+                       digctl: digctl@8001c000 {
                                compatible = "fsl,imx28-digctl", "fsl,imx23-digctl";
                                reg = <0x8001c000 0x2000>;
                                interrupts = <89>;
                                status = "disabled";
                        };
 
-                       etm@80022000 {
+                       etm: etm@80022000 {
                                reg = <0x80022000 0x2000>;
                                status = "disabled";
                        };
                                clocks = <&clks 26>;
                        };
 
-                       dcp@80028000 {
+                       dcp: dcp@80028000 {
                                reg = <0x80028000 0x2000>;
                                interrupts = <52 53 54>;
                                compatible = "fsl-dcp";
                        };
 
-                       pxp@8002a000 {
+                       pxp: pxp@8002a000 {
                                reg = <0x8002a000 0x2000>;
                                interrupts = <39>;
                                status = "disabled";
                        };
 
-                       ocotp@8002c000 {
+                       ocotp: ocotp@8002c000 {
                                compatible = "fsl,ocotp";
                                reg = <0x8002c000 0x2000>;
                                status = "disabled";
                                status = "disabled";
                        };
 
-                       lcdif@80030000 {
+                       lcdif: lcdif@80030000 {
                                compatible = "fsl,imx28-lcdif";
                                reg = <0x80030000 0x2000>;
-                               interrupts = <38 86>;
+                               interrupts = <38>;
                                clocks = <&clks 55>;
                                dmas = <&dma_apbh 13>;
                                dma-names = "rx";
                                status = "disabled";
                        };
 
-                       simdbg@8003c000 {
+                       simdbg: simdbg@8003c000 {
                                reg = <0x8003c000 0x200>;
                                status = "disabled";
                        };
 
-                       simgpmisel@8003c200 {
+                       simgpmisel: simgpmisel@8003c200 {
                                reg = <0x8003c200 0x100>;
                                status = "disabled";
                        };
 
-                       simsspsel@8003c300 {
+                       simsspsel: simsspsel@8003c300 {
                                reg = <0x8003c300 0x100>;
                                status = "disabled";
                        };
 
-                       simmemsel@8003c400 {
+                       simmemsel: simmemsel@8003c400 {
                                reg = <0x8003c400 0x100>;
                                status = "disabled";
                        };
 
-                       gpiomon@8003c500 {
+                       gpiomon: gpiomon@8003c500 {
                                reg = <0x8003c500 0x100>;
                                status = "disabled";
                        };
 
-                       simenet@8003c700 {
+                       simenet: simenet@8003c700 {
                                reg = <0x8003c700 0x100>;
                                status = "disabled";
                        };
 
-                       armjtag@8003c800 {
+                       armjtag: armjtag@8003c800 {
                                reg = <0x8003c800 0x100>;
                                status = "disabled";
                        };
-                };
+               };
 
                apbx@80040000 {
                        compatible = "simple-bus";
                        saif0: saif@80042000 {
                                compatible = "fsl,imx28-saif";
                                reg = <0x80042000 0x2000>;
-                               interrupts = <59 80>;
+                               interrupts = <59>;
                                #clock-cells = <0>;
                                clocks = <&clks 53>;
                                dmas = <&dma_apbx 4>;
                                dma-names = "rx-tx";
-                               fsl,saif-dma-channel = <4>;
                                status = "disabled";
                        };
 
-                       power@80044000 {
+                       power: power@80044000 {
                                reg = <0x80044000 0x2000>;
                                status = "disabled";
                        };
                        saif1: saif@80046000 {
                                compatible = "fsl,imx28-saif";
                                reg = <0x80046000 0x2000>;
-                               interrupts = <58 81>;
+                               interrupts = <58>;
                                clocks = <&clks 54>;
                                dmas = <&dma_apbx 5>;
                                dma-names = "rx-tx";
-                               fsl,saif-dma-channel = <5>;
                                status = "disabled";
                        };
 
-                       lradc@80050000 {
+                       lradc: lradc@80050000 {
                                compatible = "fsl,imx28-lradc";
                                reg = <0x80050000 0x2000>;
                                interrupts = <10 14 15 16 17 18 19
                                status = "disabled";
                        };
 
-                       spdif@80054000 {
+                       spdif: spdif@80054000 {
                                reg = <0x80054000 0x2000>;
-                               interrupts = <45 66>;
+                               interrupts = <45>;
                                dmas = <&dma_apbx 2>;
                                dma-names = "tx";
                                status = "disabled";
                        };
 
-                       rtc@80056000 {
+                       mxs_rtc: rtc@80056000 {
                                compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
                                reg = <0x80056000 0x2000>;
                                interrupts = <29>;
                                #size-cells = <0>;
                                compatible = "fsl,imx28-i2c";
                                reg = <0x80058000 0x2000>;
-                               interrupts = <111 68>;
+                               interrupts = <111>;
                                clock-frequency = <100000>;
                                dmas = <&dma_apbx 6>;
                                dma-names = "rx-tx";
-                               fsl,i2c-dma-channel = <6>;
                                status = "disabled";
                        };
 
                                #size-cells = <0>;
                                compatible = "fsl,imx28-i2c";
                                reg = <0x8005a000 0x2000>;
-                               interrupts = <110 69>;
+                               interrupts = <110>;
                                clock-frequency = <100000>;
                                dmas = <&dma_apbx 7>;
                                dma-names = "rx-tx";
-                               fsl,i2c-dma-channel = <7>;
                                status = "disabled";
                        };
 
                                status = "disabled";
                        };
 
-                       timrot@80068000 {
+                       timer: timrot@80068000 {
                                compatible = "fsl,imx28-timrot", "fsl,timrot";
                                reg = <0x80068000 0x2000>;
                                interrupts = <48 49 50 51>;
                        auart0: serial@8006a000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x8006a000 0x2000>;
-                               interrupts = <112 70 71>;
+                               interrupts = <112>;
                                dmas = <&dma_apbx 8>, <&dma_apbx 9>;
                                dma-names = "rx", "tx";
-                               fsl,auart-dma-channel = <8 9>;
                                clocks = <&clks 45>;
                                status = "disabled";
                        };
                        auart1: serial@8006c000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x8006c000 0x2000>;
-                               interrupts = <113 72 73>;
+                               interrupts = <113>;
                                dmas = <&dma_apbx 10>, <&dma_apbx 11>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        auart2: serial@8006e000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x8006e000 0x2000>;
-                               interrupts = <114 74 75>;
+                               interrupts = <114>;
                                dmas = <&dma_apbx 12>, <&dma_apbx 13>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        auart3: serial@80070000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x80070000 0x2000>;
-                               interrupts = <115 76 77>;
+                               interrupts = <115>;
                                dmas = <&dma_apbx 14>, <&dma_apbx 15>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        auart4: serial@80072000 {
                                compatible = "fsl,imx28-auart", "fsl,imx23-auart";
                                reg = <0x80072000 0x2000>;
-                               interrupts = <116 78 79>;
+                               interrupts = <116>;
                                dmas = <&dma_apbx 0>, <&dma_apbx 1>;
                                dma-names = "rx", "tx";
                                clocks = <&clks 45>;
                        status = "disabled";
                };
 
-               dflpt@800c0000 {
+               dflpt: dflpt@800c0000 {
                        reg = <0x800c0000 0x10000>;
                        status = "disabled";
                };
                        status = "disabled";
                };
 
-               switch@800f8000 {
+               etn_switch: switch@800f8000 {
                        reg = <0x800f8000 0x8000>;
                        status = "disabled";
                };
-
        };
 };