void check_vr_type()

in meta-facebook/yv35-cl/src/sensor/plat_sensor.c [245:268]


void check_vr_type(uint8_t index)
{
	uint8_t retry = 5;
	I2C_MSG msg;

	msg.bus = sensor_config[index].port;
	msg.slave_addr = sensor_config[index].slave_addr;
	msg.tx_len = 1;
	msg.rx_len = 7;
	msg.data[0] = PMBUS_IC_DEVICE_ID;

	if (i2c_master_read(&msg, retry))
		return;

	if (msg.data[0] == 0x06 && msg.data[1] == 0x54 && msg.data[2] == 0x49 &&
	    msg.data[3] == 0x53 && msg.data[4] == 0x68 && msg.data[5] == 0x90 &&
	    msg.data[6] == 0x00) {
		/* TI tps53689 */
		sensor_config[index].type = sensor_dev_tps53689;
	} else if (msg.data[0] == 0x02 && msg.data[2] == 0x8A) {
		/* Infineon xdpe15284 */
		sensor_config[index].type = sensor_dev_xdpe15284;
	}
}