drm: rcar-du: Add support for the R8A7793 DU
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fri, 17 Jul 2015 07:44:33 +0000 (10:44 +0300)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 21 Oct 2015 15:52:37 +0000 (18:52 +0300)
The R8A7793 DU is identical to the R8A7791 and thus only requires a new
DT compatible string.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Documentation/devicetree/bindings/video/renesas,du.txt
drivers/gpu/drm/rcar-du/rcar_du_drv.c

index c902323928f700a356d7e8fd118cde2e680e2c94..d05be121486fc917055f067ff09601ea51f4e638 100644 (file)
@@ -5,7 +5,8 @@ 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
+    - "renesas,du-r8a7791" for R8A7791 (R-Car M2-W) compatible DU
+    - "renesas,du-r8a7793" for R8A7793 (R-Car M2-N) compatible DU
 
   - reg: A list of base address and length of each memory resource, one for
     each entry in the reg-names property.
@@ -22,9 +23,9 @@ Required Properties:
   - 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
+    - R8A779[013] use one functional clock per channel and one clock per LVDS
+      encoder (if available). 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.
     - In addition to the functional and encoder clocks, all DU versions also
       support externally supplied pixel clocks. Those clocks are optional.
@@ -43,7 +44,8 @@ corresponding to each DU output.
 -----------------------------------------------------------------------------
  R8A7779 (H1)  DPAD 0          DPAD 1          -
  R8A7790 (H2)  DPAD            LVDS 0          LVDS 1
- R8A7791 (M2)  DPAD            LVDS 0          -
+ R8A7791 (M2-W)        DPAD            LVDS 0          -
+ R8A7793 (M2-N)        DPAD            LVDS 0          -
 
 
 Example: R8A7790 (R-Car H2) DU
index bebcc97db5e5a2af683cfdb1d37a2b09dbbad1fa..d8e1fd93908fbf00ef922f2458d7683096b63a5b 100644 (file)
@@ -84,12 +84,13 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
        .num_lvds = 2,
 };
 
+/* M2-W (r8a7791) and M2-N (r8a7793) are identical */
 static const struct rcar_du_device_info rcar_du_r8a7791_info = {
        .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
                  | RCAR_DU_FEATURE_EXT_CTRL_REGS,
        .num_crtcs = 2,
        .routes = {
-               /* R8A7791 has one RGB output, one LVDS output and one
+               /* R8A779[13] has one RGB output, one LVDS output and one
                 * (currently unsupported) TCON output.
                 */
                [RCAR_DU_OUTPUT_DPAD0] = {
@@ -110,6 +111,7 @@ static const struct of_device_id rcar_du_of_table[] = {
        { .compatible = "renesas,du-r8a7779", .data = &rcar_du_r8a7779_info },
        { .compatible = "renesas,du-r8a7790", .data = &rcar_du_r8a7790_info },
        { .compatible = "renesas,du-r8a7791", .data = &rcar_du_r8a7791_info },
+       { .compatible = "renesas,du-r8a7793", .data = &rcar_du_r8a7791_info },
        { }
 };