diff options
| author | i509VCB <[email protected]> | 2025-12-13 21:23:22 -0600 |
|---|---|---|
| committer | i509VCB <[email protected]> | 2025-12-14 00:37:30 -0600 |
| commit | 5bef2eab2352113c2ab9a97be72d72d6df46045d (patch) | |
| tree | 40c43682d2c8e0ec6f714b8b0a20b4ec2e4a33a0 /embassy-mspm0 | |
| parent | 574868282518ceb81bddcb03bee38fc5b6208a5a (diff) | |
mspm0: add MSPM0G518x support and new packages for others
G518x is the first MSPM0 part with a USB, I2S and NPU peripheral. There is also a new TIMB peripheral (no PWM, so it is perfect for a time driver).
Unfortunately it also introduces UNICOMM which is a shared peripheral which can be in UART/I2C/SPI modes. This means that the current UART and I2C drivers need some adjustment to work with the new UNICOMM parts (which is the future).
Diffstat (limited to 'embassy-mspm0')
| -rw-r--r-- | embassy-mspm0/CHANGELOG.md | 3 | ||||
| -rw-r--r-- | embassy-mspm0/Cargo.toml | 145 | ||||
| -rw-r--r-- | embassy-mspm0/build.rs | 52 | ||||
| -rw-r--r-- | embassy-mspm0/src/gpio.rs | 4 | ||||
| -rw-r--r-- | embassy-mspm0/src/i2c_target.rs | 9 | ||||
| -rw-r--r-- | embassy-mspm0/src/lib.rs | 16 | ||||
| -rw-r--r-- | embassy-mspm0/src/macros.rs | 1 | ||||
| -rw-r--r-- | embassy-mspm0/src/time_driver.rs | 4 |
8 files changed, 155 insertions, 79 deletions
diff --git a/embassy-mspm0/CHANGELOG.md b/embassy-mspm0/CHANGELOG.md index 6972a8472..19275f35a 100644 --- a/embassy-mspm0/CHANGELOG.md +++ b/embassy-mspm0/CHANGELOG.md | |||
| @@ -19,4 +19,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | |||
| 19 | - feat: Add i2c target implementation (#4605) | 19 | - feat: Add i2c target implementation (#4605) |
| 20 | - fix: group irq handlers must check for NO_INTR (#4785) | 20 | - fix: group irq handlers must check for NO_INTR (#4785) |
| 21 | - feat: Add read_reset_cause function | 21 | - feat: Add read_reset_cause function |
| 22 | - feat: Add module Mathacl & example for mspm0g3507 (#4897) \ No newline at end of file | 22 | - feat: Add module Mathacl & example for mspm0g3507 (#4897) |
| 23 | - feat: Add MSPM0G5187 supportt | ||
diff --git a/embassy-mspm0/Cargo.toml b/embassy-mspm0/Cargo.toml index 254e0209b..cf2346328 100644 --- a/embassy-mspm0/Cargo.toml +++ b/embassy-mspm0/Cargo.toml | |||
| @@ -73,7 +73,7 @@ critical-section = "1.2.0" | |||
| 73 | micromath = "2.0.0" | 73 | micromath = "2.0.0" |
| 74 | 74 | ||
| 75 | # mspm0-metapac = { version = "" } | 75 | # mspm0-metapac = { version = "" } |
| 76 | mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-f21b04e9de074af4965bf67ec3646cb9fe1b9852" } | 76 | mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-e91edd86813aa94cbb6737d34e4f1d22b8487cb6" } |
| 77 | 77 | ||
| 78 | [build-dependencies] | 78 | [build-dependencies] |
| 79 | proc-macro2 = "1.0.94" | 79 | proc-macro2 = "1.0.94" |
| @@ -81,7 +81,7 @@ quote = "1.0.40" | |||
| 81 | cfg_aliases = "0.2.1" | 81 | cfg_aliases = "0.2.1" |
| 82 | 82 | ||
| 83 | # mspm0-metapac = { version = "", default-features = false, features = ["metadata"] } | 83 | # mspm0-metapac = { version = "", default-features = false, features = ["metadata"] } |
| 84 | mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-f21b04e9de074af4965bf67ec3646cb9fe1b9852", default-features = false, features = ["metadata"] } | 84 | mspm0-metapac = { git = "https://github.com/mspm0-rs/mspm0-data-generated/", tag = "mspm0-data-e91edd86813aa94cbb6737d34e4f1d22b8487cb6", default-features = false, features = ["metadata"] } |
| 85 | 85 | ||
| 86 | [features] | 86 | [features] |
| 87 | default = ["rt"] | 87 | default = ["rt"] |
| @@ -153,15 +153,14 @@ time-driver-tima1 = ["_time-driver"] | |||
| 153 | #! | 153 | #! |
| 154 | #! **Important:** Do not forget to adapt the target chip in your toolchain, | 154 | #! **Important:** Do not forget to adapt the target chip in your toolchain, |
| 155 | #! e.g. in `.cargo/config.toml`. | 155 | #! e.g. in `.cargo/config.toml`. |
| 156 | |||
| 157 | mspm0c1103dgs20 = ["mspm0-metapac/mspm0c1103dgs20"] | 156 | mspm0c1103dgs20 = ["mspm0-metapac/mspm0c1103dgs20"] |
| 158 | mspm0c1103dsg = ["mspm0-metapac/mspm0c1103dsg"] | ||
| 159 | mspm0c1103dyy = ["mspm0-metapac/mspm0c1103dyy"] | ||
| 160 | mspm0c1103ruk = ["mspm0-metapac/mspm0c1103ruk"] | 157 | mspm0c1103ruk = ["mspm0-metapac/mspm0c1103ruk"] |
| 158 | mspm0c1103dyy = ["mspm0-metapac/mspm0c1103dyy"] | ||
| 159 | mspm0c1103dsg = ["mspm0-metapac/mspm0c1103dsg"] | ||
| 161 | mspm0c1104dgs20 = ["mspm0-metapac/mspm0c1104dgs20"] | 160 | mspm0c1104dgs20 = ["mspm0-metapac/mspm0c1104dgs20"] |
| 162 | mspm0c1104dsg = ["mspm0-metapac/mspm0c1104dsg"] | ||
| 163 | mspm0c1104dyy = ["mspm0-metapac/mspm0c1104dyy"] | ||
| 164 | mspm0c1104ruk = ["mspm0-metapac/mspm0c1104ruk"] | 161 | mspm0c1104ruk = ["mspm0-metapac/mspm0c1104ruk"] |
| 162 | mspm0c1104dyy = ["mspm0-metapac/mspm0c1104dyy"] | ||
| 163 | mspm0c1104dsg = ["mspm0-metapac/mspm0c1104dsg"] | ||
| 165 | mspm0c1104ycj = ["mspm0-metapac/mspm0c1104ycj"] | 164 | mspm0c1104ycj = ["mspm0-metapac/mspm0c1104ycj"] |
| 166 | mspm0c1105pt = ["mspm0-metapac/mspm0c1105pt"] | 165 | mspm0c1105pt = ["mspm0-metapac/mspm0c1105pt"] |
| 167 | mspm0c1105rgz = ["mspm0-metapac/mspm0c1105rgz"] | 166 | mspm0c1105rgz = ["mspm0-metapac/mspm0c1105rgz"] |
| @@ -181,43 +180,54 @@ mspm0c1106rge = ["mspm0-metapac/mspm0c1106rge"] | |||
| 181 | mspm0c1106dgs20 = ["mspm0-metapac/mspm0c1106dgs20"] | 180 | mspm0c1106dgs20 = ["mspm0-metapac/mspm0c1106dgs20"] |
| 182 | mspm0c1106ruk = ["mspm0-metapac/mspm0c1106ruk"] | 181 | mspm0c1106ruk = ["mspm0-metapac/mspm0c1106ruk"] |
| 183 | mspm0c1106zcm = ["mspm0-metapac/mspm0c1106zcm"] | 182 | mspm0c1106zcm = ["mspm0-metapac/mspm0c1106zcm"] |
| 184 | mspm0g1105dgs28 = ["mspm0-metapac/mspm0g1105dgs28"] | ||
| 185 | mspm0g1105pm = ["mspm0-metapac/mspm0g1105pm"] | ||
| 186 | mspm0g1105pt = ["mspm0-metapac/mspm0g1105pt"] | ||
| 187 | mspm0g1105rge = ["mspm0-metapac/mspm0g1105rge"] | 183 | mspm0g1105rge = ["mspm0-metapac/mspm0g1105rge"] |
| 188 | mspm0g1105rgz = ["mspm0-metapac/mspm0g1105rgz"] | 184 | mspm0g1105dgs28 = ["mspm0-metapac/mspm0g1105dgs28"] |
| 189 | mspm0g1105rhb = ["mspm0-metapac/mspm0g1105rhb"] | 185 | mspm0g1105rhb = ["mspm0-metapac/mspm0g1105rhb"] |
| 190 | mspm0g1106dgs28 = ["mspm0-metapac/mspm0g1106dgs28"] | 186 | mspm0g1105rgz = ["mspm0-metapac/mspm0g1105rgz"] |
| 191 | mspm0g1106pm = ["mspm0-metapac/mspm0g1106pm"] | 187 | mspm0g1105pt = ["mspm0-metapac/mspm0g1105pt"] |
| 192 | mspm0g1106pt = ["mspm0-metapac/mspm0g1106pt"] | 188 | mspm0g1105pm = ["mspm0-metapac/mspm0g1105pm"] |
| 193 | mspm0g1106rge = ["mspm0-metapac/mspm0g1106rge"] | 189 | mspm0g1106rge = ["mspm0-metapac/mspm0g1106rge"] |
| 194 | mspm0g1106rgz = ["mspm0-metapac/mspm0g1106rgz"] | 190 | mspm0g1106dgs28 = ["mspm0-metapac/mspm0g1106dgs28"] |
| 195 | mspm0g1106rhb = ["mspm0-metapac/mspm0g1106rhb"] | 191 | mspm0g1106rhb = ["mspm0-metapac/mspm0g1106rhb"] |
| 196 | mspm0g1107dgs28 = ["mspm0-metapac/mspm0g1107dgs28"] | 192 | mspm0g1106rgz = ["mspm0-metapac/mspm0g1106rgz"] |
| 197 | mspm0g1107pm = ["mspm0-metapac/mspm0g1107pm"] | 193 | mspm0g1106pt = ["mspm0-metapac/mspm0g1106pt"] |
| 198 | mspm0g1107pt = ["mspm0-metapac/mspm0g1107pt"] | 194 | mspm0g1106pm = ["mspm0-metapac/mspm0g1106pm"] |
| 199 | mspm0g1107rge = ["mspm0-metapac/mspm0g1107rge"] | 195 | mspm0g1107rge = ["mspm0-metapac/mspm0g1107rge"] |
| 200 | mspm0g1107rgz = ["mspm0-metapac/mspm0g1107rgz"] | 196 | mspm0g1107dgs28 = ["mspm0-metapac/mspm0g1107dgs28"] |
| 201 | mspm0g1107rhb = ["mspm0-metapac/mspm0g1107rhb"] | 197 | mspm0g1107rhb = ["mspm0-metapac/mspm0g1107rhb"] |
| 198 | mspm0g1107rgz = ["mspm0-metapac/mspm0g1107rgz"] | ||
| 199 | mspm0g1107pt = ["mspm0-metapac/mspm0g1107pt"] | ||
| 200 | mspm0g1107pm = ["mspm0-metapac/mspm0g1107pm"] | ||
| 202 | mspm0g1107ycj = ["mspm0-metapac/mspm0g1107ycj"] | 201 | mspm0g1107ycj = ["mspm0-metapac/mspm0g1107ycj"] |
| 203 | mspm0g1505pm = ["mspm0-metapac/mspm0g1505pm"] | ||
| 204 | mspm0g1505pt = ["mspm0-metapac/mspm0g1505pt"] | ||
| 205 | mspm0g1505rge = ["mspm0-metapac/mspm0g1505rge"] | 202 | mspm0g1505rge = ["mspm0-metapac/mspm0g1505rge"] |
| 206 | mspm0g1505rgz = ["mspm0-metapac/mspm0g1505rgz"] | ||
| 207 | mspm0g1505rhb = ["mspm0-metapac/mspm0g1505rhb"] | 203 | mspm0g1505rhb = ["mspm0-metapac/mspm0g1505rhb"] |
| 208 | mspm0g1506pm = ["mspm0-metapac/mspm0g1506pm"] | 204 | mspm0g1505rgz = ["mspm0-metapac/mspm0g1505rgz"] |
| 209 | mspm0g1506pt = ["mspm0-metapac/mspm0g1506pt"] | 205 | mspm0g1505pt = ["mspm0-metapac/mspm0g1505pt"] |
| 206 | mspm0g1505pm = ["mspm0-metapac/mspm0g1505pm"] | ||
| 210 | mspm0g1506rge = ["mspm0-metapac/mspm0g1506rge"] | 207 | mspm0g1506rge = ["mspm0-metapac/mspm0g1506rge"] |
| 211 | mspm0g1506rgz = ["mspm0-metapac/mspm0g1506rgz"] | ||
| 212 | mspm0g1506rhb = ["mspm0-metapac/mspm0g1506rhb"] | 208 | mspm0g1506rhb = ["mspm0-metapac/mspm0g1506rhb"] |
| 213 | mspm0g1507pm = ["mspm0-metapac/mspm0g1507pm"] | 209 | mspm0g1506rgz = ["mspm0-metapac/mspm0g1506rgz"] |
| 214 | mspm0g1507pt = ["mspm0-metapac/mspm0g1507pt"] | 210 | mspm0g1506pt = ["mspm0-metapac/mspm0g1506pt"] |
| 211 | mspm0g1506pm = ["mspm0-metapac/mspm0g1506pm"] | ||
| 215 | mspm0g1507rge = ["mspm0-metapac/mspm0g1507rge"] | 212 | mspm0g1507rge = ["mspm0-metapac/mspm0g1507rge"] |
| 216 | mspm0g1507rgz = ["mspm0-metapac/mspm0g1507rgz"] | ||
| 217 | mspm0g1507rhb = ["mspm0-metapac/mspm0g1507rhb"] | 213 | mspm0g1507rhb = ["mspm0-metapac/mspm0g1507rhb"] |
| 214 | mspm0g1507rgz = ["mspm0-metapac/mspm0g1507rgz"] | ||
| 215 | mspm0g1507pt = ["mspm0-metapac/mspm0g1507pt"] | ||
| 216 | mspm0g1507pm = ["mspm0-metapac/mspm0g1507pm"] | ||
| 218 | mspm0g1507ycj = ["mspm0-metapac/mspm0g1507ycj"] | 217 | mspm0g1507ycj = ["mspm0-metapac/mspm0g1507ycj"] |
| 219 | mspm0g1519rgz = ["mspm0-metapac/mspm0g1519rgz"] | 218 | mspm0g1518rhb = ["mspm0-metapac/mspm0g1518rhb"] |
| 219 | mspm0g1518rgz = ["mspm0-metapac/mspm0g1518rgz"] | ||
| 220 | mspm0g1518pt = ["mspm0-metapac/mspm0g1518pt"] | ||
| 221 | mspm0g1518pm = ["mspm0-metapac/mspm0g1518pm"] | ||
| 222 | mspm0g1518pz = ["mspm0-metapac/mspm0g1518pz"] | ||
| 223 | mspm0g1518pn = ["mspm0-metapac/mspm0g1518pn"] | ||
| 224 | mspm0g1518zaw = ["mspm0-metapac/mspm0g1518zaw"] | ||
| 220 | mspm0g1519rhb = ["mspm0-metapac/mspm0g1519rhb"] | 225 | mspm0g1519rhb = ["mspm0-metapac/mspm0g1519rhb"] |
| 226 | mspm0g1519rgz = ["mspm0-metapac/mspm0g1519rgz"] | ||
| 227 | mspm0g1519pt = ["mspm0-metapac/mspm0g1519pt"] | ||
| 228 | mspm0g1519pm = ["mspm0-metapac/mspm0g1519pm"] | ||
| 229 | mspm0g1519pz = ["mspm0-metapac/mspm0g1519pz"] | ||
| 230 | mspm0g1519pn = ["mspm0-metapac/mspm0g1519pn"] | ||
| 221 | mspm0g3105dgs20 = ["mspm0-metapac/mspm0g3105dgs20"] | 231 | mspm0g3105dgs20 = ["mspm0-metapac/mspm0g3105dgs20"] |
| 222 | mspm0g3105dgs28 = ["mspm0-metapac/mspm0g3105dgs28"] | 232 | mspm0g3105dgs28 = ["mspm0-metapac/mspm0g3105dgs28"] |
| 223 | mspm0g3105rhb = ["mspm0-metapac/mspm0g3105rhb"] | 233 | mspm0g3105rhb = ["mspm0-metapac/mspm0g3105rhb"] |
| @@ -228,77 +238,92 @@ mspm0g3107dgs20 = ["mspm0-metapac/mspm0g3107dgs20"] | |||
| 228 | mspm0g3107dgs28 = ["mspm0-metapac/mspm0g3107dgs28"] | 238 | mspm0g3107dgs28 = ["mspm0-metapac/mspm0g3107dgs28"] |
| 229 | mspm0g3107rhb = ["mspm0-metapac/mspm0g3107rhb"] | 239 | mspm0g3107rhb = ["mspm0-metapac/mspm0g3107rhb"] |
| 230 | mspm0g3505dgs28 = ["mspm0-metapac/mspm0g3505dgs28"] | 240 | mspm0g3505dgs28 = ["mspm0-metapac/mspm0g3505dgs28"] |
| 231 | mspm0g3505pm = ["mspm0-metapac/mspm0g3505pm"] | ||
| 232 | mspm0g3505pt = ["mspm0-metapac/mspm0g3505pt"] | ||
| 233 | mspm0g3505rgz = ["mspm0-metapac/mspm0g3505rgz"] | ||
| 234 | mspm0g3505rhb = ["mspm0-metapac/mspm0g3505rhb"] | 241 | mspm0g3505rhb = ["mspm0-metapac/mspm0g3505rhb"] |
| 242 | mspm0g3505rgz = ["mspm0-metapac/mspm0g3505rgz"] | ||
| 243 | mspm0g3505pt = ["mspm0-metapac/mspm0g3505pt"] | ||
| 244 | mspm0g3505pm = ["mspm0-metapac/mspm0g3505pm"] | ||
| 235 | mspm0g3506dgs28 = ["mspm0-metapac/mspm0g3506dgs28"] | 245 | mspm0g3506dgs28 = ["mspm0-metapac/mspm0g3506dgs28"] |
| 236 | mspm0g3506pm = ["mspm0-metapac/mspm0g3506pm"] | ||
| 237 | mspm0g3506pt = ["mspm0-metapac/mspm0g3506pt"] | ||
| 238 | mspm0g3506rgz = ["mspm0-metapac/mspm0g3506rgz"] | ||
| 239 | mspm0g3506rhb = ["mspm0-metapac/mspm0g3506rhb"] | 246 | mspm0g3506rhb = ["mspm0-metapac/mspm0g3506rhb"] |
| 247 | mspm0g3506rgz = ["mspm0-metapac/mspm0g3506rgz"] | ||
| 248 | mspm0g3506pt = ["mspm0-metapac/mspm0g3506pt"] | ||
| 249 | mspm0g3506pm = ["mspm0-metapac/mspm0g3506pm"] | ||
| 240 | mspm0g3507dgs28 = ["mspm0-metapac/mspm0g3507dgs28"] | 250 | mspm0g3507dgs28 = ["mspm0-metapac/mspm0g3507dgs28"] |
| 241 | mspm0g3507pm = ["mspm0-metapac/mspm0g3507pm"] | ||
| 242 | mspm0g3507pt = ["mspm0-metapac/mspm0g3507pt"] | ||
| 243 | mspm0g3507rgz = ["mspm0-metapac/mspm0g3507rgz"] | ||
| 244 | mspm0g3507rhb = ["mspm0-metapac/mspm0g3507rhb"] | 251 | mspm0g3507rhb = ["mspm0-metapac/mspm0g3507rhb"] |
| 252 | mspm0g3507rgz = ["mspm0-metapac/mspm0g3507rgz"] | ||
| 253 | mspm0g3507pt = ["mspm0-metapac/mspm0g3507pt"] | ||
| 254 | mspm0g3507pm = ["mspm0-metapac/mspm0g3507pm"] | ||
| 255 | mspm0g3518rhb = ["mspm0-metapac/mspm0g3518rhb"] | ||
| 256 | mspm0g3518rgz = ["mspm0-metapac/mspm0g3518rgz"] | ||
| 257 | mspm0g3518pt = ["mspm0-metapac/mspm0g3518pt"] | ||
| 258 | mspm0g3518pm = ["mspm0-metapac/mspm0g3518pm"] | ||
| 259 | mspm0g3518pz = ["mspm0-metapac/mspm0g3518pz"] | ||
| 260 | mspm0g3518pn = ["mspm0-metapac/mspm0g3518pn"] | ||
| 261 | mspm0g3519rhb = ["mspm0-metapac/mspm0g3519rhb"] | ||
| 262 | mspm0g3519rgz = ["mspm0-metapac/mspm0g3519rgz"] | ||
| 263 | mspm0g3519pt = ["mspm0-metapac/mspm0g3519pt"] | ||
| 245 | mspm0g3519pm = ["mspm0-metapac/mspm0g3519pm"] | 264 | mspm0g3519pm = ["mspm0-metapac/mspm0g3519pm"] |
| 246 | mspm0g3519pn = ["mspm0-metapac/mspm0g3519pn"] | ||
| 247 | mspm0g3519pz = ["mspm0-metapac/mspm0g3519pz"] | 265 | mspm0g3519pz = ["mspm0-metapac/mspm0g3519pz"] |
| 248 | mspm0g3519rgz = ["mspm0-metapac/mspm0g3519rgz"] | 266 | mspm0g3519pn = ["mspm0-metapac/mspm0g3519pn"] |
| 249 | mspm0g3519rhb = ["mspm0-metapac/mspm0g3519rhb"] | 267 | mspm0g3519zaw = ["mspm0-metapac/mspm0g3519zaw"] |
| 268 | mspm0g5187rhb = ["mspm0-metapac/mspm0g5187rhb"] | ||
| 269 | mspm0g5187rgz = ["mspm0-metapac/mspm0g5187rgz"] | ||
| 270 | mspm0g5187pt = ["mspm0-metapac/mspm0g5187pt"] | ||
| 271 | mspm0g5187pm = ["mspm0-metapac/mspm0g5187pm"] | ||
| 272 | mspm0g5187ruy = ["mspm0-metapac/mspm0g5187ruy"] | ||
| 273 | mspm0g5187ycj = ["mspm0-metapac/mspm0g5187ycj"] | ||
| 274 | mspm0g5187rge = ["mspm0-metapac/mspm0g5187rge"] | ||
| 250 | mspm0h3216pt = ["mspm0-metapac/mspm0h3216pt"] | 275 | mspm0h3216pt = ["mspm0-metapac/mspm0h3216pt"] |
| 251 | mspm0l1105dgs20 = ["mspm0-metapac/mspm0l1105dgs20"] | 276 | mspm0l1105dgs20 = ["mspm0-metapac/mspm0l1105dgs20"] |
| 252 | mspm0l1105dgs28 = ["mspm0-metapac/mspm0l1105dgs28"] | 277 | mspm0l1105dgs28 = ["mspm0-metapac/mspm0l1105dgs28"] |
| 253 | mspm0l1105dyy = ["mspm0-metapac/mspm0l1105dyy"] | ||
| 254 | mspm0l1105rge = ["mspm0-metapac/mspm0l1105rge"] | 278 | mspm0l1105rge = ["mspm0-metapac/mspm0l1105rge"] |
| 255 | mspm0l1105rtr = ["mspm0-metapac/mspm0l1105rtr"] | 279 | mspm0l1105rtr = ["mspm0-metapac/mspm0l1105rtr"] |
| 280 | mspm0l1105dyy = ["mspm0-metapac/mspm0l1105dyy"] | ||
| 281 | mspm0l1106rhb = ["mspm0-metapac/mspm0l1106rhb"] | ||
| 256 | mspm0l1106dgs20 = ["mspm0-metapac/mspm0l1106dgs20"] | 282 | mspm0l1106dgs20 = ["mspm0-metapac/mspm0l1106dgs20"] |
| 257 | mspm0l1106dgs28 = ["mspm0-metapac/mspm0l1106dgs28"] | 283 | mspm0l1106dgs28 = ["mspm0-metapac/mspm0l1106dgs28"] |
| 258 | mspm0l1106dyy = ["mspm0-metapac/mspm0l1106dyy"] | ||
| 259 | mspm0l1106rge = ["mspm0-metapac/mspm0l1106rge"] | 284 | mspm0l1106rge = ["mspm0-metapac/mspm0l1106rge"] |
| 260 | mspm0l1106rhb = ["mspm0-metapac/mspm0l1106rhb"] | ||
| 261 | mspm0l1106rtr = ["mspm0-metapac/mspm0l1106rtr"] | 285 | mspm0l1106rtr = ["mspm0-metapac/mspm0l1106rtr"] |
| 262 | mspm0l1227pm = ["mspm0-metapac/mspm0l1227pm"] | 286 | mspm0l1106dyy = ["mspm0-metapac/mspm0l1106dyy"] |
| 287 | mspm0l1227rhb = ["mspm0-metapac/mspm0l1227rhb"] | ||
| 263 | mspm0l1227pn = ["mspm0-metapac/mspm0l1227pn"] | 288 | mspm0l1227pn = ["mspm0-metapac/mspm0l1227pn"] |
| 289 | mspm0l1227rgz = ["mspm0-metapac/mspm0l1227rgz"] | ||
| 264 | mspm0l1227pt = ["mspm0-metapac/mspm0l1227pt"] | 290 | mspm0l1227pt = ["mspm0-metapac/mspm0l1227pt"] |
| 291 | mspm0l1227pm = ["mspm0-metapac/mspm0l1227pm"] | ||
| 265 | mspm0l1227rge = ["mspm0-metapac/mspm0l1227rge"] | 292 | mspm0l1227rge = ["mspm0-metapac/mspm0l1227rge"] |
| 266 | mspm0l1227rgz = ["mspm0-metapac/mspm0l1227rgz"] | 293 | mspm0l1228rhb = ["mspm0-metapac/mspm0l1228rhb"] |
| 267 | mspm0l1227rhb = ["mspm0-metapac/mspm0l1227rhb"] | ||
| 268 | mspm0l1228pm = ["mspm0-metapac/mspm0l1228pm"] | ||
| 269 | mspm0l1228pn = ["mspm0-metapac/mspm0l1228pn"] | 294 | mspm0l1228pn = ["mspm0-metapac/mspm0l1228pn"] |
| 295 | mspm0l1228rgz = ["mspm0-metapac/mspm0l1228rgz"] | ||
| 270 | mspm0l1228pt = ["mspm0-metapac/mspm0l1228pt"] | 296 | mspm0l1228pt = ["mspm0-metapac/mspm0l1228pt"] |
| 297 | mspm0l1228pm = ["mspm0-metapac/mspm0l1228pm"] | ||
| 271 | mspm0l1228rge = ["mspm0-metapac/mspm0l1228rge"] | 298 | mspm0l1228rge = ["mspm0-metapac/mspm0l1228rge"] |
| 272 | mspm0l1228rgz = ["mspm0-metapac/mspm0l1228rgz"] | ||
| 273 | mspm0l1228rhb = ["mspm0-metapac/mspm0l1228rhb"] | ||
| 274 | mspm0l1303rge = ["mspm0-metapac/mspm0l1303rge"] | 299 | mspm0l1303rge = ["mspm0-metapac/mspm0l1303rge"] |
| 300 | mspm0l1304rhb = ["mspm0-metapac/mspm0l1304rhb"] | ||
| 275 | mspm0l1304dgs20 = ["mspm0-metapac/mspm0l1304dgs20"] | 301 | mspm0l1304dgs20 = ["mspm0-metapac/mspm0l1304dgs20"] |
| 276 | mspm0l1304dgs28 = ["mspm0-metapac/mspm0l1304dgs28"] | 302 | mspm0l1304dgs28 = ["mspm0-metapac/mspm0l1304dgs28"] |
| 277 | mspm0l1304dyy = ["mspm0-metapac/mspm0l1304dyy"] | ||
| 278 | mspm0l1304rge = ["mspm0-metapac/mspm0l1304rge"] | 303 | mspm0l1304rge = ["mspm0-metapac/mspm0l1304rge"] |
| 279 | mspm0l1304rhb = ["mspm0-metapac/mspm0l1304rhb"] | ||
| 280 | mspm0l1304rtr = ["mspm0-metapac/mspm0l1304rtr"] | 304 | mspm0l1304rtr = ["mspm0-metapac/mspm0l1304rtr"] |
| 305 | mspm0l1304dyy = ["mspm0-metapac/mspm0l1304dyy"] | ||
| 281 | mspm0l1305dgs20 = ["mspm0-metapac/mspm0l1305dgs20"] | 306 | mspm0l1305dgs20 = ["mspm0-metapac/mspm0l1305dgs20"] |
| 282 | mspm0l1305dgs28 = ["mspm0-metapac/mspm0l1305dgs28"] | 307 | mspm0l1305dgs28 = ["mspm0-metapac/mspm0l1305dgs28"] |
| 283 | mspm0l1305dyy = ["mspm0-metapac/mspm0l1305dyy"] | ||
| 284 | mspm0l1305rge = ["mspm0-metapac/mspm0l1305rge"] | 308 | mspm0l1305rge = ["mspm0-metapac/mspm0l1305rge"] |
| 285 | mspm0l1305rtr = ["mspm0-metapac/mspm0l1305rtr"] | 309 | mspm0l1305rtr = ["mspm0-metapac/mspm0l1305rtr"] |
| 310 | mspm0l1305dyy = ["mspm0-metapac/mspm0l1305dyy"] | ||
| 311 | mspm0l1306rhb = ["mspm0-metapac/mspm0l1306rhb"] | ||
| 286 | mspm0l1306dgs20 = ["mspm0-metapac/mspm0l1306dgs20"] | 312 | mspm0l1306dgs20 = ["mspm0-metapac/mspm0l1306dgs20"] |
| 287 | mspm0l1306dgs28 = ["mspm0-metapac/mspm0l1306dgs28"] | 313 | mspm0l1306dgs28 = ["mspm0-metapac/mspm0l1306dgs28"] |
| 288 | mspm0l1306dyy = ["mspm0-metapac/mspm0l1306dyy"] | ||
| 289 | mspm0l1306rge = ["mspm0-metapac/mspm0l1306rge"] | 314 | mspm0l1306rge = ["mspm0-metapac/mspm0l1306rge"] |
| 290 | mspm0l1306rhb = ["mspm0-metapac/mspm0l1306rhb"] | 315 | mspm0l1306dyy = ["mspm0-metapac/mspm0l1306dyy"] |
| 291 | mspm0l1343dgs20 = ["mspm0-metapac/mspm0l1343dgs20"] | 316 | mspm0l1343dgs20 = ["mspm0-metapac/mspm0l1343dgs20"] |
| 292 | mspm0l1344dgs20 = ["mspm0-metapac/mspm0l1344dgs20"] | 317 | mspm0l1344dgs20 = ["mspm0-metapac/mspm0l1344dgs20"] |
| 293 | mspm0l1345dgs28 = ["mspm0-metapac/mspm0l1345dgs28"] | 318 | mspm0l1345dgs28 = ["mspm0-metapac/mspm0l1345dgs28"] |
| 294 | mspm0l1346dgs28 = ["mspm0-metapac/mspm0l1346dgs28"] | 319 | mspm0l1346dgs28 = ["mspm0-metapac/mspm0l1346dgs28"] |
| 320 | mspm0l2227rgz = ["mspm0-metapac/mspm0l2227rgz"] | ||
| 321 | mspm0l2227pt = ["mspm0-metapac/mspm0l2227pt"] | ||
| 295 | mspm0l2227pm = ["mspm0-metapac/mspm0l2227pm"] | 322 | mspm0l2227pm = ["mspm0-metapac/mspm0l2227pm"] |
| 296 | mspm0l2227pn = ["mspm0-metapac/mspm0l2227pn"] | 323 | mspm0l2227pn = ["mspm0-metapac/mspm0l2227pn"] |
| 297 | mspm0l2227pt = ["mspm0-metapac/mspm0l2227pt"] | 324 | mspm0l2228rgz = ["mspm0-metapac/mspm0l2228rgz"] |
| 298 | mspm0l2227rgz = ["mspm0-metapac/mspm0l2227rgz"] | 325 | mspm0l2228pt = ["mspm0-metapac/mspm0l2228pt"] |
| 299 | mspm0l2228pm = ["mspm0-metapac/mspm0l2228pm"] | 326 | mspm0l2228pm = ["mspm0-metapac/mspm0l2228pm"] |
| 300 | mspm0l2228pn = ["mspm0-metapac/mspm0l2228pn"] | 327 | mspm0l2228pn = ["mspm0-metapac/mspm0l2228pn"] |
| 301 | mspm0l2228pt = ["mspm0-metapac/mspm0l2228pt"] | ||
| 302 | mspm0l2228rgz = ["mspm0-metapac/mspm0l2228rgz"] | ||
| 303 | msps003f3pw20 = ["mspm0-metapac/msps003f3pw20"] | 328 | msps003f3pw20 = ["mspm0-metapac/msps003f3pw20"] |
| 304 | msps003f4pw20 = ["mspm0-metapac/msps003f4pw20"] | 329 | msps003f4pw20 = ["mspm0-metapac/msps003f4pw20"] \ No newline at end of file |
diff --git a/embassy-mspm0/build.rs b/embassy-mspm0/build.rs index 0fe056c4e..ac40adbdf 100644 --- a/embassy-mspm0/build.rs +++ b/embassy-mspm0/build.rs | |||
| @@ -31,7 +31,7 @@ fn generate_code(cfgs: &mut CfgSet) { | |||
| 31 | PathBuf::from(env::var_os("OUT_DIR").unwrap()).display(), | 31 | PathBuf::from(env::var_os("OUT_DIR").unwrap()).display(), |
| 32 | ); | 32 | ); |
| 33 | 33 | ||
| 34 | cfgs.declare_all(&["gpio_pb", "gpio_pc", "int_group1"]); | 34 | cfgs.declare_all(&["gpio_pb", "gpio_pc", "int_group1", "unicomm"]); |
| 35 | 35 | ||
| 36 | let chip_name = match env::vars() | 36 | let chip_name = match env::vars() |
| 37 | .map(|(a, _)| a) | 37 | .map(|(a, _)| a) |
| @@ -116,6 +116,10 @@ fn get_chip_cfgs(chip_name: &str) -> Vec<String> { | |||
| 116 | cfgs.push("mspm0g351x".to_string()); | 116 | cfgs.push("mspm0g351x".to_string()); |
| 117 | } | 117 | } |
| 118 | 118 | ||
| 119 | if chip_name.starts_with("mspm0g518") { | ||
| 120 | cfgs.push("mspm0g518x".to_string()); | ||
| 121 | } | ||
| 122 | |||
| 119 | if chip_name.starts_with("mspm0h321") { | 123 | if chip_name.starts_with("mspm0h321") { |
| 120 | cfgs.push("mspm0h321x".to_string()); | 124 | cfgs.push("mspm0h321x".to_string()); |
| 121 | } | 125 | } |
| @@ -300,6 +304,15 @@ fn get_singletons(cfgs: &mut common::CfgSet) -> Vec<Singleton> { | |||
| 300 | // by the HAL. | 304 | // by the HAL. |
| 301 | "iomux" | "cpuss" => true, | 305 | "iomux" | "cpuss" => true, |
| 302 | 306 | ||
| 307 | // Unicomm instances get their own singletons, but we need to enable a cfg for unicomm drivers. | ||
| 308 | "unicomm" => { | ||
| 309 | cfgs.enable("unicomm"); | ||
| 310 | false | ||
| 311 | } | ||
| 312 | |||
| 313 | // TODO: Remove after TIMB is fixed | ||
| 314 | "tim" if peripheral.name.starts_with("TIMB") => true, | ||
| 315 | |||
| 303 | _ => false, | 316 | _ => false, |
| 304 | }; | 317 | }; |
| 305 | 318 | ||
| @@ -423,6 +436,8 @@ fn time_driver(singletons: &mut Vec<Singleton>, cfgs: &mut CfgSet) { | |||
| 423 | // Verify the selected timer is available | 436 | // Verify the selected timer is available |
| 424 | let selected_timer = match time_driver.as_ref().map(|x| x.as_ref()) { | 437 | let selected_timer = match time_driver.as_ref().map(|x| x.as_ref()) { |
| 425 | None => "", | 438 | None => "", |
| 439 | // TODO: Fix TIMB0 | ||
| 440 | // Some("timb0") => "TIMB0", | ||
| 426 | Some("timg0") => "TIMG0", | 441 | Some("timg0") => "TIMG0", |
| 427 | Some("timg1") => "TIMG1", | 442 | Some("timg1") => "TIMG1", |
| 428 | Some("timg2") => "TIMG2", | 443 | Some("timg2") => "TIMG2", |
| @@ -440,16 +455,17 @@ fn time_driver(singletons: &mut Vec<Singleton>, cfgs: &mut CfgSet) { | |||
| 440 | Some("tima1") => "TIMA1", | 455 | Some("tima1") => "TIMA1", |
| 441 | Some("any") => { | 456 | Some("any") => { |
| 442 | // Order of timer candidates: | 457 | // Order of timer candidates: |
| 443 | // 1. 16-bit, 2 channel | 458 | // 1. Basic timers |
| 444 | // 2. 16-bit, 2 channel with shadow registers | 459 | // 2. 16-bit, 2 channel |
| 445 | // 3. 16-bit, 4 channel | 460 | // 3. 16-bit, 2 channel with shadow registers |
| 446 | // 4. 16-bit with QEI | 461 | // 4. 16-bit, 4 channel |
| 447 | // 5. Advanced timers | 462 | // 5. 16-bit with QEI |
| 463 | // 6. Advanced timers | ||
| 448 | // | 464 | // |
| 449 | // TODO: Select RTC first if available | ||
| 450 | // TODO: 32-bit timers are not considered yet | 465 | // TODO: 32-bit timers are not considered yet |
| 451 | [ | 466 | [ |
| 452 | // 16-bit, 2 channel | 467 | // basic timers. No PWM pins |
| 468 | // "TIMB0", // 16-bit, 2 channel | ||
| 453 | "TIMG0", "TIMG1", "TIMG2", "TIMG3", // 16-bit, 2 channel with shadow registers | 469 | "TIMG0", "TIMG1", "TIMG2", "TIMG3", // 16-bit, 2 channel with shadow registers |
| 454 | "TIMG4", "TIMG5", "TIMG6", "TIMG7", // 16-bit, 4 channel | 470 | "TIMG4", "TIMG5", "TIMG6", "TIMG7", // 16-bit, 4 channel |
| 455 | "TIMG14", // 16-bit with QEI | 471 | "TIMG14", // 16-bit with QEI |
| @@ -519,6 +535,8 @@ fn generate_timers() -> TokenStream { | |||
| 519 | .peripherals | 535 | .peripherals |
| 520 | .iter() | 536 | .iter() |
| 521 | .filter(|p| p.name.starts_with("TIM")) | 537 | .filter(|p| p.name.starts_with("TIM")) |
| 538 | // TODO: Fix TIMB when used at time driver. | ||
| 539 | .filter(|p| !p.name.starts_with("TIMB")) | ||
| 522 | .map(|peripheral| { | 540 | .map(|peripheral| { |
| 523 | let name = Ident::new(&peripheral.name, Span::call_site()); | 541 | let name = Ident::new(&peripheral.name, Span::call_site()); |
| 524 | let timers = &*TIMERS; | 542 | let timers = &*TIMERS; |
| @@ -730,6 +748,24 @@ struct TimerDesc { | |||
| 730 | const TIMERS: LazyLock<HashMap<String, TimerDesc>> = LazyLock::new(|| { | 748 | const TIMERS: LazyLock<HashMap<String, TimerDesc>> = LazyLock::new(|| { |
| 731 | let mut map = HashMap::new(); | 749 | let mut map = HashMap::new(); |
| 732 | map.insert( | 750 | map.insert( |
| 751 | "TIMB0".into(), | ||
| 752 | TimerDesc { | ||
| 753 | bits: 16, | ||
| 754 | prescaler: true, | ||
| 755 | repeat_counter: false, | ||
| 756 | ccp_channels_internal: 2, | ||
| 757 | ccp_channels_external: 2, | ||
| 758 | external_pwm_channels: 0, | ||
| 759 | phase_load: false, | ||
| 760 | shadow_load: false, | ||
| 761 | shadow_ccs: false, | ||
| 762 | deadband: false, | ||
| 763 | fault_handler: false, | ||
| 764 | qei_hall: false, | ||
| 765 | }, | ||
| 766 | ); | ||
| 767 | |||
| 768 | map.insert( | ||
| 733 | "TIMG0".into(), | 769 | "TIMG0".into(), |
| 734 | TimerDesc { | 770 | TimerDesc { |
| 735 | bits: 16, | 771 | bits: 16, |
diff --git a/embassy-mspm0/src/gpio.rs b/embassy-mspm0/src/gpio.rs index d8eb42dc2..709102c59 100644 --- a/embassy-mspm0/src/gpio.rs +++ b/embassy-mspm0/src/gpio.rs | |||
| @@ -841,6 +841,7 @@ impl<'d> embedded_hal_async::digital::Wait for OutputOpenDrain<'d> { | |||
| 841 | } | 841 | } |
| 842 | } | 842 | } |
| 843 | 843 | ||
| 844 | #[cfg_attr(mspm0g518x, allow(dead_code))] | ||
| 844 | #[derive(Copy, Clone)] | 845 | #[derive(Copy, Clone)] |
| 845 | pub struct PfType { | 846 | pub struct PfType { |
| 846 | pull: Pull, | 847 | pull: Pull, |
| @@ -948,6 +949,7 @@ pub(crate) trait SealedPin { | |||
| 948 | }); | 949 | }); |
| 949 | } | 950 | } |
| 950 | 951 | ||
| 952 | #[cfg_attr(mspm0g518x, allow(dead_code))] | ||
| 951 | fn update_pf(&self, ty: PfType) { | 953 | fn update_pf(&self, ty: PfType) { |
| 952 | let pincm = pac::IOMUX.pincm(self._pin_cm() as usize); | 954 | let pincm = pac::IOMUX.pincm(self._pin_cm() as usize); |
| 953 | let pf = pincm.read().pf(); | 955 | let pf = pincm.read().pf(); |
| @@ -955,6 +957,7 @@ pub(crate) trait SealedPin { | |||
| 955 | set_pf(self._pin_cm() as usize, pf, ty); | 957 | set_pf(self._pin_cm() as usize, pf, ty); |
| 956 | } | 958 | } |
| 957 | 959 | ||
| 960 | #[cfg_attr(mspm0g518x, allow(dead_code))] | ||
| 958 | fn set_as_pf(&self, pf: u8, ty: PfType) { | 961 | fn set_as_pf(&self, pf: u8, ty: PfType) { |
| 959 | set_pf(self._pin_cm() as usize, pf, ty) | 962 | set_pf(self._pin_cm() as usize, pf, ty) |
| 960 | } | 963 | } |
| @@ -967,6 +970,7 @@ pub(crate) trait SealedPin { | |||
| 967 | /// | 970 | /// |
| 968 | /// Note that this also disables the internal weak pull-up and pull-down resistors. | 971 | /// Note that this also disables the internal weak pull-up and pull-down resistors. |
| 969 | #[inline] | 972 | #[inline] |
| 973 | #[cfg_attr(mspm0g518x, allow(dead_code))] | ||
| 970 | fn set_as_disconnected(&self) { | 974 | fn set_as_disconnected(&self) { |
| 971 | self.set_as_analog(); | 975 | self.set_as_analog(); |
| 972 | } | 976 | } |
diff --git a/embassy-mspm0/src/i2c_target.rs b/embassy-mspm0/src/i2c_target.rs index 86be91415..e371fa903 100644 --- a/embassy-mspm0/src/i2c_target.rs +++ b/embassy-mspm0/src/i2c_target.rs | |||
| @@ -12,12 +12,13 @@ use embassy_embedded_hal::SetConfig; | |||
| 12 | use mspm0_metapac::i2c::vals::CpuIntIidxStat; | 12 | use mspm0_metapac::i2c::vals::CpuIntIidxStat; |
| 13 | 13 | ||
| 14 | use crate::gpio::{AnyPin, SealedPin}; | 14 | use crate::gpio::{AnyPin, SealedPin}; |
| 15 | use crate::interrupt::InterruptExt; | ||
| 16 | use crate::mode::{Async, Blocking, Mode}; | ||
| 17 | use crate::pac::{self, i2c::vals}; | ||
| 18 | use crate::{i2c, i2c_target, interrupt, Peri}; | ||
| 19 | // Re-use I2c controller types | 15 | // Re-use I2c controller types |
| 20 | use crate::i2c::{ClockSel, ConfigError, Info, Instance, InterruptHandler, SclPin, SdaPin, State}; | 16 | use crate::i2c::{ClockSel, ConfigError, Info, Instance, InterruptHandler, SclPin, SdaPin, State}; |
| 17 | use crate::interrupt::InterruptExt; | ||
| 18 | use crate::mode::{Async, Blocking, Mode}; | ||
| 19 | use crate::pac::i2c::vals; | ||
| 20 | use crate::pac::{self}; | ||
| 21 | use crate::{Peri, i2c, i2c_target, interrupt}; | ||
| 21 | 22 | ||
| 22 | #[non_exhaustive] | 23 | #[non_exhaustive] |
| 23 | #[derive(Clone, Copy, PartialEq, Eq, Debug)] | 24 | #[derive(Clone, Copy, PartialEq, Eq, Debug)] |
diff --git a/embassy-mspm0/src/lib.rs b/embassy-mspm0/src/lib.rs index c43c81853..548fb33ca 100644 --- a/embassy-mspm0/src/lib.rs +++ b/embassy-mspm0/src/lib.rs | |||
| @@ -8,20 +8,23 @@ | |||
| 8 | )] | 8 | )] |
| 9 | #![doc = include_str!("../README.md")] | 9 | #![doc = include_str!("../README.md")] |
| 10 | 10 | ||
| 11 | // This mod MUST go first, so that the others see its macros. | 11 | // These mods MUST go first, so that the others see the macros. |
| 12 | pub(crate) mod fmt; | 12 | pub(crate) mod fmt; |
| 13 | |||
| 14 | // This must be declared early as well for | ||
| 15 | mod macros; | 13 | mod macros; |
| 16 | 14 | ||
| 17 | pub mod adc; | 15 | pub mod adc; |
| 18 | pub mod dma; | 16 | pub mod dma; |
| 19 | pub mod gpio; | 17 | pub mod gpio; |
| 18 | // TODO: I2C unicomm | ||
| 19 | #[cfg(not(unicomm))] | ||
| 20 | pub mod i2c; | 20 | pub mod i2c; |
| 21 | #[cfg(not(unicomm))] | ||
| 21 | pub mod i2c_target; | 22 | pub mod i2c_target; |
| 22 | #[cfg(any(mspm0g150x, mspm0g151x, mspm0g350x, mspm0g351x))] | 23 | #[cfg(any(mspm0g150x, mspm0g151x, mspm0g350x, mspm0g351x))] |
| 23 | pub mod mathacl; | 24 | pub mod mathacl; |
| 24 | pub mod timer; | 25 | pub mod timer; |
| 26 | // TODO: UART unicomm | ||
| 27 | #[cfg(not(unicomm))] | ||
| 25 | pub mod uart; | 28 | pub mod uart; |
| 26 | pub mod wwdt; | 29 | pub mod wwdt; |
| 27 | 30 | ||
| @@ -276,7 +279,7 @@ pub enum ResetCause { | |||
| 276 | /// WWDT0 violation | 279 | /// WWDT0 violation |
| 277 | BootrstWwdt0Violation, | 280 | BootrstWwdt0Violation, |
| 278 | /// WWDT1 violation (G-series only) | 281 | /// WWDT1 violation (G-series only) |
| 279 | #[cfg(any(mspm0g110x, mspm0g150x, mspm0g151x, mspm0g310x, mspm0g350x, mspm0g351x))] | 282 | #[cfg(any(mspm0g110x, mspm0g150x, mspm0g151x, mspm0g310x, mspm0g350x, mspm0g351x, mspm0g518x))] |
| 280 | SysrstWwdt1Violation, | 283 | SysrstWwdt1Violation, |
| 281 | /// BSL exit (if present) | 284 | /// BSL exit (if present) |
| 282 | SysrstBslExit, | 285 | SysrstBslExit, |
| @@ -326,7 +329,8 @@ pub fn read_reset_cause() -> Result<ResetCause, u8> { | |||
| 326 | mspm0g151x, | 329 | mspm0g151x, |
| 327 | mspm0g310x, | 330 | mspm0g310x, |
| 328 | mspm0g350x, | 331 | mspm0g350x, |
| 329 | mspm0g351x | 332 | mspm0g351x, |
| 333 | mspm0g518x, | ||
| 330 | )))] | 334 | )))] |
| 331 | Id::BOOTNONPMUPARITY => Ok(BootrstNonPmuParityFault), | 335 | Id::BOOTNONPMUPARITY => Ok(BootrstNonPmuParityFault), |
| 332 | Id::BOOTCLKFAIL => Ok(BootrstClockFault), | 336 | Id::BOOTCLKFAIL => Ok(BootrstClockFault), |
| @@ -335,7 +339,7 @@ pub fn read_reset_cause() -> Result<ResetCause, u8> { | |||
| 335 | Id::BOOTWWDT0 => Ok(BootrstWwdt0Violation), | 339 | Id::BOOTWWDT0 => Ok(BootrstWwdt0Violation), |
| 336 | Id::SYSBSLEXIT => Ok(SysrstBslExit), | 340 | Id::SYSBSLEXIT => Ok(SysrstBslExit), |
| 337 | Id::SYSBSLENTRY => Ok(SysrstBslEntry), | 341 | Id::SYSBSLENTRY => Ok(SysrstBslEntry), |
| 338 | #[cfg(any(mspm0g110x, mspm0g150x, mspm0g151x, mspm0g310x, mspm0g350x, mspm0g351x))] | 342 | #[cfg(any(mspm0g110x, mspm0g150x, mspm0g151x, mspm0g310x, mspm0g350x, mspm0g351x, mspm0g518x))] |
| 339 | Id::SYSWWDT1 => Ok(SysrstWwdt1Violation), | 343 | Id::SYSWWDT1 => Ok(SysrstWwdt1Violation), |
| 340 | #[cfg(not(any(mspm0c110x, mspm0c1105_c1106, mspm0g351x, mspm0g151x)))] | 344 | #[cfg(not(any(mspm0c110x, mspm0c1105_c1106, mspm0g351x, mspm0g151x)))] |
| 341 | Id::SYSFLASHECC => Ok(SysrstFlashEccError), | 345 | Id::SYSFLASHECC => Ok(SysrstFlashEccError), |
diff --git a/embassy-mspm0/src/macros.rs b/embassy-mspm0/src/macros.rs index 5355e7d59..3a12a528a 100644 --- a/embassy-mspm0/src/macros.rs +++ b/embassy-mspm0/src/macros.rs | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | #![macro_use] | 1 | #![macro_use] |
| 2 | 2 | ||
| 3 | #[allow(unused)] | ||
| 3 | macro_rules! new_pin { | 4 | macro_rules! new_pin { |
| 4 | ($name: ident, $pf_type: expr) => {{ | 5 | ($name: ident, $pf_type: expr) => {{ |
| 5 | let pin = $name; | 6 | let pin = $name; |
diff --git a/embassy-mspm0/src/time_driver.rs b/embassy-mspm0/src/time_driver.rs index 0743c667b..b42ff61c2 100644 --- a/embassy-mspm0/src/time_driver.rs +++ b/embassy-mspm0/src/time_driver.rs | |||
| @@ -16,6 +16,8 @@ use crate::timer::SealedTimer; | |||
| 16 | compile_error!("TIMG12 and TIMG13 are not supported by the time driver yet"); | 16 | compile_error!("TIMG12 and TIMG13 are not supported by the time driver yet"); |
| 17 | 17 | ||
| 18 | // Currently TIMG12 and TIMG13 are excluded because those are 32-bit timers. | 18 | // Currently TIMG12 and TIMG13 are excluded because those are 32-bit timers. |
| 19 | #[cfg(time_driver_timb0)] | ||
| 20 | type T = peripherals::TIMB0; | ||
| 19 | #[cfg(time_driver_timg0)] | 21 | #[cfg(time_driver_timg0)] |
| 20 | type T = peripherals::TIMG0; | 22 | type T = peripherals::TIMG0; |
| 21 | #[cfg(time_driver_timg1)] | 23 | #[cfg(time_driver_timg1)] |
| @@ -333,6 +335,8 @@ pub(crate) fn init(cs: CriticalSection) { | |||
| 333 | DRIVER.init(cs); | 335 | DRIVER.init(cs); |
| 334 | } | 336 | } |
| 335 | 337 | ||
| 338 | // TODO: TIMB0 | ||
| 339 | |||
| 336 | #[cfg(time_driver_timg0)] | 340 | #[cfg(time_driver_timg0)] |
| 337 | #[interrupt] | 341 | #[interrupt] |
| 338 | fn TIMG0() { | 342 | fn TIMG0() { |
