nrf: add support for UICR configuration.
- APPROTECT enable/disable. Notably this fixes issues with nrf52-rev3 and nrf53 from locking itself at reset. - Use NFC pins as GPIO. - Use RESET pin as GPIO. NFC and RESET pins singletons are made available only when usable as GPIO, for compile-time checking.
This commit is contained in:
@ -6,6 +6,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 256;
|
||||
|
||||
pub const FLASH_SIZE: usize = 192 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 21;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// RTC
|
||||
RTC0,
|
||||
@ -108,6 +110,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_21,
|
||||
P0_22,
|
||||
P0_23,
|
||||
@ -162,6 +165,7 @@ impl_pin!(P0_17, 0, 17);
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_21, 0, 21);
|
||||
impl_pin!(P0_22, 0, 22);
|
||||
impl_pin!(P0_23, 0, 23);
|
||||
|
@ -6,6 +6,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 256;
|
||||
|
||||
pub const FLASH_SIZE: usize = 192 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 21;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// RTC
|
||||
RTC0,
|
||||
@ -111,6 +113,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_21,
|
||||
P0_22,
|
||||
P0_23,
|
||||
@ -170,6 +173,7 @@ impl_pin!(P0_17, 0, 17);
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_21, 0, 21);
|
||||
impl_pin!(P0_22, 0, 22);
|
||||
impl_pin!(P0_23, 0, 23);
|
||||
|
@ -6,6 +6,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 256;
|
||||
|
||||
pub const FLASH_SIZE: usize = 192 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 21;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// RTC
|
||||
RTC0,
|
||||
@ -111,6 +113,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_21,
|
||||
P0_22,
|
||||
P0_23,
|
||||
@ -172,6 +175,7 @@ impl_pin!(P0_17, 0, 17);
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_21, 0, 21);
|
||||
impl_pin!(P0_22, 0, 22);
|
||||
impl_pin!(P0_23, 0, 23);
|
||||
|
@ -6,6 +6,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 512;
|
||||
|
||||
pub const FLASH_SIZE: usize = 256 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 18;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// USB
|
||||
USBD,
|
||||
@ -106,6 +108,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_15,
|
||||
P0_16,
|
||||
P0_17,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
@ -168,6 +171,7 @@ impl_pin!(P0_14, 0, 14);
|
||||
impl_pin!(P0_15, 0, 15);
|
||||
impl_pin!(P0_16, 0, 16);
|
||||
impl_pin!(P0_17, 0, 17);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
|
@ -10,6 +10,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 255;
|
||||
// nrf52832xxAB = 256kb
|
||||
pub const FLASH_SIZE: usize = 512 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 21;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// RTC
|
||||
RTC0,
|
||||
@ -109,7 +111,9 @@ embassy_hal_common::peripherals! {
|
||||
P0_06,
|
||||
P0_07,
|
||||
P0_08,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_09,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_10,
|
||||
P0_11,
|
||||
P0_12,
|
||||
@ -121,6 +125,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_21,
|
||||
P0_22,
|
||||
P0_23,
|
||||
@ -178,7 +183,9 @@ impl_pin!(P0_05, 0, 5);
|
||||
impl_pin!(P0_06, 0, 6);
|
||||
impl_pin!(P0_07, 0, 7);
|
||||
impl_pin!(P0_08, 0, 8);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_09, 0, 9);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_10, 0, 10);
|
||||
impl_pin!(P0_11, 0, 11);
|
||||
impl_pin!(P0_12, 0, 12);
|
||||
@ -190,6 +197,7 @@ impl_pin!(P0_17, 0, 17);
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_21, 0, 21);
|
||||
impl_pin!(P0_22, 0, 22);
|
||||
impl_pin!(P0_23, 0, 23);
|
||||
|
@ -6,6 +6,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 512;
|
||||
|
||||
pub const FLASH_SIZE: usize = 512 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 18;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// USB
|
||||
USBD,
|
||||
@ -111,7 +113,9 @@ embassy_hal_common::peripherals! {
|
||||
P0_06,
|
||||
P0_07,
|
||||
P0_08,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_09,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_10,
|
||||
P0_11,
|
||||
P0_12,
|
||||
@ -120,6 +124,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_15,
|
||||
P0_16,
|
||||
P0_17,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
@ -207,7 +212,9 @@ impl_pin!(P0_05, 0, 5);
|
||||
impl_pin!(P0_06, 0, 6);
|
||||
impl_pin!(P0_07, 0, 7);
|
||||
impl_pin!(P0_08, 0, 8);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_09, 0, 9);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_10, 0, 10);
|
||||
impl_pin!(P0_11, 0, 11);
|
||||
impl_pin!(P0_12, 0, 12);
|
||||
@ -216,6 +223,7 @@ impl_pin!(P0_14, 0, 14);
|
||||
impl_pin!(P0_15, 0, 15);
|
||||
impl_pin!(P0_16, 0, 16);
|
||||
impl_pin!(P0_17, 0, 17);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
|
@ -6,6 +6,8 @@ pub const FORCE_COPY_BUFFER_SIZE: usize = 512;
|
||||
|
||||
pub const FLASH_SIZE: usize = 1024 * 1024;
|
||||
|
||||
pub const RESET_PIN: u32 = 18;
|
||||
|
||||
embassy_hal_common::peripherals! {
|
||||
// USB
|
||||
USBD,
|
||||
@ -117,7 +119,9 @@ embassy_hal_common::peripherals! {
|
||||
P0_06,
|
||||
P0_07,
|
||||
P0_08,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_09,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_10,
|
||||
P0_11,
|
||||
P0_12,
|
||||
@ -126,6 +130,7 @@ embassy_hal_common::peripherals! {
|
||||
P0_15,
|
||||
P0_16,
|
||||
P0_17,
|
||||
#[cfg(feature="reset-pin-as-gpio")]
|
||||
P0_18,
|
||||
P0_19,
|
||||
P0_20,
|
||||
@ -212,7 +217,9 @@ impl_pin!(P0_05, 0, 5);
|
||||
impl_pin!(P0_06, 0, 6);
|
||||
impl_pin!(P0_07, 0, 7);
|
||||
impl_pin!(P0_08, 0, 8);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_09, 0, 9);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_10, 0, 10);
|
||||
impl_pin!(P0_11, 0, 11);
|
||||
impl_pin!(P0_12, 0, 12);
|
||||
@ -221,6 +228,7 @@ impl_pin!(P0_14, 0, 14);
|
||||
impl_pin!(P0_15, 0, 15);
|
||||
impl_pin!(P0_16, 0, 16);
|
||||
impl_pin!(P0_17, 0, 17);
|
||||
#[cfg(feature = "reset-pin-as-gpio")]
|
||||
impl_pin!(P0_18, 0, 18);
|
||||
impl_pin!(P0_19, 0, 19);
|
||||
impl_pin!(P0_20, 0, 20);
|
||||
|
@ -304,7 +304,9 @@ embassy_hal_common::peripherals! {
|
||||
// GPIO port 0
|
||||
P0_00,
|
||||
P0_01,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_02,
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
P0_03,
|
||||
P0_04,
|
||||
P0_05,
|
||||
@ -393,7 +395,9 @@ impl_timer!(TIMER2, TIMER2, TIMER2);
|
||||
|
||||
impl_pin!(P0_00, 0, 0);
|
||||
impl_pin!(P0_01, 0, 1);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_02, 0, 2);
|
||||
#[cfg(feature = "nfc-pins-as-gpio")]
|
||||
impl_pin!(P0_03, 0, 3);
|
||||
impl_pin!(P0_04, 0, 4);
|
||||
impl_pin!(P0_05, 0, 5);
|
||||
|
Reference in New Issue
Block a user