Lines Matching refs:i2cctl

46 static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl);
47 static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl);
48 static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl, bool data);
49 static bool ixgbe_get_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl);
2229 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_i2c_start() local
2233 i2cctl |= IXGBE_I2C_BB_EN_BY_MAC(hw); in ixgbe_i2c_start()
2236 ixgbe_set_i2c_data(hw, &i2cctl, 1); in ixgbe_i2c_start()
2237 ixgbe_raise_i2c_clk(hw, &i2cctl); in ixgbe_i2c_start()
2242 ixgbe_set_i2c_data(hw, &i2cctl, 0); in ixgbe_i2c_start()
2247 ixgbe_lower_i2c_clk(hw, &i2cctl); in ixgbe_i2c_start()
2264 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_i2c_stop() local
2272 ixgbe_set_i2c_data(hw, &i2cctl, 0); in ixgbe_i2c_stop()
2273 ixgbe_raise_i2c_clk(hw, &i2cctl); in ixgbe_i2c_stop()
2278 ixgbe_set_i2c_data(hw, &i2cctl, 1); in ixgbe_i2c_stop()
2284 i2cctl &= ~bb_en_bit; in ixgbe_i2c_stop()
2285 i2cctl |= data_oe_bit | clk_oe_bit; in ixgbe_i2c_stop()
2286 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl); in ixgbe_i2c_stop()
2323 u32 i2cctl; in ixgbe_clock_out_i2c_byte() local
2337 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_clock_out_i2c_byte()
2338 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw); in ixgbe_clock_out_i2c_byte()
2339 i2cctl |= IXGBE_I2C_DATA_OE_N_EN_BY_MAC(hw); in ixgbe_clock_out_i2c_byte()
2340 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl); in ixgbe_clock_out_i2c_byte()
2357 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_get_i2c_ack() local
2364 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw); in ixgbe_get_i2c_ack()
2365 i2cctl |= data_oe_bit; in ixgbe_get_i2c_ack()
2366 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl); in ixgbe_get_i2c_ack()
2369 ixgbe_raise_i2c_clk(hw, &i2cctl); in ixgbe_get_i2c_ack()
2377 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_get_i2c_ack()
2378 ack = ixgbe_get_i2c_data(hw, &i2cctl); in ixgbe_get_i2c_ack()
2390 ixgbe_lower_i2c_clk(hw, &i2cctl); in ixgbe_get_i2c_ack()
2407 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_clock_in_i2c_bit() local
2413 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw); in ixgbe_clock_in_i2c_bit()
2414 i2cctl |= data_oe_bit; in ixgbe_clock_in_i2c_bit()
2415 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl); in ixgbe_clock_in_i2c_bit()
2418 ixgbe_raise_i2c_clk(hw, &i2cctl); in ixgbe_clock_in_i2c_bit()
2423 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_clock_in_i2c_bit()
2424 *data = ixgbe_get_i2c_data(hw, &i2cctl); in ixgbe_clock_in_i2c_bit()
2426 ixgbe_lower_i2c_clk(hw, &i2cctl); in ixgbe_clock_in_i2c_bit()
2442 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_clock_out_i2c_bit() local
2446 status = ixgbe_set_i2c_data(hw, &i2cctl, data); in ixgbe_clock_out_i2c_bit()
2448 ixgbe_raise_i2c_clk(hw, &i2cctl); in ixgbe_clock_out_i2c_bit()
2453 ixgbe_lower_i2c_clk(hw, &i2cctl); in ixgbe_clock_out_i2c_bit()
2476 static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl) in ixgbe_raise_i2c_clk() argument
2486 *i2cctl |= clk_oe_bit; in ixgbe_raise_i2c_clk()
2487 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); in ixgbe_raise_i2c_clk()
2491 *i2cctl |= IXGBE_I2C_CLK_OUT_BY_MAC(hw); in ixgbe_raise_i2c_clk()
2493 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); in ixgbe_raise_i2c_clk()
2512 static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl) in ixgbe_lower_i2c_clk() argument
2516 *i2cctl &= ~(IXGBE_I2C_CLK_OUT_BY_MAC(hw)); in ixgbe_lower_i2c_clk()
2517 *i2cctl &= ~IXGBE_I2C_CLK_OE_N_EN_BY_MAC(hw); in ixgbe_lower_i2c_clk()
2519 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); in ixgbe_lower_i2c_clk()
2535 static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl, bool data) in ixgbe_set_i2c_data() argument
2543 *i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw); in ixgbe_set_i2c_data()
2545 *i2cctl &= ~(IXGBE_I2C_DATA_OUT_BY_MAC(hw)); in ixgbe_set_i2c_data()
2546 *i2cctl &= ~data_oe_bit; in ixgbe_set_i2c_data()
2548 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); in ixgbe_set_i2c_data()
2557 *i2cctl |= data_oe_bit; in ixgbe_set_i2c_data()
2558 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); in ixgbe_set_i2c_data()
2563 *i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_set_i2c_data()
2564 if (data != ixgbe_get_i2c_data(hw, i2cctl)) { in ixgbe_set_i2c_data()
2582 static bool ixgbe_get_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl) in ixgbe_get_i2c_data() argument
2590 *i2cctl |= data_oe_bit; in ixgbe_get_i2c_data()
2591 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl); in ixgbe_get_i2c_data()
2596 if (*i2cctl & IXGBE_I2C_DATA_IN_BY_MAC(hw)) in ixgbe_get_i2c_data()
2613 u32 i2cctl; in ixgbe_i2c_bus_clear() local
2619 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw)); in ixgbe_i2c_bus_clear()
2621 ixgbe_set_i2c_data(hw, &i2cctl, 1); in ixgbe_i2c_bus_clear()
2624 ixgbe_raise_i2c_clk(hw, &i2cctl); in ixgbe_i2c_bus_clear()
2629 ixgbe_lower_i2c_clk(hw, &i2cctl); in ixgbe_i2c_bus_clear()