|
@@ -40,7 +40,7 @@ static const struct rcar_du_device_info rzg1_du_r8a7743_info = {
|
|
|
.gen = 2,
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS,
|
|
|
- .num_crtcs = 2,
|
|
|
+ .channels_mask = BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7743 has one RGB output and one LVDS output
|
|
@@ -61,7 +61,7 @@ static const struct rcar_du_device_info rzg1_du_r8a7745_info = {
|
|
|
.gen = 2,
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS,
|
|
|
- .num_crtcs = 2,
|
|
|
+ .channels_mask = BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7745 has two RGB outputs
|
|
@@ -80,7 +80,7 @@ static const struct rcar_du_device_info rzg1_du_r8a7745_info = {
|
|
|
static const struct rcar_du_device_info rcar_du_r8a7779_info = {
|
|
|
.gen = 2,
|
|
|
.features = 0,
|
|
|
- .num_crtcs = 2,
|
|
|
+ .channels_mask = BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7779 has two RGB outputs and one (currently unsupported)
|
|
@@ -102,7 +102,7 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS,
|
|
|
.quirks = RCAR_DU_QUIRK_ALIGN_128B,
|
|
|
- .num_crtcs = 3,
|
|
|
+ .channels_mask = BIT(2) | BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7790 has one RGB output, two LVDS outputs and one
|
|
@@ -129,7 +129,7 @@ static const struct rcar_du_device_info rcar_du_r8a7791_info = {
|
|
|
.gen = 2,
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS,
|
|
|
- .num_crtcs = 2,
|
|
|
+ .channels_mask = BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A779[13] has one RGB output, one LVDS output and one
|
|
@@ -151,7 +151,7 @@ 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,
|
|
|
+ .channels_mask = BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/* R8A7792 has two RGB outputs. */
|
|
|
[RCAR_DU_OUTPUT_DPAD0] = {
|
|
@@ -169,7 +169,7 @@ static const struct rcar_du_device_info rcar_du_r8a7794_info = {
|
|
|
.gen = 2,
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS,
|
|
|
- .num_crtcs = 2,
|
|
|
+ .channels_mask = BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7794 has two RGB outputs and one (currently unsupported)
|
|
@@ -191,7 +191,7 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS
|
|
|
| RCAR_DU_FEATURE_VSP1_SOURCE,
|
|
|
- .num_crtcs = 4,
|
|
|
+ .channels_mask = BIT(3) | BIT(2) | BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7795 has one RGB output, two HDMI outputs and one
|
|
@@ -215,7 +215,7 @@ static const struct rcar_du_device_info rcar_du_r8a7795_info = {
|
|
|
},
|
|
|
},
|
|
|
.num_lvds = 1,
|
|
|
- .dpll_ch = BIT(1) | BIT(2),
|
|
|
+ .dpll_ch = BIT(2) | BIT(1),
|
|
|
};
|
|
|
|
|
|
static const struct rcar_du_device_info rcar_du_r8a7796_info = {
|
|
@@ -223,7 +223,7 @@ static const struct rcar_du_device_info rcar_du_r8a7796_info = {
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS
|
|
|
| RCAR_DU_FEATURE_VSP1_SOURCE,
|
|
|
- .num_crtcs = 3,
|
|
|
+ .channels_mask = BIT(2) | BIT(1) | BIT(0),
|
|
|
.routes = {
|
|
|
/*
|
|
|
* R8A7796 has one RGB output, one LVDS output and one HDMI
|
|
@@ -246,12 +246,40 @@ static const struct rcar_du_device_info rcar_du_r8a7796_info = {
|
|
|
.dpll_ch = BIT(1),
|
|
|
};
|
|
|
|
|
|
+static const struct rcar_du_device_info rcar_du_r8a77965_info = {
|
|
|
+ .gen = 3,
|
|
|
+ .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
+ | RCAR_DU_FEATURE_EXT_CTRL_REGS
|
|
|
+ | RCAR_DU_FEATURE_VSP1_SOURCE,
|
|
|
+ .channels_mask = BIT(3) | BIT(1) | BIT(0),
|
|
|
+ .routes = {
|
|
|
+ /*
|
|
|
+ * R8A77965 has one RGB output, one LVDS output and one HDMI
|
|
|
+ * output.
|
|
|
+ */
|
|
|
+ [RCAR_DU_OUTPUT_DPAD0] = {
|
|
|
+ .possible_crtcs = BIT(2),
|
|
|
+ .port = 0,
|
|
|
+ },
|
|
|
+ [RCAR_DU_OUTPUT_HDMI0] = {
|
|
|
+ .possible_crtcs = BIT(1),
|
|
|
+ .port = 1,
|
|
|
+ },
|
|
|
+ [RCAR_DU_OUTPUT_LVDS0] = {
|
|
|
+ .possible_crtcs = BIT(0),
|
|
|
+ .port = 2,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ .num_lvds = 1,
|
|
|
+ .dpll_ch = BIT(1),
|
|
|
+};
|
|
|
+
|
|
|
static const struct rcar_du_device_info rcar_du_r8a77970_info = {
|
|
|
.gen = 3,
|
|
|
.features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
|
|
|
| RCAR_DU_FEATURE_EXT_CTRL_REGS
|
|
|
| RCAR_DU_FEATURE_VSP1_SOURCE,
|
|
|
- .num_crtcs = 1,
|
|
|
+ .channels_mask = BIT(0),
|
|
|
.routes = {
|
|
|
/* R8A77970 has one RGB output and one LVDS output. */
|
|
|
[RCAR_DU_OUTPUT_DPAD0] = {
|
|
@@ -277,6 +305,7 @@ static const struct of_device_id rcar_du_of_table[] = {
|
|
|
{ .compatible = "renesas,du-r8a7794", .data = &rcar_du_r8a7794_info },
|
|
|
{ .compatible = "renesas,du-r8a7795", .data = &rcar_du_r8a7795_info },
|
|
|
{ .compatible = "renesas,du-r8a7796", .data = &rcar_du_r8a7796_info },
|
|
|
+ { .compatible = "renesas,du-r8a77965", .data = &rcar_du_r8a77965_info },
|
|
|
{ .compatible = "renesas,du-r8a77970", .data = &rcar_du_r8a77970_info },
|
|
|
{ }
|
|
|
};
|