diff options
| author | Ulf Lilleengen <[email protected]> | 2021-06-08 10:57:52 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2021-06-08 17:20:29 +0200 |
| commit | 459049d60436e177a628df0104959b7789e710af (patch) | |
| tree | dcdbcc7e34ebb5d427534bc62755135b4e5a4ac1 | |
| parent | ee47a3e802a674cd002f944b3362e2ab71e2cf5e (diff) | |
Workaround for L4
| -rw-r--r-- | stm32-metapac/build.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/stm32-metapac/build.rs b/stm32-metapac/build.rs index 46660d9bd..72750267d 100644 --- a/stm32-metapac/build.rs +++ b/stm32-metapac/build.rs | |||
| @@ -219,17 +219,22 @@ fn main() { | |||
| 219 | } | 219 | } |
| 220 | "spi" => { | 220 | "spi" => { |
| 221 | if let Some(clock) = &p.clock { | 221 | if let Some(clock) = &p.clock { |
| 222 | // Workaround for APB1 register being split on some chip families | 222 | // Workaround for APB1 register being split on some chip families. Assume |
| 223 | let reg = if chip.family == "STM32H7" && clock == "APB1" { | 223 | // first register until we can find a way to hint which register is used |
| 224 | format!("{}l", clock.to_ascii_lowercase()) | 224 | let reg = clock.to_ascii_lowercase(); |
| 225 | let (enable_reg, reset_reg) = if chip.family == "STM32H7" && clock == "APB1" | ||
| 226 | { | ||
| 227 | (format!("{}lenr", reg), format!("{}lrstr", reg)) | ||
| 228 | } else if chip.family == "STM32L4" && clock == "APB1" { | ||
| 229 | (format!("{}enr1", reg), format!("{}rstr1", reg)) | ||
| 225 | } else { | 230 | } else { |
| 226 | clock.to_ascii_lowercase() | 231 | (format!("{}enr", reg), format!("{}rstr", reg)) |
| 227 | }; | 232 | }; |
| 228 | let field = name.to_ascii_lowercase(); | 233 | let field = name.to_ascii_lowercase(); |
| 229 | peripheral_rcc_table.push(vec![ | 234 | peripheral_rcc_table.push(vec![ |
| 230 | name.clone(), | 235 | name.clone(), |
| 231 | format!("{}enr", reg), | 236 | enable_reg, |
| 232 | format!("{}rstr", reg), | 237 | reset_reg, |
| 233 | format!("set_{}en", field), | 238 | format!("set_{}en", field), |
| 234 | format!("set_{}rst", field), | 239 | format!("set_{}rst", field), |
| 235 | ]); | 240 | ]); |
