HPM SDK
HPMicro Software Development Kit
hpm_smbus.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_SMBUS_H
9 #define HPM_SMBUS_H
10 
11 #include "hpm_common.h"
12 #include "hpm_soc_feature.h"
13 #include "hpm_i2c_drv.h"
14 
15 #ifdef __cplusplus
16 extern "C"
17 {
18 #endif
19 
30 hpm_stat_t hpm_smbus_master_write_byte(I2C_Type *ptr, uint8_t slave_address,
31  uint8_t data);
32 
43 hpm_stat_t hpm_smbus_master_read_byte(I2C_Type *ptr, uint8_t slave_address,
44  uint8_t *data);
45 
58  uint8_t command, uint8_t data);
59 
72  uint8_t command, uint16_t data);
73 
86  uint8_t command, uint8_t *data);
87 
100  uint8_t command, uint16_t *data);
101 
116  uint8_t command, uint8_t *data, uint32_t size);
117 
132  uint8_t command, uint8_t *data, uint32_t size);
133 
146 hpm_stat_t hpm_smbus_master_write(I2C_Type *ptr, uint8_t slave_address,
147  uint8_t *data, uint32_t size);
148 
161 hpm_stat_t hpm_smbus_master_read(I2C_Type *ptr, uint8_t slave_address,
162  uint8_t *data, uint32_t size);
163 
175 hpm_stat_t hpm_smbus_slave_write(I2C_Type *ptr, uint8_t *data, uint32_t size);
176 
188 hpm_stat_t hpm_smbus_slave_read(I2C_Type *ptr, uint8_t *data, uint32_t size);
189 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif
195 
196 
uint32_t hpm_stat_t
Definition: hpm_common.h:126
static void size
Definition: hpm_math.h:6938
hpm_stat_t hpm_smbus_master_read_word_in_command(I2C_Type *ptr, uint8_t slave_address, uint8_t command, uint16_t *data)
SMbus master read word(16bits) from certain slave device in command code.
Definition: hpm_smbus.c:99
hpm_stat_t hpm_smbus_master_write_word_in_command(I2C_Type *ptr, uint8_t slave_address, uint8_t command, uint16_t data)
SMbus master write word(16bits) from certain slave device in command code.
Definition: hpm_smbus.c:57
hpm_stat_t hpm_smbus_master_write(I2C_Type *ptr, uint8_t slave_address, uint8_t *data, uint32_t size)
SMbus master write data to certain slave device.
Definition: hpm_smbus.c:179
hpm_stat_t hpm_smbus_master_write_block_in_command(I2C_Type *ptr, uint8_t slave_address, uint8_t command, uint8_t *data, uint32_t size)
SMbus master block write from certain slave device in command code.
Definition: hpm_smbus.c:126
hpm_stat_t hpm_smbus_master_read_byte(I2C_Type *ptr, uint8_t slave_address, uint8_t *data)
SMbus master read byte from certain slave device.
Definition: hpm_smbus.c:25
hpm_stat_t hpm_smbus_master_write_byte_in_command(I2C_Type *ptr, uint8_t slave_address, uint8_t command, uint8_t data)
SMbus master write byte from certain slave device in command code.
Definition: hpm_smbus.c:44
hpm_stat_t hpm_smbus_master_read_byte_in_command(I2C_Type *ptr, uint8_t slave_address, uint8_t command, uint8_t *data)
SMbus master read byte from certain slave device in command code.
Definition: hpm_smbus.c:70
hpm_stat_t hpm_smbus_slave_write(I2C_Type *ptr, uint8_t *data, uint32_t size)
SMbus slave write data.
Definition: hpm_smbus.c:215
hpm_stat_t hpm_smbus_master_read_block_in_command(I2C_Type *ptr, uint8_t slave_address, uint8_t command, uint8_t *data, uint32_t size)
SMbus master block read from certain slave device in command code.
Definition: hpm_smbus.c:144
hpm_stat_t hpm_smbus_slave_read(I2C_Type *ptr, uint8_t *data, uint32_t size)
SMbus slave read data.
Definition: hpm_smbus.c:233
hpm_stat_t hpm_smbus_master_write_byte(I2C_Type *ptr, uint8_t slave_address, uint8_t data)
SMbus master write data.
Definition: hpm_smbus.c:13
hpm_stat_t hpm_smbus_master_read(I2C_Type *ptr, uint8_t slave_address, uint8_t *data, uint32_t size)
SMbus master read data from certain slave device.
Definition: hpm_smbus.c:195
Definition: hpm_i2c_regs.h:12