#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - Global configuration register"]
pub sai_gcr: SAI_GCR,
#[doc = "0x04 - Configuration register 1"]
pub sai_acr1: SAI_ACR1,
#[doc = "0x08 - Configuration register 2"]
pub sai_acr2: SAI_ACR2,
#[doc = "0x0c - This register has no meaning in AC97 and SPDIF audio protocol"]
pub sai_afrcr: SAI_AFRCR,
#[doc = "0x10 - This register has no meaning in AC97 and SPDIF audio protocol"]
pub sai_aslotr: SAI_ASLOTR,
#[doc = "0x14 - Interrupt mask register 2"]
pub sai_aim: SAI_AIM,
#[doc = "0x18 - Status register"]
pub sai_asr: SAI_ASR,
#[doc = "0x1c - Clear flag register"]
pub sai_aclrfr: SAI_ACLRFR,
#[doc = "0x20 - Data register"]
pub sai_adr: SAI_ADR,
#[doc = "0x24 - Configuration register 1"]
pub sai_bcr1: SAI_BCR1,
#[doc = "0x28 - Configuration register 2"]
pub sai_bcr2: SAI_BCR2,
#[doc = "0x2c - This register has no meaning in AC97 and SPDIF audio protocol"]
pub sai_bfrcr: SAI_BFRCR,
#[doc = "0x30 - This register has no meaning in AC97 and SPDIF audio protocol"]
pub sai_bslotr: SAI_BSLOTR,
#[doc = "0x34 - Interrupt mask register 2"]
pub sai_bim: SAI_BIM,
#[doc = "0x38 - Status register"]
pub sai_bsr: SAI_BSR,
#[doc = "0x3c - Clear flag register"]
pub sai_bclrfr: SAI_BCLRFR,
#[doc = "0x40 - Data register"]
pub sai_bdr: SAI_BDR,
#[doc = "0x44 - PDM control register"]
pub sai_pdmcr: SAI_PDMCR,
#[doc = "0x48 - PDM delay register"]
pub sai_pdmdly: SAI_PDMDLY,
}
#[doc = "Global configuration register"]
pub struct SAI_GCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Global configuration register"]
pub mod sai_gcr;
#[doc = "Configuration register 1"]
pub struct SAI_ACR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration register 1"]
pub mod sai_acr1;
#[doc = "Configuration register 2"]
pub struct SAI_ACR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration register 2"]
pub mod sai_acr2;
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub struct SAI_AFRCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub mod sai_afrcr;
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub struct SAI_ASLOTR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub mod sai_aslotr;
#[doc = "Interrupt mask register 2"]
pub struct SAI_AIM {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt mask register 2"]
pub mod sai_aim;
#[doc = "Status register"]
pub struct SAI_ASR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status register"]
pub mod sai_asr;
#[doc = "Clear flag register"]
pub struct SAI_ACLRFR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Clear flag register"]
pub mod sai_aclrfr;
#[doc = "Data register"]
pub struct SAI_ADR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Data register"]
pub mod sai_adr;
#[doc = "Configuration register 1"]
pub struct SAI_BCR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration register 1"]
pub mod sai_bcr1;
#[doc = "Configuration register 2"]
pub struct SAI_BCR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration register 2"]
pub mod sai_bcr2;
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub struct SAI_BFRCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub mod sai_bfrcr;
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub struct SAI_BSLOTR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "This register has no meaning in AC97 and SPDIF audio protocol"]
pub mod sai_bslotr;
#[doc = "Interrupt mask register 2"]
pub struct SAI_BIM {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt mask register 2"]
pub mod sai_bim;
#[doc = "Status register"]
pub struct SAI_BSR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status register"]
pub mod sai_bsr;
#[doc = "Clear flag register"]
pub struct SAI_BCLRFR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Clear flag register"]
pub mod sai_bclrfr;
#[doc = "Data register"]
pub struct SAI_BDR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Data register"]
pub mod sai_bdr;
#[doc = "PDM control register"]
pub struct SAI_PDMCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "PDM control register"]
pub mod sai_pdmcr;
#[doc = "PDM delay register"]
pub struct SAI_PDMDLY {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "PDM delay register"]
pub mod sai_pdmdly;