VC4_HDMI_AUDIO_PACKET_CEA_MASK);
/* Set the MAI threshold */
- if (vc4->gen >= VC4_GEN_5)
+ if (vc4->gen >= VC4_GEN_5 && vc4->step_d0)
+ HDMI_WRITE(HDMI_MAI_THR,
+ VC4_SET_FIELD(0x10, VC4_D0_HD_MAI_THR_PANICHIGH) |
+ VC4_SET_FIELD(0x10, VC4_D0_HD_MAI_THR_PANICLOW) |
+ VC4_SET_FIELD(0x1c, VC4_D0_HD_MAI_THR_DREQHIGH) |
+ VC4_SET_FIELD(0x1c, VC4_D0_HD_MAI_THR_DREQLOW));
+ else if (vc4->gen >= VC4_GEN_5)
HDMI_WRITE(HDMI_MAI_THR,
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
# define VC4_HD_MAI_THR_DREQLOW_MASK VC4_MASK(5, 0)
# define VC4_HD_MAI_THR_DREQLOW_SHIFT 0
+# define VC4_D0_HD_MAI_THR_PANICHIGH_MASK VC4_MASK(29, 23)
+# define VC4_D0_HD_MAI_THR_PANICHIGH_SHIFT 23
+# define VC4_D0_HD_MAI_THR_PANICLOW_MASK VC4_MASK(21, 15)
+# define VC4_D0_HD_MAI_THR_PANICLOW_SHIFT 15
+# define VC4_D0_HD_MAI_THR_DREQHIGH_MASK VC4_MASK(13, 7)
+# define VC4_D0_HD_MAI_THR_DREQHIGH_SHIFT 7
+# define VC4_D0_HD_MAI_THR_DREQLOW_MASK VC4_MASK(6, 0)
+# define VC4_D0_HD_MAI_THR_DREQLOW_SHIFT 0
+
/* Divider from HDMI HSM clock to MAI serial clock. Sampling period
* converges to N / (M + 1) cycles.
*/