linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] ARM: tegra: DSI and panel support
@ 2013-12-19 15:59 Thierry Reding
  2013-12-19 15:59 ` [PATCH 01/10] ARM: tegra: Enable LVDS on Harmony Thierry Reding
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

This series of patches add support for Tegra114 display, DSI, HDMI, gr2d
and gr3d. Both DSI and HDMI outputs are enabled on Dalmore.

The LVDS panels on Harmony and Cardhu are added to the corresponding DTS
files and support for panels is enabled in the Tegra defconfig.

Thierry

Mikko Perttunen (2):
  ARM: tegra: Add host1x, DC and HDMI to Tegra114 device tree
  ARM: tegra: Enable HDMI support on Dalmore

Thierry Reding (8):
  ARM: tegra: Enable LVDS on Harmony
  ARM: tegra: Enable LVDS on Cardhu
  ARM: tegra: Add MIPI calibration DT entries for Tegra114
  ARM: tegra: Add Tegra114 DSI support
  ARM: tegra: Add Tegra114 gr2d support
  ARM: tegra: Add Tegra114 gr3d support
  ARM: tegra: Enable DSI support on Dalmore
  ARM: tegra: Enable DRM panel support

 arch/arm/boot/dts/tegra114-dalmore.dts |  59 +++++++++++++----
 arch/arm/boot/dts/tegra114.dtsi        | 113 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/tegra20-harmony.dts  |  36 ++++++++++-
 arch/arm/boot/dts/tegra30-cardhu.dtsi  |  37 ++++++++++-
 arch/arm/configs/tegra_defconfig       |   2 +
 5 files changed, 232 insertions(+), 15 deletions(-)

-- 
1.8.4.2

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 01/10] ARM: tegra: Enable LVDS on Harmony
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 02/10] ARM: tegra: Enable LVDS on Cardhu Thierry Reding
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Add backlight and panel nodes for the Harmony TFT LCD panel.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v2:
- no longer set panel regulator always-on, fixed in driver
- update commit message
- remove backlight-boot-off property for now

 arch/arm/boot/dts/tegra20-harmony.dts | 36 +++++++++++++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index 6145f26a0ec5..3fb1f50f6d46 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -17,6 +17,14 @@
 	};
 
 	host1x at 50000000 {
+		dc at 54200000 {
+			rgb {
+				status = "okay";
+
+				nvidia,panel = <&panel>;
+			};
+		};
+
 		hdmi at 54280000 {
 			status = "okay";
 
@@ -261,6 +269,10 @@
 		status = "okay";
 	};
 
+	pwm: pwm at 7000a000 {
+		status = "okay";
+	};
+
 	i2c at 7000c000 {
 		status = "okay";
 		clock-frequency = <400000>;
@@ -606,6 +618,17 @@
 		bus-width = <8>;
 	};
 
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		enable-gpios = <&gpio TEGRA_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
+		power-supply = <&vdd_bl_reg>;
+		pwms = <&pwm 0 5000000>;
+
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <6>;
+	};
+
 	clocks {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -630,6 +653,15 @@
 		};
 	};
 
+	panel: panel {
+		compatible = "auo,b101aw03", "simple-panel";
+
+		power-supply = <&vdd_pnl_reg>;
+		enable-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
+
+		backlight = <&backlight>;
+	};
+
 	regulators {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -673,7 +705,7 @@
 			enable-active-high;
 		};
 
-		regulator at 4 {
+		vdd_pnl_reg: regulator at 4 {
 			compatible = "regulator-fixed";
 			reg = <4>;
 			regulator-name = "vdd_pnl";
@@ -683,7 +715,7 @@
 			enable-active-high;
 		};
 
-		regulator at 5 {
+		vdd_bl_reg: regulator at 5 {
 			compatible = "regulator-fixed";
 			reg = <5>;
 			regulator-name = "vdd_bl";
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 02/10] ARM: tegra: Enable LVDS on Cardhu
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
  2013-12-19 15:59 ` [PATCH 01/10] ARM: tegra: Enable LVDS on Harmony Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114 Thierry Reding
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Add backlight and panel nodes for the Cardhu 10.1" WXGA TFT LCD panel.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v3:
- split HDMI support into a separate patch

Changes in v2:
- remove backlight-boot-off property for now

 arch/arm/boot/dts/tegra30-cardhu.dtsi | 37 ++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index dfcc18adcfd7..9104224124ee 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -56,6 +56,16 @@
 		};
 	};
 
+	host1x at 50000000 {
+		dc at 54200000 {
+			rgb {
+				status = "okay";
+
+				nvidia,panel = <&panel>;
+			};
+		};
+	};
+
 	pinmux at 70000868 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&state_default>;
@@ -152,7 +162,11 @@
 		status = "okay";
 	};
 
-	i2c at 7000c000 {
+	pwm at 7000a000 {
+		status = "okay";
+	};
+
+	panelddc: i2c at 7000c000 {
 		status = "okay";
 		clock-frequency = <100000>;
 	};
@@ -372,6 +386,17 @@
 		status = "okay";
 	};
 
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
+		power-supply = <&vdd_bl_reg>;
+		pwms = <&pwm 0 5000000>;
+
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <6>;
+	};
+
 	clocks {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -385,6 +410,16 @@
 		};
 	};
 
+	panel: panel {
+		compatible = "chunghwa,claa101wb01", "simple-panel";
+		ddc-i2c-bus = <&panelddc>;
+
+		power-supply = <&vdd_pnl1_reg>;
+		enable-gpios = <&gpio TEGRA_GPIO(L, 2) GPIO_ACTIVE_HIGH>;
+
+		backlight = <&backlight>;
+	};
+
 	regulators {
 		compatible = "simple-bus";
 		#address-cells = <1>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
  2013-12-19 15:59 ` [PATCH 01/10] ARM: tegra: Enable LVDS on Harmony Thierry Reding
  2013-12-19 15:59 ` [PATCH 02/10] ARM: tegra: Enable LVDS on Cardhu Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-20  0:11   ` Stephen Warren
  2013-12-19 15:59 ` [PATCH 04/10] ARM: tegra: Add host1x, DC and HDMI to Tegra114 device tree Thierry Reding
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Add a device node for the MIPI calibration block on Tegra114. There is
no need to disable it by default because it only enables the clock while
performing calibration and therefore shouldn't be consuming any power
when unused.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v3:
- update for revised bindings

Changes in v2:
- remove include/dt-bindings/gpu/host1x/tegra114-mipi.h

 arch/arm/boot/dts/tegra114.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index ae855ec60bbd..9a40a3fc37ec 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -480,6 +480,13 @@
 		};
 	};
 
+	mipi: mipi {
+		compatible = "nvidia,tegra114-mipi";
+		reg = <0x700e3000 0x100>;
+		clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>;
+		#nvidia,mipi-calibrate-cells = <1>;
+	};
+
 	sdhci at 78000000 {
 		compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
 		reg = <0x78000000 0x200>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 04/10] ARM: tegra: Add host1x, DC and HDMI to Tegra114 device tree
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (2 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114 Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support Thierry Reding
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

From: Mikko Perttunen <mperttunen@nvidia.com>

Add host1x, DC (display controller) and HDMI devices to Tegra114
device tree.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114.dtsi | 57 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 9a40a3fc37ec..65e34e7fe6f2 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -16,6 +16,63 @@
 		serial3 = &uartd;
 	};
 
+	host1x at 50000000 {
+		compatible = "nvidia,tegra114-host1x", "simple-bus";
+		reg = <0x50000000 0x00028000>;
+		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
+			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
+		clocks = <&tegra_car TEGRA114_CLK_HOST1X>;
+		resets = <&tegra_car 28>;
+		reset-names = "host1x";
+
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		ranges = <0x54000000 0x54000000 0x01000000>;
+
+		dc at 54200000 {
+			compatible = "nvidia,tegra114-dc", "nvidia,tegra20-dc";
+			reg = <0x54200000 0x00040000>;
+			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&tegra_car TEGRA114_CLK_DISP1>,
+				 <&tegra_car TEGRA114_CLK_PLL_P>;
+			clock-names = "dc", "parent";
+			resets = <&tegra_car 27>;
+			reset-names = "dc";
+
+			rgb {
+				status = "disabled";
+			};
+		};
+
+		dc at 54240000 {
+			compatible = "nvidia,tegra114-dc", "nvidia,tegra20-dc";
+			reg = <0x54240000 0x00040000>;
+			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&tegra_car TEGRA114_CLK_DISP2>,
+				 <&tegra_car TEGRA114_CLK_PLL_P>;
+			clock-names = "dc", "parent";
+			resets = <&tegra_car 26>;
+			reset-names = "dc";
+
+			rgb {
+				status = "disabled";
+			};
+		};
+
+		hdmi at 54280000 {
+			compatible = "nvidia,tegra114-hdmi";
+			reg = <0x54280000 0x00040000>;
+			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&tegra_car TEGRA114_CLK_HDMI>,
+				 <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
+			clock-names = "hdmi", "parent";
+			resets = <&tegra_car 51>;
+			reset-names = "hdmi";
+			status = "disabled";
+		};
+	};
+
 	gic: interrupt-controller at 50041000 {
 		compatible = "arm,cortex-a15-gic";
 		#interrupt-cells = <3>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (3 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 04/10] ARM: tegra: Add host1x, DC and HDMI to Tegra114 device tree Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 19:57   ` Stephen Warren
  2013-12-19 15:59 ` [PATCH 06/10] ARM: tegra: Add Tegra114 gr2d support Thierry Reding
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Add device tree nodes for the DSI controllers found on Tegra114 SoCs.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v4:
- add reset and reset-names properties

Changes in v3:
- add #address-cells and #size-cells properties for DSI bus
- update for revised MIPI calibration bindings
- add low-power clocks

Changes in v2:
- use a comment to describe which pads need calibration

 arch/arm/boot/dts/tegra114.dtsi | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 65e34e7fe6f2..28d2eea46b52 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -71,6 +71,38 @@
 			reset-names = "hdmi";
 			status = "disabled";
 		};
+
+		dsi at 54300000 {
+			compatible = "nvidia,tegra114-dsi";
+			reg = <0x54300000 0x00040000>;
+			clocks = <&tegra_car TEGRA114_CLK_DSIA>,
+				 <&tegra_car TEGRA114_CLK_DSIALP>,
+				 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>;
+			clock-names = "dsi", "lp", "parent";
+			resets = <&tegra_car 48>;
+			reset-names = "dsi";
+			nvidia,mipi-calibrate = <&mipi 0x060>; /* DSIA & DSIB pads */
+			status = "disabled";
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+
+		dsi at 54400000 {
+			compatible = "nvidia,tegra114-dsi";
+			reg = <0x54400000 0x00040000>;
+			clocks = <&tegra_car TEGRA114_CLK_DSIB>,
+				 <&tegra_car TEGRA114_CLK_DSIBLP>,
+				 <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
+			clock-names = "dsi", "lp", "parent";
+			resets = <&tegra_car 82>;
+			reset-names = "dsi";
+			nvidia,mipi-calibrate = <&mipi 0x180>; /* DSIC & DSID pads */
+			status = "disabled";
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
 	};
 
 	gic: interrupt-controller at 50041000 {
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 06/10] ARM: tegra: Add Tegra114 gr2d support
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (4 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 07/10] ARM: tegra: Add Tegra114 gr3d support Thierry Reding
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Add the device tree for the gr2d hardware found on Tegra114 SoCs.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v3:
- add resets and reset-names properties

Changes in v2:
- mark as backwards-compatible with Tegra20

 arch/arm/boot/dts/tegra114.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 28d2eea46b52..3dd7b50d8f93 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -30,6 +30,15 @@
 
 		ranges = <0x54000000 0x54000000 0x01000000>;
 
+		gr2d at 54140000 {
+			compatible = "nvidia,tegra114-gr2d", "nvidia,tegra20-gr2d";
+			reg = <0x54140000 0x00040000>;
+			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&tegra_car TEGRA114_CLK_GR2D>;
+			resets = <&tegra_car 21>;
+			reset-names = "2d";
+		};
+
 		dc at 54200000 {
 			compatible = "nvidia,tegra114-dc", "nvidia,tegra20-dc";
 			reg = <0x54200000 0x00040000>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 07/10] ARM: tegra: Add Tegra114 gr3d support
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (5 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 06/10] ARM: tegra: Add Tegra114 gr2d support Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 08/10] ARM: tegra: Enable DSI support on Dalmore Thierry Reding
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Add the gr3d device tree node. The gr3d block on Tegra114 is backwards-
compatible with the one on Tegra20.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v2:
- add reset and reset-names properties

 arch/arm/boot/dts/tegra114.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 3dd7b50d8f93..bac5b231ff42 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -39,6 +39,14 @@
 			reset-names = "2d";
 		};
 
+		gr3d at 54180000 {
+			compatible = "nvidia,tegra114-gr3d", "nvidia,tegra20-gr3d";
+			reg = <0x54180000 0x00040000>;
+			clocks = <&tegra_car TEGRA114_CLK_GR3D>;
+			resets = <&tegra_car 24>;
+			reset-names = "3d";
+		};
+
 		dc at 54200000 {
 			compatible = "nvidia,tegra114-dc", "nvidia,tegra20-dc";
 			reg = <0x54200000 0x00040000>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 08/10] ARM: tegra: Enable DSI support on Dalmore
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (6 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 07/10] ARM: tegra: Add Tegra114 gr3d support Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 09/10] ARM: tegra: Enable HDMI " Thierry Reding
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Dalmore has a 10.1" WUXGA panel connected to one of the DSI outputs of
the Tegra114.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v3:
- make panel a peripheral on the DSI bus

Changes in v2:
- remove backlight-boot-off property for now
- don't renumber all regulators

 arch/arm/boot/dts/tegra114-dalmore.dts | 44 ++++++++++++++++++++++++----------
 1 file changed, 32 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index ca4485903b9d..512922f049c3 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -16,6 +16,21 @@
 		reg = <0x80000000 0x40000000>;
 	};
 
+	host1x at 50000000 {
+		dsi at 54300000 {
+			status = "okay";
+
+			panel at 0 {
+				compatible = "panasonic,vvx10f004b00",
+					     "simple-panel";
+				reg = <0>;
+
+				power-supply = <&avdd_lcd_reg>;
+				backlight = <&backlight>;
+			};
+		};
+	};
+
 	pinmux at 70000868 {
 		pinctrl-names = "default";
 		pinctrl-0 = <&state_default>;
@@ -723,6 +738,10 @@
 		status = "okay";
 	};
 
+	pwm at 7000a000 {
+		status = "okay";
+	};
+
 	i2c at 7000c000 {
 		status = "okay";
 		clock-frequency = <100000>;
@@ -811,7 +830,7 @@
 					regulator-boot-on;
 				};
 
-				fet1 {
+				vdd_bl_reg: fet1 {
 					regulator-name = "vdd-lcd-bl";
 				};
 
@@ -819,7 +838,7 @@
 					regulator-name = "vdd-modem-3v3";
 				};
 
-				fet4 {
+				avdd_lcd_reg: fet4 {
 					regulator-name = "avdd-lcd";
 				};
 
@@ -1089,6 +1108,17 @@
 		vbus-supply = <&usb3_vbus_reg>;
 	};
 
+	backlight: backlight {
+		compatible = "pwm-backlight";
+
+		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
+		power-supply = <&vdd_bl_reg>;
+		pwms = <&pwm 1 1000000>;
+
+		brightness-levels = <0 4 8 16 32 64 128 255>;
+		default-brightness-level = <6>;
+	};
+
 	clocks {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -1155,16 +1185,6 @@
 			gpio = <&gpio TEGRA_GPIO(H, 5) GPIO_ACTIVE_HIGH>;
 		};
 
-		lcd_bl_en_reg: regulator at 2 {
-			compatible = "regulator-fixed";
-			reg = <2>;
-			regulator-name = "lcd_bl_en";
-			regulator-min-microvolt = <5000000>;
-			regulator-max-microvolt = <5000000>;
-			enable-active-high;
-			gpio = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
-		};
-
 		usb1_vbus_reg: regulator at 3 {
 			compatible = "regulator-fixed";
 			reg = <3>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 09/10] ARM: tegra: Enable HDMI support on Dalmore
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (7 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 08/10] ARM: tegra: Enable DSI support on Dalmore Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 15:59 ` [PATCH 10/10] ARM: tegra: Enable DRM panel support Thierry Reding
  2013-12-19 20:12 ` [PATCH 00/10] ARM: tegra: DSI and " Stephen Warren
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

From: Mikko Perttunen <mperttunen@nvidia.com>

Add HDMI node to the Dalmore device tree and hook up the VDD and PLL
regulators as well as the I2C adapter used for DDC and the GPIO used
for hotplug detection.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/boot/dts/tegra114-dalmore.dts | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index 512922f049c3..73aecfb57ccb 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -17,6 +17,17 @@
 	};
 
 	host1x at 50000000 {
+		hdmi at 54280000 {
+			status = "okay";
+
+			vdd-supply = <&vdd_hdmi_reg>;
+			pll-supply = <&palmas_smps3_reg>;
+
+			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
+			nvidia,hpd-gpio =
+				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
+		};
+
 		dsi at 54300000 {
 			status = "okay";
 
@@ -773,6 +784,10 @@
 		};
 	};
 
+	hdmi_ddc: i2c at 7000c700 {
+		status = "okay";
+	};
+
 	i2c at 7000d000 {
 		status = "okay";
 		clock-frequency = <400000>;
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 10/10] ARM: tegra: Enable DRM panel support
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (8 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 09/10] ARM: tegra: Enable HDMI " Thierry Reding
@ 2013-12-19 15:59 ` Thierry Reding
  2013-12-19 20:12 ` [PATCH 00/10] ARM: tegra: DSI and " Stephen Warren
  10 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-19 15:59 UTC (permalink / raw)
  To: linux-arm-kernel

Enable DRM panel core support along with support for various simple
panels.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 arch/arm/configs/tegra_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig
index f5050fd75dda..5fdc9a09d339 100644
--- a/arch/arm/configs/tegra_defconfig
+++ b/arch/arm/configs/tegra_defconfig
@@ -169,6 +169,8 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y
 CONFIG_MEDIA_USB_SUPPORT=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_DRM=y
+CONFIG_DRM_PANEL=y
+CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_TEGRA=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 # CONFIG_LCD_CLASS_DEVICE is not set
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support
  2013-12-19 15:59 ` [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support Thierry Reding
@ 2013-12-19 19:57   ` Stephen Warren
  2013-12-20 11:54     ` Thierry Reding
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Warren @ 2013-12-19 19:57 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/19/2013 08:59 AM, Thierry Reding wrote:
> Add device tree nodes for the DSI controllers found on Tegra114 SoCs.

> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi

> +		dsi at 54300000 {
> +			compatible = "nvidia,tegra114-dsi";
> +			reg = <0x54300000 0x00040000>;
> +			clocks = <&tegra_car TEGRA114_CLK_DSIA>,
> +				 <&tegra_car TEGRA114_CLK_DSIALP>,
> +				 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>;
> +			clock-names = "dsi", "lp", "parent";

The binding document
Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt doesn't
mention an "lp" clock:

  - clock-names: Must include the following entries:
    - dsi
      This MUST be the first entry.
    - parent

I assume this is simply an oversight, since this is an obvious extension
of the binding, and that the DT binding will be updated to include that
clock in the list, and hence won't block applying the series because of
this.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 00/10] ARM: tegra: DSI and panel support
  2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
                   ` (9 preceding siblings ...)
  2013-12-19 15:59 ` [PATCH 10/10] ARM: tegra: Enable DRM panel support Thierry Reding
@ 2013-12-19 20:12 ` Stephen Warren
  2013-12-20 10:16   ` Marc Dietrich
  10 siblings, 1 reply; 17+ messages in thread
From: Stephen Warren @ 2013-12-19 20:12 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/19/2013 08:59 AM, Thierry Reding wrote:
> This series of patches add support for Tegra114 display, DSI, HDMI, gr2d
> and gr3d. Both DSI and HDMI outputs are enabled on Dalmore.
> 
> The LVDS panels on Harmony and Cardhu are added to the corresponding DTS
> files and support for panels is enabled in the Tegra defconfig.

Very nice, and it all works and applies without conflicts:-) :-) :-)

Now I must run off and do the panels for Seaboard, Ventana, and the
AC100 sometime.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114
  2013-12-19 15:59 ` [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114 Thierry Reding
@ 2013-12-20  0:11   ` Stephen Warren
  2013-12-20 11:56     ` Thierry Reding
  0 siblings, 1 reply; 17+ messages in thread
From: Stephen Warren @ 2013-12-20  0:11 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/19/2013 08:59 AM, Thierry Reding wrote:
> Add a device node for the MIPI calibration block on Tegra114. There is
> no need to disable it by default because it only enables the clock while
> performing calibration and therefore shouldn't be consuming any power
> when unused.

> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi

> +	mipi: mipi {

That should be:

	mipi: mipi at 700e3000 {

I fixed it up for you.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 00/10] ARM: tegra: DSI and panel support
  2013-12-19 20:12 ` [PATCH 00/10] ARM: tegra: DSI and " Stephen Warren
@ 2013-12-20 10:16   ` Marc Dietrich
  0 siblings, 0 replies; 17+ messages in thread
From: Marc Dietrich @ 2013-12-20 10:16 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Am Donnerstag, 19. Dezember 2013, 13:12:54 schrieb Stephen Warren:
> On 12/19/2013 08:59 AM, Thierry Reding wrote:
> > This series of patches add support for Tegra114 display, DSI, HDMI, gr2d
> > and gr3d. Both DSI and HDMI outputs are enabled on Dalmore.
> > 
> > The LVDS panels on Harmony and Cardhu are added to the corresponding DTS
> > files and support for panels is enabled in the Tegra defconfig.
> 
> Very nice, and it all works and applies without conflicts:-) :-) :-)
> 
> Now I must run off and do the panels for Seaboard, Ventana, and the
> AC100 sometime.

no need for AC100, I'll submit a patch for it soon. They are already in one of 
my testing branches [1].

Thanks

Marc

[1] https://gitorious.org/ac100/marvin24s-kernel/commits/eab9a9a58b23d317c8cef9ba9b0a6ff2d7e25136

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support
  2013-12-19 19:57   ` Stephen Warren
@ 2013-12-20 11:54     ` Thierry Reding
  0 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-20 11:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 19, 2013 at 12:57:54PM -0700, Stephen Warren wrote:
> On 12/19/2013 08:59 AM, Thierry Reding wrote:
> > Add device tree nodes for the DSI controllers found on Tegra114 SoCs.
> 
> > diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> 
> > +		dsi at 54300000 {
> > +			compatible = "nvidia,tegra114-dsi";
> > +			reg = <0x54300000 0x00040000>;
> > +			clocks = <&tegra_car TEGRA114_CLK_DSIA>,
> > +				 <&tegra_car TEGRA114_CLK_DSIALP>,
> > +				 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>;
> > +			clock-names = "dsi", "lp", "parent";
> 
> The binding document
> Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt doesn't
> mention an "lp" clock:
> 
>   - clock-names: Must include the following entries:
>     - dsi
>       This MUST be the first entry.
>     - parent
> 
> I assume this is simply an oversight, since this is an obvious extension
> of the binding, and that the DT binding will be updated to include that
> clock in the list, and hence won't block applying the series because of
> this.

Yes, that was merely an oversight. I've updated the DT binding to
include the lp clock.

Thanks,
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131220/95b2315e/attachment.sig>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114
  2013-12-20  0:11   ` Stephen Warren
@ 2013-12-20 11:56     ` Thierry Reding
  0 siblings, 0 replies; 17+ messages in thread
From: Thierry Reding @ 2013-12-20 11:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 19, 2013 at 05:11:00PM -0700, Stephen Warren wrote:
> On 12/19/2013 08:59 AM, Thierry Reding wrote:
> > Add a device node for the MIPI calibration block on Tegra114. There is
> > no need to disable it by default because it only enables the clock while
> > performing calibration and therefore shouldn't be consuming any power
> > when unused.
> 
> > diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> 
> > +	mipi: mipi {
> 
> That should be:
> 
> 	mipi: mipi at 700e3000 {
> 
> I fixed it up for you.

Right. Many of the patches I'm carrying locally predate the unit number
requirement change. I did make a pass to update all, but this must have
slipped through the cracks.

Thanks,
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131220/16b0d536/attachment.sig>

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2013-12-20 11:56 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-19 15:59 [PATCH 00/10] ARM: tegra: DSI and panel support Thierry Reding
2013-12-19 15:59 ` [PATCH 01/10] ARM: tegra: Enable LVDS on Harmony Thierry Reding
2013-12-19 15:59 ` [PATCH 02/10] ARM: tegra: Enable LVDS on Cardhu Thierry Reding
2013-12-19 15:59 ` [PATCH 03/10] ARM: tegra: Add MIPI calibration DT entries for Tegra114 Thierry Reding
2013-12-20  0:11   ` Stephen Warren
2013-12-20 11:56     ` Thierry Reding
2013-12-19 15:59 ` [PATCH 04/10] ARM: tegra: Add host1x, DC and HDMI to Tegra114 device tree Thierry Reding
2013-12-19 15:59 ` [PATCH 05/10] ARM: tegra: Add Tegra114 DSI support Thierry Reding
2013-12-19 19:57   ` Stephen Warren
2013-12-20 11:54     ` Thierry Reding
2013-12-19 15:59 ` [PATCH 06/10] ARM: tegra: Add Tegra114 gr2d support Thierry Reding
2013-12-19 15:59 ` [PATCH 07/10] ARM: tegra: Add Tegra114 gr3d support Thierry Reding
2013-12-19 15:59 ` [PATCH 08/10] ARM: tegra: Enable DSI support on Dalmore Thierry Reding
2013-12-19 15:59 ` [PATCH 09/10] ARM: tegra: Enable HDMI " Thierry Reding
2013-12-19 15:59 ` [PATCH 10/10] ARM: tegra: Enable DRM panel support Thierry Reding
2013-12-19 20:12 ` [PATCH 00/10] ARM: tegra: DSI and " Stephen Warren
2013-12-20 10:16   ` Marc Dietrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).