|
#define | ADP5055_CAPABILITY 0x19 |
|
#define | ADP5055_STATUS_CML 0x7E |
|
#define | ADP5055_MODEL_ID 0xD0 |
|
#define | ADP5055_CTRL123 0xD1 |
|
#define | ADP5055_VID_GO 0xD2 |
|
#define | ADP5055_CTRL_MODE1 0xD3 |
|
#define | ADP5055_CTRL_MODE2 0xD4 |
|
#define | ADP5055_DLY1 0xD5 |
|
#define | ADP5055_DLY2 0xD6 |
|
#define | ADP5055_DLY3 0xD7 |
|
#define | ADP5055_VID1 0xD8 |
|
#define | ADP5055_VID2 0xD9 |
|
#define | ADP5055_VID3 0xDA |
|
#define | ADP5055_DVS_CFG 0xDB |
|
#define | ADP5055_DVS_LIM1 0xDC |
|
#define | ADP5055_DVS_LIM2 0xDD |
|
#define | ADP5055_DVS_LIM3 0xDE |
|
#define | ADP5055_FT_CFG 0xDF |
|
#define | ADP5055_PG_CFG 0xE0 |
|
#define | ADP5055_PG_READ 0xE1 |
|
#define | ADP5055_STATUS_LCH 0xE2 |
|
#define | ADP5055_CH1_ON NO_OS_BIT(0) |
|
#define | ADP5055_CH2_ON NO_OS_BIT(1) |
|
#define | ADP5055_CH3_ON NO_OS_BIT(2) |
|
#define | ADP5055_VID1_GO NO_OS_BIT(0) |
|
#define | ADP5055_VID2_GO NO_OS_BIT(1) |
|
#define | ADP5055_VID3_GO NO_OS_BIT(2) |
|
#define | ADP5055_EN_MODE_MASK NO_OS_GENMASK(1, 0) |
|
#define | ADP5055_DVS_AUTO NO_OS_BIT(4) |
|
#define | ADP5055_DSCG1_ON NO_OS_BIT(0) |
|
#define | ADP5055_DSCG2_ON NO_OS_BIT(1) |
|
#define | ADP5055_DSCG3_ON NO_OS_BIT(2) |
|
#define | ADP5055_PSM1_ON NO_OS_BIT(4) |
|
#define | ADP5055_PSM2_ON NO_OS_BIT(5) |
|
#define | ADP5055_PSM3_ON NO_OS_BIT(6) |
|
#define | ADP5055_OCP_BLANKING NO_OS_BIT(7) |
|
#define | ADP5055_EN_DLY_MASK NO_OS_GENMASK(2, 0) |
|
#define | ADP5055_DIS_DLY_MASK NO_OS_GENMASK(6, 4) |
|
#define | ADP5055_DVS_INTVAL1 NO_OS_GENMASK(1, 0) |
|
#define | ADP5055_DVS_INTVAL2 NO_OS_GENMASK(3, 2) |
|
#define | ADP5055_DVS_INTVAL3 NO_OS_GENMASK(5, 4) |
|
#define | ADP5055_VIDX_LOW_MASK NO_OS_GENMASK(3, 0) |
|
#define | ADP5055_VIDX_HIGH_MASK NO_OS_GENMASK(7, 4) |
|
#define | ADP5055_FT1_TH NO_OS_GENMASK(1, 0) |
|
#define | ADP5055_FT2_TH NO_OS_GENMASK(3, 2) |
|
#define | ADP5055_FT3_TH NO_OS_GENMASK(5, 4) |
|
#define | ADP5055_PG1_MASK NO_OS_BIT(0) |
|
#define | ADP5055_PG2_MASK NO_OS_BIT(1) |
|
#define | ADP5055_PG3_MASK NO_OS_BIT(2) |
|
#define | ADP5055_PWRGD_DLY NO_OS_BIT(4) |
|
#define | ADP5055_PWRGD1 NO_OS_BIT(0) |
|
#define | ADP5055_PWRGD2 NO_OS_BIT(1) |
|
#define | ADP5055_PWRGD3 NO_OS_BIT(2) |
|
#define | ADP5055_PG1_LCH NO_OS_BIT(0) |
|
#define | ADP5055_PG2_LCH NO_OS_BIT(1) |
|
#define | ADP5055_PG3_LCH NO_OS_BIT(2) |
|
#define | ADP5055_TSD_LCH NO_OS_BIT(3) |
|
#define | ADP5055_OCP1_LCH NO_OS_BIT(4) |
|
#define | ADP5055_OCP2_LCH NO_OS_BIT(5) |
|
#define | ADP5055_OCP3_LCH NO_OS_BIT(6) |
|
#define | ADP5055_INT_LCH NO_OS_BIT(7) |
|
#define | ADP5055_PMBUS_OPEN_ADDRESS 0x70 |
|
#define | ADP5055_PMBUS_0OHM_ADDRESS 0x70 |
|
#define | ADP5055_PMBUS_14KOHM_ADDRESS 0x71 |
|
#define | ADP5055_PMBUS_16KOHM_ADDRESS 0x72 |
|
#define | ADP5055_PMBUS_20KOHM_ADDRESS 0x73 |
|
#define | ADP5055_PMBUS_23KOHM_ADDRESS 0x70 |
|
#define | ADP5055_PMBUS_32KOHM_ADDRESS 0x71 |
|
#define | ADP5055_PMBUS_39KOHM_ADDRESS 0x73 |
|
#define | ADP5055_PMBUS_47KOHM_ADDRESS 0x71 |
|
#define | ADP5055_PMBUS_57KOHM_ADDRESS 0x72 |
|
#define | ADP5055_PMBUS_71KOHM_ADDRESS 0x73 |
|
#define | ADP5055_PMBUS_90KOHM_ADDRESS 0x70 |
|
#define | ADP5055_PMBUS_127KOHM_ADDRESS 0x71 |
|
#define | ADP5055_PMBUS_200KOHM_ADDRESS 0x72 |
|
#define | ADP5055_PMBUS_511KOHM_ADDRESS 0x73 |
|
|
int | adp5055_read (struct adp5055_desc *desc, uint8_t address, uint8_t *data) |
| Read data from ADP5055.
|
|
int | adp5055_write (struct adp5055_desc *desc, uint8_t address, uint8_t data) |
| Write data to ADP5055.
|
|
int | adp5055_read_status (struct adp5055_desc *desc, uint8_t *status_val) |
| Read statuses.
|
|
int | adp5055_set_enable_mode (struct adp5055_desc *desc, enum adp5055_en_mode mode) |
| Configures enabling for all individual channels by hardware and/or software.
|
|
int | adp5055_set_dvs_auto (struct adp5055_desc *desc, bool en) |
| Enables or disables dynamic voltage scaling across all channels.
|
|
int | adp5055_set_ocp_blanking (struct adp5055_desc *desc, bool en) |
| Enables or disables overcurrent protection (OCP) blanking for all channels.
|
|
int | adp5055_set_auto_pwm_psm (struct adp5055_desc *desc, enum adp5055_channel ch, bool en) |
| Enables or disables automatic PWM/PSM per channel.
|
|
int | adp5055_set_output_discharge (struct adp5055_desc *desc, enum adp5055_channel ch, bool en) |
| Enables or disables output discharge per channel.
|
|
int | adp5055_set_enable_disable_delay (struct adp5055_desc *desc, enum adp5055_channel ch, enum adp5055_en_dly en_dly, enum adp5055_dis_dly dis_dly) |
| Sets both enable and disable delay per channel.
|
|
int | adp5055_set_vid_code (struct adp5055_desc *desc, enum adp5055_channel ch, uint8_t val) |
| Sets 8-bit code of output voltage reference of a channel.
|
|
int | adp5055_start_vout (struct adp5055_desc *desc, enum adp5055_channel ch) |
| Initiates output voltage transition on specified channel when dynamic voltage scaling is enabled.
|
|
int | adp5055_enable_channel (struct adp5055_desc *desc, enum adp5055_channel ch, bool en) |
| Enables output voltage channel in software.
|
|
int | adp5055_set_dvs_interval (struct adp5055_desc *desc, enum adp5055_channel ch, enum adp5055_dvs_intval intval) |
| Sets dynamic voltage scaling interval for each channel.
|
|
int | adp5055_set_vidx_lim (struct adp5055_desc *desc, enum adp5055_channel ch, enum adp5055_vidx_limit lim_type, uint8_t lim_val) |
| Sets high or low limit for output voltage reference.
|
|
int | adp5055_set_fast_transient (struct adp5055_desc *desc, enum adp5055_channel ch, enum adp5055_ft_th ft) |
| Configures fast transient sensitivity per channel.
|
|
int | adp5055_set_pg_channel_output (struct adp5055_desc *desc, enum adp5055_channel ch, bool en) |
| Enables power good signal to external PWRGD hardware pin.
|
|
int | adp5055_set_pg_hw_delay (struct adp5055_desc *desc, bool en) |
| Enables a delay in the PWRGD hardware pin.
|
|
int | adp5055_read_pg (struct adp5055_desc *desc, enum adp5055_channel ch, uint8_t *pg_val) |
| Reads real-time power good status of specified channel.
|
|
int | adp5055_read_latched_status (struct adp5055_desc *desc, enum adp5055_channel ch, enum adp5055_latch_status lch_status_type, uint8_t *lch_status_val) |
| Reads the latched status of a specified channel.
|
|
int | adp5055_init (struct adp5055_desc **desc, struct adp5055_init_param *init_param) |
| Initialize the ADP5055 device.
|
|
int | adp5055_remove (struct adp5055_desc *desc) |
| Free the resources allocated by the adp5055_init()
|
|
Header file for the ADP5055 Driver.
- Author
- Angelo Catapang (angel.nosp@m.o.ca.nosp@m.tapan.nosp@m.g@an.nosp@m.alog..nosp@m.com)
Copyright 2025(c) Analog Devices, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.