On Wed, Jun 26, 2013 at 05:40:31PM +0200, Alexandre Belloni wrote: > From: Brian Lilly <[email protected]> > > The CFA-10056 is a breakout board for the CFA-10036, and is > basically a CFA-10037, with a 4.3" screen. > > Signed-off-by: Brian Lilly <[email protected]> > Signed-off-by: Alexandre Belloni <[email protected]> > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/imx28-cfa10056.dts | 171 > +++++++++++++++++++++++++++++++++++ > 2 files changed, 172 insertions(+) > create mode 100644 arch/arm/boot/dts/imx28-cfa10056.dts > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 225d939..d494f37 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ > imx28-cfa10037.dtb \ > imx28-cfa10049.dtb \ > imx28-cfa10055.dtb \ > + imx28-cfa10056.dtb \ > imx28-cfa10057.dtb \ > imx28-evk.dtb \ > imx28-m28evk.dtb \ > diff --git a/arch/arm/boot/dts/imx28-cfa10056.dts > b/arch/arm/boot/dts/imx28-cfa10056.dts > new file mode 100644 > index 0000000..dd6d217 > --- /dev/null > +++ b/arch/arm/boot/dts/imx28-cfa10056.dts > @@ -0,0 +1,171 @@ > +/* > + * 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-10056 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-10056 Board"; > + compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10036", > "fsl,imx28"; > + > + apb@80000000 { > + apbh@80000000 { > + pinctrl@80018000 { > + pinctrl-names = "default", "default"; > + pinctrl-1 = <&hog_pins_cfa10056 > + &hog_pins_cfa10056_pullup>; > + > + hog_pins_cfa10056: hog-10056@0 { > + reg = <0>; > + fsl,pinmux-ids = < > + 0x0073 /* > MX28_PAD_GPMI_D7__GPIO_0_7 */ > + 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>; > + };
These hogs pins don't have much sense anymore.
Maybe you should split out the three pins in:
- usb_pins_cfa10056
- mac0_pins_cfa10056
- move the last one in spi2_pins_cfa10056
> +
> + hog_pins_cfa10056_pullup: hog-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>;
> + };
You could probably rename it to lcdif_pins_cfa10056_pullups or something
then, and make the lcdif driver grab these pins.
> +
> + 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 */
> + >;
> + fsl,drive-strength = <1>;
> + fsl,voltage = <1>;
> + fsl,pull-up = <1>;
> + };
> +
> + lcdif_pins_cfa10056: lcdif-evk@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_cfa10056>;
> + 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>;
> + };
> + };
> + };
> + };
> + };
> +
> + apbx@80040000 {
> + usbphy1: usbphy@8007e000 {
> + status = "okay";
> + };
> + };
> + };
> +
> + ahb@80080000 {
> + usb1: usb@80090000 {
> + vbus-supply = <®_usb1_vbus>;
> + pinctrl-0 = <&usbphy1_pins_a>;
> + pinctrl-names = "default";
> + status = "okay";
> + };
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> +
> + reg_usb1_vbus: usb1_vbus {
> + 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";
> + };
> + };
> +
> + 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>;
> + };
> + };
> +};
> --
> 1.8.1.2
>
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
signature.asc
Description: Digital signature

