static const struct rcar_du_device_info rzg1_du_r8a7743_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .channels_mask = BIT(1) | BIT(0),
 
 static const struct rcar_du_device_info rzg1_du_r8a7745_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .channels_mask = BIT(1) | BIT(0),
 
 static const struct rcar_du_device_info rzg1_du_r8a77470_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .channels_mask = BIT(1) | BIT(0),
 
 static const struct rcar_du_device_info rcar_du_r8a774a1_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a774b1_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a774c0_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE,
        .channels_mask = BIT(1) | BIT(0),
        .routes = {
 
 static const struct rcar_du_device_info rcar_du_r8a774e1_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a7790_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .quirks = RCAR_DU_QUIRK_ALIGN_128B,
 /* M2-W (r8a7791) and M2-N (r8a7793) are identical */
 static const struct rcar_du_device_info rcar_du_r8a7791_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .channels_mask = BIT(1) | BIT(0),
 
 static const struct rcar_du_device_info rcar_du_r8a7792_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .channels_mask = BIT(1) | BIT(0),
 
 static const struct rcar_du_device_info rcar_du_r8a7794_info = {
        .gen = 2,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
        .channels_mask = BIT(1) | BIT(0),
 
 static const struct rcar_du_device_info rcar_du_r8a7795_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a7796_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a77965_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a77970_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE
                  | RCAR_DU_FEATURE_INTERLACED
                  | RCAR_DU_FEATURE_TVM_SYNC,
 
 static const struct rcar_du_device_info rcar_du_r8a7799x_info = {
        .gen = 3,
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK
+       .features = RCAR_DU_FEATURE_CRTC_IRQ
+                 | RCAR_DU_FEATURE_CRTC_CLOCK
                  | RCAR_DU_FEATURE_VSP1_SOURCE,
        .channels_mask = BIT(1) | BIT(0),
        .routes = {