Series adda LVDS panel attributes on panel drivers instead of defining them in dts nodes, and also added new icorem6 engicam boards.
Jagan Teki (7): drm/panel: simple: add support for Ampire AM-800480AYTZQW-00H ARM: dts: imx6q-icore: Switch LVDS timings from panel-simple ARM: dts: imx6dl-icore: Add LVDS node drm/panel: simple: Add support for KEO TX31D200VM0BAA ARM: dts: imx6q-icore-ofcap12: Switch LVDS timings from panel-simple ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 7 initial support ARM: dts: imx6q: Add Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit support
.../display/panel/ampire,am-800480aytzqw-00h.txt | 25 +++++++++ .../bindings/display/panel/koe,tx31d200vm0baa.txt | 25 +++++++++ arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imx6dl-icore.dts | 28 ++++++++++ arch/arm/boot/dts/imx6q-icore-mipi.dts | 25 +++++++++ arch/arm/boot/dts/imx6q-icore-ofcap12.dts | 31 ++++++----- arch/arm/boot/dts/imx6q-icore-ofcap7.dts | 65 ++++++++++++++++++++++ arch/arm/boot/dts/imx6q-icore.dts | 31 ++++++----- arch/arm/boot/dts/imx6qdl-icore.dtsi | 25 ++++++++- drivers/gpu/drm/panel/panel-simple.c | 54 ++++++++++++++++++ 10 files changed, 282 insertions(+), 29 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt create mode 100644 Documentation/devicetree/bindings/display/panel/koe,tx31d200vm0baa.txt create mode 100644 arch/arm/boot/dts/imx6q-icore-mipi.dts create mode 100644 arch/arm/boot/dts/imx6q-icore-ofcap7.dts
This adds support for the Ampire AM-800480AYTZQW-00H 7.0" WGA LCD, which can be supported by the simple panel driver.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Reviewed-by: Rob Herring robh@kernel.org --- Changes for v3: - collect Rob reiew tag Changes for v2: - Updated binding info about optional properties, node and example
.../display/panel/ampire,am-800480aytzqw-00h.txt | 25 ++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt
diff --git a/Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt b/Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt new file mode 100644 index 0000000..abb5eee --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt @@ -0,0 +1,25 @@ +Ampire AM-800480AYTZQW-00H 7.0" WVGA TFT LCD panel + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "ampire,am-800480aytzqw-00h" + +Optional properties: +- backlight: phandle of the backlight device attached to the panel + +Optional nodes: +- Video port for LVDS panel input. + +Example: + panel { + compatible = "ampire,am-800480aytzqw-00h"; + backlight = <&backlight_lvds>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 5591984..2ecc14b 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -412,6 +412,30 @@ static const struct panel_desc ampire_am_480272h3tmqw_t01h = { .bus_format = MEDIA_BUS_FMT_RGB888_1X24, };
+static const struct display_timing ampire_am_800480aytzqw_00h_timing = { + .pixelclock = { 27700000, 29200000, 39600000 }, + .hactive = { 800, 800, 800 }, + .hfront_porch = { 12, 40, 212 }, + .hback_porch = { 88, 88, 88 }, + .hsync_len = { 1, 2, 40 }, + .vactive = { 480, 480, 480 }, + .vfront_porch = { 1, 13, 88 }, + .vback_porch = { 32, 32, 32 }, + .vsync_len = { 1, 2, 3 }, + .flags = DISPLAY_FLAGS_DE_HIGH, +}; + +static const struct panel_desc ampire_am_800480aytzqw_00h = { + .timings = &ire_am_800480aytzqw_00h_timing, + .num_timings = 1, + .bpc = 6, + .size = { + .width = 154, + .height = 86, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, +}; + static const struct drm_display_mode ampire_am800480r3tmqwa1h_mode = { .clock = 33333, .hdisplay = 800, @@ -2028,6 +2052,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "ampire,am-480272h3tmqw-t01h", .data = &ire_am_480272h3tmqw_t01h, }, { + .compatible = "ampire,am-800480aytzqw-00h", + .data = &ire_am_800480aytzqw_00h, + }, { .compatible = "ampire,am800480r3tmqwa1h", .data = &ire_am800480r3tmqwa1h, }, {
Hi Jagan,
On Sun, 2018-02-04 at 23:19 +0530, Jagan Teki wrote:
This adds support for the Ampire AM-800480AYTZQW-00H 7.0" WGA LCD, which can be supported by the simple panel driver.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Reviewed-by: Rob Herring robh@kernel.org
Changes for v3:
- collect Rob reiew tag
Changes for v2:
- Updated binding info about optional properties, node and example
.../display/panel/ampire,am-800480aytzqw-00h.txt | 25 ++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt
diff --git a/Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt b/Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt new file mode 100644 index 0000000..abb5eee --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/ampire,am-800480aytzqw-00h.txt @@ -0,0 +1,25 @@ +Ampire AM-800480AYTZQW-00H 7.0" WVGA TFT LCD panel
+This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory.
+Required properties: +- compatible: should be "ampire,am-800480aytzqw-00h"
+Optional properties: +- backlight: phandle of the backlight device attached to the panel
+Optional nodes: +- Video port for LVDS panel input.
+Example:
- panel {
compatible = "ampire,am-800480aytzqw-00h";
backlight = <&backlight_lvds>;
port {
panel_in: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
- };
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 5591984..2ecc14b 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -412,6 +412,30 @@ static const struct panel_desc ampire_am_480272h3tmqw_t01h = { .bus_format = MEDIA_BUS_FMT_RGB888_1X24, };
+static const struct display_timing ampire_am_800480aytzqw_00h_timing = {
- .pixelclock = { 27700000, 29200000, 39600000 },
- .hactive = { 800, 800, 800 },
- .hfront_porch = { 12, 40, 212 },
- .hback_porch = { 88, 88, 88 },
- .hsync_len = { 1, 2, 40 },
- .vactive = { 480, 480, 480 },
- .vfront_porch = { 1, 13, 88 },
- .vback_porch = { 32, 32, 32 },
- .vsync_len = { 1, 2, 3 },
- .flags = DISPLAY_FLAGS_DE_HIGH,
+};
+static const struct panel_desc ampire_am_800480aytzqw_00h = {
- .timings = &ire_am_800480aytzqw_00h_timing,
- .num_timings = 1,
- .bpc = 6,
- .size = {
.width = 154,
.height = 86,
- },
If the panel datasheet specifies minimal prepare, enable, disable, and unprepare delays, it would be good to add them to the panel descriptor.
- .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
+};
static const struct drm_display_mode ampire_am800480r3tmqwa1h_mode = { .clock = 33333, .hdisplay = 800, @@ -2028,6 +2052,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "ampire,am-480272h3tmqw-t01h", .data = &ire_am_480272h3tmqw_t01h, }, {
.compatible = "ampire,am-800480aytzqw-00h",
.data = &ire_am_800480aytzqw_00h,
- }, { .compatible = "ampire,am800480r3tmqwa1h", .data = &ire_am800480r3tmqwa1h, }, {
regards Philipp
Switch to use ampire,am-800480aytzqw-00h LVDS timings from panel-simple instead hard coding the same in dts.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Changes for v3, v2: - none
arch/arm/boot/dts/imx6q-icore.dts | 31 +++++++++++++++++-------------- arch/arm/boot/dts/imx6qdl-icore.dtsi | 2 +- 2 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-icore.dts b/arch/arm/boot/dts/imx6q-icore.dts index 5613dd9..c8e464e 100644 --- a/arch/arm/boot/dts/imx6q-icore.dts +++ b/arch/arm/boot/dts/imx6q-icore.dts @@ -48,6 +48,17 @@ / { model = "Engicam i.CoreM6 Quad/Dual Starter Kit"; compatible = "engicam,imx6-icore", "fsl,imx6q"; + + panel { + compatible = "ampire,am-800480aytzqw-00h"; + backlight = <&backlight_lvds>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; };
&can1 { @@ -71,22 +82,14 @@ status = "okay";
lvds-channel@0 { - fsl,data-mapping = "spwg"; - fsl,data-width = <18>; + reg = <0>; status = "okay";
- display-timings { - native-mode = <&timing0>; - timing0: timing0 { - clock-frequency = <60000000>; - hactive = <800>; - vactive = <480>; - hback-porch = <30>; - hfront-porch = <30>; - vback-porch = <5>; - vfront-porch = <5>; - hsync-len = <64>; - vsync-len = <20>; + port@4 { + reg = <4>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_in>; }; }; }; diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi index a1b469c..5fd9e00 100644 --- a/arch/arm/boot/dts/imx6qdl-icore.dtsi +++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi @@ -49,7 +49,7 @@ reg = <0x10000000 0x80000000>; };
- backlight { + backlight_lvds: backlight-lvds { compatible = "pwm-backlight"; pwms = <&pwm3 0 100000>; brightness-levels = <0 4 8 16 32 64 128 255>;
Add ampire,am-800480aytzqw-00h LVDS support by using timings from panel-simple.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Changes for v3, v2: - none
arch/arm/boot/dts/imx6dl-icore.dts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
diff --git a/arch/arm/boot/dts/imx6dl-icore.dts b/arch/arm/boot/dts/imx6dl-icore.dts index 971f9fc..74bff84 100644 --- a/arch/arm/boot/dts/imx6dl-icore.dts +++ b/arch/arm/boot/dts/imx6dl-icore.dts @@ -48,6 +48,17 @@ / { model = "Engicam i.CoreM6 DualLite/Solo Starter Kit"; compatible = "engicam,imx6-icore", "fsl,imx6dl"; + + panel { + compatible = "ampire,am-800480aytzqw-00h"; + backlight = <&backlight_lvds>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; };
&can1 { @@ -66,3 +77,20 @@ interrupts = <31 IRQ_TYPE_EDGE_FALLING>; }; }; + +&ldb { + status = "okay"; + + lvds-channel@0 { + reg = <0>; + status = "okay"; + + port@4 { + reg = <4>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; +};
This adds support for the Kaohsiung Opto-Electronics., TX31D200VM0BAA 12.3" HSXGA LVDS panel, which can be supported by the simple panel driver.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Reviewed-by: Rob Herring robh@kernel.org --- Changes for v3: - collect Rob reiew tag Changes for v2: - Updated binding info about optional properties, node and example
.../bindings/display/panel/koe,tx31d200vm0baa.txt | 25 ++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/koe,tx31d200vm0baa.txt
diff --git a/Documentation/devicetree/bindings/display/panel/koe,tx31d200vm0baa.txt b/Documentation/devicetree/bindings/display/panel/koe,tx31d200vm0baa.txt new file mode 100644 index 0000000..6a036ed --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/koe,tx31d200vm0baa.txt @@ -0,0 +1,25 @@ +Kaohsiung Opto-Electronics. TX31D200VM0BAA 12.3" HSXGA LVDS panel + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "koe,tx31d200vm0baa" + +Optional properties: +- backlight: phandle of the backlight device attached to the panel + +Optional nodes: +- Video port for LVDS panel input. + +Example: + panel { + compatible = "koe,tx31d200vm0baa"; + backlight = <&backlight_lvds>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 2ecc14b..8a0e4a8 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -1241,6 +1241,30 @@ static const struct panel_desc innolux_zj070na_01p = { }, };
+static const struct display_timing koe_tx31d200vm0baa_timing = { + .pixelclock = { 39600000, 43200000, 48000000 }, + .hactive = { 1280, 1280, 1280 }, + .hfront_porch = { 16, 36, 56 }, + .hback_porch = { 16, 36, 56 }, + .hsync_len = { 8, 8, 8 }, + .vactive = { 480, 480, 480 }, + .vfront_porch = { 6, 21, 33.5 }, + .vback_porch = { 6, 21, 33.5 }, + .vsync_len = { 8, 8, 8 }, + .flags = DISPLAY_FLAGS_DE_HIGH, +}; + +static const struct panel_desc koe_tx31d200vm0baa = { + .timings = &koe_tx31d200vm0baa_timing, + .num_timings = 1, + .bpc = 6, + .size = { + .width = 292, + .height = 109, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, +}; + static const struct display_timing kyo_tcg121xglp_timing = { .pixelclock = { 52000000, 65000000, 71000000 }, .hactive = { 1024, 1024, 1024 }, @@ -2151,6 +2175,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "innolux,zj070na-01p", .data = &innolux_zj070na_01p, }, { + .compatible = "koe,tx31d200vm0baa", + .data = &koe_tx31d200vm0baa, + }, { .compatible = "kyo,tcg121xglp", .data = &kyo_tcg121xglp, }, {
On Sun, Feb 04, 2018 at 11:19:28PM +0530, Jagan Teki wrote:
This adds support for the Kaohsiung Opto-Electronics., TX31D200VM0BAA 12.3" HSXGA LVDS panel, which can be supported by the simple panel driver.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com Reviewed-by: Rob Herring robh@kernel.org
Changes for v3:
- collect Rob reiew tag
Changes for v2:
- Updated binding info about optional properties, node and example
.../bindings/display/panel/koe,tx31d200vm0baa.txt | 25 ++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/koe,tx31d200vm0baa.txt
The koe vendor prefix is undocumented, please send a patch to add it to Documentation/devicetree/bindings/vendor-prefixes.txt.
Thierry
Switch to use koe_tx31d200vm0baa LVDS timings from panel-simple instead hard coding the same in dts.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Changes for v3, v2: - none
arch/arm/boot/dts/imx6q-icore-ofcap12.dts | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts index 9e230f5..6e27c81 100644 --- a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts +++ b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts @@ -48,28 +48,31 @@ / { model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 12 Kit"; compatible = "engicam,imx6-icore", "fsl,imx6q"; + + panel { + compatible = "koe,tx31d200vm0baa"; + backlight = <&backlight_lvds>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; };
&ldb { status = "okay";
lvds-channel@0 { - fsl,data-mapping = "spwg"; - fsl,data-width = <18>; + reg = <0>; status = "okay";
- display-timings { - native-mode = <&timing0>; - timing0: timing0 { - clock-frequency = <46800000>; - hactive = <1280>; - vactive = <480>; - hback-porch = <353>; - hfront-porch = <47>; - vback-porch = <39>; - vfront-porch = <4>; - hsync-len = <8>; - vsync-len = <2>; + port@4 { + reg = <4>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_in>; }; }; };
i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus openframe display carriers" which are good solution for develop user friendly graphic user interface.
ofcap 7 general features: CPU NXP Freescale i.MX6Q rev1.5 at 792 MHz RAM 1GB, 32, 64 bit, DDR3-800/1066 NAND SLC, 512MB LVDS Display TFT 7" industrial, 800x480 resolution Touchscreen EP0700M06 EDT Polytouch capacitive touch screen Backlight LED backlight, brightness 300 Cd/m2 Power supply 15 to 30 Vdc
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Changes for v3: - none Changes for v2: - Updated licence text - remove big notes, add SPDX and author
arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6q-icore-ofcap7.dts | 65 ++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 arch/arm/boot/dts/imx6q-icore-ofcap7.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index ade7a38..aa60320 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -458,6 +458,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-icore.dtb \ imx6q-icore-ofcap10.dtb \ imx6q-icore-ofcap12.dtb \ + imx6q-icore-ofcap7.dtb \ imx6q-icore-rqs.dtb \ imx6q-marsboard.dtb \ imx6q-mccmon6.dtb \ diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap7.dts b/arch/arm/boot/dts/imx6q-icore-ofcap7.dts new file mode 100644 index 0000000..6ff7a0a --- /dev/null +++ b/arch/arm/boot/dts/imx6q-icore-ofcap7.dts @@ -0,0 +1,65 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2017 Engicam S.r.l. + * Copyright (C) 2017 Amarula Solutions B.V. + * Author: Jagan Teki jagan@amarulasolutions.com + */ + +/dts-v1/; + +#include "imx6q.dtsi" +#include "imx6qdl-icore.dtsi" + +/ { + model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 7 Kit"; + compatible = "engicam,imx6-icore", "fsl,imx6q"; + + panel { + compatible = "ampire,am-800480aytzqw-00h"; + backlight = <&backlight_lvds>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; +}; + +&i2c3 { + ep0700m06: touchscreen@38 { + compatible = "edt,edt-ft5406"; + reg = <0x38>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_edt_ft5x06>; + interrupt-parent = <&gpio5>; + interrupts = <30 IRQ_TYPE_NONE>; + reset-gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; + }; +}; + +&ldb { + status = "okay"; + + lvds-channel@0 { + reg = <0>; + status = "okay"; + + port@4 { + reg = <4>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; +}; + +&iomuxc { + pinctrl_edt_ft5x06: edt-ft5x06grp { + fsl,pins = < + MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30 0x1b0b0 /*interrupt*/ + MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x1b0b0 /*reset edt*/ + >; + }; +};
i.CoreM6 1.5 is an another i.CoreM6 QDL cpu modules which can be connected to EDIMM starter kit design with eMMC and MIPI-CSI interfaces suitable for Android and video capture application.
notable features: CPU NXP i.MX6 S/DL/D/Q, Up to 4 x Cortex-A9@800MHz Memory Up to 2 GB DDR3-1066 Video Interfaces Up to 1 Parallel Up to 2 LVDS HDMI 1.4 port 8 bit CSI INPUT MIPI-CSI INPUT 1 x 10/100 Ethernet interface, 2 x USB, 1 x PCIe, 1 x I2S etc
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Changes for v3: - none Changes for v2: - new patch
arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx6q-icore-mipi.dts | 25 +++++++++++++++++++++++++ arch/arm/boot/dts/imx6qdl-icore.dtsi | 23 +++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 arch/arm/boot/dts/imx6q-icore-mipi.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index aa60320..a0e46f3 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -456,6 +456,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-hummingboard2-emmc-som-v15.dtb \ imx6q-hummingboard2-som-v15.dtb \ imx6q-icore.dtb \ + imx6q-icore-mipi.dtb \ imx6q-icore-ofcap10.dtb \ imx6q-icore-ofcap12.dtb \ imx6q-icore-ofcap7.dtb \ diff --git a/arch/arm/boot/dts/imx6q-icore-mipi.dts b/arch/arm/boot/dts/imx6q-icore-mipi.dts new file mode 100644 index 0000000..acd3d33 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-icore-mipi.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2017 Engicam S.r.l. + * Copyright (C) 2017 Amarula Solutions B.V. + * Author: Jagan Teki jagan@amarulasolutions.com + */ + +/dts-v1/; + +#include "imx6q.dtsi" +#include "imx6qdl-icore.dtsi" + +/ { + model = "Engicam i.CoreM6 Quad/Dual MIPI Starter Kit"; + compatible = "engicam,imx6-icore", "fsl,imx6q"; +}; + +&hdmi { + ddc-i2c-bus = <&i2c2>; + status = "okay"; +}; + +&usdhc3 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi index 5fd9e00..d696447 100644 --- a/arch/arm/boot/dts/imx6qdl-icore.dtsi +++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi @@ -265,6 +265,14 @@ status = "okay"; };
+&usdhc3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc3>; + no-1-8-v; + non-removable; + status = "disabled"; +}; + &iomuxc { pinctrl_audmux: audmux { fsl,pins = < @@ -378,4 +386,19 @@ MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070 >; }; + + pinctrl_usdhc3: usdhc3grp { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 + MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 + MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 + MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 + MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 + >; + }; };
On Sun, Feb 04, 2018 at 11:19:24PM +0530, Jagan Teki wrote:
Series adda LVDS panel attributes on panel drivers instead of defining them in dts nodes, and also added new icorem6 engicam boards.
Jagan Teki (7): drm/panel: simple: add support for Ampire AM-800480AYTZQW-00H ARM: dts: imx6q-icore: Switch LVDS timings from panel-simple ARM: dts: imx6dl-icore: Add LVDS node drm/panel: simple: Add support for KEO TX31D200VM0BAA ARM: dts: imx6q-icore-ofcap12: Switch LVDS timings from panel-simple ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 7 initial support ARM: dts: imx6q: Add Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit support
.../display/panel/ampire,am-800480aytzqw-00h.txt | 25 +++++++++ .../bindings/display/panel/koe,tx31d200vm0baa.txt | 25 +++++++++
...
drivers/gpu/drm/panel/panel-simple.c | 54 ++++++++++++++++++
The dts files should really be sent only after above bindings doc and driver changes get merged first.
Shawn
On Mon, Feb 5, 2018 at 4:28 PM, Shawn Guo shawnguo@kernel.org wrote:
On Sun, Feb 04, 2018 at 11:19:24PM +0530, Jagan Teki wrote:
Series adda LVDS panel attributes on panel drivers instead of defining them in dts nodes, and also added new icorem6 engicam boards.
Jagan Teki (7): drm/panel: simple: add support for Ampire AM-800480AYTZQW-00H ARM: dts: imx6q-icore: Switch LVDS timings from panel-simple ARM: dts: imx6dl-icore: Add LVDS node drm/panel: simple: Add support for KEO TX31D200VM0BAA ARM: dts: imx6q-icore-ofcap12: Switch LVDS timings from panel-simple ARM: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 7 initial support ARM: dts: imx6q: Add Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit support
.../display/panel/ampire,am-800480aytzqw-00h.txt | 25 +++++++++ .../bindings/display/panel/koe,tx31d200vm0baa.txt | 25 +++++++++
...
drivers/gpu/drm/panel/panel-simple.c | 54 ++++++++++++++++++
The dts files should really be sent only after above bindings doc and driver changes get merged first.
OK, I will send drm/panel changes first.
dri-devel@lists.freedesktop.org