/*
 * @file ps_brd.h
 */

#ifndef PS_BRD_H
#define PS_BRD_H

#include "pcal6408a_gpio_expander.h"
#include "pwr_brd.h"

/*
 * gpio expander pin names
 */
/*** U13 ***/
#define ETH_VDD3V3_EN                  PCAL6408A_GPIO_0
#define ETH_VDD3V3_PG                  PCAL6408A_GPIO_1
#define PAYLOAD_VCC_ENABLE             PCAL6408A_GPIO_2
#define PAYLOAD_SB_ENABLE              PCAL6408A_GPIO_3
#define PAYLOAD_SSD_CORE_ENABLE        PCAL6408A_GPIO_4
#define ETH_RESET                      PCAL6408A_GPIO_6

#define ADM1176_PS_U4          0x80

typedef struct
{
    uint32_t power;
    hsc_sns_info_s pwr_info;
}power_info_s;

/**
 * Payload board Boot function.
 */
uint8_t ps_brd_test1 ();

/**
 * Get payload temperature.
 */
uint8_t ps_brd_get_tempreature();

/**
 * Payload board Boot off function.
 */
uint8_t ps_brd_power_off();

/*
 *  PS_BOARD gate test function
 */
uint8_t ps_brd_gate_test(uint8_t* case_id, uint8_t on_off);

#endif
