1mod xilinx_u55n_xdma_std;
4
5use crate::{
6 cores::{
7 axi_firewall::Error as AxiFirewallError, cms::Error as CmsError,
8 dfx_decoupler::Error as DfxDecouplerError, hbicap::Error as HbicapError,
9 },
10 xdma::Error as XdmaError,
11 Error as BasedError,
12};
13use thiserror::Error;
14
15pub use xilinx_u55n_xdma_std::*;
16
17pub type Result<T> = std::result::Result<T, Error>;
18
19#[derive(Debug, Error)]
20pub enum Error {
21 #[error("XDMA error: {0}")]
22 XdmaError(#[from] XdmaError),
23 #[error("Based access error: {0}")]
24 BasedError(#[from] BasedError),
25 #[error("CMS error")]
26 Cms(#[from] CmsError),
27 #[error("HBICAP is not ready")]
28 HbicapNotReady,
29 #[error("HBICAP error")]
30 Hbicap(#[from] HbicapError),
31 #[error("DFX decoupler error")]
32 DfxDecoupler(#[from] DfxDecouplerError),
33 #[error("AXI firewall error")]
34 AxiFirewall(#[from] AxiFirewallError),
35}
36
37pub trait Shell {
40 fn init(&self) -> Result<()>;
41 fn program_user_image(&self, image: &[u8]) -> Result<()>;
42}