On Sun, 23 Feb 2025, at 8:15 PM, Jernej Škrabec wrote: >> + if (mixer->cfg->de_type == sun8i_mixer_de33) >> + regmap_write(mixer->top_regs, SUN50I_MIXER_GLOBAL_DBUFF, >> + SUN8I_MIXER_GLOBAL_DBUFF_ENABLE); > > This was my mistake. There is no such thing as > SUN50I_MIXER_GLOBAL_DBUFF in DE33 > anymore. Values are generally applied at vblank time (I think). Above > write actually > writes to RCQ register, which is not great. Just drop this code and fix > condition to !=. Ah yes, good spotting. >> +static const struct sun8i_mixer_cfg sun50i_h616_mixer0_cfg = { >> + .ccsc = CCSC_MIXER0_LAYOUT, >> + .de_type = sun8i_mixer_de33, >> + .has_formatter = 1, >> + .mod_rate = 600000000, >> + .scaler_mask = 0xf, >> + .scanline_yuv = 4096, >> + .ui_num = 3, >> + .vi_num = 1, >> + .map = {0, 6, 7, 8}, >> +}; >> + >> static const struct of_device_id sun8i_mixer_of_table[] = { >> { >> .compatible = "allwinner,sun8i-a83t-de2-mixer-0", >> @@ -832,6 +907,10 @@ static const struct of_device_id sun8i_mixer_of_table[] = { >> .compatible = "allwinner,sun50i-h6-de3-mixer-0", >> .data = &sun50i_h6_mixer0_cfg, >> }, >> + { >> + .compatible = "allwinner,sun50i-h616-de33-mixer-0", >> + .data = &sun50i_h616_mixer0_cfg, >> + }, > > This should go to separate patch, adding feature (DE33) and adding core support > are two distinct things. Thanks, will split those out. Regards, Ryan