dev_set_drvdata(dev, vc4_hdmi);
        encoder = &vc4_hdmi->encoder.base.base;
-       vc4_hdmi->encoder.base.type = VC4_ENCODER_TYPE_HDMI0;
+       vc4_hdmi->encoder.base.type = variant->encoder_type;
        vc4_hdmi->pdev = pdev;
        vc4_hdmi->variant = variant;
 
 }
 
 static const struct vc4_hdmi_variant bcm2835_variant = {
+       .encoder_type           = VC4_ENCODER_TYPE_HDMI0,
        .registers              = vc4_hdmi_fields,
        .num_registers          = ARRAY_SIZE(vc4_hdmi_fields),
 
 
 struct vc4_hdmi_register;
 
 struct vc4_hdmi_variant {
+       /* Encoder Type for that controller */
+       enum vc4_encoder_type encoder_type;
+
        /* List of the registers available on that variant */
        const struct vc4_hdmi_register *registers;