Lines Matching refs:mcu

5  * Sophgo power control mcu for SG2042
41 struct sg2042_mcu_data *mcu = seqf->private; \
43 ret = i2c_smbus_read_byte_data(mcu->client, (_reg)); \
60 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
63 ret = i2c_smbus_read_byte_data(mcu->client, REG_RST_COUNT);
74 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
78 ret = i2c_smbus_read_i2c_block_data(mcu->client, REG_UPTIME,
91 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
94 ret = i2c_smbus_read_byte_data(mcu->client, REG_RESET_REASON);
105 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
109 ret = i2c_smbus_read_byte_data(mcu->client, REG_REPOWER_POLICY);
127 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
138 ret = i2c_smbus_write_byte_data(mcu->client,
185 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
203 tmp = i2c_smbus_read_byte_data(mcu->client, reg);
215 struct sg2042_mcu_data *mcu = dev_get_drvdata(dev);
222 guard(mutex)(&mcu->mutex);
226 hyst_temp = i2c_smbus_read_byte_data(mcu->client,
235 crit_temp = i2c_smbus_read_byte_data(mcu->client,
254 return i2c_smbus_write_byte_data(mcu->client, reg, temp);
292 static void sg2042_mcu_debugfs_init(struct sg2042_mcu_data *mcu)
294 debugfs_create_file("firmware_version", 0444, mcu->client->debugfs,
295 mcu, &firmware_version_fops);
296 debugfs_create_file("pcb_version", 0444, mcu->client->debugfs, mcu,
298 debugfs_create_file("mcu_type", 0444, mcu->client->debugfs, mcu,
300 debugfs_create_file("board_type", 0444, mcu->client->debugfs, mcu,
307 struct sg2042_mcu_data *mcu;
314 mcu = devm_kmalloc(dev, sizeof(*mcu), GFP_KERNEL);
315 if (!mcu)
318 mutex_init(&mcu->mutex);
319 mcu->client = client;
321 i2c_set_clientdata(client, mcu);
324 mcu,
330 sg2042_mcu_debugfs_init(mcu);
336 { "sg2042-hwmon-mcu" },
342 { .compatible = "sophgo,sg2042-hwmon-mcu" },
349 .name = "sg2042-mcu",