int demo_start_cam_in( demo_t *pdemo ) { int status; // PYTHON Receiver Initialization if ( pdemo->bVerbose ) { xil_printf( "PYTHON Receiver Initialization ...\n\r" ); } onsemi_python_init(pdemo->ppython_receiver, "PYTHON-1300-C", XPAR_ONSEMI_PYTHON_SPI_0_S00_AXI_BASEADDR, XPAR_ONSEMI_PYTHON_CAM_0_S00_AXI_BASEADDR); pdemo->ppython_receiver->uManualTap = 25; // IDELAY setting (0-31) //xil_printf( "PYTHON SPI Config for 10MHz ...\n\r" ); // axi4lite_0_clk = 75MHz onsemi_python_spi_config( pdemo->ppython_receiver, (75000000/10000000) ); // PYTHON Sensor Initialization if ( pdemo->bVerbose ) { xil_printf( "PYTHON Sensor Initialization ...\n\r" ); } // Camera Power Sequence fmc_hdmi_cam_iic_mux( pdemo->pfmc_hdmi_cam, FMC_HDMI_CAM_I2C_SELECT_CAM ); cat9554_initialize(pdemo->pfmc_hdmi_cam_iic); usleep(10); cat9554_vdd18_en(pdemo->pfmc_hdmi_cam_iic); usleep(10); cat9554_vdd33_en(pdemo->pfmc_hdmi_cam_iic); usleep(10); cat9554_vddpix_en(pdemo->pfmc_hdmi_cam_iic); usleep(10); onsemi_python_sensor_initialize( pdemo->ppython_receiver, SENSOR_INIT_ENABLE, pdemo->bVerbose); onsemi_python_cam_reg_write(pdemo->ppython_receiver, ONSEMI_PYTHON_CAM_SYNCGEN_HTIMING1_REG, 0x00300500); onsemi_python_sensor_cds(pdemo->ppython_receiver, pdemo->bVerbose); if ( pdemo->bVerbose ) { xil_printf("CFA Initialization\r\n"); } XCfa_Reset(pdemo->pcfa); XCfa_RegUpdateEnable(pdemo->pcfa); XCfa_Enable(pdemo->pcfa); //XCfa_WriteReg(pdemo->pcfa, CFA_BAYER_PHASE, 0x00); XCfa_SetBayerPhase(pdemo->pcfa, XCFA_RGRG_COMBINATION); XCfa_SetActiveSize(pdemo->pcfa, 1280, 1024); return 1; }
void avnet_console_test_iic_command( avnet_console_t *pConsole, int cargc, char ** cargv ) { int bDispSyntax = 0; if ( cargc > 1 && !strcmp(cargv[1],"help") ) { bDispSyntax = 1; } else if ( cargc == 2 && !strcmp(cargv[1],"test") ) { Xuint8 iic_address; Xuint8 iic_data; pConsole->io_hprintf( pConsole->io_handle, "\n\r" ); pConsole->io_hprintf( pConsole->io_handle, "---------------------------------------------------\n\r" ); pConsole->io_hprintf( pConsole->io_handle, "---- TEST 2 : Peripheral I2C Chain ----\n\r" ); pConsole->io_hprintf( pConsole->io_handle, "---------------------------------------------------\n\r" ); // ADV7511 - HDMI Output fmc_hdmi_cam_iic_mux( pdemo->pfmc_hdmi_cam, FMC_HDMI_CAM_I2C_SELECT_HDMI_OUT ); // iic_address = FMC_HDMI_CAM_HDMI_OUT_ADDR; pConsole->io_hprintf( pConsole->io_handle, "Detecting ADV7511 device at address 0x%02X ..... ", iic_address<<1 ); if ( pdemo->pfmc_hdmi_cam_iic->fpIicRead( pdemo->pfmc_hdmi_cam_iic, iic_address, 0, &iic_data, 1 ) > 0 ) pConsole->io_hprintf( pConsole->io_handle, "PASS!\n\r" ); else pConsole->io_hprintf( pConsole->io_handle, "FAIL! *****\n\r" ); // ADV7611 - HDMI Input fmc_hdmi_cam_iic_mux( pdemo->pfmc_hdmi_cam, FMC_HDMI_CAM_I2C_SELECT_HDMI_IN ); // iic_address = FMC_HDMI_CAM_HDMI_IN_ADDR; pConsole->io_hprintf( pConsole->io_handle, "Detecting ADV7611 device at address 0x%02X ..... ", iic_address<<1 ); if ( pdemo->pfmc_hdmi_cam_iic->fpIicRead( pdemo->pfmc_hdmi_cam_iic, iic_address, 0, &iic_data, 1 ) > 0 ) pConsole->io_hprintf( pConsole->io_handle, "PASS!\n\r" ); else pConsole->io_hprintf( pConsole->io_handle, "FAIL! *****\n\r" ); // CDCE913 - Video Clock Synthesizer fmc_hdmi_cam_iic_mux( pdemo->pfmc_hdmi_cam, FMC_HDMI_CAM_I2C_SELECT_VID_CLK ); // iic_address = FMC_HDMI_CAM_VID_CLK_ADDR; pConsole->io_hprintf( pConsole->io_handle, "Detecting CDCE913 device at address 0x%02X ..... ", iic_address<<1 ); if ( pdemo->pfmc_hdmi_cam_iic->fpIicRead( pdemo->pfmc_hdmi_cam_iic, iic_address, 0, &iic_data, 1 ) > 0 ) pConsole->io_hprintf( pConsole->io_handle, "PASS!\n\r" ); else pConsole->io_hprintf( pConsole->io_handle, "FAIL! *****\n\r" ); // PCA9534 - I2C I/O Expander fmc_hdmi_cam_iic_mux( pdemo->pfmc_hdmi_cam, FMC_HDMI_CAM_I2C_SELECT_VID_CLK ); // iic_address = FMC_HDMI_CAM_IO_EXP_ADDR; pConsole->io_hprintf( pConsole->io_handle, "Detecting PCA9534 device at address 0x%02X ..... ", iic_address<<1 ); if ( pdemo->pfmc_hdmi_cam_iic->fpIicRead( pdemo->pfmc_hdmi_cam_iic, iic_address, 0, &iic_data, 1 ) > 0 ) pConsole->io_hprintf( pConsole->io_handle, "PASS!\n\r" ); else pConsole->io_hprintf( pConsole->io_handle, "FAIL! *****\n\r" ); } if ( bDispSyntax ) { pConsole->io_hprintf( pConsole->io_handle, "\tSyntax :\r\n" ); pConsole->io_hprintf( pConsole->io_handle, "\t\tiic test => Test Peripheral IIC peripherals\r\n" ); } return; }