Lines Matching full:occ
6 #include <linux/fsi-occ.h>
18 /* OCB (on-chip control bridge - interface to OCC) registers */
23 /* OCC SRAM address space */
30 struct occ occ; member
34 #define to_p8_i2c_occ(x) container_of((x), struct p8_i2c_occ, occ)
51 /* data from OCC is big-endian */ in p8_i2c_occ_getscom()
111 static int p8_i2c_occ_send_cmd(struct occ *occ, u8 *cmd) in p8_i2c_occ_send_cmd() argument
118 struct p8_i2c_occ *ctx = to_p8_i2c_occ(occ); in p8_i2c_occ_send_cmd()
120 struct occ_response *resp = &occ->resp; in p8_i2c_occ_send_cmd()
134 /* trigger OCC attention */ in p8_i2c_occ_send_cmd()
150 /* wait for OCC */ in p8_i2c_occ_send_cmd()
162 /* check the OCC response */ in p8_i2c_occ_send_cmd()
208 struct occ *occ; in p8_i2c_occ_probe() local
215 occ = &ctx->occ; in p8_i2c_occ_probe()
216 occ->bus_dev = &client->dev; in p8_i2c_occ_probe()
217 dev_set_drvdata(&client->dev, occ); in p8_i2c_occ_probe()
219 occ->powr_sample_time_us = 250; in p8_i2c_occ_probe()
220 occ->poll_cmd_data = 0x10; /* P8 OCC poll data */ in p8_i2c_occ_probe()
221 occ->send_cmd = p8_i2c_occ_send_cmd; in p8_i2c_occ_probe()
223 return occ_setup(occ, "p8_occ"); in p8_i2c_occ_probe()
228 struct occ *occ = dev_get_drvdata(&client->dev); in p8_i2c_occ_remove() local
230 occ_shutdown(occ); in p8_i2c_occ_remove()
236 { .compatible = "ibm,p8-occ-hwmon" },
244 .name = "occ-hwmon",
254 MODULE_DESCRIPTION("BMC P8 OCC hwmon driver");