VC4_VEC_TV_MODE_PAL_60,
        VC4_VEC_TV_MODE_PAL_N,
        VC4_VEC_TV_MODE_SECAM,
+       VC4_VEC_TV_MODE_MONOCHROME,
 };
 
 struct vc4_vec_tv_mode {
                .config1 = VEC_CONFIG1_C_CVBS_CVBS,
                .custom_freq = 0x29c71c72,
        },
+       {
+               /* 50Hz mono */
+               .mode = DRM_MODE_TV_MODE_MONOCHROME,
+               .expected_htotal = 864,
+               .config0 = VEC_CONFIG0_PAL_BDGHI_STD | VEC_CONFIG0_BURDIS |
+                          VEC_CONFIG0_CHRDIS,
+               .config1 = VEC_CONFIG1_C_CVBS_CVBS,
+       },
+       {
+               /* 60Hz mono */
+               .mode = DRM_MODE_TV_MODE_MONOCHROME,
+               .expected_htotal = 858,
+               .config0 = VEC_CONFIG0_PAL_M_STD | VEC_CONFIG0_BURDIS |
+                          VEC_CONFIG0_CHRDIS,
+               .config1 = VEC_CONFIG1_C_CVBS_CVBS,
+       },
 };
 
 static inline const struct vc4_vec_tv_mode *
        { VC4_VEC_TV_MODE_PAL_M, "PAL-M", },
        { VC4_VEC_TV_MODE_PAL_N, "PAL-N", },
        { VC4_VEC_TV_MODE_SECAM, "SECAM", },
+       { VC4_VEC_TV_MODE_MONOCHROME, "Mono", },
 };
 
 static enum drm_connector_status
                state->tv.mode = DRM_MODE_TV_MODE_SECAM;
                break;
 
+       case VC4_VEC_TV_MODE_MONOCHROME:
+               state->tv.mode = DRM_MODE_TV_MODE_MONOCHROME;
+               break;
+
        default:
                return -EINVAL;
        }
                *val = VC4_VEC_TV_MODE_SECAM;
                break;
 
+       case DRM_MODE_TV_MODE_MONOCHROME:
+               *val = VC4_VEC_TV_MODE_MONOCHROME;
+               break;
+
        default:
                return -EINVAL;
        }
                                            BIT(DRM_MODE_TV_MODE_PAL) |
                                            BIT(DRM_MODE_TV_MODE_PAL_M) |
                                            BIT(DRM_MODE_TV_MODE_PAL_N) |
-                                           BIT(DRM_MODE_TV_MODE_SECAM));
+                                           BIT(DRM_MODE_TV_MODE_SECAM) |
+                                           BIT(DRM_MODE_TV_MODE_MONOCHROME));
        if (ret)
                return ret;