162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci/* Copyright (C) 2023 Linaro Ltd. */ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/types.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include "../gsi.h" 862306a36Sopenharmony_ci#include "../reg.h" 962306a36Sopenharmony_ci#include "../gsi_reg.h" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciREG(INTER_EE_SRC_CH_IRQ_MSK, inter_ee_src_ch_irq_msk, 1262306a36Sopenharmony_ci 0x0000c020 + 0x1000 * GSI_EE_AP); 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciREG(INTER_EE_SRC_EV_CH_IRQ_MSK, inter_ee_src_ev_ch_irq_msk, 1562306a36Sopenharmony_ci 0x0000c024 + 0x1000 * GSI_EE_AP); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cistatic const u32 reg_ch_c_cntxt_0_fmask[] = { 1862306a36Sopenharmony_ci [CHTYPE_PROTOCOL] = GENMASK(2, 0), 1962306a36Sopenharmony_ci [CHTYPE_DIR] = BIT(3), 2062306a36Sopenharmony_ci [CH_EE] = GENMASK(7, 4), 2162306a36Sopenharmony_ci [CHID] = GENMASK(12, 8), 2262306a36Sopenharmony_ci /* Bit 13 reserved */ 2362306a36Sopenharmony_ci [ERINDEX] = GENMASK(18, 14), 2462306a36Sopenharmony_ci /* Bit 19 reserved */ 2562306a36Sopenharmony_ci [CHSTATE] = GENMASK(23, 20), 2662306a36Sopenharmony_ci [ELEMENT_SIZE] = GENMASK(31, 24), 2762306a36Sopenharmony_ci}; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciREG_STRIDE_FIELDS(CH_C_CNTXT_0, ch_c_cntxt_0, 3062306a36Sopenharmony_ci 0x0001c000 + 0x4000 * GSI_EE_AP, 0x80); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_cistatic const u32 reg_ch_c_cntxt_1_fmask[] = { 3362306a36Sopenharmony_ci [CH_R_LENGTH] = GENMASK(15, 0), 3462306a36Sopenharmony_ci /* Bits 16-31 reserved */ 3562306a36Sopenharmony_ci}; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciREG_STRIDE_FIELDS(CH_C_CNTXT_1, ch_c_cntxt_1, 3862306a36Sopenharmony_ci 0x0001c004 + 0x4000 * GSI_EE_AP, 0x80); 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ciREG_STRIDE(CH_C_CNTXT_2, ch_c_cntxt_2, 0x0001c008 + 0x4000 * GSI_EE_AP, 0x80); 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciREG_STRIDE(CH_C_CNTXT_3, ch_c_cntxt_3, 0x0001c00c + 0x4000 * GSI_EE_AP, 0x80); 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cistatic const u32 reg_ch_c_qos_fmask[] = { 4562306a36Sopenharmony_ci [WRR_WEIGHT] = GENMASK(3, 0), 4662306a36Sopenharmony_ci /* Bits 4-7 reserved */ 4762306a36Sopenharmony_ci [MAX_PREFETCH] = BIT(8), 4862306a36Sopenharmony_ci [USE_DB_ENG] = BIT(9), 4962306a36Sopenharmony_ci /* Bits 10-31 reserved */ 5062306a36Sopenharmony_ci}; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciREG_STRIDE_FIELDS(CH_C_QOS, ch_c_qos, 0x0001c05c + 0x4000 * GSI_EE_AP, 0x80); 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_cistatic const u32 reg_error_log_fmask[] = { 5562306a36Sopenharmony_ci [ERR_ARG3] = GENMASK(3, 0), 5662306a36Sopenharmony_ci [ERR_ARG2] = GENMASK(7, 4), 5762306a36Sopenharmony_ci [ERR_ARG1] = GENMASK(11, 8), 5862306a36Sopenharmony_ci [ERR_CODE] = GENMASK(15, 12), 5962306a36Sopenharmony_ci /* Bits 16-18 reserved */ 6062306a36Sopenharmony_ci [ERR_VIRT_IDX] = GENMASK(23, 19), 6162306a36Sopenharmony_ci [ERR_TYPE] = GENMASK(27, 24), 6262306a36Sopenharmony_ci [ERR_EE] = GENMASK(31, 28), 6362306a36Sopenharmony_ci}; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciREG_STRIDE(CH_C_SCRATCH_0, ch_c_scratch_0, 6662306a36Sopenharmony_ci 0x0001c060 + 0x4000 * GSI_EE_AP, 0x80); 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciREG_STRIDE(CH_C_SCRATCH_1, ch_c_scratch_1, 6962306a36Sopenharmony_ci 0x0001c064 + 0x4000 * GSI_EE_AP, 0x80); 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciREG_STRIDE(CH_C_SCRATCH_2, ch_c_scratch_2, 7262306a36Sopenharmony_ci 0x0001c068 + 0x4000 * GSI_EE_AP, 0x80); 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciREG_STRIDE(CH_C_SCRATCH_3, ch_c_scratch_3, 7562306a36Sopenharmony_ci 0x0001c06c + 0x4000 * GSI_EE_AP, 0x80); 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_cistatic const u32 reg_ev_ch_e_cntxt_0_fmask[] = { 7862306a36Sopenharmony_ci [EV_CHTYPE] = GENMASK(3, 0), 7962306a36Sopenharmony_ci [EV_EE] = GENMASK(7, 4), 8062306a36Sopenharmony_ci [EV_EVCHID] = GENMASK(15, 8), 8162306a36Sopenharmony_ci [EV_INTYPE] = BIT(16), 8262306a36Sopenharmony_ci /* Bits 17-19 reserved */ 8362306a36Sopenharmony_ci [EV_CHSTATE] = GENMASK(23, 20), 8462306a36Sopenharmony_ci [EV_ELEMENT_SIZE] = GENMASK(31, 24), 8562306a36Sopenharmony_ci}; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciREG_STRIDE_FIELDS(EV_CH_E_CNTXT_0, ev_ch_e_cntxt_0, 8862306a36Sopenharmony_ci 0x0001d000 + 0x4000 * GSI_EE_AP, 0x80); 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_cistatic const u32 reg_ev_ch_e_cntxt_1_fmask[] = { 9162306a36Sopenharmony_ci [R_LENGTH] = GENMASK(15, 0), 9262306a36Sopenharmony_ci}; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciREG_STRIDE_FIELDS(EV_CH_E_CNTXT_1, ev_ch_e_cntxt_1, 9562306a36Sopenharmony_ci 0x0001d004 + 0x4000 * GSI_EE_AP, 0x80); 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_2, ev_ch_e_cntxt_2, 9862306a36Sopenharmony_ci 0x0001d008 + 0x4000 * GSI_EE_AP, 0x80); 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_3, ev_ch_e_cntxt_3, 10162306a36Sopenharmony_ci 0x0001d00c + 0x4000 * GSI_EE_AP, 0x80); 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_4, ev_ch_e_cntxt_4, 10462306a36Sopenharmony_ci 0x0001d010 + 0x4000 * GSI_EE_AP, 0x80); 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_cistatic const u32 reg_ev_ch_e_cntxt_8_fmask[] = { 10762306a36Sopenharmony_ci [EV_MODT] = GENMASK(15, 0), 10862306a36Sopenharmony_ci [EV_MODC] = GENMASK(23, 16), 10962306a36Sopenharmony_ci [EV_MOD_CNT] = GENMASK(31, 24), 11062306a36Sopenharmony_ci}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciREG_STRIDE_FIELDS(EV_CH_E_CNTXT_8, ev_ch_e_cntxt_8, 11362306a36Sopenharmony_ci 0x0001d020 + 0x4000 * GSI_EE_AP, 0x80); 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_9, ev_ch_e_cntxt_9, 11662306a36Sopenharmony_ci 0x0001d024 + 0x4000 * GSI_EE_AP, 0x80); 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_10, ev_ch_e_cntxt_10, 11962306a36Sopenharmony_ci 0x0001d028 + 0x4000 * GSI_EE_AP, 0x80); 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_11, ev_ch_e_cntxt_11, 12262306a36Sopenharmony_ci 0x0001d02c + 0x4000 * GSI_EE_AP, 0x80); 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_12, ev_ch_e_cntxt_12, 12562306a36Sopenharmony_ci 0x0001d030 + 0x4000 * GSI_EE_AP, 0x80); 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_CNTXT_13, ev_ch_e_cntxt_13, 12862306a36Sopenharmony_ci 0x0001d034 + 0x4000 * GSI_EE_AP, 0x80); 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_SCRATCH_0, ev_ch_e_scratch_0, 13162306a36Sopenharmony_ci 0x0001d048 + 0x4000 * GSI_EE_AP, 0x80); 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_SCRATCH_1, ev_ch_e_scratch_1, 13462306a36Sopenharmony_ci 0x0001d04c + 0x4000 * GSI_EE_AP, 0x80); 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ciREG_STRIDE(CH_C_DOORBELL_0, ch_c_doorbell_0, 13762306a36Sopenharmony_ci 0x0001e000 + 0x4000 * GSI_EE_AP, 0x08); 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciREG_STRIDE(EV_CH_E_DOORBELL_0, ev_ch_e_doorbell_0, 14062306a36Sopenharmony_ci 0x0001e100 + 0x4000 * GSI_EE_AP, 0x08); 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_cistatic const u32 reg_gsi_status_fmask[] = { 14362306a36Sopenharmony_ci [ENABLED] = BIT(0), 14462306a36Sopenharmony_ci /* Bits 1-31 reserved */ 14562306a36Sopenharmony_ci}; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ciREG_FIELDS(GSI_STATUS, gsi_status, 0x0001f000 + 0x4000 * GSI_EE_AP); 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_cistatic const u32 reg_ch_cmd_fmask[] = { 15062306a36Sopenharmony_ci [CH_CHID] = GENMASK(7, 0), 15162306a36Sopenharmony_ci /* Bits 8-23 reserved */ 15262306a36Sopenharmony_ci [CH_OPCODE] = GENMASK(31, 24), 15362306a36Sopenharmony_ci}; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciREG_FIELDS(CH_CMD, ch_cmd, 0x0001f008 + 0x4000 * GSI_EE_AP); 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_cistatic const u32 reg_ev_ch_cmd_fmask[] = { 15862306a36Sopenharmony_ci [EV_CHID] = GENMASK(7, 0), 15962306a36Sopenharmony_ci /* Bits 8-23 reserved */ 16062306a36Sopenharmony_ci [EV_OPCODE] = GENMASK(31, 24), 16162306a36Sopenharmony_ci}; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ciREG_FIELDS(EV_CH_CMD, ev_ch_cmd, 0x0001f010 + 0x4000 * GSI_EE_AP); 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_cistatic const u32 reg_generic_cmd_fmask[] = { 16662306a36Sopenharmony_ci [GENERIC_OPCODE] = GENMASK(4, 0), 16762306a36Sopenharmony_ci [GENERIC_CHID] = GENMASK(9, 5), 16862306a36Sopenharmony_ci [GENERIC_EE] = GENMASK(13, 10), 16962306a36Sopenharmony_ci /* Bits 14-31 reserved */ 17062306a36Sopenharmony_ci}; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ciREG_FIELDS(GENERIC_CMD, generic_cmd, 0x0001f018 + 0x4000 * GSI_EE_AP); 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ciREG(CNTXT_TYPE_IRQ, cntxt_type_irq, 0x0001f080 + 0x4000 * GSI_EE_AP); 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ciREG(CNTXT_TYPE_IRQ_MSK, cntxt_type_irq_msk, 0x0001f088 + 0x4000 * GSI_EE_AP); 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciREG(CNTXT_SRC_CH_IRQ, cntxt_src_ch_irq, 0x0001f090 + 0x4000 * GSI_EE_AP); 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ciREG(CNTXT_SRC_EV_CH_IRQ, cntxt_src_ev_ch_irq, 0x0001f094 + 0x4000 * GSI_EE_AP); 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciREG(CNTXT_SRC_CH_IRQ_MSK, cntxt_src_ch_irq_msk, 18362306a36Sopenharmony_ci 0x0001f098 + 0x4000 * GSI_EE_AP); 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ciREG(CNTXT_SRC_EV_CH_IRQ_MSK, cntxt_src_ev_ch_irq_msk, 18662306a36Sopenharmony_ci 0x0001f09c + 0x4000 * GSI_EE_AP); 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ciREG(CNTXT_SRC_CH_IRQ_CLR, cntxt_src_ch_irq_clr, 18962306a36Sopenharmony_ci 0x0001f0a0 + 0x4000 * GSI_EE_AP); 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ciREG(CNTXT_SRC_EV_CH_IRQ_CLR, cntxt_src_ev_ch_irq_clr, 19262306a36Sopenharmony_ci 0x0001f0a4 + 0x4000 * GSI_EE_AP); 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciREG(CNTXT_SRC_IEOB_IRQ, cntxt_src_ieob_irq, 0x0001f0b0 + 0x4000 * GSI_EE_AP); 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ciREG(CNTXT_SRC_IEOB_IRQ_MSK, cntxt_src_ieob_irq_msk, 19762306a36Sopenharmony_ci 0x0001f0b8 + 0x4000 * GSI_EE_AP); 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ciREG(CNTXT_SRC_IEOB_IRQ_CLR, cntxt_src_ieob_irq_clr, 20062306a36Sopenharmony_ci 0x0001f0c0 + 0x4000 * GSI_EE_AP); 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ciREG(CNTXT_GLOB_IRQ_STTS, cntxt_glob_irq_stts, 0x0001f100 + 0x4000 * GSI_EE_AP); 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciREG(CNTXT_GLOB_IRQ_EN, cntxt_glob_irq_en, 0x0001f108 + 0x4000 * GSI_EE_AP); 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciREG(CNTXT_GLOB_IRQ_CLR, cntxt_glob_irq_clr, 0x0001f110 + 0x4000 * GSI_EE_AP); 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciREG(CNTXT_GSI_IRQ_STTS, cntxt_gsi_irq_stts, 0x0001f118 + 0x4000 * GSI_EE_AP); 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ciREG(CNTXT_GSI_IRQ_EN, cntxt_gsi_irq_en, 0x0001f120 + 0x4000 * GSI_EE_AP); 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciREG(CNTXT_GSI_IRQ_CLR, cntxt_gsi_irq_clr, 0x0001f128 + 0x4000 * GSI_EE_AP); 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_cistatic const u32 reg_cntxt_intset_fmask[] = { 21562306a36Sopenharmony_ci [INTYPE] = BIT(0) 21662306a36Sopenharmony_ci /* Bits 1-31 reserved */ 21762306a36Sopenharmony_ci}; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ciREG_FIELDS(CNTXT_INTSET, cntxt_intset, 0x0001f180 + 0x4000 * GSI_EE_AP); 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ciREG_FIELDS(ERROR_LOG, error_log, 0x0001f200 + 0x4000 * GSI_EE_AP); 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ciREG(ERROR_LOG_CLR, error_log_clr, 0x0001f210 + 0x4000 * GSI_EE_AP); 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_cistatic const u32 reg_cntxt_scratch_0_fmask[] = { 22662306a36Sopenharmony_ci [INTER_EE_RESULT] = GENMASK(2, 0), 22762306a36Sopenharmony_ci /* Bits 3-4 reserved */ 22862306a36Sopenharmony_ci [GENERIC_EE_RESULT] = GENMASK(7, 5), 22962306a36Sopenharmony_ci /* Bits 8-31 reserved */ 23062306a36Sopenharmony_ci}; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ciREG_FIELDS(CNTXT_SCRATCH_0, cntxt_scratch_0, 0x0001f400 + 0x4000 * GSI_EE_AP); 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_cistatic const struct reg *reg_array[] = { 23562306a36Sopenharmony_ci [INTER_EE_SRC_CH_IRQ_MSK] = ®_inter_ee_src_ch_irq_msk, 23662306a36Sopenharmony_ci [INTER_EE_SRC_EV_CH_IRQ_MSK] = ®_inter_ee_src_ev_ch_irq_msk, 23762306a36Sopenharmony_ci [CH_C_CNTXT_0] = ®_ch_c_cntxt_0, 23862306a36Sopenharmony_ci [CH_C_CNTXT_1] = ®_ch_c_cntxt_1, 23962306a36Sopenharmony_ci [CH_C_CNTXT_2] = ®_ch_c_cntxt_2, 24062306a36Sopenharmony_ci [CH_C_CNTXT_3] = ®_ch_c_cntxt_3, 24162306a36Sopenharmony_ci [CH_C_QOS] = ®_ch_c_qos, 24262306a36Sopenharmony_ci [CH_C_SCRATCH_0] = ®_ch_c_scratch_0, 24362306a36Sopenharmony_ci [CH_C_SCRATCH_1] = ®_ch_c_scratch_1, 24462306a36Sopenharmony_ci [CH_C_SCRATCH_2] = ®_ch_c_scratch_2, 24562306a36Sopenharmony_ci [CH_C_SCRATCH_3] = ®_ch_c_scratch_3, 24662306a36Sopenharmony_ci [EV_CH_E_CNTXT_0] = ®_ev_ch_e_cntxt_0, 24762306a36Sopenharmony_ci [EV_CH_E_CNTXT_1] = ®_ev_ch_e_cntxt_1, 24862306a36Sopenharmony_ci [EV_CH_E_CNTXT_2] = ®_ev_ch_e_cntxt_2, 24962306a36Sopenharmony_ci [EV_CH_E_CNTXT_3] = ®_ev_ch_e_cntxt_3, 25062306a36Sopenharmony_ci [EV_CH_E_CNTXT_4] = ®_ev_ch_e_cntxt_4, 25162306a36Sopenharmony_ci [EV_CH_E_CNTXT_8] = ®_ev_ch_e_cntxt_8, 25262306a36Sopenharmony_ci [EV_CH_E_CNTXT_9] = ®_ev_ch_e_cntxt_9, 25362306a36Sopenharmony_ci [EV_CH_E_CNTXT_10] = ®_ev_ch_e_cntxt_10, 25462306a36Sopenharmony_ci [EV_CH_E_CNTXT_11] = ®_ev_ch_e_cntxt_11, 25562306a36Sopenharmony_ci [EV_CH_E_CNTXT_12] = ®_ev_ch_e_cntxt_12, 25662306a36Sopenharmony_ci [EV_CH_E_CNTXT_13] = ®_ev_ch_e_cntxt_13, 25762306a36Sopenharmony_ci [EV_CH_E_SCRATCH_0] = ®_ev_ch_e_scratch_0, 25862306a36Sopenharmony_ci [EV_CH_E_SCRATCH_1] = ®_ev_ch_e_scratch_1, 25962306a36Sopenharmony_ci [CH_C_DOORBELL_0] = ®_ch_c_doorbell_0, 26062306a36Sopenharmony_ci [EV_CH_E_DOORBELL_0] = ®_ev_ch_e_doorbell_0, 26162306a36Sopenharmony_ci [GSI_STATUS] = ®_gsi_status, 26262306a36Sopenharmony_ci [CH_CMD] = ®_ch_cmd, 26362306a36Sopenharmony_ci [EV_CH_CMD] = ®_ev_ch_cmd, 26462306a36Sopenharmony_ci [GENERIC_CMD] = ®_generic_cmd, 26562306a36Sopenharmony_ci [CNTXT_TYPE_IRQ] = ®_cntxt_type_irq, 26662306a36Sopenharmony_ci [CNTXT_TYPE_IRQ_MSK] = ®_cntxt_type_irq_msk, 26762306a36Sopenharmony_ci [CNTXT_SRC_CH_IRQ] = ®_cntxt_src_ch_irq, 26862306a36Sopenharmony_ci [CNTXT_SRC_EV_CH_IRQ] = ®_cntxt_src_ev_ch_irq, 26962306a36Sopenharmony_ci [CNTXT_SRC_CH_IRQ_MSK] = ®_cntxt_src_ch_irq_msk, 27062306a36Sopenharmony_ci [CNTXT_SRC_EV_CH_IRQ_MSK] = ®_cntxt_src_ev_ch_irq_msk, 27162306a36Sopenharmony_ci [CNTXT_SRC_CH_IRQ_CLR] = ®_cntxt_src_ch_irq_clr, 27262306a36Sopenharmony_ci [CNTXT_SRC_EV_CH_IRQ_CLR] = ®_cntxt_src_ev_ch_irq_clr, 27362306a36Sopenharmony_ci [CNTXT_SRC_IEOB_IRQ] = ®_cntxt_src_ieob_irq, 27462306a36Sopenharmony_ci [CNTXT_SRC_IEOB_IRQ_MSK] = ®_cntxt_src_ieob_irq_msk, 27562306a36Sopenharmony_ci [CNTXT_SRC_IEOB_IRQ_CLR] = ®_cntxt_src_ieob_irq_clr, 27662306a36Sopenharmony_ci [CNTXT_GLOB_IRQ_STTS] = ®_cntxt_glob_irq_stts, 27762306a36Sopenharmony_ci [CNTXT_GLOB_IRQ_EN] = ®_cntxt_glob_irq_en, 27862306a36Sopenharmony_ci [CNTXT_GLOB_IRQ_CLR] = ®_cntxt_glob_irq_clr, 27962306a36Sopenharmony_ci [CNTXT_GSI_IRQ_STTS] = ®_cntxt_gsi_irq_stts, 28062306a36Sopenharmony_ci [CNTXT_GSI_IRQ_EN] = ®_cntxt_gsi_irq_en, 28162306a36Sopenharmony_ci [CNTXT_GSI_IRQ_CLR] = ®_cntxt_gsi_irq_clr, 28262306a36Sopenharmony_ci [CNTXT_INTSET] = ®_cntxt_intset, 28362306a36Sopenharmony_ci [ERROR_LOG] = ®_error_log, 28462306a36Sopenharmony_ci [ERROR_LOG_CLR] = ®_error_log_clr, 28562306a36Sopenharmony_ci [CNTXT_SCRATCH_0] = ®_cntxt_scratch_0, 28662306a36Sopenharmony_ci}; 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ciconst struct regs gsi_regs_v3_1 = { 28962306a36Sopenharmony_ci .reg_count = ARRAY_SIZE(reg_array), 29062306a36Sopenharmony_ci .reg = reg_array, 29162306a36Sopenharmony_ci}; 292