12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef _SPMI_SPMI_H
- #define _SPMI_SPMI_H
- /**
- * struct dm_spmi_ops - SPMI device I/O interface
- *
- * Should be implemented by UCLASS_SPMI device drivers. The standard
- * device operations provides the I/O interface for it's childs.
- *
- * @read: read register 'reg' of slave 'usid' and peripheral 'pid'
- * @write: write register 'reg' of slave 'usid' and peripheral 'pid'
- *
- * Each register is 8-bit, both read and write can return negative values
- * on error.
- */
- struct dm_spmi_ops {
- int (*read)(struct udevice *dev, int usid, int pid, int reg);
- int (*write)(struct udevice *dev, int usid, int pid, int reg,
- uint8_t value);
- };
- /**
- * spmi_reg_read() - read a register from specific slave/peripheral
- *
- * @dev: SPMI bus to read
- * @usid SlaveID
- * @pid Peripheral ID
- * @reg: Register to read
- * @return value read on success or negative value of errno.
- */
- int spmi_reg_read(struct udevice *dev, int usid, int pid, int reg);
- /**
- * spmi_reg_write() - write a register of specific slave/peripheral
- *
- * @dev: SPMI bus to write
- * @usid SlaveID
- * @pid Peripheral ID
- * @reg: Register to write
- * @value: Value to write
- * @return 0 on success or negative value of errno.
- */
- int spmi_reg_write(struct udevice *dev, int usid, int pid, int reg,
- uint8_t value);
- #endif
|