21 #include <linux/module.h>
24 #include <linux/kernel.h>
30 #include <mach/hardware.h>
37 #define VPIF_CH0_MAX_MODES (22)
38 #define VPIF_CH1_MAX_MODES (02)
39 #define VPIF_CH2_MAX_MODES (15)
40 #define VPIF_CH3_MAX_MODES (02)
203 .name =
"PAL_BDGHIK",
229 vpif_set_bit(reg, bit);
231 vpif_clr_bit(reg, bit);
281 u8 channel_id,
u8 config_channel_id)
290 value = (config->
l1 & vpifregs[config_channel_id].
len_mask);
292 value |= (config->
l3 & vpifregs[config_channel_id].
len_mask);
295 value = (config->
l5 & vpifregs[config_channel_id].
len_mask);
297 value |= (config->
l7 & vpifregs[config_channel_id].
len_mask);
300 value = (config->
l9 & vpifregs[config_channel_id].
len_mask);
302 value |= (config->
l11 & vpifregs[config_channel_id].
len_mask);
305 value = (config->
vsize & vpifregs[config_channel_id].
len_mask);
314 static void config_vpif_params(
struct vpif_params *vpifparams,
315 u8 channel_id,
u8 found)
323 end = channel_id + found;
325 for (i = start; i <
end; i++) {
332 vpif_wr_bit(reg, ch_nip, config->
frm_fmt);
346 vpifparams->
iface.fid_pol);
348 vpifparams->
iface.vd_pol);
350 vpifparams->
iface.hd_pol);
375 vpif_set_mode_info(config, channel_id, channel_id);
378 vpif_set_mode_info(config, channel_id + 1, channel_id);
382 config_vpif_params(vpifparams, channel_id, found);
396 value = 0x3F8 & (vbiparams->
hstart0);
397 value |= 0x3FFFFFF & ((vbiparams->
vstart0) << 16);
398 regw(value, vpifregs[channel_id].vanc0_strt);
400 value = 0x3F8 & (vbiparams->
hstart1);
401 value |= 0x3FFFFFF & ((vbiparams->
vstart1) << 16);
402 regw(value, vpifregs[channel_id].vanc1_strt);
404 value = 0x3F8 & (vbiparams->
hsize0);
405 value |= 0x3FFFFFF & ((vbiparams->
vsize0) << 16);
406 regw(value, vpifregs[channel_id].vanc0_size);
408 value = 0x3F8 & (vbiparams->
hsize1);
409 value |= 0x3FFFFFF & ((vbiparams->
vsize1) << 16);
410 regw(value, vpifregs[channel_id].vanc1_size);
430 res_len = resource_size(res);
443 if (IS_ERR(vpif_clk)) {
444 status = PTR_ERR(vpif_clk);
473 static int vpif_suspend(
struct device *
dev)
479 static int vpif_resume(
struct device *
dev)
487 .resume = vpif_resume,
490 #define vpif_pm_ops (&vpif_pm)
492 #define vpif_pm_ops NULL
505 static void vpif_exit(
void)
510 static int __init vpif_init(
void)