Skip to content

Commit

Permalink
Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into …
Browse files Browse the repository at this point in the history
…drm-next

Commit "drm/rcar-du: Use struct videomode in platform data" touches board code
in arch/arm/mach-shmobile. There is, to the best of my knowledge, no risk of
conflict for v3.18. Simon, are you fine with getting those changes merged
through Dave's tree (and could you confirm that no conflict should occur) ?

Simon acked the merge:
Acked-by: Simon Horman <horms+renesas@verge.net.au>

* 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev:
  drm/rcar-du: Add OF support
  drm/rcar-du: Use struct videomode in platform data
  video: Add DT bindings for the R-Car Display Unit
  video: Add THC63LVDM83D DT bindings documentation
  video: Add ADV7123 DT bindings documentation
  video: Add DT binding documentation for VGA connector
  devicetree: Add vendor prefix "thine" to vendor-prefixes.txt
  devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt
  drm/shmob: Update copyright notice
  drm/rcar-du: Update copyright notice
  • Loading branch information
airlied committed Sep 18, 2014
2 parents 109ab90 + 96c0269 commit 8337486
Show file tree
Hide file tree
Showing 41 changed files with 645 additions and 198 deletions.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/vendor-prefixes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ maxim Maxim Integrated Products
mediatek MediaTek Inc.
micrel Micrel Inc.
microchip Microchip Technology Inc.
mitsubishi Mitsubishi Electric Corporation
mosaixtech Mosaix Technologies, Inc.
moxa Moxa
mpl MPL AG
Expand Down Expand Up @@ -133,6 +134,7 @@ st STMicroelectronics
ste ST-Ericsson
stericsson ST-Ericsson
synology Synology, Inc.
thine THine Electronics, Inc.
ti Texas Instruments
tlm Trusted Logic Mobility
toradex Toradex AG
Expand Down
50 changes: 50 additions & 0 deletions Documentation/devicetree/bindings/video/adi,adv7123.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
Analog Device ADV7123 Video DAC
-------------------------------

The ADV7123 is a digital-to-analog converter that outputs VGA signals from a
parallel video input.

Required properties:

- compatible: Should be "adi,adv7123"

Optional properties:

- psave-gpios: Power save control GPIO

Required nodes:

The ADV7123 has two video ports. Their connections are modeled using the OF
graph bindings specified in Documentation/devicetree/bindings/graph.txt.

- Video port 0 for DPI input
- Video port 1 for VGA output


Example
-------

adv7123: encoder@0 {
compatible = "adi,adv7123";

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
reg = <0>;

adv7123_in: endpoint@0 {
remote-endpoint = <&dpi_out>;
};
};

port@1 {
reg = <1>;

adv7123_out: endpoint@0 {
remote-endpoint = <&vga_connector_in>;
};
};
};
};
84 changes: 84 additions & 0 deletions Documentation/devicetree/bindings/video/renesas,du.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
* Renesas R-Car Display Unit (DU)

Required Properties:

- compatible: must be one of the following.
- "renesas,du-r8a7779" for R8A7779 (R-Car H1) compatible DU
- "renesas,du-r8a7790" for R8A7790 (R-Car H2) compatible DU
- "renesas,du-r8a7791" for R8A7791 (R-Car M2) compatible DU

- reg: A list of base address and length of each memory resource, one for
each entry in the reg-names property.
- reg-names: Name of the memory resources. The DU requires one memory
resource for the DU core (named "du") and one memory resource for each
LVDS encoder (named "lvds.x" with "x" being the LVDS controller numerical
index).

- interrupt-parent: phandle of the parent interrupt controller.
- interrupts: Interrupt specifiers for the DU interrupts.

- clocks: A list of phandles + clock-specifier pairs, one for each entry in
the clock-names property.
- clock-names: Name of the clocks. This property is model-dependent.
- R8A7779 uses a single functional clock. The clock doesn't need to be
named.
- R8A7790 and R8A7791 use one functional clock per channel and one clock
per LVDS encoder. The functional clocks must be named "du.x" with "x"
being the channel numerical index. The LVDS clocks must be named
"lvds.x" with "x" being the LVDS encoder numerical index.

Required nodes:

The connections to the DU output video ports are modeled using the OF graph
bindings specified in Documentation/devicetree/bindings/graph.txt.

The following table lists for each supported model the port number
corresponding to each DU output.

Port 0 Port1 Port2
-----------------------------------------------------------------------------
R8A7779 (H1) DPAD 0 DPAD 1 -
R8A7790 (H2) DPAD LVDS 0 LVDS 1
R8A7791 (M2) DPAD LVDS 0 -


Example: R8A7790 (R-Car H2) DU

du: du@feb00000 {
compatible = "renesas,du-r8a7790";
reg = <0 0xfeb00000 0 0x70000>,
<0 0xfeb90000 0 0x1c>,
<0 0xfeb94000 0 0x1c>;
reg-names = "du", "lvds.0", "lvds.1";
interrupt-parent = <&gic>;
interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>,
<0 268 IRQ_TYPE_LEVEL_HIGH>,
<0 269 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&mstp7_clks R8A7790_CLK_DU0>,
<&mstp7_clks R8A7790_CLK_DU1>,
<&mstp7_clks R8A7790_CLK_DU2>,
<&mstp7_clks R8A7790_CLK_LVDS0>,
<&mstp7_clks R8A7790_CLK_LVDS1>;
clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1";

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
reg = <0>;
du_out_rgb: endpoint {
};
};
port@1 {
reg = <1>;
du_out_lvds0: endpoint {
};
};
port@2 {
reg = <2>;
du_out_lvds1: endpoint {
};
};
};
};
50 changes: 50 additions & 0 deletions Documentation/devicetree/bindings/video/thine,thc63lvdm83d
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
THine Electronics THC63LVDM83D LVDS serializer
----------------------------------------------

The THC63LVDM83D is an LVDS serializer designed to support pixel data
transmission between a host and a flat panel.

Required properties:

- compatible: Should be "thine,thc63lvdm83d"

Optional properties:

- pwdn-gpios: Power down control GPIO

Required nodes:

The THC63LVDM83D has two video ports. Their connections are modeled using the
OFgraph bindings specified in Documentation/devicetree/bindings/graph.txt.

- Video port 0 for CMOS/TTL input
- Video port 1 for LVDS output


Example
-------

lvds_enc: encoder@0 {
compatible = "thine,thc63lvdm83d";

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
reg = <0>;

lvds_enc_in: endpoint@0 {
remote-endpoint = <&rgb_out>;
};
};

port@1 {
reg = <1>;

lvds_enc_out: endpoint@0 {
remote-endpoint = <&panel_in>;
};
};
};
};
36 changes: 36 additions & 0 deletions Documentation/devicetree/bindings/video/vga-connector.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
VGA Connector
=============

Required properties:

- compatible: "vga-connector"

Optional properties:

- label: a symbolic name for the connector corresponding to a hardware label
- ddc-i2c-bus: phandle to the I2C bus that is connected to VGA DDC

Required nodes:

The VGA connector internal connections are modeled using the OF graph bindings
specified in Documentation/devicetree/bindings/graph.txt.

The VGA connector has a single port that must be connected to a video source
port.


Example
-------

vga0: connector@0 {
compatible = "vga-connector";
label = "vga";

ddc-i2c-bus = <&i2c3>;

port {
vga_connector_in: endpoint {
remote-endpoint = <&adv7123_out>;
};
};
};
19 changes: 9 additions & 10 deletions arch/arm/mach-shmobile/board-koelsch-reference.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,15 @@ static struct rcar_du_encoder_data koelsch_du_encoders[] = {
.width_mm = 210,
.height_mm = 158,
.mode = {
.clock = 65000,
.hdisplay = 1024,
.hsync_start = 1048,
.hsync_end = 1184,
.htotal = 1344,
.vdisplay = 768,
.vsync_start = 771,
.vsync_end = 777,
.vtotal = 806,
.flags = 0,
.pixelclock = 65000000,
.hactive = 1024,
.hfront_porch = 20,
.hback_porch = 160,
.hsync_len = 136,
.vactive = 768,
.vfront_porch = 3,
.vback_porch = 29,
.vsync_len = 6,
},
},
},
Expand Down
19 changes: 9 additions & 10 deletions arch/arm/mach-shmobile/board-koelsch.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,15 @@ static struct rcar_du_encoder_data koelsch_du_encoders[] = {
.width_mm = 210,
.height_mm = 158,
.mode = {
.clock = 65000,
.hdisplay = 1024,
.hsync_start = 1048,
.hsync_end = 1184,
.htotal = 1344,
.vdisplay = 768,
.vsync_start = 771,
.vsync_end = 777,
.vtotal = 806,
.flags = 0,
.pixelclock = 65000000,
.hactive = 1024,
.hfront_porch = 20,
.hback_porch = 160,
.hsync_len = 136,
.vactive = 768,
.vfront_porch = 3,
.vback_porch = 29,
.vsync_len = 6,
},
},
},
Expand Down
19 changes: 9 additions & 10 deletions arch/arm/mach-shmobile/board-lager-reference.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,15 @@ static struct rcar_du_encoder_data lager_du_encoders[] = {
.width_mm = 210,
.height_mm = 158,
.mode = {
.clock = 65000,
.hdisplay = 1024,
.hsync_start = 1048,
.hsync_end = 1184,
.htotal = 1344,
.vdisplay = 768,
.vsync_start = 771,
.vsync_end = 777,
.vtotal = 806,
.flags = 0,
.pixelclock = 65000000,
.hactive = 1024,
.hfront_porch = 20,
.hback_porch = 160,
.hsync_len = 136,
.vactive = 768,
.vfront_porch = 3,
.vback_porch = 29,
.vsync_len = 6,
},
},
},
Expand Down
19 changes: 9 additions & 10 deletions arch/arm/mach-shmobile/board-lager.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,16 +99,15 @@ static struct rcar_du_encoder_data lager_du_encoders[] = {
.width_mm = 210,
.height_mm = 158,
.mode = {
.clock = 65000,
.hdisplay = 1024,
.hsync_start = 1048,
.hsync_end = 1184,
.htotal = 1344,
.vdisplay = 768,
.vsync_start = 771,
.vsync_end = 777,
.vtotal = 806,
.flags = 0,
.pixelclock = 65000000,
.hactive = 1024,
.hfront_porch = 20,
.hback_porch = 160,
.hsync_len = 136,
.vactive = 768,
.vfront_porch = 3,
.vback_porch = 29,
.vsync_len = 6,
},
},
},
Expand Down
19 changes: 9 additions & 10 deletions arch/arm/mach-shmobile/board-marzen.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,16 +192,15 @@ static struct rcar_du_encoder_data du_encoders[] = {
.width_mm = 210,
.height_mm = 158,
.mode = {
.clock = 65000,
.hdisplay = 1024,
.hsync_start = 1048,
.hsync_end = 1184,
.htotal = 1344,
.vdisplay = 768,
.vsync_start = 771,
.vsync_end = 777,
.vtotal = 806,
.flags = 0,
.pixelclock = 65000000,
.hactive = 1024,
.hfront_porch = 20,
.hback_porch = 160,
.hsync_len = 136,
.vactive = 768,
.vfront_porch = 3,
.vback_porch = 29,
.vsync_len = 6,
},
},
},
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/rcar-du/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ config DRM_RCAR_DU
select DRM_KMS_CMA_HELPER
select DRM_GEM_CMA_HELPER
select DRM_KMS_FB_HELPER
select VIDEOMODE_HELPERS
help
Choose this option if you have an R-Car chipset.
If M is selected the module will be called rcar-du-drm.
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/rcar-du/rcar_du_crtc.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* rcar_du_crtc.c -- R-Car Display Unit CRTCs
*
* Copyright (C) 2013 Renesas Corporation
* Copyright (C) 2013-2014 Renesas Electronics Corporation
*
* Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
*
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/rcar-du/rcar_du_crtc.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* rcar_du_crtc.h -- R-Car Display Unit CRTCs
*
* Copyright (C) 2013 Renesas Corporation
* Copyright (C) 2013-2014 Renesas Electronics Corporation
*
* Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
*
Expand Down
Loading

0 comments on commit 8337486

Please sign in to comment.