extern int vopSetOutFormat(int format) { if(format==FORMAT_NTSC) socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) & ~VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL); else if(format==FORMAT_PAL) socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL); else { printf("VOP : Error Output Format!!\n"); return -1; } return 0; }
static irqreturn_t vopOneFrameIsr (int irq, void *dev) { u32 int_sts = socle_vop_read(SOCLE_VOP_INT_STS); u32 frame_sts = socle_vop_read(SOCLE_VOP_FBS); if (int_sts & VOP_INT_STS_DISPLAY_COMPLETE) { if ((frame_sts & VOP_FBS_FRAME1_USE_BY_HW) == 0) socle_vop_write(VOP_FBS_FRAME1_USE_BY_HW, SOCLE_VOP_FBS); } if (int_sts & VOP_INT_STS_BUFFER_UNDERUN) { int line_num; line_num = int_sts >> VOP_INT_STS_LINE_NUM_OF_UNDERUN_SHIFT; printk("VOP : Buffer Underflow at line 0x%x\n",line_num); }
static int vopSetOutFormat(int format) { if(format==FORMAT_NTSC) { VOP_DBG("Out format NTSC\n"); socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) & ~VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL); } else if(format==FORMAT_PAL) { VOP_DBG("Out format PAL\n"); socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_FORMAT_PAL, SOCLE_VOP_CTRL); } else { printk("VOP : Error Output Format!!\n"); return -1; } return 0; }
extern void vopStart() { socle_vop_write(VOP_AHBR_CTRL_INCR16, SOCLE_VOP_AHBR_CTRL); socle_vop_write(VOP_INTE_BUFFER_UNDERRUN | VOP_INTE_DISPLAY_COMPLETE, SOCLE_VOP_INTE); socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_DISPLAY_EN, SOCLE_VOP_CTRL); }
static void vopStart() { socle_vop_write(VOP_AHBR_CTRL_INCR16, SOCLE_VOP_AHBR_CTRL); #ifdef USE_INT socle_vop_write(VOP_INTE_DISPLAY_COMPLETE, SOCLE_VOP_INTE); #endif socle_vop_write(socle_vop_read(SOCLE_VOP_CTRL) | VOP_CTRL_DISPLAY_EN, SOCLE_VOP_CTRL); }