@@ -438,12 +438,18 @@ int sun4i_frontend_update_formats(struct sun4i_frontend *frontend,
438
438
* I have no idea what this does exactly, but it seems to be
439
439
* related to the scaler FIR filter phase parameters.
440
440
*/
441
- regmap_write (frontend -> regs , SUN4I_FRONTEND_CH0_HORZPHASE_REG , 0x400 );
442
- regmap_write (frontend -> regs , SUN4I_FRONTEND_CH1_HORZPHASE_REG , 0x400 );
443
- regmap_write (frontend -> regs , SUN4I_FRONTEND_CH0_VERTPHASE0_REG , 0x400 );
444
- regmap_write (frontend -> regs , SUN4I_FRONTEND_CH1_VERTPHASE0_REG , 0x400 );
445
- regmap_write (frontend -> regs , SUN4I_FRONTEND_CH0_VERTPHASE1_REG , 0x400 );
446
- regmap_write (frontend -> regs , SUN4I_FRONTEND_CH1_VERTPHASE1_REG , 0x400 );
441
+ regmap_write (frontend -> regs , SUN4I_FRONTEND_CH0_HORZPHASE_REG ,
442
+ frontend -> data -> ch_phase [0 ].horzphase );
443
+ regmap_write (frontend -> regs , SUN4I_FRONTEND_CH1_HORZPHASE_REG ,
444
+ frontend -> data -> ch_phase [1 ].horzphase );
445
+ regmap_write (frontend -> regs , SUN4I_FRONTEND_CH0_VERTPHASE0_REG ,
446
+ frontend -> data -> ch_phase [0 ].vertphase [0 ]);
447
+ regmap_write (frontend -> regs , SUN4I_FRONTEND_CH1_VERTPHASE0_REG ,
448
+ frontend -> data -> ch_phase [1 ].vertphase [0 ]);
449
+ regmap_write (frontend -> regs , SUN4I_FRONTEND_CH0_VERTPHASE1_REG ,
450
+ frontend -> data -> ch_phase [0 ].vertphase [1 ]);
451
+ regmap_write (frontend -> regs , SUN4I_FRONTEND_CH1_VERTPHASE1_REG ,
452
+ frontend -> data -> ch_phase [1 ].vertphase [1 ]);
447
453
448
454
/*
449
455
* Checking the input format is sufficient since we currently only
@@ -677,6 +683,16 @@ static const struct dev_pm_ops sun4i_frontend_pm_ops = {
677
683
};
678
684
679
685
static const struct sun4i_frontend_data sun8i_a33_frontend = {
686
+ .ch_phase = {
687
+ {
688
+ .horzphase = 0x400 ,
689
+ .vertphase = { 0x400 , 0x400 },
690
+ },
691
+ {
692
+ .horzphase = 0x400 ,
693
+ .vertphase = { 0x400 , 0x400 },
694
+ },
695
+ },
680
696
.has_coef_access_ctrl = true,
681
697
};
682
698
0 commit comments