svd-generator 0.4.4

Converts device information from flattened device tree into an SVD description
Documentation
use crate::svd::{create_bit_range, create_field, create_register, create_register_properties};
use crate::Result;

/// Creates the Interrupt Enable Register.
pub fn create() -> Result<svd::RegisterCluster> {
    Ok(svd::RegisterCluster::Register(
        create_register(
            "ier",
            "Interrupt Enable Register",
            0x4,
            create_register_properties(32, 0)?,
            Some(&[
                create_field(
                    "ptime",
                    "Programmable THRE Interrupt Mode Enable that can be written to only when THRE_MODE_USER == Enabled, always readable. This is used to enable/disable the generation of THRE Interrupt. 0 = disabled 1 = enabled",
                    create_bit_range("[7:7]")?,
                    svd::Access::ReadWrite,
                    None,
                )?,
                create_field(
                    "edssi",
                    "Enable Modem Status Interrupt. This is used to enable/disable the generation of Modem Status Interrupt. This is the fourth highest priority interrupt. 0 = disabled 1 = enabled",
                    create_bit_range("[3:3]")?,
                    svd::Access::ReadWrite,
                    None,
                )?,
                create_field(
                    "elsi",
                    "Enable Receiver Line Status Interrupt. This is used to enable/disable the generation of Receiver Line Status Interrupt. This is the highest priority interrupt. 0 = disabled 1 = enabled",
                    create_bit_range("[2:2]")?,
                    svd::Access::ReadWrite,
                    None,
                )?,
                create_field(
                    "etbei",
                    "Enable Transmit Holding Register Empty Interrupt. This is used to enable/disable the generation of Transmitter Holding Register Empty Interrupt. This is the third highest priority interrupt. 0 = disabled 1 = enabled",
                    create_bit_range("[1:1]")?,
                    svd::Access::ReadWrite,
                    None,
                )?,
                create_field(
                    "erbfi",
                    "Enable Received Data Available Interrupt. This is used to enable/disable the generation of Received Data Available Interrupt and the Character Timeout Interrupt (if in FIFO mode and FIFOs enabled). These are the second highest priority interrupts. 0 = disabled 1 = enabled",
                    create_bit_range("[0:0]")?,
                    svd::Access::ReadWrite,
                    None
                )?,
            ]),
            None,
        )?
    ))
}