1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
use crate::svd::register::{create_cluster, jh7110};
use crate::Result;
/// Creates a StarFive JH7110 SYSCRG Clock I2C APB register.
pub fn create() -> Result<svd::RegisterCluster> {
Ok(svd::RegisterCluster::Cluster(create_cluster(
"clk_uart",
"Clock UART",
0x244,
&[
svd::RegisterCluster::Cluster(create_cluster(
"uart02",
"Clock UART U0-U2",
0x0,
&[
jh7110::create_register_icg("apb", "Clock UART APB", 0x0, None, None)?,
jh7110::create_register_icg("core", "Clock UART Core", 0x4, None, None)?,
],
Some(
svd::DimElement::builder()
.dim(3)
.dim_increment(0x8)
.dim_index(Some(
[
String::from("_u0"),
String::from("_u1"),
String::from("_u2"),
]
.into(),
))
.build(svd::ValidateLevel::Strict)?,
),
)?),
svd::RegisterCluster::Cluster(create_cluster(
"uart35",
"Clock UART U3-U5",
0x18,
&[
jh7110::create_register_icg("apb", "Clock UART APB", 0x0, None, None)?,
jh7110::create_register_icg_divcfg(
"core",
"Clock UART Core",
0x4,
[131_071, 2_560, 2_560, 2_560],
None,
None,
)?,
],
Some(
svd::DimElement::builder()
.dim(3)
.dim_increment(0x8)
.dim_index(Some(
[
String::from("_u3"),
String::from("_u4"),
String::from("_u5"),
]
.into(),
))
.build(svd::ValidateLevel::Strict)?,
),
)?),
],
None,
)?))
}