Commit 9ea1caaa authored by Lucas Russo's avatar Lucas Russo

{src,include}/sm_io.*: add option to SMIO register another SMIO

This opens new possibilities for chaining SMIOs.
For instance, the FMC_250M SMIO can register 2
more SMIOs: FMC_ADC_COMMON and FMC_ACTIVE_CLK
parent 71c9084c
......@@ -124,6 +124,9 @@ smio_t *smio_new (th_boot_args_t *args, zsock_t *pipe_mgmt, zsock_t *pipe_msg,
smio_err_e smio_destroy (smio_t **self_p);
/* Loop through all interface sockets */
smio_err_e smio_loop (smio_t *self);
/* Register SMIO */
smio_err_e smio_register_sm (smio_t *self, uint32_t smio_id, uint64_t base,
uint32_t inst_id);
smio_err_e smio_init_exp_ops (smio_t *self, disp_op_t** smio_exp_ops,
const disp_table_func_fp *func_fps);
......
......@@ -364,6 +364,20 @@ smio_err_e smio_loop (smio_t *self)
return err;
}
smio_err_e smio_register_sm (smio_t *self, uint32_t smio_id, uint64_t base,
uint32_t inst_id)
{
assert (self);
smio_err_e err = SMIO_SUCCESS;
devio_err_e derr = devio_register_sm (self->parent, smio_id, base, inst_id);
ASSERT_TEST(derr == DEVIO_SUCCESS, "Could not register SM", err_register_sm,
SMIO_ERR_REGISTER_SM);
err_register_sm:
return err;
}
/************************************************************/
/***************** Dispatch table callbacks *****************/
/************************************************************/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment