From a8b7965c99ef29310140b19496ff738eea1a5949 Mon Sep 17 00:00:00 2001 From: Naveen Kumar S Date: Thu, 17 Aug 2017 15:41:19 +0530 Subject: [PATCH] dt: t18x: quill: nvdisplay: update window mappings There are display usecases where more than two windows are needed on HDMI to run multiple video streams. Dynamic window re-assignment doesn't guarantee that the re-assigned windows would support all display usecases. Only windows that are assigned in DT to a enabled DC are guaranteed to support all usecases. Hence, assign all six windows to DC.1 (HDMI) in Quill-P3310 base DT as this is the Jetson-TX2 configuration shipped to public. Plugin-manager shall enable DC.0/DC.2 upon detection of E3320 module and update window assignment to 3:2:1 accordingly. Updated win-mask in all affected DTs. Quill display plugin manager dtsi is included in P3310/P3489 base plugin manager dtsi. Hence its inclusion in P3310/P3489 base DT files. Cleaned up and refactored code in DP primary DT to align with the convention of having nvdisplay nodes first, followed by sor nodes and then dpaux nodes. bug 200334612 Change-Id: If110a91b286f94b84c3bc956eea35a543acbe342 Signed-off-by: Naveen Kumar S --- kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-a00-00.dts | 9 +++++++-- kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-c03-00.dts | 9 +++++++-- kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts | 7 ++++++- kernel-dts/tegra186-quill-p3310-1000-a00-00-edp.dts | 8 ++++++++ kernel-dts/tegra186-quill-p3310-1000-c00-00-auo-1080p-edp.dts | 7 +++++++ kernel-dts/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts | 8 +++++++- 6 files changed, 42 insertions(+), 6 deletions(-) diff --git a/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-a00-00.dts b/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-a00-00.dts index ff7e83a..938c56f 100644 --- a/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-a00-00.dts +++ b/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-a00-00.dts @@ -25,14 +25,19 @@ nvdisplay@15200000 { status = "okay"; nvidia,dc-or-node = "/host1x/sor1"; + nvidia,fb-win = <0>; + win-mask = <0x3f>; }; nvdisplay@15210000 { status = "disabled"; - nvidia,dc-or-node = "/host1x/dsi"; }; nvdisplay@15220000 { status = "disabled"; - nvidia,dc-or-node = "/host1x/sor"; }; }; + + plugin-manager { + /delete-node/ fragment-e3320-dp; + /delete-node/ fragment-e3320; + }; }; diff --git a/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-c03-00.dts b/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-c03-00.dts index fc97802..9fb1209 100644 --- a/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-c03-00.dts +++ b/kernel-dts/tegra186-quill-hdmi-primary-p3310-1000-c03-00.dts @@ -25,14 +25,19 @@ nvdisplay@15200000 { status = "okay"; nvidia,dc-or-node = "/host1x/sor1"; + nvidia,fb-win = <0>; + win-mask = <0x3f>; }; nvdisplay@15210000 { status = "disabled"; - nvidia,dc-or-node = "/host1x/dsi"; }; nvdisplay@15220000 { status = "disabled"; - nvidia,dc-or-node = "/host1x/sor"; }; }; + + plugin-manager { + /delete-node/ fragment-e3320-dp; + /delete-node/ fragment-e3320; + }; }; diff --git a/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts b/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts index 7c4ed93..f017674 100644 --- a/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts +++ b/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts @@ -21,8 +21,8 @@ /* comms dtsi file should be included after gpio dtsi file */ #include #include +#include #include -#include #include #include @@ -194,6 +194,11 @@ status = "disabled"; }; + nvdisplay@15210000 { + nvidia,fb-win = <0>; + win-mask = <0x3f>; + }; + nvdisplay@15220000 { status = "disabled"; }; diff --git a/kernel-dts/tegra186-quill-p3310-1000-a00-00-edp.dts b/kernel-dts/tegra186-quill-p3310-1000-a00-00-edp.dts index 21656d1..fc6b3ae 100644 --- a/kernel-dts/tegra186-quill-p3310-1000-a00-00-edp.dts +++ b/kernel-dts/tegra186-quill-p3310-1000-a00-00-edp.dts @@ -45,8 +45,16 @@ host1x { /* Head0->SOR0->eDP */ nvdisplay@15200000 { + status = "okay"; vdd_lcd_bl_en-supply = <&vdd_lcd_bl_en>; /* GPIO_DIS3 / LCD_BL_EN for eDP */ nvidia,dc-or-node = "/host1x/sor"; + nvidia,fb-win = <0>; + win-mask = <0x7>; + }; + + nvdisplay@15210000 { + nvidia,fb-win = <3>; + win-mask = <0x38>; }; sor { diff --git a/kernel-dts/tegra186-quill-p3310-1000-c00-00-auo-1080p-edp.dts b/kernel-dts/tegra186-quill-p3310-1000-c00-00-auo-1080p-edp.dts index fd4a873..c172f82 100644 --- a/kernel-dts/tegra186-quill-p3310-1000-c00-00-auo-1080p-edp.dts +++ b/kernel-dts/tegra186-quill-p3310-1000-c00-00-auo-1080p-edp.dts @@ -51,8 +51,15 @@ vdd_lcd_bl_en-supply = <&vdd_lcd_bl_en>; /* GPIO_DIS3 / LCD_BL_EN for eDP */ nvidia,dc-or-node = "/host1x/sor"; vdd_ds_1v8-supply = <&en_vdd_disp_1v8>; + nvidia,fb-win = <0>; + win-mask = <0x7>; }; + nvdisplay@15210000 { + nvidia,fb-win = <3>; + win-mask = <0x38>; + }; + sor { status = "okay"; hdmi-display { diff --git a/kernel-dts/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts b/kernel-dts/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts index 8572e92..2661572 100644 --- a/kernel-dts/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts +++ b/kernel-dts/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-hdmi.dts @@ -53,6 +53,12 @@ }; plugin-manager { - /delete-node/ fragment-e3320-dp; + fragment-e3320-dp { + override@0 { + _overlay_ { + /delete-node/ sor; + }; + }; + }; }; }; -- 2.1.4