Go to the documentation of this file.
54 #define LTC4296_REG_GFLTEV 0x02
55 #define LTC4296_REG_GFLTMSK 0x03
56 #define LTC4296_REG_GCAP 0x06
57 #define LTC4296_REG_GIOST 0x07
58 #define LTC4296_REG_GCMD 0x08
59 #define LTC4296_REG_GCFG 0x09
60 #define LTC4296_REG_GADCCFG 0x0A
61 #define LTC4296_REG_GADCDAT 0x0B
62 #define LTC4296_REG_P0EV 0x10
63 #define LTC4296_REG_P0ST 0x12
64 #define LTC4296_REG_P0CFG0 0x13
65 #define LTC4296_REG_P0CFG1 0x14
66 #define LTC4296_REG_P0ADCCFG 0x15
67 #define LTC4296_REG_P0ADCDAT 0x16
68 #define LTC4296_REG_P0SELFTEST 0x17
69 #define LTC4296_REG_P1EV 0x20
70 #define LTC4296_REG_P1ST 0x22
71 #define LTC4296_REG_P1CFG0 0x23
72 #define LTC4296_REG_P1CFG1 0x24
73 #define LTC4296_REG_P1ADCCFG 0x25
74 #define LTC4296_REG_P1ADCDAT 0x26
75 #define LTC4296_REG_P1SELFTEST 0x27
76 #define LTC4296_REG_P2EV 0x30
77 #define LTC4296_REG_P2ST 0x32
78 #define LTC4296_REG_P2CFG0 0x33
79 #define LTC4296_REG_P2CFG1 0x34
80 #define LTC4296_REG_P2ADCCFG 0x35
81 #define LTC4296_REG_P2ADCDAT 0x36
82 #define LTC4296_REG_P2SELFTEST 0x37
83 #define LTC4296_REG_P3EV 0x40
84 #define LTC4296_REG_P3ST 0x42
85 #define LTC4296_REG_P3CFG0 0x43
86 #define LTC4296_REG_P3CFG1 0x44
87 #define LTC4296_REG_P3ADCCFG 0x45
88 #define LTC4296_REG_P3ADCDAT 0x46
89 #define LTC4296_REG_P3SELFTEST 0x47
90 #define LTC4296_REG_P4EV 0x50
91 #define LTC4296_REG_P4ST 0x52
92 #define LTC4296_REG_P4CFG0 0x53
93 #define LTC4296_REG_P4CFG1 0x54
94 #define LTC4296_REG_P4ADCCFG 0x55
95 #define LTC4296_REG_P4ADCDAT 0x56
96 #define LTC4296_REG_P4SELFTEST 0x57
99 #define LTC4296_UVLO_DIGITAL_MSK NO_OS_BIT(4)
100 #define LTC4296_COMMAND_FAULT_MSK NO_OS_BIT(3)
101 #define LTC4296_PEC_FAULT_MSK NO_OS_BIT(2)
102 #define LTC4296_MEMORY_FAULT_MSK NO_OS_BIT(1)
103 #define LTC4296_LOW_CKT_BRK_FAULT_MSK NO_OS_BIT(0)
106 #define LTC4296_SCCP_SUPPORT_MSK NO_OS_BIT(6)
107 #define LTC4296_WAKE_FWD_SUPPORT_MSK NO_OS_BIT(5)
108 #define LTC4296_NUMPORTS_MSK NO_OS_GENMASK(4, 0)
111 #define LTC4296_PG_OUT4_MSK NO_OS_BIT(8)
112 #define LTC4296_PG_OUT3_MSK NO_OS_BIT(7)
113 #define LTC4296_PG_OUT2_MSK NO_OS_BIT(6)
114 #define LTC4296_PG_OUT1_MSK NO_OS_BIT(5)
115 #define LTC4296_PG_OUT0_MSK NO_OS_BIT(4)
116 #define LTC4296_PAD_AUTO_MSK NO_OS_BIT(3)
117 #define LTC4296_PAD_WAKEUP_MSK NO_OS_BIT(2)
118 #define LTC4296_PAD_WAKEUP_DRIVE_MSK NO_OS_BIT(1)
121 #define LTC4296_SW_RESET_MSK NO_OS_GENMASK(15, 8)
122 #define LTC4296_WRITE_PROTECT_MSK NO_OS_GENMASK(7, 0)
125 #define LTC4296_MASK_LOWFAULT_MSK NO_OS_BIT(5)
126 #define LTC4296_TLIM_DISABLE_MSK NO_OS_BIT(4)
127 #define LTC4296_TLIM_TIMER_SLEEP_MSK NO_OS_GENMASK(3, 2)
128 #define LTC4296_REFRESH_MSK NO_OS_BIT(1)
129 #define LTC4296_SW_VIN_PGOOD_MSK NO_OS_BIT(0)
132 #define LTC4296_GADC_SAMPLE_MODE_MSK NO_OS_GENMASK(6, 5)
133 #define LTC4296_GADC_SEL_MSK NO_OS_GENMASK(4, 0)
136 #define LTC4296_GADC_MISSED_MSK NO_OS_BIT(13)
137 #define LTC4296_GADC_NEW_MSK NO_OS_BIT(12)
138 #define LTC4296_GADC_MSK NO_OS_GENMASK(11, 0)
141 #define LTC4296_VALID_SIGNATURE_MSK NO_OS_BIT(9)
142 #define LTC4296_INVALID_SIGNATURE_MSK NO_OS_BIT(8)
143 #define LTC4296_TOFF_TIMER_DONE_MSK NO_OS_BIT(7)
144 #define LTC4296_OVERLOAD_DETECTED_ISLEEP_MSK NO_OS_BIT(6)
145 #define LTC4296_OVERLOAD_DETECTED_IPOWERED_MSK NO_OS_BIT(5)
146 #define LTC4296_MFVS_TIMEOUT_MSK NO_OS_BIT(4)
147 #define LTC4296_TINRUSH_TIMER_DONE_MSK NO_OS_BIT(3)
148 #define LTC4296_PD_WAKEUP_MSK NO_OS_BIT(2)
149 #define LTC4296_LSNS_FORWARD_FAULT_MSK NO_OS_BIT(1)
150 #define LTC4296_LSNS_REVERSE_FAULT_MSK NO_OS_BIT(0)
153 #define LTC4296_DET_VHIGH_MSK NO_OS_BIT(13)
154 #define LTC4296_DET_VLOW_MSK NO_OS_BIT(12)
155 #define LTC4296_POWER_STABLE_HI_MSK NO_OS_BIT(11)
156 #define LTC4296_POWER_STABLE_LO_MSK NO_OS_BIT(10)
157 #define LTC4296_POWER_STABLE_MSK NO_OS_BIT(9)
158 #define LTC4296_OVERLOAD_HELD_MSK NO_OS_BIT(8)
159 #define LTC4296_PI_SLEEPING_MSK NO_OS_BIT(7)
160 #define LTC4296_PI_PREBIASED_MSK NO_OS_BIT(6)
161 #define LTC4296_PI_DETECTING_MSK NO_OS_BIT(5)
162 #define LTC4296_PI_POWERED_MSK NO_OS_BIT(4)
163 #define LTC4296_PI_DISCHARGE_EN_MSK NO_OS_BIT(3)
164 #define LTC4296_PSE_STATUS_MSK NO_OS_GENMASK(2, 0)
167 #define LTC4296_SW_INRUSH_MSK NO_OS_BIT(15)
168 #define LTC4296_END_CLASSIFICATION_MSK NO_OS_BIT(14)
169 #define LTC4296_SET_CLASSIFICATION_MODE_MSK NO_OS_BIT(13)
170 #define LTC4296_DISABLE_DETECTION_PULLUP_MSK NO_OS_BIT(12)
171 #define LTC4296_TDET_DISABLE_MSK NO_OS_BIT(11)
172 #define LTC4296_FOLDBACK_DISABLE_MSK NO_OS_BIT(10)
173 #define LTC4296_SOFT_START_DISABLE_MSK NO_OS_BIT(9)
174 #define LTC4296_TOFF_TIMER_DISABLE_MSK NO_OS_BIT(8)
175 #define LTC4296_TMFVDO_TIMER_DISABLE_MSK NO_OS_BIT(7)
176 #define LTC4296_SW_PSE_READY_MSK NO_OS_BIT(6)
177 #define LTC4296_SW_POWER_AVAILABLE_MSK NO_OS_BIT(5)
178 #define LTC4296_UPSTREAM_WAKEUP_DISABLE_MSK NO_OS_BIT(4)
179 #define LTC4296_DOWNSTREAM_WAKEUP_DISABLE_MSK NO_OS_BIT(3)
180 #define LTC4296_SW_PSE_WAKEUP_MSK NO_OS_BIT(2)
181 #define LTC4296_HW_EN_MASK_MSK NO_OS_BIT(1)
182 #define LTC4296_SW_EN_MSK NO_OS_BIT(0)
185 #define LTC4296_PREBIAS_OVERRIDE_GOOD_MSK NO_OS_BIT(8)
186 #define LTC4296_TLIM_TIMER_TOP_MSK NO_OS_GENMASK(7, 6)
187 #define LTC4296_TOD_TRESTART_TIMER_MSK NO_OS_GENMASK(5, 4)
188 #define LTC4296_TINRUSH_TIMER_MSK NO_OS_GENMASK(3, 2)
189 #define LTC4296_SIG_OVERRIDE_BAD_MSK NO_OS_BIT(1)
190 #define LTC4296_SIG_OVERRIDE_GOOD_MSK NO_OS_BIT(0)
193 #define LTC4296_MFVS_THRESHOLD_MSK NO_OS_GENMASK(7, 0)
196 #define LTC4296_MISSED_MSK NO_OS_BIT(13)
197 #define LTC4296_NEW_MSK NO_OS_BIT(12)
198 #define LTC4296_SOURCE_CURRENT_MSK NO_OS_GENMASK(11, 0)
201 #define LTC4296_SPI_READ 0x01
202 #define LTC4296_SPI_WRITE 0x00
204 #define LTC4296_RESET_CODE 0x73
205 #define LTC4296_UNLOCK_KEY 0x05
206 #define LTC4296_LOCK_KEY 0xA0
208 #define LTC4296_ADC_OFFSET 2049
210 #define LTC4296_VGAIN 35230 / 1000
211 #define LTC4296_IGAIN 1 / 10
213 #define LTC4296_VMAX 1
214 #define LTC4296_VMIN 0
216 #define LTC4296_MAX_PORTS 5
218 #define RTESTLOAD 200
403 uint16_t *port_events);
411 uint16_t *port_status);
int ltc4296_remove(struct ltc4296_dev *dev)
Free allocated resources.
Definition: ltc4296.c:1086
#define LTC4296_OVERLOAD_DETECTED_IPOWERED_MSK
Definition: ltc4296.h:145
ltc4296_port
Device Port Numbers.
Definition: ltc4296.h:249
@ LTC_PSE_STATUS_SEARCHING
Definition: ltc4296.h:273
int ltc4296_print_port_events(enum ltc4296_port port_no, uint16_t port_events)
Print port events.
Definition: ltc4296.c:883
void no_os_put_unaligned_be16(uint16_t val, uint8_t *buf)
@ LTC_UNLOCKED
Definition: ltc4296.h:242
#define LTC4296_POWER_STABLE_MSK
Definition: ltc4296.h:157
#define LTC4296_REG_GFLTEV
Definition: ltc4296.h:54
#define LTC4296_REG_GCMD
Definition: ltc4296.h:58
struct no_os_spi_init_param * spi_init
Definition: ltc4296.h:235
@ LTC_PSE_STATUS_UNKNOWN
Definition: ltc4296.h:277
int ltc4296_clear_ckt_breaker(struct ltc4296_dev *dev)
Clear circuit break faults.
Definition: ltc4296.c:233
int ltc4296_disable_gadc(struct ltc4296_dev *dev)
Disable the global ADC.
Definition: ltc4296.c:412
@ ADI_LTC_SCCP_PD_PRESENT
Definition: ltc4296.h:334
@ PRODUCTION_POWER_TEST
Definition: ltc4296.h:294
char * ltc4296_class_str[12][25]
Definition: ltc4296.c:77
#define LTC4296_REG_GADCDAT
Definition: ltc4296.h:61
#define LTC4296_MEMORY_FAULT_MSK
Definition: ltc4296.h:102
#define LTC4296_RESET_CODE
Definition: ltc4296.h:204
int ltc4296_force_port_pwr(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Force port to power mode.
Definition: ltc4296.c:791
int ltc4296_is_port_disabled(struct ltc4296_dev *dev, enum ltc4296_port port_no, enum ltc4296_port_status *port_chk)
Check if port is enabled/disabled.
Definition: ltc4296.c:503
int ltc4296_reg_read(struct ltc4296_dev *dev, uint8_t reg, uint16_t *data)
Register Read.
Definition: ltc4296.c:128
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:165
#define LTC4296_SW_RESET_MSK
Definition: ltc4296.h:121
@ PRODUCTION_DATA_TEST
Definition: ltc4296.h:297
@ ADI_LTC_SCCP_PD_CRC_FAILED
Definition: ltc4296.h:340
Header file of SPI Interface.
int ltc4296_read_port_events(struct ltc4296_dev *dev, enum ltc4296_port port_no, uint16_t *port_events)
Read Port Events.
Definition: ltc4296.c:435
int ltc4296_get_port_addr(enum ltc4296_port port_no, enum ltc4296_port_reg_offset_e port_offset, uint8_t *port_addr)
Get port address.
Definition: ltc4296.c:200
int ltc4296_chk_port_events(struct ltc4296_dev *dev, enum ltc4296_port ltc4296_port)
ltc4296_state
Device State.
Definition: ltc4296.h:241
int ltc4296_is_locked(struct ltc4296_dev *dev, enum ltc4296_state *state)
Check device state.
Definition: ltc4296.c:288
#define LTC4296_MFVS_TIMEOUT_MSK
Definition: ltc4296.h:146
@ LTC_PSE_STATUS_DISABLED
Definition: ltc4296.h:270
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:94
int ltc4296_read_port_status(struct ltc4296_dev *dev, enum ltc4296_port port_no, uint16_t *port_status)
Read Port Status.
Definition: ltc4296.c:480
@ ADI_LTC_SCCP_PD_LINE_NOT_HIGH
Definition: ltc4296.h:338
int ltc4296_is_vin_valid(struct ltc4296_dev *dev, int port_vin_mv, enum ltc4296_board_class ltcboard_class, bool *vin_valid)
Check if input voltage is valid.
Definition: ltc4296.c:366
int ltc4296_clear_ckt_breaker(struct ltc4296_dev *dev)
Clear circuit break faults.
Definition: ltc4296.c:233
int ltc4296_disable_gadc(struct ltc4296_dev *dev)
Disable the global ADC.
Definition: ltc4296.c:412
Header file of Delay functions.
struct no_os_spi_desc * spi_desc
Definition: ltc4296.h:228
int ltc4296_set_port_mfvs(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Set port to maintain full voltage signature.
Definition: ltc4296.c:738
#define pr_info(fmt, args...)
Definition: no_os_print_log.h:121
@ RESERVED
Definition: ltc4296.h:298
int ltc4296_clear_global_faults(struct ltc4296_dev *dev)
Clear global faults.
Definition: ltc4296.c:217
@ ADI_LTC_SUCCESS
Definition: ltc4296.h:328
int ltc4296_is_port_pwr_stable(struct ltc4296_dev *dev, enum ltc4296_port port_no, bool *pwr_status)
Check if port has stable power.
Definition: ltc4296.c:593
enum no_os_spi_mode mode
Definition: no_os_spi.h:139
@ APL_CLASS3
Definition: ltc4296.h:293
int ltc4296_set_gadc_vout(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Configure Global ADC to read output voltage.
Definition: ltc4296.c:839
int ltc4296_reset(struct ltc4296_dev *dev)
Software reset.
Definition: ltc4296.c:175
Definition: ad9361_util.h:75
int ltc4296_chk_global_events(struct ltc4296_dev *dev)
Check global events.
Definition: ltc4296.c:928
@ LTC_PORT_ADCDAT
Definition: ltc4296.h:320
int ltc4296_unlock(struct ltc4296_dev *dev)
Device unlock.
Definition: ltc4296.c:273
int ltc4296_port_disable(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Check if port is disabled.
Definition: ltc4296.c:536
@ ADI_LTC_TEST_FAILED
Definition: ltc4296.h:347
int ltc4296_print_global_faults(uint16_t g_events)
Print global faults.
Definition: ltc4296.c:861
@ LTC_CFG_RESET
Definition: ltc4296.h:308
ltc4296_config
Device Configuration Modes.
Definition: ltc4296.h:305
@ LTC_PORT_ENABLED
Definition: ltc4296.h:263
@ APL_CLASSC
Definition: ltc4296.h:292
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
@ ADI_LTC_INVALID_ADC_PORT_CURRENT
Definition: ltc4296.h:344
@ ADI_LTC_SCCP_COMPLETE
Definition: ltc4296.h:330
Initialization Structure.
Definition: ltc4296.h:234
#define LTC4296_OVERLOAD_DETECTED_ISLEEP_MSK
Definition: ltc4296.h:144
@ SPOE_CLASS10
Definition: ltc4296.h:284
#define LTC4296_VGAIN
Definition: ltc4296.h:210
@ LTC_PORT0
Definition: ltc4296.h:250
@ LTC_PORT_DISABLED
Definition: ltc4296.h:262
int ltc4296_port_en(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Enable specific port.
Definition: ltc4296.c:690
int ltc4296_port_pwr_available(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Set port is able to source power.
Definition: ltc4296.c:814
int ltc4296_is_vin_valid(struct ltc4296_dev *dev, int port_vin_mv, enum ltc4296_board_class ltcboard_class, bool *vin_valid)
Check if input voltage is valid.
Definition: ltc4296.c:366
int ltc4296_read_port_status(struct ltc4296_dev *dev, enum ltc4296_port port_no, uint16_t *port_status)
Read Port Status.
Definition: ltc4296.c:480
#define LTC4296_UVLO_DIGITAL_MSK
Definition: ltc4296.h:99
int ltc4296_is_port_deliver_pwr(struct ltc4296_dev *dev, enum ltc4296_port port_no, enum ltc4296_pse_status *pwr_status)
Check if port delivers power.
Definition: ltc4296.c:558
int ltc4296_port_en(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Enable specific port.
Definition: ltc4296.c:690
int ltc4296_read_port_adc(struct ltc4296_dev *dev, enum ltc4296_port port_no, int *port_i_out_ma)
Read port ADC.
Definition: ltc4296.c:627
@ LTC_PORT_ADCCFG
Definition: ltc4296.h:319
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
@ LTC_PSE_STATUS_DELIVERING
Definition: ltc4296.h:272
#define LTC4296_LOW_CKT_BRK_FAULT_MSK
Definition: ltc4296.h:103
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
int ltc4296_chk_port_events(struct ltc4296_dev *dev, enum ltc4296_port ltc4296_port)
Check port events.
Definition: ltc4296.c:1005
int ltc4296_spoe_vol_range_mv[12][2]
Definition: ltc4296.c:62
@ LTC_PORT_SELFTEST
Definition: ltc4296.h:321
@ ADI_LTC_DISCONTINUE_TEST
Definition: ltc4296.h:346
#define LTC4296_END_CLASSIFICATION_MSK
Definition: ltc4296.h:168
int ltc4296_port_prebias(struct ltc4296_dev *dev, enum ltc4296_port port_no, enum ltc4296_config mode)
Stimulate valid wake-up signature for a port.
Definition: ltc4296.c:663
#define LTC4296_VMAX
Definition: ltc4296.h:213
int ltc4296_unlock(struct ltc4296_dev *dev)
Device unlock.
Definition: ltc4296.c:273
int ltc4296_remove(struct ltc4296_dev *dev)
Free allocated resources.
Definition: ltc4296.c:1086
#define LTC4296_SW_PSE_READY_MSK
Definition: ltc4296.h:176
@ LTC_PORT1
Definition: ltc4296.h:251
@ LTC_PORT_STATUS
Definition: ltc4296.h:316
#define LTC4296_PD_WAKEUP_MSK
Definition: ltc4296.h:148
int ltc4296_reg_read(struct ltc4296_dev *dev, uint8_t reg, uint16_t *data)
Register Read.
Definition: ltc4296.c:128
int ltc4296_is_port_pwr_stable(struct ltc4296_dev *dev, enum ltc4296_port port_no, bool *pwr_status)
Check if port has stable power.
Definition: ltc4296.c:593
#define LTC4296_PEC_FAULT_MSK
Definition: ltc4296.h:101
#define LTC4296_TOFF_TIMER_DONE_MSK
Definition: ltc4296.h:143
int ltc4296_set_port_pwr(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Set port to power mode.
Definition: ltc4296.c:767
#define LTC4296_TMFVDO_TIMER_DISABLE_MSK
Definition: ltc4296.h:175
@ APL_CLASSA_NOAUTONEG
Definition: ltc4296.h:291
@ DEBUGMODE
Definition: ltc4296.h:299
int ltc4296_is_vout_valid(struct ltc4296_dev *dev, int port_vout_mv, enum ltc4296_board_class ltcboard_class, bool *vout_valid)
Check if output voltage is valid.
Definition: ltc4296.c:390
int ltc4296_reset(struct ltc4296_dev *dev)
Software reset.
Definition: ltc4296.c:175
int ltc4296_read_global_faults(struct ltc4296_dev *dev, uint16_t *g_events)
Read global faults.
Definition: ltc4296.c:257
@ ADI_LTC_APL_COMPLETE
Definition: ltc4296.h:341
int ltc4296_force_port_pwr(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Force port to power mode.
Definition: ltc4296.c:791
@ SPOE_CLASS13
Definition: ltc4296.h:287
#define LTC4296_SPI_READ
Definition: ltc4296.h:201
@ LTC_PORT4
Definition: ltc4296.h:254
int ltc4296_init(struct ltc4296_dev **device, struct ltc4296_init_param *init_param)
Device initialization.
Definition: ltc4296.c:1033
ltc4296_port_reg_offset_e
Device Port Register offsets.
Definition: ltc4296.h:314
@ ADI_LTC_SCCP_PD_CLASS_NOT_SUPPORTED
Definition: ltc4296.h:336
int ltc4296_read_global_faults(struct ltc4296_dev *dev, uint16_t *g_events)
Read global faults.
Definition: ltc4296.c:257
@ ADI_LTC_INVALID_ADC_VOLTAGE
Definition: ltc4296.h:343
#define LTC4296_SW_EN_MSK
Definition: ltc4296.h:182
#define LTC4296_REG_GADCCFG
Definition: ltc4296.h:60
#define LTC4296_TINRUSH_TIMER_DONE_MSK
Definition: ltc4296.h:147
@ ADI_LTC_DISCONTINUE_APL
Definition: ltc4296.h:342
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
int ltc4296_is_locked(struct ltc4296_dev *dev, enum ltc4296_state *state)
Check device state.
Definition: ltc4296.c:288
adi_ltc_result
Device Result Codes.
Definition: ltc4296.h:327
int ltc4296_is_port_disabled(struct ltc4296_dev *dev, enum ltc4296_port port_no, enum ltc4296_port_status *port_chk)
Check if port is enabled/disabled.
Definition: ltc4296.c:503
int ltc4296_clear_port_events(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Clear Port Events.
Definition: ltc4296.c:457
int ltc4296_print_global_faults(uint16_t g_events)
Print global faults.
Definition: ltc4296.c:861
@ SPOE_CLASS12
Definition: ltc4296.h:286
int ltc4296_port_prebias(struct ltc4296_dev *dev, enum ltc4296_port port_no, enum ltc4296_config mode)
Stimulate valid wake-up signature for a port.
Definition: ltc4296.c:663
int ltc4296_is_vout_valid(struct ltc4296_dev *dev, int port_vout_mv, enum ltc4296_board_class ltcboard_class, bool *vout_valid)
Check if output voltage is valid.
Definition: ltc4296.c:390
int ltc4296_read_port_events(struct ltc4296_dev *dev, enum ltc4296_port port_no, uint16_t *port_events)
Read Port Events.
Definition: ltc4296.c:435
int ltc4296_clear_global_faults(struct ltc4296_dev *dev)
Clear global faults.
Definition: ltc4296.c:217
@ ADI_LTC_SCCP_PD_DETECTION_FAILED
Definition: ltc4296.h:331
int ltc4296_clear_port_events(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Clear Port Events.
Definition: ltc4296.c:457
#define LTC4296_COMMAND_FAULT_MSK
Definition: ltc4296.h:100
#define LTC4296_ADC_OFFSET
Definition: ltc4296.h:208
#define LTC4296_GADC_MSK
Definition: ltc4296.h:138
@ ADI_LTC_DISCONTINUE_SCCP
Definition: ltc4296.h:329
int ltc4296_read_gadc(struct ltc4296_dev *dev, int *port_voltage_mv)
Read global ADC.
Definition: ltc4296.c:314
Device Structure.
Definition: ltc4296.h:227
@ SPOE_CLASS14
Definition: ltc4296.h:288
@ ADI_LTC_INVALID_VIN
Definition: ltc4296.h:348
#define LTC4296_UNLOCK_KEY
Definition: ltc4296.h:205
@ ADI_LTC_SCCP_PD_NOT_PRESENT
Definition: ltc4296.h:332
@ SPOE_CLASS11
Definition: ltc4296.h:285
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
@ SPOE_OFF
Definition: ltc4296.h:296
#define LTC4296_PSE_STATUS_MSK
Definition: ltc4296.h:164
#define LTC4296_LSNS_FORWARD_FAULT_MSK
Definition: ltc4296.h:149
#define LTC4296_SW_POWER_AVAILABLE_MSK
Definition: ltc4296.h:177
#define LTC4296_VMIN
Definition: ltc4296.h:214
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
@ ADI_LTC_SCCP_PD_CLASS_NOT_COMPATIBLE
Definition: ltc4296.h:337
#define LTC4296_NEW_MSK
Definition: ltc4296.h:197
@ LTC_PORT_CFG0
Definition: ltc4296.h:317
@ APL_CLASSA_OLD_DEMO
Definition: ltc4296.h:295
@ LTC_CFG_SCCP_MODE
Definition: ltc4296.h:306
ltc4296_board_class
Board Classes.
Definition: ltc4296.h:283
@ ADI_LTC_TEST_COMPLETE
Definition: ltc4296.h:345
ltc4296_port_status
Device Port Status.
Definition: ltc4296.h:261
int ltc4296_read_gadc(struct ltc4296_dev *dev, int *port_voltage_mv)
Read global ADC.
Definition: ltc4296.c:314
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:122
#define LTC4296_SET_CLASSIFICATION_MODE_MSK
Definition: ltc4296.h:169
@ LTC_CFG_APL_MODE
Definition: ltc4296.h:307
int ltc4296_is_port_deliver_pwr(struct ltc4296_dev *dev, enum ltc4296_port port_no, enum ltc4296_pse_status *pwr_status)
Check if port delivers power.
Definition: ltc4296.c:558
int ltc4296_set_gadc_vout(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Configure Global ADC to read output voltage.
Definition: ltc4296.c:839
Header file of GPIO Interface.
@ LTC_PORT2
Definition: ltc4296.h:252
@ LTC_PSE_STATUS_IDLE
Definition: ltc4296.h:275
int ltc4296_reg_write(struct ltc4296_dev *dev, uint8_t reg, uint16_t data)
Register Write.
Definition: ltc4296.c:155
@ LTC_LOCKED
Definition: ltc4296.h:243
@ ADI_LTC_SCCP_PD_LINE_NOT_LOW
Definition: ltc4296.h:339
int ltc4296_port_disable(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Check if port is disabled.
Definition: ltc4296.c:536
#define LTC4296_SPI_WRITE
Definition: ltc4296.h:202
int ltc4296_port_en_and_classification(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Enable specific port and classify.
Definition: ltc4296.c:714
#define LTC4296_MAX_PORTS
Definition: ltc4296.h:216
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:58
int ltc4296_print_port_events(enum ltc4296_port port_no, uint16_t port_events)
Print port events.
Definition: ltc4296.c:883
uint16_t no_os_get_unaligned_be16(uint8_t *buf)
@ LTC_PSE_STATUS_SLEEPING
Definition: ltc4296.h:271
@ ADI_LTC_SCCP_PD_CLASS_COMPATIBLE
Definition: ltc4296.h:335
ltc4296_pse_status
Device PSE Status.
Definition: ltc4296.h:269
int ltc4296_set_port_mfvs(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Set port to maintain full voltage signature.
Definition: ltc4296.c:738
@ LTC_PSE_STATUS_PREPDET
Definition: ltc4296.h:276
Header file of utility functions.
int ltc4296_reg_write(struct ltc4296_dev *dev, uint8_t reg, uint16_t data)
Register Write.
Definition: ltc4296.c:155
int ltc4296_get_port_addr(enum ltc4296_port port_no, enum ltc4296_port_reg_offset_e port_offset, uint8_t *port_addr)
Get port address.
Definition: ltc4296.c:200
int ltc4296_port_pwr_available(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Set port is able to source power.
Definition: ltc4296.c:814
int ltc4296_chk_global_events(struct ltc4296_dev *dev)
Check global events.
Definition: ltc4296.c:928
@ LTC_PORT3
Definition: ltc4296.h:253
@ SPOE_CLASS15
Definition: ltc4296.h:289
int ltc4296_port_en_and_classification(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Enable specific port and classify.
Definition: ltc4296.c:714
int ltc4296_set_gadc_vin(struct ltc4296_dev *dev)
Set the global ADC to measure voltage.
Definition: ltc4296.c:340
Header file for the LTC4296 Driver.
int ltc4296_init(struct ltc4296_dev **device, struct ltc4296_init_param *init_param)
Device initialization.
Definition: ltc4296.c:1033
@ LTC_PSE_STATUS_ERROR
Definition: ltc4296.h:274
int ltc4296_read_port_adc(struct ltc4296_dev *dev, enum ltc4296_port port_no, int *port_i_out_ma)
Read port ADC.
Definition: ltc4296.c:627
int ltc4296_set_port_pwr(struct ltc4296_dev *dev, enum ltc4296_port port_no)
Set port to power mode.
Definition: ltc4296.c:767
#define LTC4296_LSNS_REVERSE_FAULT_MSK
Definition: ltc4296.h:150
@ LTC_PORT_EVENTS
Definition: ltc4296.h:315
#define LTC4296_GADC_NEW_MSK
Definition: ltc4296.h:137
@ ADI_LTC_SCCP_PD_RES_INVALID
Definition: ltc4296.h:333
int ltc4296_set_gadc_vin(struct ltc4296_dev *dev)
Set the global ADC to measure voltage.
Definition: ltc4296.c:340
@ LTC_NO_PORT
Definition: ltc4296.h:255
Error macro definition for ARM Compiler.
#define NO_OS_DIV_ROUND_CLOSEST(x, y)
Definition: no_os_util.h:60
@ LTC_PORT_CFG1
Definition: ltc4296.h:318
@ APL_CLASSA
Definition: ltc4296.h:290
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131