diff --git a/arch/arm/soc/nordic_nrf5/nrf52/soc.h b/arch/arm/soc/nordic_nrf5/nrf52/soc.h index 04f2a0efc72..e6602b1fe84 100644 --- a/arch/arm/soc/nordic_nrf5/nrf52/soc.h +++ b/arch/arm/soc/nordic_nrf5/nrf52/soc.h @@ -26,7 +26,7 @@ /* For IMG_MANAGER */ #if defined(CONFIG_SOC_FLASH_NRF5) -#define FLASH_DRIVER_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME +#define FLASH_DRIVER_NAME FLASH_DEV_NAME #endif #endif /* _NORDICSEMI_NRF52_SOC_H_ */ diff --git a/boards/arm/96b_carbon_nrf51/dts.fixup b/boards/arm/96b_carbon_nrf51/dts.fixup index 59499a1540e..c55717f942a 100644 --- a/boards/arm/96b_carbon_nrf51/dts.fixup +++ b/boards/arm/96b_carbon_nrf51/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF52_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/arduino_101_ble/dts.fixup b/boards/arm/arduino_101_ble/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/arduino_101_ble/dts.fixup +++ b/boards/arm/arduino_101_ble/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/bbc_microbit/dts.fixup b/boards/arm/bbc_microbit/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/bbc_microbit/dts.fixup +++ b/boards/arm/bbc_microbit/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/curie_ble/dts.fixup b/boards/arm/curie_ble/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/curie_ble/dts.fixup +++ b/boards/arm/curie_ble/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf51_blenano/dts.fixup b/boards/arm/nrf51_blenano/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/nrf51_blenano/dts.fixup +++ b/boards/arm/nrf51_blenano/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf51_pca10028/dts.fixup b/boards/arm/nrf51_pca10028/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/nrf51_pca10028/dts.fixup +++ b/boards/arm/nrf51_pca10028/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf51_vbluno51/dts.fixup b/boards/arm/nrf51_vbluno51/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/nrf51_vbluno51/dts.fixup +++ b/boards/arm/nrf51_vbluno51/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf52840_pca10056/dts.fixup b/boards/arm/nrf52840_pca10056/dts.fixup index 8f304441dd8..6bb3e2d1486 100644 --- a/boards/arm/nrf52840_pca10056/dts.fixup +++ b/boards/arm/nrf52840_pca10056/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF52_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf52_blenano2/dts.fixup b/boards/arm/nrf52_blenano2/dts.fixup index 8f304441dd8..6bb3e2d1486 100644 --- a/boards/arm/nrf52_blenano2/dts.fixup +++ b/boards/arm/nrf52_blenano2/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF52_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf52_pca10040/dts.fixup b/boards/arm/nrf52_pca10040/dts.fixup index 8f304441dd8..6bb3e2d1486 100644 --- a/boards/arm/nrf52_pca10040/dts.fixup +++ b/boards/arm/nrf52_pca10040/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF52_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf52_sparkfun/dts.fixup b/boards/arm/nrf52_sparkfun/dts.fixup index 8f304441dd8..6bb3e2d1486 100644 --- a/boards/arm/nrf52_sparkfun/dts.fixup +++ b/boards/arm/nrf52_sparkfun/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF52_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/nrf52_vbluno52/dts.fixup b/boards/arm/nrf52_vbluno52/dts.fixup index 8f304441dd8..6bb3e2d1486 100644 --- a/boards/arm/nrf52_vbluno52/dts.fixup +++ b/boards/arm/nrf52_vbluno52/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF52_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/boards/arm/quark_se_c1000_ble/dts.fixup b/boards/arm/quark_se_c1000_ble/dts.fixup index 59499a1540e..2a09fb90557 100644 --- a/boards/arm/quark_se_c1000_ble/dts.fixup +++ b/boards/arm/quark_se_c1000_ble/dts.fixup @@ -2,3 +2,6 @@ #define CONFIG_UART_NRF5_IRQ_PRI NORDIC_NRF_UART_40002000_IRQ_0_PRIORITY #define CONFIG_UART_NRF5_BAUD_RATE NORDIC_NRF_UART_40002000_CURRENT_SPEED #define CONFIG_UART_NRF5_NAME NORDIC_NRF_UART_40002000_LABEL + +#define CONFIG_SOC_FLASH_NRF5_DEV_NAME NRF_NRF51_FLASH_CONTROLLER_4001E000_LABEL +#define FLASH_DEV_NAME CONFIG_SOC_FLASH_NRF5_DEV_NAME diff --git a/drivers/flash/Kconfig b/drivers/flash/Kconfig index 64a1fecd3c9..576ab080cd7 100644 --- a/drivers/flash/Kconfig +++ b/drivers/flash/Kconfig @@ -131,13 +131,6 @@ config SOC_FLASH_NRF5 help Enables Nordic Semiconductor nRF5X flash driver. -config SOC_FLASH_NRF5_DEV_NAME - string "Nordic nRF5X flash device name" - depends on SOC_FLASH_NRF5 - default "NRF5_FLASH" - help - Specify the device name for the flash driver. - config SOC_FLASH_NRF5_RADIO_SYNC bool "Nordic nRF5x flash driver synchronized with radio" depends on SOC_FLASH_NRF5 && BT_CTLR diff --git a/dts/arm/nordic/nrf51822.dtsi b/dts/arm/nordic/nrf51822.dtsi index 30793e10dc3..96d2bac68ed 100644 --- a/dts/arm/nordic/nrf51822.dtsi +++ b/dts/arm/nordic/nrf51822.dtsi @@ -20,6 +20,8 @@ #address-cells = <1>; #size-cells = <1>; + label="NRF5_FLASH_DRV_NAME"; + flash0: flash@0 { compatible = "soc-nv-flash"; label = "NRF5_FLASH"; diff --git a/dts/arm/nordic/nrf52832.dtsi b/dts/arm/nordic/nrf52832.dtsi index 1c99bf5816f..1f776286d57 100644 --- a/dts/arm/nordic/nrf52832.dtsi +++ b/dts/arm/nordic/nrf52832.dtsi @@ -20,6 +20,8 @@ #address-cells = <1>; #size-cells = <1>; + label="NRF5_FLASH_DRV_NAME"; + flash0: flash@0 { compatible = "soc-nv-flash"; label = "NRF5_FLASH"; diff --git a/dts/arm/nordic/nrf52840.dtsi b/dts/arm/nordic/nrf52840.dtsi index 4b731c8f6b4..50c7603fcc6 100644 --- a/dts/arm/nordic/nrf52840.dtsi +++ b/dts/arm/nordic/nrf52840.dtsi @@ -20,6 +20,8 @@ #address-cells = <1>; #size-cells = <1>; + label="NRF5_FLASH_DRV_NAME"; + flash0: flash@0 { compatible = "soc-nv-flash"; label = "NRF5_FLASH"; diff --git a/dts/bindings/flash_controller/flash-controller.yaml b/dts/bindings/flash_controller/flash-controller.yaml new file mode 100644 index 00000000000..e0b9d0eedf3 --- /dev/null +++ b/dts/bindings/flash_controller/flash-controller.yaml @@ -0,0 +1,34 @@ +--- +title: flash controller Base Structure +id: soc-nv-flash-controller +version: 0.1 + +description: > + This binding gives the base structures for all flash controller devices + +properties: + label: + type: string + category: required + description: Human readable string describing the device (used by Zephyr for API name) + generation: define + + reg: + type: array + description: mmio register space + generation: define + category: required + + interrupts: + type: array + category: optional + description: required interrupts + generation: define + + interrupt-names: + type: stringlist + category: optional + description: names of required interrupts + generation: define + +... diff --git a/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml b/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml new file mode 100644 index 00000000000..96128c0657c --- /dev/null +++ b/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml @@ -0,0 +1,19 @@ +--- +title: Nordic NVMC +id: nordic,nrf51-flash-controller +version: 0.1 + +description: > + This binding gives a base representation of the Nordic NVMC + +inherits: + !include flash-controller.yaml + +properties: + compatible: + type: string + category: required + description: compatible strings + constraint: "nrf,nrf51-flash-controller" + +... diff --git a/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml b/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml new file mode 100644 index 00000000000..428cd8443cf --- /dev/null +++ b/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml @@ -0,0 +1,19 @@ +--- +title: Nordic NVMC +id: nordic,nrf52-flash-controller +version: 0.1 + +description: > + This binding gives a base representation of the Nordic NVMC + +inherits: + !include flash-controller.yaml + +properties: + compatible: + type: string + category: required + description: compatible strings + constraint: "nrf,nrf52-flash-controller" + +...