From: shawnguo@kernel.org (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 5/6] ARM: dts: imx6q: Add Variscite DART-MX6 Carrier-board support
Date: Thu, 30 Nov 2017 08:43:43 +0800 [thread overview]
Message-ID: <20171130004342.GC22908@dragon> (raw)
In-Reply-To: <1511950857-19292-6-git-send-email-narmstrong@baylibre.com>
On Wed, Nov 29, 2017 at 11:20:56AM +0100, Neil Armstrong wrote:
> This patch adds support for the i.MX6 Quad variant of the Variscite DART-MX6
> SoM Carrier-Board.
>
> This Carrier-Board has the following :
> - LVDS interface for the VLCD-CAP-GLD-LVDS 7" LCD 800 x 480 touch display
> - HDMI Connector
> - USB Host + USB OTG Connector
> - 10/100/1000 Mbps Ethernet
> - miniPCI-Express slot
> - SD Card connector
> - Audio Headphone/Line In jack connectors
> - On-board DMIC
> - CAN bus header
> - SPI header
> - Camera Interfaces header
> - 4xButtons, 2xLeds
> - OnBoard RTC with Coin Backup battery socket
> - RS232 Header + USB-Serial debug port
>
> Product Page : http://www.variscite.com/products/evaluation-kits/dart-mx6-kits
>
> The board support is done with all on-board and header interfaces enabled.
> 7" LVDS Touchscreen is enabled by default along HDMI output.
> Audio interface is supported with the "simple-card" bindings.
>
> PCIe slot, On-Board DMIC and Camera Interfaces are not handled yet.
>
> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/imx6q-var-dt6customboard.dts | 239 +++++++++++++++++++++++++
> 2 files changed, 240 insertions(+)
> create mode 100644 arch/arm/boot/dts/imx6q-var-dt6customboard.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d0381e9..148ff15 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -470,6 +470,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
> imx6q-tx6q-11x0-mb7.dtb \
> imx6q-udoo.dtb \
> imx6q-utilite-pro.dtb \
> + imx6q-var-dt6customboard.dtb \
> imx6q-wandboard.dtb \
> imx6q-wandboard-revb1.dtb \
> imx6q-wandboard-revd1.dtb \
> diff --git a/arch/arm/boot/dts/imx6q-var-dt6customboard.dts b/arch/arm/boot/dts/imx6q-var-dt6customboard.dts
> new file mode 100644
> index 0000000..76faaff
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6q-var-dt6customboard.dts
> @@ -0,0 +1,239 @@
> +/*
> + * Support for Variscite DART-MX6 Carrier-board
> + *
> + * Copyright 2017 BayLibre, SAS
> + * Author: Neil Armstrong <narmstrong@baylibre.com>
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> + */
> +
> +/dts-v1/;
> +
> +#include "imx6q.dtsi"
> +#include "imx6qdl-var-dart.dtsi"
> +#include <dt-bindings/input/linux-event-codes.h>
> +
> +/ {
> + model = "Variscite DART-MX6 Carrier-board";
> + compatible = "variscite,dt6customboard", "fsl,imx6q";
> +
> + backlight_lvds: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm2 0 50000>;
> + brightness-levels = <0 4 8 16 32 64 128 248>;
> + default-brightness-level = <7>;
> + status = "okay";
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + autorepeat;
> +
> + back {
> + gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_BACK>;
> + label = "Key Back";
> + linux,input-type = <1>;
> + debounce-interval = <100>;
> + gpio-key,wakeup;
The gpio-key,wakeup is legacy one. Use wakeup-source instead.
> + };
> +
> + home {
> + gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_HOME>;
> + label = "Key Home";
> + linux,input-type = <1>;
> + debounce-interval = <100>;
> + gpio-key,wakeup;
> + };
> +
> + menu {
> + gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_MENU>;
> + label = "Key Menu";
> + linux,input-type = <1>;
> + debounce-interval = <100>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + gpio-leds {
> + compatible = "gpio-leds";
> +
> + led1 {
> + gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "heartbeat";
> + };
> +
> + led2 {
> + gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "default-on";
> + };
> + };
> +
> + panel1: lvds-panel {
> + compatible = "sgd,gktw70sdae4se", "panel-lvds";
> + backlight = <&backlight_lvds>;
> +
> + width-mm = <153>;
> + height-mm = <86>;
> +
> + label = "gktw70sdae4se";
> +
Nit: these lines in middle of property list is not really necessary.
Can we drop them?
Shawn
> + data-mapping = "jeida-18";
> +
> + panel-timing {
> + clock-frequency = <32000000>;
> + hactive = <800>;
> + vactive = <480>;
> + hback-porch = <39>;
> + hfront-porch = <39>;
> + vback-porch = <29>;
> + vfront-porch = <13>;
> + hsync-len = <47>;
> + vsync-len = <2>;
> + };
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&lvds1_out>;
> + };
> + };
> + };
> +
> + reg_usb_h1_vbus: regulator-usbh1vbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb_h1_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + reg_usb_otg_vbus: regulator-usbotgvbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb_otg_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "dt6-customboard-audio";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,bitclock-master = <&sound_codec>;
> + simple-audio-card,frame-master = <&sound_codec>;
> + simple-audio-card,widgets = "Headphone", "Headphone Jack",
> + "Line", "Line In";
> + simple-audio-card,routing = "Headphone Jack", "HPLOUT",
> + "Headphone Jack", "HPROUT",
> + "LINE1L", "Line In",
> + "LINE1R", "Line In";
> +
> + sound_cpu: simple-audio-card,cpu {
> + sound-dai = <&ssi2>;
> + };
> +
> + sound_codec: simple-audio-card,codec {
> + sound-dai = <&codec>;
> + clocks = <&clks IMX6QDL_CLK_CKO>;
> + };
> + };
> +};
> +
> +&can1 {
> + status = "okay";
> +};
> +
> +&ecspi1 {
> + cs-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>,
> + <&gpio4 10 GPIO_ACTIVE_HIGH>;
> + status = "okay";
> +};
> +
> +&fec {
> + status = "okay";
> + phy-mode = "rgmii";
> + phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +};
> +
> +&hdmi {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + clock-frequency = <100000>;
> + status = "okay";
> +};
> +
> +&i2c3 {
> + clock-frequency = <100000>;
> + status = "okay";
> +
> + touchscreen at 38 {
> + compatible = "edt,edt-ft5x06";
> + reg = <0x38>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
> + touchscreen-size-x = <800>;
> + touchscreen-size-y = <480>;
> + touchscreen-inverted-x;
> + touchscreen-inverted-y;
> + };
> +
> + rtc at 68 {
> + compatible = "isil,isl12057";
> + reg = <0x68>;
> + };
> +};
> +
> +&ldb {
> + status = "okay";
> +
> + lvds-channel at 1 {
> + status = "okay";
> +
> + port at 4 {
> + reg = <4>;
> +
> + lvds1_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> +};
> +
> +&pwm2 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart3 {
> + status = "okay";
> +};
> +
> +&usbh1 {
> + vbus-supply = <®_usb_h1_vbus>;
> + status = "okay";
> +};
> +
> +&usbotg {
> + vbus-supply = <®_usb_otg_vbus>;
> + dr_mode = "otg";
> + srp-disable;
> + hnp-disable;
> + adp-disable;
> + status = "okay";
> +};
> +
> +&usdhc2 {
> + cd-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> + status = "okay";
> +};
> --
> 2.7.4
>
WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawnguo@kernel.org>
To: Neil Armstrong <narmstrong@baylibre.com>
Cc: kernel@pengutronix.de, fabio.estevam@nxp.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 5/6] ARM: dts: imx6q: Add Variscite DART-MX6 Carrier-board support
Date: Thu, 30 Nov 2017 08:43:43 +0800 [thread overview]
Message-ID: <20171130004342.GC22908@dragon> (raw)
In-Reply-To: <1511950857-19292-6-git-send-email-narmstrong@baylibre.com>
On Wed, Nov 29, 2017 at 11:20:56AM +0100, Neil Armstrong wrote:
> This patch adds support for the i.MX6 Quad variant of the Variscite DART-MX6
> SoM Carrier-Board.
>
> This Carrier-Board has the following :
> - LVDS interface for the VLCD-CAP-GLD-LVDS 7" LCD 800 x 480 touch display
> - HDMI Connector
> - USB Host + USB OTG Connector
> - 10/100/1000 Mbps Ethernet
> - miniPCI-Express slot
> - SD Card connector
> - Audio Headphone/Line In jack connectors
> - On-board DMIC
> - CAN bus header
> - SPI header
> - Camera Interfaces header
> - 4xButtons, 2xLeds
> - OnBoard RTC with Coin Backup battery socket
> - RS232 Header + USB-Serial debug port
>
> Product Page : http://www.variscite.com/products/evaluation-kits/dart-mx6-kits
>
> The board support is done with all on-board and header interfaces enabled.
> 7" LVDS Touchscreen is enabled by default along HDMI output.
> Audio interface is supported with the "simple-card" bindings.
>
> PCIe slot, On-Board DMIC and Camera Interfaces are not handled yet.
>
> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/imx6q-var-dt6customboard.dts | 239 +++++++++++++++++++++++++
> 2 files changed, 240 insertions(+)
> create mode 100644 arch/arm/boot/dts/imx6q-var-dt6customboard.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d0381e9..148ff15 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -470,6 +470,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
> imx6q-tx6q-11x0-mb7.dtb \
> imx6q-udoo.dtb \
> imx6q-utilite-pro.dtb \
> + imx6q-var-dt6customboard.dtb \
> imx6q-wandboard.dtb \
> imx6q-wandboard-revb1.dtb \
> imx6q-wandboard-revd1.dtb \
> diff --git a/arch/arm/boot/dts/imx6q-var-dt6customboard.dts b/arch/arm/boot/dts/imx6q-var-dt6customboard.dts
> new file mode 100644
> index 0000000..76faaff
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6q-var-dt6customboard.dts
> @@ -0,0 +1,239 @@
> +/*
> + * Support for Variscite DART-MX6 Carrier-board
> + *
> + * Copyright 2017 BayLibre, SAS
> + * Author: Neil Armstrong <narmstrong@baylibre.com>
> + *
> + * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> + */
> +
> +/dts-v1/;
> +
> +#include "imx6q.dtsi"
> +#include "imx6qdl-var-dart.dtsi"
> +#include <dt-bindings/input/linux-event-codes.h>
> +
> +/ {
> + model = "Variscite DART-MX6 Carrier-board";
> + compatible = "variscite,dt6customboard", "fsl,imx6q";
> +
> + backlight_lvds: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm2 0 50000>;
> + brightness-levels = <0 4 8 16 32 64 128 248>;
> + default-brightness-level = <7>;
> + status = "okay";
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + autorepeat;
> +
> + back {
> + gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_BACK>;
> + label = "Key Back";
> + linux,input-type = <1>;
> + debounce-interval = <100>;
> + gpio-key,wakeup;
The gpio-key,wakeup is legacy one. Use wakeup-source instead.
> + };
> +
> + home {
> + gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_HOME>;
> + label = "Key Home";
> + linux,input-type = <1>;
> + debounce-interval = <100>;
> + gpio-key,wakeup;
> + };
> +
> + menu {
> + gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_MENU>;
> + label = "Key Menu";
> + linux,input-type = <1>;
> + debounce-interval = <100>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + gpio-leds {
> + compatible = "gpio-leds";
> +
> + led1 {
> + gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "heartbeat";
> + };
> +
> + led2 {
> + gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "default-on";
> + };
> + };
> +
> + panel1: lvds-panel {
> + compatible = "sgd,gktw70sdae4se", "panel-lvds";
> + backlight = <&backlight_lvds>;
> +
> + width-mm = <153>;
> + height-mm = <86>;
> +
> + label = "gktw70sdae4se";
> +
Nit: these lines in middle of property list is not really necessary.
Can we drop them?
Shawn
> + data-mapping = "jeida-18";
> +
> + panel-timing {
> + clock-frequency = <32000000>;
> + hactive = <800>;
> + vactive = <480>;
> + hback-porch = <39>;
> + hfront-porch = <39>;
> + vback-porch = <29>;
> + vfront-porch = <13>;
> + hsync-len = <47>;
> + vsync-len = <2>;
> + };
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&lvds1_out>;
> + };
> + };
> + };
> +
> + reg_usb_h1_vbus: regulator-usbh1vbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb_h1_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + reg_usb_otg_vbus: regulator-usbotgvbus {
> + compatible = "regulator-fixed";
> + regulator-name = "usb_otg_vbus";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "dt6-customboard-audio";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,bitclock-master = <&sound_codec>;
> + simple-audio-card,frame-master = <&sound_codec>;
> + simple-audio-card,widgets = "Headphone", "Headphone Jack",
> + "Line", "Line In";
> + simple-audio-card,routing = "Headphone Jack", "HPLOUT",
> + "Headphone Jack", "HPROUT",
> + "LINE1L", "Line In",
> + "LINE1R", "Line In";
> +
> + sound_cpu: simple-audio-card,cpu {
> + sound-dai = <&ssi2>;
> + };
> +
> + sound_codec: simple-audio-card,codec {
> + sound-dai = <&codec>;
> + clocks = <&clks IMX6QDL_CLK_CKO>;
> + };
> + };
> +};
> +
> +&can1 {
> + status = "okay";
> +};
> +
> +&ecspi1 {
> + cs-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>,
> + <&gpio4 10 GPIO_ACTIVE_HIGH>;
> + status = "okay";
> +};
> +
> +&fec {
> + status = "okay";
> + phy-mode = "rgmii";
> + phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +};
> +
> +&hdmi {
> + status = "okay";
> +};
> +
> +&i2c1 {
> + clock-frequency = <100000>;
> + status = "okay";
> +};
> +
> +&i2c3 {
> + clock-frequency = <100000>;
> + status = "okay";
> +
> + touchscreen@38 {
> + compatible = "edt,edt-ft5x06";
> + reg = <0x38>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
> + touchscreen-size-x = <800>;
> + touchscreen-size-y = <480>;
> + touchscreen-inverted-x;
> + touchscreen-inverted-y;
> + };
> +
> + rtc@68 {
> + compatible = "isil,isl12057";
> + reg = <0x68>;
> + };
> +};
> +
> +&ldb {
> + status = "okay";
> +
> + lvds-channel@1 {
> + status = "okay";
> +
> + port@4 {
> + reg = <4>;
> +
> + lvds1_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> +};
> +
> +&pwm2 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart3 {
> + status = "okay";
> +};
> +
> +&usbh1 {
> + vbus-supply = <®_usb_h1_vbus>;
> + status = "okay";
> +};
> +
> +&usbotg {
> + vbus-supply = <®_usb_otg_vbus>;
> + dr_mode = "otg";
> + srp-disable;
> + hnp-disable;
> + adp-disable;
> + status = "okay";
> +};
> +
> +&usdhc2 {
> + cd-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> + status = "okay";
> +};
> --
> 2.7.4
>
next prev parent reply other threads:[~2017-11-30 0:43 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-29 10:20 [PATCH v4 0/6] ARM: Add Variscite DART-MX6 SoM and Carrier-board support Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-29 10:20 ` [PATCH v4 1/6] ARM: dts: imx6qdl-pinfunc: Add missing MX6QDL_PAD_ENET_RXD0__OSC32K_32K_OUT Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-29 10:20 ` [PATCH v4 2/6] dt-bindings: Add vendor prefix for Solomon Goldentek Display Corporation Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-29 10:20 ` [PATCH v4 3/6] dt-bindings: display: Add bindings for SGD GKTW70SDAE4SE Panel Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-29 10:20 ` [PATCH v4 4/6] ARM: dts: imx6qdl: Add Variscite DART-MX6 SoM support Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-30 0:39 ` Shawn Guo
2017-11-30 0:39 ` Shawn Guo
2017-12-01 8:54 ` Neil Armstrong
2017-12-01 8:54 ` Neil Armstrong
2017-12-01 9:02 ` Philippe Ombredanne
2017-12-01 9:02 ` Philippe Ombredanne
2017-12-01 9:19 ` Neil Armstrong
2017-12-01 9:19 ` Neil Armstrong
2017-12-01 9:40 ` Philippe Ombredanne
2017-12-01 9:40 ` Philippe Ombredanne
2017-12-01 13:40 ` Neil Armstrong
2017-12-01 13:40 ` Neil Armstrong
2017-11-29 10:20 ` [PATCH v4 5/6] ARM: dts: imx6q: Add Variscite DART-MX6 Carrier-board support Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-30 0:43 ` Shawn Guo [this message]
2017-11-30 0:43 ` Shawn Guo
2017-12-01 8:56 ` Neil Armstrong
2017-12-01 8:56 ` Neil Armstrong
2017-11-29 10:20 ` [PATCH v4 6/6] ARM: configs: Add missing config for DART-MX6 SoM Neil Armstrong
2017-11-29 10:20 ` Neil Armstrong
2017-11-30 0:46 ` Shawn Guo
2017-11-30 0:46 ` Shawn Guo
2017-12-01 8:57 ` Neil Armstrong
2017-12-01 8:57 ` Neil Armstrong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171130004342.GC22908@dragon \
--to=shawnguo@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.