use crate::svd::register::{
create_bit_range, create_enum_value, create_enum_values, create_field_enum, create_register,
create_register_properties,
};
use crate::Result;
pub fn create() -> Result<svd::RegisterCluster> {
create_register(
"burst_req",
"Software Burst Request Register - enables DMA burst requests to be generated by software. You can generate a DMA request for each source by writing a 1 to the corresponding register bit. A register bit is cleared when the transaction has completed. Writing 0 to this register has no effect. Reading the register indicates the sources that are requesting DMA burst transfers. You can generate a request from either a peripheral or the software request register.",
0x0,
create_register_properties(32, 0)?,
Some(&[
create_field_enum(
"burst_req",
"Software burst request.",
create_bit_range("[0:0]")?,
svd::Access::ReadWrite,
&[create_enum_values(&[
create_enum_value("nop", "Software burst request, read: none, write: no-op", 0)?,
create_enum_value("generate", "Software burst request, read: active request, write: generate a request", 1)?,
])?],
Some(svd::DimElement::builder()
.dim(16)
.dim_increment(1)
.build(svd::ValidateLevel::Strict)?),
)?,
]),
None,
).map(svd::RegisterCluster::Register)
}