drm: rcar-du: Add R8A7792 support
Add support for the R8A7792 DU; it has 2 DPAD (RGB) outputs. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
This commit is contained in:
parent
4f7b0d2638
commit
73323ddbbd
@ -6,6 +6,7 @@ Required Properties:
|
|||||||
- "renesas,du-r8a7779" for R8A7779 (R-Car H1) compatible DU
|
- "renesas,du-r8a7779" for R8A7779 (R-Car H1) compatible DU
|
||||||
- "renesas,du-r8a7790" for R8A7790 (R-Car H2) compatible DU
|
- "renesas,du-r8a7790" for R8A7790 (R-Car H2) compatible DU
|
||||||
- "renesas,du-r8a7791" for R8A7791 (R-Car M2-W) compatible DU
|
- "renesas,du-r8a7791" for R8A7791 (R-Car M2-W) compatible DU
|
||||||
|
- "renesas,du-r8a7792" for R8A7792 (R-Car V2H) compatible DU
|
||||||
- "renesas,du-r8a7793" for R8A7793 (R-Car M2-N) compatible DU
|
- "renesas,du-r8a7793" for R8A7793 (R-Car M2-N) compatible DU
|
||||||
- "renesas,du-r8a7794" for R8A7794 (R-Car E2) compatible DU
|
- "renesas,du-r8a7794" for R8A7794 (R-Car E2) compatible DU
|
||||||
- "renesas,du-r8a7795" for R8A7795 (R-Car H3) compatible DU
|
- "renesas,du-r8a7795" for R8A7795 (R-Car H3) compatible DU
|
||||||
@ -25,7 +26,7 @@ Required Properties:
|
|||||||
- clock-names: Name of the clocks. This property is model-dependent.
|
- clock-names: Name of the clocks. This property is model-dependent.
|
||||||
- R8A7779 uses a single functional clock. The clock doesn't need to be
|
- R8A7779 uses a single functional clock. The clock doesn't need to be
|
||||||
named.
|
named.
|
||||||
- R8A779[01345] use one functional clock per channel and one clock per LVDS
|
- R8A779[012345] use one functional clock per channel and one clock per LVDS
|
||||||
encoder (if available). The functional clocks must be named "du.x" with
|
encoder (if available). The functional clocks must be named "du.x" with
|
||||||
"x" being the channel numerical index. The LVDS clocks must be named
|
"x" being the channel numerical index. The LVDS clocks must be named
|
||||||
"lvds.x" with "x" being the LVDS encoder numerical index.
|
"lvds.x" with "x" being the LVDS encoder numerical index.
|
||||||
@ -47,6 +48,7 @@ corresponding to each DU output.
|
|||||||
R8A7779 (H1) DPAD 0 DPAD 1 - -
|
R8A7779 (H1) DPAD 0 DPAD 1 - -
|
||||||
R8A7790 (H2) DPAD LVDS 0 LVDS 1 -
|
R8A7790 (H2) DPAD LVDS 0 LVDS 1 -
|
||||||
R8A7791 (M2-W) DPAD LVDS 0 - -
|
R8A7791 (M2-W) DPAD LVDS 0 - -
|
||||||
|
R8A7792 (V2H) DPAD 0 DPAD 1 - -
|
||||||
R8A7793 (M2-N) DPAD LVDS 0 - -
|
R8A7793 (M2-N) DPAD LVDS 0 - -
|
||||||
R8A7794 (E2) DPAD 0 DPAD 1 - -
|
R8A7794 (E2) DPAD 0 DPAD 1 - -
|
||||||
R8A7795 (H3) DPAD HDMI 0 HDMI 1 LVDS
|
R8A7795 (H3) DPAD HDMI 0 HDMI 1 LVDS
|
||||||
|
@ -110,6 +110,27 @@ static const struct rcar_du_device_info rcar_du_r8a7791_info = {
|
|||||||
.num_lvds = 1,
|
.num_lvds = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct rcar_du_device_info rcar_du_r8a7792_info = {
|
||||||
|
.gen = 2,
|
||||||
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
||||||
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS,
|
||||||
|
.num_crtcs = 2,
|
||||||
|
.routes = {
|
||||||
|
/* R8A7792 has two RGB outputs. */
|
||||||
|
[RCAR_DU_OUTPUT_DPAD0] = {
|
||||||
|
.possible_crtcs = BIT(0),
|
||||||
|
.encoder_type = DRM_MODE_ENCODER_NONE,
|
||||||
|
.port = 0,
|
||||||
|
},
|
||||||
|
[RCAR_DU_OUTPUT_DPAD1] = {
|
||||||
|
.possible_crtcs = BIT(1),
|
||||||
|
.encoder_type = DRM_MODE_ENCODER_NONE,
|
||||||
|
.port = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
.num_lvds = 0,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct rcar_du_device_info rcar_du_r8a7794_info = {
|
static const struct rcar_du_device_info rcar_du_r8a7794_info = {
|
||||||
.gen = 2,
|
.gen = 2,
|
||||||
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
||||||
@ -161,6 +182,7 @@ static const struct of_device_id rcar_du_of_table[] = {
|
|||||||
{ .compatible = "renesas,du-r8a7779", .data = &rcar_du_r8a7779_info },
|
{ .compatible = "renesas,du-r8a7779", .data = &rcar_du_r8a7779_info },
|
||||||
{ .compatible = "renesas,du-r8a7790", .data = &rcar_du_r8a7790_info },
|
{ .compatible = "renesas,du-r8a7790", .data = &rcar_du_r8a7790_info },
|
||||||
{ .compatible = "renesas,du-r8a7791", .data = &rcar_du_r8a7791_info },
|
{ .compatible = "renesas,du-r8a7791", .data = &rcar_du_r8a7791_info },
|
||||||
|
{ .compatible = "renesas,du-r8a7792", .data = &rcar_du_r8a7792_info },
|
||||||
{ .compatible = "renesas,du-r8a7793", .data = &rcar_du_r8a7791_info },
|
{ .compatible = "renesas,du-r8a7793", .data = &rcar_du_r8a7791_info },
|
||||||
{ .compatible = "renesas,du-r8a7794", .data = &rcar_du_r8a7794_info },
|
{ .compatible = "renesas,du-r8a7794", .data = &rcar_du_r8a7794_info },
|
||||||
{ .compatible = "renesas,du-r8a7795", .data = &rcar_du_r8a7795_info },
|
{ .compatible = "renesas,du-r8a7795", .data = &rcar_du_r8a7795_info },
|
||||||
|
Loading…
Reference in New Issue
Block a user