diff --git a/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c b/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c index 43a7c742b36e16085d5841ee5996447efd91be69..5272d66d707bf1b458c0dfe3f41a282d60d1811a 100644 --- a/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c +++ b/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c @@ -44,6 +44,7 @@ smio_fmc250m_4ch_t * smio_fmc250m_4ch_new (smio_t *parent) smio_fmc250m_4ch_t *self = (smio_fmc250m_4ch_t *) zmalloc (sizeof *self); ASSERT_ALLOC(self, err_self_alloc); uint32_t inst_id = smio_get_inst_id (parent); + uint64_t base = smio_get_base (parent); /* Check if Instance ID is within our expected limits */ ASSERT_TEST(inst_id < NUM_FMC250M_4CH_SMIOS, "Number of FMC250M_4CH SMIOs instances exceeded", @@ -139,13 +140,13 @@ smio_fmc250m_4ch_t * smio_fmc250m_4ch_new (smio_t *parent) _smio_fmc250m_4ch_set_type (self, 0x0); DBE_DEBUG (DBG_SM_IO | DBG_LVL_TRACE, "[sm_io:fmc250m_4ch_core] Registering FMC_ADC_COMMON SMIO\n"); - smio_register_sm (parent, 0x2403f569, FMC_250M_FMC_ADC_COMMON_OFFS, inst_id); + smio_register_sm (parent, 0x2403f569, base | FMC_250M_FMC_ADC_COMMON_OFFS, inst_id); /* Now, initialize the FMC250M_4CH with the appropriate structures*/ if (self->type == TYPE_FMC250M_4CH_ACTIVE) { DBE_DEBUG (DBG_SM_IO | DBG_LVL_TRACE, "[sm_io:fmc250m_4ch_core] Active Board detected. " "Registering FMC_ADC_ACTIVE SMIO\n"); - smio_register_sm (parent, 0x88c67d9c, FMC_250M_FMC_ACTIVE_CLK_OFFS, inst_id); + smio_register_sm (parent, 0x88c67d9c, base | FMC_250M_FMC_ACTIVE_CLK_OFFS, inst_id); } else { /* PASSIVE or Unsupported*/ if (self->type != TYPE_FMC250M_4CH_PASSIVE) {