49#define TWO_BYTES_LENGTH 2
50#define REPEATED_START_MODE 1
51#define I2C_WRITE_LENGTH_FOR_READ 1
52#define I2C_DEFAULT_ARRAY_SIZE 2
54#define LTC7841_DEFAULT_ADDRESS_0 0x5A
55#define LTC7841_DEFAULT_ADDRESS_1 0x5B
56#define LTC7841_TOTAL_REGISTERS 0x16
57#define LTC7841_BYTE_LENGTH 1
58#define LTC7841_WORD_LENGTH 2
59#define LTC7841_I2C_WR_FRAME_SIZE 3
61#define LTC7841_MAX_VOUT 48000
62#define LTC7841_7_BIT_ADDRESS_MASK 0x7F
63#define LTC7841_OPERATION_OFF 0x00
64#define LTC7841_OPERATION_TURN_ON 0x80
65#define LTC7841_OPERATION_MARGIN_LOW 0x98
66#define LTC7841_OPERATION_MARGIN_HIGH 0xA8
68#define LTC7841_NOMINAL_SLEW_RATE 0b00
69#define LTC7841_SLOW_SLEW_RATE 0b01
70#define LTC7841_FAST_SLEW_RATE 0b11
72#define LTC7841_INTERNAL_DIE_TEMPERATURE 0b0
73#define LTC7841_TSNS_PIN_VOLTAGE 0b1
74#define READ_TEMPERATURE_1_BIT 2
76#define MFR_MAX_VALUE 0x1FF
78#define MFR_VOUT_INIT 0x0FF
79#define WRITE_ONLY_REGISTERS_NUMBER 2
85#define LTC7841_OPERATION 1
86#define LTC7841_VOUT_MODE 0x20
87#define LTC7841_STATUS_WORD 0x79
88#define LTC7841_READ_VIN 0x88
89#define LTC7841_READ_IIN 0x89
90#define LTC7841_READ_VOUT 0x8B
91#define LTC7841_READ_IOUT 0x8C
92#define LTC7841_READ_TEMPERATURE_1 0x8D
93#define LTC7841_PMBUS_REVISION 0x98
94#define LTC7841_MFR_IOUT_PEAK 0xD7
95#define LTC7841_MFR_VOUT_PEAK 0xDD
96#define LTC7841_MFR_VIN_PEAK 0xDE
97#define LTC7841_MFR_TEMEPRATURE1_PEAK 0xDF
98#define LTC7841_MFR_IIN_PEAK 0xE1
99#define LTC7841_MFR_CLEAR_PEAKS 0xE3
100#define LTC7841_MFR_VOUT_MARGIN_HIGH 0xE5
101#define LTC7841_MFR_SPECIAL_ID 0xE7
102#define LTC7841_MFR_VOUT_COMMAND 0xE8
103#define LTC7841_MFR_CONFIG 0xE9
104#define LTC7841_MFR_VOUT_MARGIN_LOW 0xED
105#define LTC7841_MFR_RAIL_ADDRESS 0xFA
106#define LTC7841_MFR_RESET 0xFD
174 uint16_t vout_level);
177 uint16_t vout_level);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
const uint8_t ltc7841_write_only_registers[WRITE_ONLY_REGISTERS_NUMBER]
Definition ltc7841.c:35
int ltc7841_reset(struct ltc7841_desc *desc)
Perform a reset to the LTC7841.
Definition ltc7841.c:200
ltc7841_status_word_bit_placement
Definition ltc7841.h:108
@ LTC7841_OUTPUT_OVERVOLTAGE_FAULT
Definition ltc7841.h:111
@ LTC7841_TEMPERATURE_FAULT
Definition ltc7841.h:110
@ LTC7841_PGOOD
Definition ltc7841.h:113
@ LTC7841_OUTPUT_VOLTAGE_FAULT
Definition ltc7841.h:114
@ LTC7841_COMMUNICATION_FAILURE
Definition ltc7841.h:109
@ LTC7841_OFF
Definition ltc7841.h:112
int ltc7841_clear_status_word_bits(struct ltc7841_desc *desc)
This clears the STATUS_WORD BITS that are clearable.
Definition ltc7841.c:437
int ltc7841_init(struct ltc7841_desc **device, struct ltc7841_init_param *init_param)
Initialize the device structure.
Definition ltc7841.c:110
int ltc7841_reg_read(struct ltc7841_desc *desc, uint8_t cmd, uint8_t *data)
Read a raw value from a register.
Definition ltc7841.c:145
int ltc7841_change_to_internal_die_temperature(struct ltc7841_desc *desc)
Change to Internal Die Temeperature Reading for LTC7841.
Definition ltc7841.c:329
int ltc7841_change_vout_command(struct ltc7841_desc *desc, uint16_t vout_level)
Change Vout command.
Definition ltc7841.c:372
int ltc7841_mfr_clear_peaks(struct ltc7841_desc *desc)
This clears the MFR peak data values.
Definition ltc7841.c:427
int ltc7841_change_to_fast_slew_rate(struct ltc7841_desc *desc)
Change to Fast Slew Rate for LTC7841.
Definition ltc7841.c:308
int ltc7841_change_margin_low_command(struct ltc7841_desc *desc, uint16_t vout_level)
Change margin low command.
Definition ltc7841.c:390
int ltc7841_turn_off(struct ltc7841_desc *desc)
Turn off LTC7841.
Definition ltc7841.c:223
int ltc7841_change_to_nominal_slew_rate(struct ltc7841_desc *desc)
Change to Nominal Slew Rate for LTC7841.
Definition ltc7841.c:266
int ltc7841_turn_on(struct ltc7841_desc *desc)
Turn on LTC7841.
Definition ltc7841.c:233
#define WRITE_ONLY_REGISTERS_NUMBER
Definition ltc7841.h:79
int ltc7841_operation_margin_low(struct ltc7841_desc *desc)
Margin Low for LTC7841 Operation.
Definition ltc7841.c:243
int ltc7841_change_margin_high_command(struct ltc7841_desc *desc, uint16_t vout_level)
Change margin high command.
Definition ltc7841.c:409
int ltc7841_operation_margin_high(struct ltc7841_desc *desc)
Margin High for LTC7841 Operation.
Definition ltc7841.c:254
int ltc7841_remove(struct ltc7841_desc *)
Free the device descriptor.
Definition ltc7841.c:45
int ltc7841_change_to_tsns_pin_voltage(struct ltc7841_desc *desc)
Change to TSNS PIN VOLTAGE for LTC7841.
Definition ltc7841.c:350
int ltc7841_reg_write(struct ltc7841_desc *desc, uint8_t cmd, uint16_t value)
Write a raw value to a register.
Definition ltc7841.c:176
int ltc7841_change_rail_address(struct ltc7841_desc *desc, uint8_t addr)
Perform change of rail address of LTC7841.
Definition ltc7841.c:211
int ltc7841_change_to_slow_slew_rate(struct ltc7841_desc *desc)
Change to Slow Slew Rate for LTC7841.
Definition ltc7841.c:287
Header file of Delay functions.
Header file of I2C Interface.
Header file of IRQ interface.
Header file of utility functions.
Definition ad9361_util.h:63
ltc7841 device descriptor
Definition ltc7841.h:130
struct no_os_i2c_desc * comm_desc
Definition ltc7841.h:132
struct no_os_irq_ctrl_desc * irq_desc
Definition ltc7841.h:134
Initialization parameter for the device descriptor.
Definition ltc7841.h:120
struct no_os_irq_init_param irq_param
Definition ltc7841.h:124
struct no_os_i2c_init_param * comm_param
Definition ltc7841.h:122
Structure holding I2C address descriptor.
Definition no_os_i2c.h:89
Structure holding the parameters for I2C initialization.
Definition no_os_i2c.h:52
Definition no_os_irq.h:117
Structure holding the initial parameters for Interrupt Request.
Definition no_os_irq.h:101