Exemplo n.º 1
0
Arquivo: demo.c Projeto: pbomel/hdl
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;
}
Exemplo n.º 2
0
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;
}