Lines Matching defs: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);
2231 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2235 i2cctl |= IXGBE_I2C_BB_EN_BY_MAC(hw);
2238 ixgbe_set_i2c_data(hw, &i2cctl, 1);
2239 ixgbe_raise_i2c_clk(hw, &i2cctl);
2244 ixgbe_set_i2c_data(hw, &i2cctl, 0);
2249 ixgbe_lower_i2c_clk(hw, &i2cctl);
2266 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2274 ixgbe_set_i2c_data(hw, &i2cctl, 0);
2275 ixgbe_raise_i2c_clk(hw, &i2cctl);
2280 ixgbe_set_i2c_data(hw, &i2cctl, 1);
2286 i2cctl &= ~bb_en_bit;
2287 i2cctl |= data_oe_bit | clk_oe_bit;
2288 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl);
2325 u32 i2cctl;
2339 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2340 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw);
2341 i2cctl |= IXGBE_I2C_DATA_OE_N_EN_BY_MAC(hw);
2342 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl);
2359 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2366 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw);
2367 i2cctl |= data_oe_bit;
2368 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl);
2371 ixgbe_raise_i2c_clk(hw, &i2cctl);
2379 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2380 ack = ixgbe_get_i2c_data(hw, &i2cctl);
2392 ixgbe_lower_i2c_clk(hw, &i2cctl);
2409 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2415 i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw);
2416 i2cctl |= data_oe_bit;
2417 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), i2cctl);
2420 ixgbe_raise_i2c_clk(hw, &i2cctl);
2425 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2426 *data = ixgbe_get_i2c_data(hw, &i2cctl);
2428 ixgbe_lower_i2c_clk(hw, &i2cctl);
2444 u32 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2448 status = ixgbe_set_i2c_data(hw, &i2cctl, data);
2450 ixgbe_raise_i2c_clk(hw, &i2cctl);
2455 ixgbe_lower_i2c_clk(hw, &i2cctl);
2473 * @i2cctl: Current value of I2CCTL register
2478 static void ixgbe_raise_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl)
2488 *i2cctl |= clk_oe_bit;
2489 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl);
2493 *i2cctl |= IXGBE_I2C_CLK_OUT_BY_MAC(hw);
2495 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl);
2509 * @i2cctl: Current value of I2CCTL register
2514 static void ixgbe_lower_i2c_clk(struct ixgbe_hw *hw, u32 *i2cctl)
2518 *i2cctl &= ~(IXGBE_I2C_CLK_OUT_BY_MAC(hw));
2519 *i2cctl &= ~IXGBE_I2C_CLK_OE_N_EN_BY_MAC(hw);
2521 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl);
2531 * @i2cctl: Current value of I2CCTL register
2537 static s32 ixgbe_set_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl, bool data)
2545 *i2cctl |= IXGBE_I2C_DATA_OUT_BY_MAC(hw);
2547 *i2cctl &= ~(IXGBE_I2C_DATA_OUT_BY_MAC(hw));
2548 *i2cctl &= ~data_oe_bit;
2550 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl);
2559 *i2cctl |= data_oe_bit;
2560 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl);
2565 *i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2566 if (data != ixgbe_get_i2c_data(hw, i2cctl)) {
2579 * @i2cctl: Current value of I2CCTL register
2584 static bool ixgbe_get_i2c_data(struct ixgbe_hw *hw, u32 *i2cctl)
2592 *i2cctl |= data_oe_bit;
2593 IXGBE_WRITE_REG(hw, IXGBE_I2CCTL_BY_MAC(hw), *i2cctl);
2598 if (*i2cctl & IXGBE_I2C_DATA_IN_BY_MAC(hw))
2615 u32 i2cctl;
2621 i2cctl = IXGBE_READ_REG(hw, IXGBE_I2CCTL_BY_MAC(hw));
2623 ixgbe_set_i2c_data(hw, &i2cctl, 1);
2626 ixgbe_raise_i2c_clk(hw, &i2cctl);
2631 ixgbe_lower_i2c_clk(hw, &i2cctl);