Lines Matching refs:vwbase

388 int mec_hal_espi_vw_ct_irq_sel_set(struct mec_espi_vw_regs * const vwbase, uint8_t vw_idx,  in mec_hal_espi_vw_ct_irq_sel_set()  argument
399 ctvw = &vwbase->CTVW[vw_idx]; in mec_hal_espi_vw_ct_irq_sel_set()
413 int mec_hal_espi_vw_ct_irq_sel_set_all(struct mec_espi_vw_regs * const vwbase, uint8_t vw_idx, in mec_hal_espi_vw_ct_irq_sel_set_all() argument
424 ctvw = &vwbase->CTVW[vw_idx]; in mec_hal_espi_vw_ct_irq_sel_set_all()
449 static void mec_hal_espi_vwg_ct_config(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vwg_ct_config() argument
452 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vwg_ct_config()
504 int mec_hal_espi_vw_ct_host_index_set(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_host_index_set() argument
507 if (!vwbase || (ctidx > MEC_CTVW_IDX10)) { in mec_hal_espi_vw_ct_host_index_set()
511 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_host_index_set()
520 int mec_hal_espi_vw_ct_reset_source_get(struct mec_espi_vw_regs * const vwbase, in mec_hal_espi_vw_ct_reset_source_get() argument
523 if (!vwbase || (ctidx > MEC_CTVW_IDX10) || !reset_source) { in mec_hal_espi_vw_ct_reset_source_get()
527 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_reset_source_get()
536 int mec_hal_espi_vw_ct_reset_source_set(struct mec_espi_vw_regs * const vwbase, in mec_hal_espi_vw_ct_reset_source_set() argument
539 if (!vwbase || (ctidx > MEC_CTVW_IDX10)) { in mec_hal_espi_vw_ct_reset_source_set()
543 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_reset_source_set()
554 int mec_hal_espi_vw_ct_reset_state_set(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_reset_state_set() argument
557 if (!vwbase || (ctidx > MEC_CTVW_IDX10) || (src_idx > 3)) { in mec_hal_espi_vw_ct_reset_state_set()
561 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_reset_state_set()
573 int mec_hal_espi_vw_ct_irqsel_set(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_irqsel_set() argument
576 if (!vwbase || (ctidx > MEC_CTVW_IDX10) || (src_idx > 3)) { in mec_hal_espi_vw_ct_irqsel_set()
580 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_irqsel_set()
602 static void mec_hal_espi_vw_ct_config(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_config() argument
605 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_config()
639 int mec_hal_espi_vw_ct_wire_set(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_wire_set() argument
642 if (!vwbase || (ctidx > MEC_CTVW_IDX10) || (widx > 3)) { in mec_hal_espi_vw_ct_wire_set()
646 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_wire_set()
657 int mec_hal_espi_vw_ct_wire_get(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_wire_get() argument
660 if (!vwbase || !val || (ctidx > MEC_CTVW_IDX10) || (widx > 3)) { in mec_hal_espi_vw_ct_wire_get()
664 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_wire_get()
672 int mec_hal_espi_vw_ct_group_set(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_group_set() argument
675 if (!vwbase || !val || (ctidx > MEC_CTVW_IDX10)) { in mec_hal_espi_vw_ct_group_set()
683 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_group_set()
715 int mec_hal_espi_vw_ct_group_get(struct mec_espi_vw_regs * const vwbase, uint8_t ctidx, in mec_hal_espi_vw_ct_group_get() argument
718 if (!vwbase || !val || (ctidx > MEC_CTVW_IDX10)) { in mec_hal_espi_vw_ct_group_get()
722 volatile struct mec_espi_vw_ctvw_regs *ctvw = &vwbase->CTVW[ctidx]; in mec_hal_espi_vw_ct_group_get()
738 static void mec_hal_espi_vwg_tc_config(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vwg_tc_config() argument
741 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vwg_tc_config()
792 static void mec_hal_espi_vw_tc_config(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_config() argument
795 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_config()
817 int mec_hal_espi_vw_tc_wire_set(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_wire_set() argument
820 if (!vwbase || (tcidx > MEC_TCVW_IDX10) || (widx > 3)) { in mec_hal_espi_vw_tc_wire_set()
824 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_wire_set()
833 while (vwbase->TCVW[tcidx].HIRCS & (0xfu << MEC_ESPI_VW_TCVW_HIRCS_CHANGE0_Pos)) { in mec_hal_espi_vw_tc_wire_set()
841 int mec_hal_espi_vw_tc_wire_set_cs(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_wire_set_cs() argument
846 if (!vwbase || (tcidx > MEC_TCVW_IDX10) || (widx > 3)) { in mec_hal_espi_vw_tc_wire_set_cs()
850 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_wire_set_cs()
859 while (vwbase->TCVW[tcidx].HIRCS & (0xfu << MEC_ESPI_VW_TCVW_HIRCS_CHANGE0_Pos)) { in mec_hal_espi_vw_tc_wire_set_cs()
871 int mec_hal_espi_vw_tc_wire_get(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_wire_get() argument
874 if (!vwbase || !val || (tcidx > MEC_TCVW_IDX10) || (widx > 3)) { in mec_hal_espi_vw_tc_wire_get()
878 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_wire_get()
896 int mec_hal_espi_vw_tc_wire_cs_get(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_wire_cs_get() argument
899 if (!vwbase || !val || (tcidx > MEC_TCVW_IDX10) || (widx > 3)) { in mec_hal_espi_vw_tc_wire_cs_get()
903 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_wire_cs_get()
908 if (vwbase->TCVW[tcidx].HIRCS & MEC_BIT(change_bitpos)) { in mec_hal_espi_vw_tc_wire_cs_get()
917 int mec_hal_espi_vw_tc_group_set(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_group_set() argument
920 if (!vwbase || !val || (tcidx > MEC_TCVW_IDX10)) { in mec_hal_espi_vw_tc_group_set()
928 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_group_set()
943 while (vwbase->TCVW[tcidx].HIRCS & (0xfu << MEC_ESPI_VW_TCVW_HIRCS_CHANGE0_Pos)) { in mec_hal_espi_vw_tc_group_set()
951 int mec_hal_espi_vw_tc_group_get(struct mec_espi_vw_regs * const vwbase, uint8_t tcidx, in mec_hal_espi_vw_tc_group_get() argument
954 if (!vwbase || !val || (tcidx > MEC_TCVW_IDX10)) { in mec_hal_espi_vw_tc_group_get()
958 volatile struct mec_espi_vw_tcvw_regs *tcvw = &vwbase->TCVW[tcidx]; in mec_hal_espi_vw_tc_group_get()
965 int mec_hal_espi_vwg_config(struct mec_espi_vw_regs * const vwbase, uint8_t vwidx, in mec_hal_espi_vwg_config() argument
968 if (!vwbase || !cfg || (vwidx >= MEC_ESPI_VW_MAX_REG_IDX)) { in mec_hal_espi_vwg_config()
973 mec_hal_espi_vwg_ct_config(vwbase, vwidx, cfg, flags); in mec_hal_espi_vwg_config()
976 mec_hal_espi_vwg_tc_config(vwbase, vwidx, cfg, flags); in mec_hal_espi_vwg_config()
982 int mec_hal_espi_vwire_config(struct mec_espi_vw_regs *const vwbase, uint8_t vwidx, in mec_hal_espi_vwire_config() argument
985 if (!vwbase || (vwidx >= MEC_ESPI_VW_MAX_REG_IDX) || (src_idx > 3u)) { in mec_hal_espi_vwire_config()
990 mec_hal_espi_vw_ct_config(vwbase, vwidx, src_idx, host_index, config); in mec_hal_espi_vwire_config()
993 mec_hal_espi_vw_tc_config(vwbase, vwidx, src_idx, host_index, config); in mec_hal_espi_vwire_config()
1002 int mec_hal_espi_vw_get_src(struct mec_espi_vw_regs * const vwbase, struct mec_espi_vw *vw, in mec_hal_espi_vw_get_src() argument
1014 ret = mec_hal_espi_vw_ct_wire_get(vwbase, regidx, vw->srcidx, &vw->val); in mec_hal_espi_vw_get_src()
1017 ret = mec_hal_espi_vw_tc_wire_get(vwbase, regidx, vw->srcidx, &vw->val); in mec_hal_espi_vw_get_src()
1032 int mec_hal_espi_vw_set_src(struct mec_espi_vw_regs *const vwbase, struct mec_espi_vw *vw, in mec_hal_espi_vw_set_src() argument
1044 ret = mec_hal_espi_vw_ct_wire_set(vwbase, regidx, vw->srcidx, vw->val); in mec_hal_espi_vw_set_src()
1047 ret = mec_hal_espi_vw_tc_wire_set(vwbase, regidx, vw->srcidx, vw->val, flags); in mec_hal_espi_vw_set_src()
1053 int mec_hal_espi_vw_set_src_cs(struct mec_espi_vw_regs *const vwbase, struct mec_espi_vw *vw, in mec_hal_espi_vw_set_src_cs() argument
1065 ret = mec_hal_espi_vw_ct_wire_set(vwbase, regidx, vw->srcidx, vw->val); in mec_hal_espi_vw_set_src_cs()
1068 ret = mec_hal_espi_vw_tc_wire_set_cs(vwbase, regidx, vw->srcidx, vw->val, vwp); in mec_hal_espi_vw_set_src_cs()
1077 int mec_hal_espi_vw_get_src_group(struct mec_espi_vw_regs * const vwbase, struct mec_espi_vw *vw, in mec_hal_espi_vw_get_src_group() argument
1089 ret = mec_hal_espi_vw_tc_group_get(vwbase, regidx, &vw->val); in mec_hal_espi_vw_get_src_group()
1092 ret = mec_hal_espi_vw_tc_group_get(vwbase, regidx, &vw->val); in mec_hal_espi_vw_get_src_group()
1098 int mec_hal_espi_vw_set_src_group(struct mec_espi_vw_regs * const vwbase, struct mec_espi_vw *vw, in mec_hal_espi_vw_set_src_group() argument
1114 ret = mec_hal_espi_vw_ct_group_set(vwbase, regidx, vw->val, vw->msk); in mec_hal_espi_vw_set_src_group()
1117 ret = mec_hal_espi_vw_tc_group_set(vwbase, regidx, vw->val, vw->msk, flags); in mec_hal_espi_vw_set_src_group()
1124 static int lookup_ct_vw_by_host_index(struct mec_espi_vw_regs *const vwbase, uint8_t host_index) in lookup_ct_vw_by_host_index() argument
1126 if (vwbase) { in lookup_ct_vw_by_host_index()
1128 uint8_t hidx = vwbase->CTVW[i].HIRSS & 0xffu; in lookup_ct_vw_by_host_index()
1138 static int lookup_tc_vw_by_host_index(struct mec_espi_vw_regs *const vwbase, uint8_t host_index) in lookup_tc_vw_by_host_index() argument
1140 if (vwbase) { in lookup_tc_vw_by_host_index()
1142 uint8_t hidx = vwbase->TCVW[i].HIRCS & 0xffu; in lookup_tc_vw_by_host_index()
1155 int mec_hal_espi_vw_get(struct mec_espi_vw_regs *const vwbase, uint8_t host_index, in mec_hal_espi_vw_get() argument
1159 int idx = lookup_ct_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_get()
1162 ret = mec_hal_espi_vw_ct_wire_get(vwbase, (uint8_t)idx & 0x7fu, src_id, val); in mec_hal_espi_vw_get()
1165 idx = lookup_tc_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_get()
1167 ret = mec_hal_espi_vw_tc_wire_get(vwbase, (uint8_t)idx & 0x7fu, src_id, val); in mec_hal_espi_vw_get()
1173 int mec_hal_espi_vw_set(struct mec_espi_vw_regs *const vwbase, uint8_t host_index, in mec_hal_espi_vw_set() argument
1177 int idx = lookup_ct_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_set()
1180 ret = mec_hal_espi_vw_ct_wire_set(vwbase, (uint8_t)idx & 0x7fu, src_id, val); in mec_hal_espi_vw_set()
1183 idx = lookup_tc_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_set()
1185 ret = mec_hal_espi_vw_tc_wire_set(vwbase, (uint8_t)idx & 0x7fu, src_id, val, flags); in mec_hal_espi_vw_set()
1191 int mec_hal_espi_vw_set_cs(struct mec_espi_vw_regs *const vwbase, uint8_t host_index, in mec_hal_espi_vw_set_cs() argument
1195 int idx = lookup_ct_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_set_cs()
1198 ret = mec_hal_espi_vw_ct_wire_set(vwbase, (uint8_t)idx & 0x7fu, src_id, val); in mec_hal_espi_vw_set_cs()
1201 idx = lookup_tc_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_set_cs()
1203 ret = mec_hal_espi_vw_tc_wire_set_cs(vwbase, (uint8_t)idx & 0x7fu, src_id, val, vwp); in mec_hal_espi_vw_set_cs()
1212 int mec_hal_espi_vw_get_group(struct mec_espi_vw_regs *const vwbase, in mec_hal_espi_vw_get_group() argument
1216 int idx = lookup_ct_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_get_group()
1219 ret = mec_hal_espi_vw_ct_group_get(vwbase, (uint8_t)idx & 0x7fu, groupval); in mec_hal_espi_vw_get_group()
1222 idx = lookup_tc_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_get_group()
1224 ret = mec_hal_espi_vw_tc_group_get(vwbase, (uint8_t)idx & 0x7fu, groupval); in mec_hal_espi_vw_get_group()
1235 int mec_hal_espi_vw_set_group(struct mec_espi_vw_regs *const vwbase, uint8_t host_index, in mec_hal_espi_vw_set_group() argument
1239 int idx = lookup_ct_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_set_group()
1242 ret = mec_hal_espi_vw_ct_group_set(vwbase, (uint8_t)idx & 0x7fu, groupval, groupmsk); in mec_hal_espi_vw_set_group()
1245 idx = lookup_tc_vw_by_host_index(vwbase, host_index); in mec_hal_espi_vw_set_group()
1247 ret = mec_hal_espi_vw_tc_group_set(vwbase, (uint8_t)idx & 0x7fu, in mec_hal_espi_vw_set_group()