drivers: wdt: nrf: Add WDT instances that exist in nrf54h20

Add WDT instances no. 010, 011, 131, 132.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
This commit is contained in:
Sebastian Głąb 2024-05-07 12:49:27 +02:00 committed by Carles Cufí
commit 2f17c46fb1
11 changed files with 80 additions and 0 deletions

View file

@ -14,3 +14,4 @@ flash: 512
supported:
- gpio
- pwm
- watchdog

View file

@ -14,3 +14,4 @@ flash: 256
supported:
- gpio
- pwm
- watchdog

View file

@ -11,7 +11,11 @@ config WDT_NRFX
select NRFX_WDT1 if HAS_HW_NRF_WDT1
select NRFX_WDT30 if HAS_HW_NRF_WDT30
select NRFX_WDT31 if HAS_HW_NRF_WDT31
select NRFX_WDT010 if HAS_HW_NRF_WDT010
select NRFX_WDT011 if HAS_HW_NRF_WDT011
select NRFX_WDT130 if HAS_HW_NRF_WDT130
select NRFX_WDT131 if HAS_HW_NRF_WDT131
select NRFX_WDT132 if HAS_HW_NRF_WDT132
help
Enable support for nrfx WDT driver for nRF MCU series.

View file

@ -220,6 +220,22 @@ WDT_NRFX_WDT_DEVICE(30);
WDT_NRFX_WDT_DEVICE(31);
#endif
#ifdef CONFIG_HAS_HW_NRF_WDT010
WDT_NRFX_WDT_DEVICE(010);
#endif
#ifdef CONFIG_HAS_HW_NRF_WDT011
WDT_NRFX_WDT_DEVICE(011);
#endif
#ifdef CONFIG_HAS_HW_NRF_WDT130
WDT_NRFX_WDT_DEVICE(130);
#endif
#ifdef CONFIG_HAS_HW_NRF_WDT131
WDT_NRFX_WDT_DEVICE(131);
#endif
#ifdef CONFIG_HAS_HW_NRF_WDT132
WDT_NRFX_WDT_DEVICE(132);
#endif

View file

@ -11,6 +11,8 @@ systick: &cpuapp_systick {};
nvic: &cpuapp_nvic {};
cpuppr_vevif: &cpuppr_vevif_remote {};
cpusys_vevif: &cpusys_vevif_remote {};
wdt010: &cpuapp_wdt010 {};
wdt011: &cpuapp_wdt011 {};
/delete-node/ &cpuppr;
/delete-node/ &cpurad;

View file

@ -11,6 +11,8 @@ systick: &cpurad_systick {};
nvic: &cpurad_nvic {};
cpuppr_vevif: &cpuppr_vevif_remote {};
cpusys_vevif: &cpusys_vevif_remote {};
wdt010: &cpurad_wdt010 {};
wdt011: &cpurad_wdt011 {};
/delete-node/ &cpuapp;
/delete-node/ &cpuapp_peripherals;

View file

@ -168,6 +168,20 @@
interrupts = <64 NRF_DEFAULT_IRQ_PRIORITY>,
<65 NRF_DEFAULT_IRQ_PRIORITY>;
};
cpuapp_wdt010: watchdog@14000 {
compatible = "nordic,nrf-wdt";
reg = <0x14000 0x1000>;
status = "disabled";
interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>;
};
cpuapp_wdt011: watchdog@15000 {
compatible = "nordic,nrf-wdt";
reg = <0x15000 0x1000>;
status = "disabled";
interrupts = <21 NRF_DEFAULT_IRQ_PRIORITY>;
};
};
cpurad_peripherals: peripheral@53000000 {
@ -188,6 +202,20 @@
nordic,ficr-names = "vsup", "coarse", "fine";
};
cpurad_wdt010: watchdog@13000 {
compatible = "nordic,nrf-wdt";
reg = <0x13000 0x1000>;
status = "disabled";
interrupts = <19 NRF_DEFAULT_IRQ_PRIORITY>;
};
cpurad_wdt011: watchdog@14000 {
compatible = "nordic,nrf-wdt";
reg = <0x14000 0x1000>;
status = "disabled";
interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>;
};
dppic020: dppic@22000 {
compatible = "nordic,nrf-dppic-local";
reg = <0x22000 0x1000>;

View file

@ -984,6 +984,16 @@ config NRFX_WDT31
depends on $(dt_nodelabel_has_compat,wdt31,$(DT_COMPAT_NORDIC_NRF_WDT))
select NRFX_WDT
config NRFX_WDT010
bool "WDT010 driver instance"
depends on $(dt_nodelabel_has_compat,wdt010,$(DT_COMPAT_NORDIC_NRF_WDT))
select NRFX_WDT
config NRFX_WDT011
bool "WDT011 driver instance"
depends on $(dt_nodelabel_has_compat,wdt011,$(DT_COMPAT_NORDIC_NRF_WDT))
select NRFX_WDT
config NRFX_WDT130
bool "WDT130 driver instance"
depends on $(dt_nodelabel_has_compat,wdt130,$(DT_COMPAT_NORDIC_NRF_WDT))

View file

@ -828,6 +828,12 @@
#ifdef CONFIG_NRFX_WDT31
#define NRFX_WDT31_ENABLED 1
#endif
#ifdef CONFIG_NRFX_WDT010
#define NRFX_WDT010_ENABLED 1
#endif
#ifdef CONFIG_NRFX_WDT011
#define NRFX_WDT011_ENABLED 1
#endif
#ifdef CONFIG_NRFX_WDT130
#define NRFX_WDT130_ENABLED 1
#endif

View file

@ -642,6 +642,12 @@ config HAS_HW_NRF_WDT30
config HAS_HW_NRF_WDT31
def_bool $(dt_nodelabel_enabled_with_compat,wdt31,$(DT_COMPAT_NORDIC_NRF_WDT))
config HAS_HW_NRF_WDT010
def_bool $(dt_nodelabel_enabled_with_compat,wdt010,$(DT_COMPAT_NORDIC_NRF_WDT))
config HAS_HW_NRF_WDT011
def_bool $(dt_nodelabel_enabled_with_compat,wdt011,$(DT_COMPAT_NORDIC_NRF_WDT))
config HAS_HW_NRF_WDT130
def_bool $(dt_nodelabel_enabled_with_compat,wdt130,$(DT_COMPAT_NORDIC_NRF_WDT))

View file

@ -321,6 +321,10 @@ CHECK_DT_REG(wdt0, NRF_WDT0);
CHECK_DT_REG(wdt1, NRF_WDT1);
CHECK_DT_REG(wdt30, NRF_WDT30);
CHECK_DT_REG(wdt31, NRF_WDT31);
CHECK_DT_REG(cpuapp_wdt010, NRF_APPLICATION_WDT010);
CHECK_DT_REG(cpuapp_wdt011, NRF_APPLICATION_WDT011);
CHECK_DT_REG(cpurad_wdt010, NRF_RADIOCORE_WDT010);
CHECK_DT_REG(cpurad_wdt011, NRF_RADIOCORE_WDT011);
CHECK_DT_REG(wdt131, NRF_WDT131);
CHECK_DT_REG(wdt132, NRF_WDT132);