src/dpdk/drivers/net/txgbe/base/txgbe_phy.c
static void txgbe_i2c_start(struct txgbe_hw *hw)
{
	DEBUGFUNC("txgbe_i2c_start");

	wr32(hw, TXGBE_I2CENA, 0);

	wr32(hw, TXGBE_I2CCON,
		(TXGBE_I2CCON_MENA |
		TXGBE_I2CCON_SPEED(1) |
		TXGBE_I2CCON_RESTART |
		TXGBE_I2CCON_SDIA));
	wr32(hw, TXGBE_I2CTAR, TXGBE_I2C_SLAVEADDR);
	wr32(hw, TXGBE_I2CSSSCLHCNT, 600);
	wr32(hw, TXGBE_I2CSSSCLLCNT, 600);
	wr32(hw, TXGBE_I2CRXTL, 0); /* 1byte for rx full signal */
	wr32(hw, TXGBE_I2CTXTL, 4);
	wr32(hw, TXGBE_I2CSCLTMOUT, 0xFFFFFF);
	wr32(hw, TXGBE_I2CSDATMOUT, 0xFFFFFF);

	wr32(hw, TXGBE_I2CICM, 0);
	wr32(hw, TXGBE_I2CENA, 1);
}
/**
 *  txgbe_i2c_start - Sets I2C start condition
 *  @hw: pointer to hardware structure
 *
 *  Sets I2C start condition (High -> Low on SDA while SCL is High)
 **/
Sets I2C start condition
@hw: pointer to hardware structure

Sets I2C start condition (High -> Low on SDA while SCL is High)
Sets I2C start condition @hw : pointer to hardware structure Sets I2C start condition ( High - > Low on SDA while SCL is High )
static void txgbe_i2c_start(struct txgbe_hw *hw)
{
	DEBUGFUNC("txgbe_i2c_start");
	wr32(hw, TXGBE_I2CENA, 0);
	wr32(hw, TXGBE_I2CCON,
		(TXGBE_I2CCON_MENA |
		TXGBE_I2CCON_SPEED(1) |
		TXGBE_I2CCON_RESTART |
		TXGBE_I2CCON_SDIA));
	wr32(hw, TXGBE_I2CTAR, TXGBE_I2C_SLAVEADDR);
	wr32(hw, TXGBE_I2CSSSCLHCNT, 600);
	wr32(hw, TXGBE_I2CSSSCLLCNT, 600);
	wr32(hw, TXGBE_I2CRXTL, 0); 
	wr32(hw, TXGBE_I2CTXTL, 4);
	wr32(hw, TXGBE_I2CSCLTMOUT, 0xFFFFFF);
	wr32(hw, TXGBE_I2CSDATMOUT, 0xFFFFFF);
	wr32(hw, TXGBE_I2CICM, 0);
	wr32(hw, TXGBE_I2CENA, 1);
}
static void txgbe_i2c_start ( struct txgbe_hw * hw ) { DEBUGFUNC ( " " ) ; wr32 ( hw , TXGBE_I2CENA , 0 ) ; wr32 ( hw , TXGBE_I2CCON , ( TXGBE_I2CCON_MENA | TXGBE_I2CCON_SPEED ( 1 ) | TXGBE_I2CCON_RESTART | TXGBE_I2CCON_SDIA ) ) ; wr32 ( hw , TXGBE_I2CTAR , TXGBE_I2C_SLAVEADDR ) ; wr32 ( hw , TXGBE_I2CSSSCLHCNT , 600 ) ; wr32 ( hw , TXGBE_I2CSSSCLLCNT , 600 ) ; wr32 ( hw , TXGBE_I2CRXTL , 0 ) ; wr32 ( hw , TXGBE_I2CTXTL , 4 ) ; wr32 ( hw , TXGBE_I2CSCLTMOUT , 0xFFFFFF ) ; wr32 ( hw , TXGBE_I2CSDATMOUT , 0xFFFFFF ) ; wr32 ( hw , TXGBE_I2CICM , 0 ) ; wr32 ( hw , TXGBE_I2CENA , 1 ) ; }
txgbe_i2c_start - Sets I2C start condition
  @hw: pointer to hardware structure
txgbe_i2c_start - Sets I2C start condition @hw : pointer to hardware structure
/* 1byte for rx full signal */