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
68
69
70
71
72
73
#[macro_export]
macro_rules! rcc_en_reset {
(apb1, $periph:expr, $rcc:expr) => {
paste::paste! { cfg_if::cfg_if! {
if #[cfg(any(feature = "f3", feature = "f4"))] {
$rcc.apb1enr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.apb1rstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.apb1rstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
} else if #[cfg(any(feature = "l4", feature = "l5", feature = "g4", feature = "wb", feature = "wl"))] {
$rcc.apb1enr1.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.apb1rstr1.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.apb1rstr1.modify(|_, w| w.[<$periph rst>]().clear_bit());
} else if #[cfg(feature = "g0")] {
$rcc.apbenr1.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.apbrstr1.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.apbrstr1.modify(|_, w| w.[<$periph rst>]().clear_bit());
} else {
$rcc.apb1lenr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.apb1lrstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.apb1lrstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
}
}}
};
(apb2, $periph:expr, $rcc:expr) => {
paste::paste! { cfg_if::cfg_if! {
if #[cfg(feature = "g0")] {
$rcc.apbenr2.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.apbrstr2.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.apbrstr2.modify(|_, w| w.[<$periph rst>]().clear_bit());
} else {
$rcc.apb2enr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.apb2rstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.apb2rstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
}
}}
};
(ahb1, $periph:expr, $rcc:expr) => {
paste::paste! { cfg_if::cfg_if! {
if #[cfg(feature = "f3")] {
$rcc.ahbenr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.ahbrstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.ahbrstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
} else if #[cfg(feature = "g0")] {
$rcc.ahbenr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.ahbrstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.ahbrstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
} else {
$rcc.ahb1enr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.ahb1rstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.ahb1rstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
}
}}
};
(ahb2, $periph:expr, $rcc:expr) => {
paste::paste! { cfg_if::cfg_if! {
if #[cfg(feature = "placeholder")] {
} else {
$rcc.ahb2enr.modify(|_, w| w.[<$periph en>]().set_bit());
$rcc.ahb2rstr.modify(|_, w| w.[<$periph rst>]().set_bit());
$rcc.ahb2rstr.modify(|_, w| w.[<$periph rst>]().clear_bit());
}
}}
};
}