Files
Linux_Drivers/u-boot-2021.10/include/spmi/spmi.h
sam.xiang f8fc109960 [uboot] create uboot from github:
repo: https://github.com/u-boot/u-boot
	commit: d80bb749fab53da72c4a0e09b8c2d2aaa3103c91

Change-Id: Ie6434426e1ec15bc08bb1832798e371f3fd5fb29
2023-03-10 20:30:57 +08:00

47 lines
1.3 KiB
C

#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