/*
 * cal_meas.h
 *
 *  Created on: 2023719
 *      Author: dell
 */

#ifndef SRC_CAL_MEAS_H_
#define SRC_CAL_MEAS_H_

#include "sleep.h"
#include "stdio.h"
#include "xgpiops.h"
#include "SPI_Driv.h"
#include "GPIO_Driv.h"

//reg addr(CPLD_U1)
#define     U1_SW_FC_DV0  1
#define     U1_SW_FC_DV1  2
#define     U1_SW_FC_DV2  3
#define     U1_SW_FC_DV3  4

#define     U1_SW_SC_DV0  5
#define     U1_SW_SC_DV1  6
#define     U1_SW_SC_DV2  7
#define     U1_SW_SC_DV3  8

#define     U1_SW_OC_DV0  9
#define     U1_SW_OC_DV1  10

#define     U1_SW_OC_DV2  11
#define     U1_SW_OC_DV3  12

#define     U1_SW_OC_DV4  13
#define     U1_SW_OC_DV5  14

#define     U1_SW_OC_DV6  15
#define     U1_SW_OC_DV7  16

#define     U1_SW_FMC_SMC  17
#define     U1_SW_OC_DMM   18
#define     U1_SW_MMC      19
#define     U1_SW_RC       20
#define     U1_SW_IO_RC    21
#define     U1_SW_RL1      22
#define     U1_SW_RL2      23
#define     U1_SW_LOFS_VPK 24
#define     U1_SW_LOFS_APK 25


//reg addr(CPLD_U2)
#define     U2_SW_FC_DV0  1
#define     U2_SW_FC_DV1  2
#define     U2_SW_FC_DV2  3
#define     U2_SW_FC_DV3  4

#define     U2_SW_SC_DV0  5
#define     U2_SW_SC_DV1  6
#define     U2_SW_SC_DV2  7
#define     U2_SW_SC_DV3  8

#define     U2_SW_OC_DV0  9
#define     U2_SW_OC_DV1  10

#define     U2_SW_OC_DV2  11
#define     U2_SW_OC_DV3  12

#define     U2_SW_OC_DV4  13
#define     U2_SW_OC_DV5  14

#define     U2_SW_OC_DV6  15
#define     U2_SW_OC_DV7  16

#define     dat_width  3

void  sw_init( void );
void  sw_config(char *slot_start);
void  fsmc_mmc_config(char slot,char m_fun);
void  dmm_config(char slot, u16 ch_num);
void  rc_config(char m_fun);
void  fsc_oc_config(char slot,char m_fun, u16 ch_num);
void  rl_config(char load);

#endif /* SRC_CAL_MEAS_H_ */
