Re: [PATCH 3/3] ARM: mxs: dt: Add Crystalfontz CFA-10058 device tree
From: Maxime Ripard
Date: Wed Jun 26 2013 - 11:16:17 EST
Hi Alexandre,
On Wed, Jun 26, 2013 at 04:52:27PM +0200, Alexandre Belloni wrote:
> From: Brian Lilly <brian@xxxxxxxxxxxxxxxx>
>
> 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 <brian@xxxxxxxxxxxxxxxx>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
> ---
> 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@80000000 {
> + apbh@80000000 {
> + pinctrl@80018000 {
> + pinctrl-names = "default", "default";
> + pinctrl-1 = <&hog_pins_cfa10058
> + &hog_pins_cfa10058_pullup>;
> +
> + hog_pins_cfa10058: hog-10058@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@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@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@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";
> + };
> +
> + i2c1: i2c@8005a000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c1_pins_a>;
> + status = "okay";
> + };
Unused i2c bus on this board.
> + 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";
> + };
> + };
> +
> + 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
Attachment:
signature.asc
Description: Digital signature