Subject: [PATCH 3/3] ARM: mxs: dt: Add Crystalfontz CFA-10058 device tree

From: [email-masked] (Maxime Ripard)
Date: Wed, 26 Jun 2013 17:16:10 +0200

Hi Alexandre,

On Wed, Jun 26, 2013 at 04:52:27PM +0200, Alexandre Belloni wrote:
> From: Brian Lilly <[email-masked]>
> 
> The CFA-10057 is a breakout board for the CFA-10036 that has Ethernet, USB and a
> 5" LCD screen on it.
> 
> Signed-off-by: Brian Lilly <[email-masked]>
> Signed-off-by: Alexandre Belloni <[email-masked]>
> ---
>  arch/arm/boot/dts/Makefile           |   1 +
>  arch/arm/boot/dts/imx28-cfa10058.dts | 183 +++++++++++++++++++++++++++++++++++
>  2 files changed, 184 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx28-cfa10058.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d494f37..ddd6f32 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -133,6 +133,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
>  	imx28-cfa10055.dtb \
>  	imx28-cfa10056.dtb \
>  	imx28-cfa10057.dtb \
> +	imx28-cfa10058.dtb \
>  	imx28-evk.dtb \
>  	imx28-m28evk.dtb \
>  	imx28-sps1.dtb \
> diff --git a/arch/arm/boot/dts/imx28-cfa10058.dts b/arch/arm/boot/dts/imx28-cfa10058.dts
> new file mode 100644
> index 0000000..438e042
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx28-cfa10058.dts
> @@ -0,0 +1,183 @@
> +/*
> + * Copyright 2013 Crystalfontz America, Inc.
> + * Copyright 2012 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-100587 is an expansion board for the CFA-10036 module, thus we
                   ^ typo

> + * need to include the CFA-10036 DTS.
> + */
> +/include/ "imx28-cfa10036.dts"
> +
> +/ {
> +	model = "Crystalfontz CFA-10058 Board";
> +	compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28";
> +
> +	apb at 80000000 {
> +		apbh at 80000000 {
> +			pinctrl at 80018000 {
> +				pinctrl-names = "default", "default";
> +				pinctrl-1 = <&hog_pins_cfa10058
> +					&hog_pins_cfa10058_pullup>;
> +
> +				hog_pins_cfa10058: hog-10058 at 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_cfa10058_pullup: hog-10058-pullup at 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>;
> +				};

As said in the previous mail, these pins don't seem to be used anywhere.
You should remove that node.

> +				spi3_pins_cfa10058: spi3-cfa10058 at 0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						0x0183 /* MX28_PAD_GPMI_RDN__GPIO_0_24 */
> +						0x01c3 /* MX28_PAD_GPMI_RESETN__GPIO_0_28 */
> +						0x0113 /* MX28_PAD_GPMI_CE1N__GPIO_0_17 */
> +						0x01a3 /* MX28_PAD_GPMI_ALE__GPIO_0_26 */
> +						0x01b3 /* MX28_PAD_GPMI_CLE__GPIO_0_27 */
> +					>;
> +					fsl,drive-strength = <1>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <1>;
> +				};
> +
> +				lcdif_pins_cfa10058: lcdif-evk at 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 at 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 at 80040000 {
> +			lradc at 80050000 {
> +				fsl,lradc-touchscreen-wires = <4>;
> +				status = "okay";
> +			};
> +
> +			pwm: pwm at 80064000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pwm3_pins_b>;
> +				status = "okay";
> +			};
> +
> +			i2c1: i2c at 8005a000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&i2c1_pins_a>;
> +				status = "okay";
> +			};

Unused i2c bus on this board.

> +			usbphy1: usbphy at 8007e000 {
> +				status = "okay";
> +			};
> +		};
> +	};
> +
> +	ahb at 80080000 {
> +		usb1: usb at 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 {
> +			compatible = "regulator-fixed";
> +			regulator-name = "usb1_vbus";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			gpio = <&gpio0 7 1>;
> +		};
> +	};
> +
> +	ahb at 80080000 {
> +		mac0: ethernet at 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>;
> +	};
> +
> +	fiq {
> +		compatible = "crystalfontz,cfa10049-fiq";
> +		interrupts = <50>;
> +	};

Again, out-of-tree driver :)

Thanks,
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130626/d31a5561/attachment-0001.sig>