aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-rp/Cargo.toml45
-rw-r--r--embassy-rp/src/lib.rs3
2 files changed, 33 insertions, 15 deletions
diff --git a/embassy-rp/Cargo.toml b/embassy-rp/Cargo.toml
index 93dad68ce..669d79f40 100644
--- a/embassy-rp/Cargo.toml
+++ b/embassy-rp/Cargo.toml
@@ -14,43 +14,57 @@ flavors = [
14 14
15[features] 15[features]
16default = [ "rt" ] 16default = [ "rt" ]
17## Enable the RP runtime.
17rt = [ "rp-pac/rt" ] 18rt = [ "rp-pac/rt" ]
18 19
20## Enable defmt
19defmt = ["dep:defmt", "embassy-usb-driver/defmt", "embassy-hal-internal/defmt"] 21defmt = ["dep:defmt", "embassy-usb-driver/defmt", "embassy-hal-internal/defmt"]
20 22
21# critical section that is safe for multicore use 23## critical section that is safe for multicore use
22critical-section-impl = ["critical-section/restore-state-u8"] 24critical-section-impl = ["critical-section/restore-state-u8"]
23 25
24# Reexport the PAC for the currently enabled chip at `embassy_rp::pac`. 26## Reexport the PAC for the currently enabled chip at `embassy_rp::pac`.
25# This is unstable because semver-minor (non-breaking) releases of embassy-rp may major-bump (breaking) the PAC version. 27## This is unstable because semver-minor (non-breaking) releases of embassy-rp may major-bump (breaking) the PAC version.
26# If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC. 28## If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
27# There are no plans to make this stable. 29## There are no plans to make this stable.
28unstable-pac = [] 30unstable-pac = []
29 31
32## Enable the timer for use with `embassy-time` with a 1MHz tick rate
30time-driver = [] 33time-driver = []
31 34
35## Enable ROM function cache
32rom-func-cache = [] 36rom-func-cache = []
37## Enable intrinsics
33intrinsics = [] 38intrinsics = []
39## Enable ROM v2 intrinsics
34rom-v2-intrinsics = [] 40rom-v2-intrinsics = []
35 41
36# boot2 flash chip support. if none of these is enabled we'll default to w25q080 (used on the pico) 42## Allow using QSPI pins as GPIO pins. This is mostly not what you want (because your flash lives there)
43## and would add both code and memory overhead when enabled needlessly.
44qspi-as-gpio = []
45
46## Indicate code is running from RAM.
47## Set this if all code is in RAM, and the cores never access memory-mapped flash memory through XIP.
48## This allows the flash driver to not force pausing execution on both cores when doing flash operations.
49run-from-ram = []
50
51#! ### boot2 flash chip support
52#! If none of these are enabled, w25q080 is used by default (used on the pico)
53## AT25SF128a
37boot2-at25sf128a = [] 54boot2-at25sf128a = []
55## GD25Q64cs
38boot2-gd25q64cs = [] 56boot2-gd25q64cs = []
57## generic-03h
39boot2-generic-03h = [] 58boot2-generic-03h = []
59## IS25LP080
40boot2-is25lp080 = [] 60boot2-is25lp080 = []
61## ram-memcpy
41boot2-ram-memcpy = [] 62boot2-ram-memcpy = []
63## W25Q080
42boot2-w25q080 = [] 64boot2-w25q080 = []
65## W25X10cl
43boot2-w25x10cl = [] 66boot2-w25x10cl = []
44 67
45# Allow using QSPI pins as GPIO pins. This is mostly not what you want (because your flash lives there)
46# and would add both code and memory overhead when enabled needlessly.
47qspi-as-gpio = []
48
49# Indicate code is running from RAM.
50# Set this if all code is in RAM, and the cores never access memory-mapped flash memory through XIP.
51# This allows the flash driver to not force pausing execution on both cores when doing flash operations.
52run-from-ram = []
53
54[dependencies] 68[dependencies]
55embassy-sync = { version = "0.5.0", path = "../embassy-sync" } 69embassy-sync = { version = "0.5.0", path = "../embassy-sync" }
56embassy-time = { version = "0.2", path = "../embassy-time", features = [ "tick-hz-1_000_000" ] } 70embassy-time = { version = "0.2", path = "../embassy-time", features = [ "tick-hz-1_000_000" ] }
@@ -85,6 +99,7 @@ embedded-hal-nb = { version = "=1.0.0-rc.3" }
85pio-proc = {version= "0.2" } 99pio-proc = {version= "0.2" }
86pio = {version= "0.2.1" } 100pio = {version= "0.2.1" }
87rp2040-boot2 = "0.3" 101rp2040-boot2 = "0.3"
102document-features = "0.2.7"
88 103
89[dev-dependencies] 104[dev-dependencies]
90embassy-executor = { version = "0.4.0", path = "../embassy-executor", features = ["arch-std", "executor-thread"] } 105embassy-executor = { version = "0.4.0", path = "../embassy-executor", features = ["arch-std", "executor-thread"] }
diff --git a/embassy-rp/src/lib.rs b/embassy-rp/src/lib.rs
index fdacf4965..0a3714777 100644
--- a/embassy-rp/src/lib.rs
+++ b/embassy-rp/src/lib.rs
@@ -3,6 +3,9 @@
3#![doc = include_str!("../README.md")] 3#![doc = include_str!("../README.md")]
4#![warn(missing_docs)] 4#![warn(missing_docs)]
5 5
6//! ## Feature flags
7#![doc = document_features::document_features!(feature_label = r#"<span class="stab portability"><code>{feature}</code></span>"#)]
8
6// This mod MUST go first, so that the others see its macros. 9// This mod MUST go first, so that the others see its macros.
7pub(crate) mod fmt; 10pub(crate) mod fmt;
8 11