static int do_tv_out_open(int argc, char *argv[]) { int mode; int ret; if (argc < 2) goto usage; mode = to_mode(argv[1]); if(mode == TVOUT_MAX) goto usage; ret = tv_out_open(mode); if (ret!=0) { printf("tv %s %s failed\n",argv[0], argv[1]); return 1; } if(mode==TVOUT_1080I50HZ||mode==TVOUT_1080I||mode==TVOUT_576I||mode==TVOUT_480I){ udelay(3*1000*1000); start_dsp(); } return 0; usage: puts("Usage: tv open mode(1080P/1080I/720P/576P/480P/576I/480I)\n"); return 1; }
static int tvout_open(int argc, char *argv[]) { int mode; int ret; #if CONFIG_AML_HDMI_TX extern void init_hdmi(void); #endif extern void start_dsp(void); if (argc < 2) goto usage; mode = to_mode(argv[1]); if(mode == TVOUT_MAX) goto usage; tv_oper.enable(); #if CONFIG_AML_HDMI_TX init_hdmi(); #endif ret = tv_out_open(mode); if (ret!=0) { printf("tv %s %s failed\n",argv[0], argv[1]); return 1; } #if CONFIG_AML_MESON_6 if(mode==TVOUT_1080I||mode==TVOUT_576I||mode==TVOUT_480I|| mode == TVOUT_480CVBS ||mode == TVOUT_576CVBS){ #ifdef CONFIG_DSP_VSYNC_INTERRUPT start_dsp(); #endif } #endif return 0; usage: #if CONFIG_AML_MESON_8 puts("Usage: video dev open <mode>(4K2K30HZ/4K2K25HZ/4K2K24HZ/4K2KSMPTE/1080P24HZ\n1080P50HZ/1080I50HZ/720P50HZ/1080P/1080I/720P/576P/480P/576I/480I)\n"); #endif #if CONFIG_AML_MESON_6 puts("Usage: video dev open <mode>(1080P24HZ/1080P50HZ/1080I50HZ/720P50HZ/1080P/1080I/720P/576P/480P/576I/480I)\n"); #endif return 1; }