97 lines
2.1 KiB
C
97 lines
2.1 KiB
C
#ifndef __SW_DRV_IF_H__
|
|
#define __SW_DRV_IF_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
|
|
typedef union
|
|
{
|
|
uint64_t val;
|
|
struct
|
|
{
|
|
uint64_t sw0 : 1;
|
|
uint64_t sw1 : 1;
|
|
uint64_t sw2 : 1;
|
|
uint64_t sw3 : 1;
|
|
uint64_t sw4 : 1;
|
|
uint64_t sw5 : 1;
|
|
uint64_t sw6 : 1;
|
|
uint64_t sw7 : 1;
|
|
uint64_t sw8 : 1;
|
|
uint64_t sw9 : 1;
|
|
uint64_t sw10 : 1;
|
|
uint64_t sw11 : 1;
|
|
uint64_t sw12 : 1;
|
|
uint64_t sw13 : 1;
|
|
uint64_t sw14 : 1;
|
|
uint64_t sw15 : 1;
|
|
uint64_t sw16 : 1;
|
|
uint64_t sw17 : 1;
|
|
uint64_t sw18 : 1;
|
|
uint64_t sw19 : 1;
|
|
uint64_t sw20 : 1;
|
|
uint64_t sw21 : 1;
|
|
uint64_t sw22 : 1;
|
|
uint64_t sw23 : 1;
|
|
uint64_t sw24 : 1;
|
|
uint64_t sw25 : 1;
|
|
uint64_t sw26 : 1;
|
|
uint64_t sw27 : 1;
|
|
uint64_t sw28 : 1;
|
|
uint64_t sw29 : 1;
|
|
uint64_t sw30 : 1;
|
|
uint64_t sw31 : 1;
|
|
uint64_t sw32 : 1;
|
|
uint64_t sw33 : 1;
|
|
uint64_t sw34 : 1;
|
|
uint64_t sw35 : 1;
|
|
uint64_t sw36 : 1;
|
|
uint64_t sw37 : 1;
|
|
uint64_t sw38 : 1;
|
|
uint64_t sw39 : 1;
|
|
uint64_t sw40 : 1;
|
|
uint64_t sw41 : 1;
|
|
uint64_t sw42 : 1;
|
|
uint64_t sw43 : 1;
|
|
uint64_t sw44 : 1;
|
|
uint64_t sw45 : 1;
|
|
uint64_t sw46 : 1;
|
|
uint64_t sw47 : 1;
|
|
uint64_t sw48 : 1;
|
|
uint64_t sw49 : 1;
|
|
uint64_t sw50 : 1;
|
|
uint64_t sw51 : 1;
|
|
uint64_t sw52 : 1;
|
|
uint64_t sw53 : 1;
|
|
uint64_t sw54 : 1;
|
|
uint64_t sw55 : 1;
|
|
uint64_t sw56 : 1;
|
|
uint64_t sw57 : 1;
|
|
uint64_t sw58 : 1;
|
|
uint64_t sw59 : 1;
|
|
uint64_t sw60 : 1;
|
|
uint64_t sw61 : 1;
|
|
uint64_t sw62 : 1;
|
|
uint64_t sw63 : 1;
|
|
};
|
|
} sw_t;
|
|
|
|
typedef struct
|
|
{
|
|
int (*init)(void);
|
|
int (*reset)(void);
|
|
int (*write)(sw_t sw_mask);
|
|
int (*read)(sw_t *p_sw_mask);
|
|
int (*get_sw_count)(uint32_t *p_sw_count);
|
|
} sw_drv_if_t;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ! __SW_DRV_IF_H__ */
|