You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ml...@apache.org on 2019/06/01 17:14:24 UTC

[mynewt-core] 01/01: Revert "Trying to add NRF52811 support"

This is an automated email from the ASF dual-hosted git repository.

mlaz pushed a commit to branch revert-1855-nrf52811_support
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit f5aee6f27e52d5d66b540139d8104814746d9e4b
Author: Miguel Azevedo <mi...@gmail.com>
AuthorDate: Sat Jun 1 18:14:17 2019 +0100

    Revert "Trying to add NRF52811 support"
---
 hw/mcu/nordic/nrf52xxx/include/mcu/nrf52_hal.h    |  14 -
 hw/mcu/nordic/nrf52xxx/include/nrfx52810_config.h | 196 -------------
 hw/mcu/nordic/nrf52xxx/include/nrfx52811_config.h | 196 -------------
 hw/mcu/nordic/nrf52xxx/include/nrfx_config.h      |   4 -
 hw/mcu/nordic/nrf52xxx/pkg.yml                    |   5 +
 hw/mcu/nordic/nrf52xxx/src/hal_flash.c            |   9 -
 hw/mcu/nordic/nrf52xxx/src/hal_gpio.c             |   2 +-
 hw/mcu/nordic/nrf52xxx/src/hal_i2c.c              |   5 -
 hw/mcu/nordic/nrf52xxx/src/system_nrf52.c         | 327 ----------------------
 hw/mcu/nordic/nrf52xxx/syscfg.yml                 |   6 -
 hw/mcu/nordic/pkg.yml                             |   4 -
 11 files changed, 6 insertions(+), 762 deletions(-)

diff --git a/hw/mcu/nordic/nrf52xxx/include/mcu/nrf52_hal.h b/hw/mcu/nordic/nrf52xxx/include/mcu/nrf52_hal.h
index f566024..2e5f3ab 100644
--- a/hw/mcu/nordic/nrf52xxx/include/mcu/nrf52_hal.h
+++ b/hw/mcu/nordic/nrf52xxx/include/mcu/nrf52_hal.h
@@ -85,20 +85,6 @@ struct nrf52_hal_spi_cfg {
 #define HAL_GPIOTE_PIN_MASK     GPIOTE_CONFIG_PSEL_Msk
 #endif
 
-#ifdef NRF52810_XXAA
-#define HAL_GPIO_INDEX(pin)     (pin)
-#define HAL_GPIO_PORT(pin)      (NRF_P0)
-#define HAL_GPIO_MASK(pin)      (1 << pin)
-#define HAL_GPIOTE_PIN_MASK     GPIOTE_CONFIG_PSEL_Msk
-#endif
-
-#ifdef NRF52811_XXAA
-#define HAL_GPIO_INDEX(pin)     (pin)
-#define HAL_GPIO_PORT(pin)      (NRF_P0)
-#define HAL_GPIO_MASK(pin)      (1 << pin)
-#define HAL_GPIOTE_PIN_MASK     GPIOTE_CONFIG_PSEL_Msk
-#endif
-
 #ifdef NRF52840_XXAA
 #define HAL_GPIO_INDEX(pin)     ((pin) & 0x1F)
 #define HAL_GPIO_PORT(pin)      ((pin) > 31 ? NRF_P1 : NRF_P0)
diff --git a/hw/mcu/nordic/nrf52xxx/include/nrfx52810_config.h b/hw/mcu/nordic/nrf52xxx/include/nrfx52810_config.h
deleted file mode 100644
index 349e5a2..0000000
--- a/hw/mcu/nordic/nrf52xxx/include/nrfx52810_config.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef NRFX52810_CONFIG_H__
-#define NRFX52810_CONFIG_H__
-
-#include "syscfg/syscfg.h"
-
-#ifndef NRFX_CLOCK_ENABLED
-#define NRFX_CLOCK_ENABLED 0
-#endif
-
-#ifndef NRFX_COMP_ENABLED
-#define NRFX_COMP_ENABLED 0
-#endif
-
-#ifndef NRFX_GPIOTE_ENABLED
-#define NRFX_GPIOTE_ENABLED 0
-#endif
-
-#ifndef NRFX_I2S_ENABLED
-#define NRFX_I2S_ENABLED 0
-#endif
-
-// #ifndef NRFX_LPCOMP_ENABLED
-// #define NRFX_LPCOMP_ENABLED 0
-// #endif
-
-#ifndef NRFX_PDM_ENABLED
-#define NRFX_PDM_ENABLED 0
-#endif
-
-#ifndef NRFX_POWER_ENABLED
-#define NRFX_POWER_ENABLED 0
-#endif
-
-#ifndef NRFX_PPI_ENABLED
-#define NRFX_PPI_ENABLED 0
-#endif
-
-#ifndef NRFX_PRS_ENABLED
-#define NRFX_PRS_ENABLED 0
-#endif
-
-#ifndef NRFX_QDEC_ENABLED
-#define NRFX_QDEC_ENABLED 0
-#endif
-
-#ifndef NRFX_RNG_ENABLED
-#define NRFX_RNG_ENABLED 0
-#endif
-
-#ifndef NRFX_RTC_ENABLED
-#define NRFX_RTC_ENABLED 0
-#endif
-
-#ifndef NRFX_SPIM_ENABLED
-#define NRFX_SPIM_ENABLED 0
-#endif
-
-#ifndef NRFX_SPIS_ENABLED
-#define NRFX_SPIS_ENABLED 0
-#endif
-
-#ifndef NRFX_SPI_ENABLED
-#define NRFX_SPI_ENABLED 0
-#endif
-
-#ifndef NRFX_SWI_ENABLED
-#define NRFX_SWI_ENABLED 0
-#endif
-
-#ifndef NRFX_SYSTICK_ENABLED
-#define NRFX_SYSTICK_ENABLED 0
-#endif
-
-#ifndef NRFX_TIMER_ENABLED
-#define NRFX_TIMER_ENABLED 0
-#endif
-
-#ifndef NRFX_TWIM_ENABLED
-#define NRFX_TWIM_ENABLED 0
-#endif
-
-#ifndef NRFX_TWIS_ENABLED
-#define NRFX_TWIS_ENABLED 0
-#endif
-
-#ifndef NRFX_TWI_ENABLED
-#define NRFX_TWI_ENABLED 0
-#endif
-
-#ifndef NRFX_UARTE_ENABLED
-#define NRFX_UARTE_ENABLED 0
-#endif
-
-#ifndef NRFX_UART_ENABLED
-#define NRFX_UART_ENABLED 0
-#endif
-
-#ifndef NRFX_WDT_ENABLED
-#define NRFX_WDT_ENABLED 0
-#endif
-
-#if MYNEWT_VAL(ADC_0)
-#ifndef NRFX_SAADC_ENABLED
-#define NRFX_SAADC_ENABLED 1
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_RESOLUTION
-#define NRFX_SAADC_CONFIG_RESOLUTION 1
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_OVERSAMPLE
-#define NRFX_SAADC_CONFIG_OVERSAMPLE 0
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_LP_MODE
-#define NRFX_SAADC_CONFIG_LP_MODE 0
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_IRQ_PRIORITY
-#define NRFX_SAADC_CONFIG_IRQ_PRIORITY 7
-#endif
-
-#endif
-
-#if MYNEWT_VAL(PWM_0)
-
-#ifndef NRFX_PWM_ENABLED
-#define NRFX_PWM_ENABLED 1
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK
-#define NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK 4
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE
-#define NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE 0
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE
-#define NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE 1000
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE
-#define NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE 0
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_STEP_MODE
-#define NRFX_PWM_DEFAULT_CONFIG_STEP_MODE 0
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY
-#define NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY 7
-#endif
-
-#endif
-
-#if MYNEWT_VAL(PWM_0)
-#define NRFX_PWM0_ENABLED 1
-#endif
-
-#endif // NRFX52810_CONFIG_H__
diff --git a/hw/mcu/nordic/nrf52xxx/include/nrfx52811_config.h b/hw/mcu/nordic/nrf52xxx/include/nrfx52811_config.h
deleted file mode 100644
index 08c736b..0000000
--- a/hw/mcu/nordic/nrf52xxx/include/nrfx52811_config.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef NRFX52811_CONFIG_H__
-#define NRFX52811_CONFIG_H__
-
-#include "syscfg/syscfg.h"
-
-#ifndef NRFX_CLOCK_ENABLED
-#define NRFX_CLOCK_ENABLED 0
-#endif
-
-#ifndef NRFX_COMP_ENABLED
-#define NRFX_COMP_ENABLED 0
-#endif
-
-#ifndef NRFX_GPIOTE_ENABLED
-#define NRFX_GPIOTE_ENABLED 0
-#endif
-
-#ifndef NRFX_I2S_ENABLED
-#define NRFX_I2S_ENABLED 0
-#endif
-
-// #ifndef NRFX_LPCOMP_ENABLED
-// #define NRFX_LPCOMP_ENABLED 0
-// #endif
-
-#ifndef NRFX_PDM_ENABLED
-#define NRFX_PDM_ENABLED 0
-#endif
-
-#ifndef NRFX_POWER_ENABLED
-#define NRFX_POWER_ENABLED 0
-#endif
-
-#ifndef NRFX_PPI_ENABLED
-#define NRFX_PPI_ENABLED 0
-#endif
-
-#ifndef NRFX_PRS_ENABLED
-#define NRFX_PRS_ENABLED 0
-#endif
-
-#ifndef NRFX_QDEC_ENABLED
-#define NRFX_QDEC_ENABLED 0
-#endif
-
-#ifndef NRFX_RNG_ENABLED
-#define NRFX_RNG_ENABLED 0
-#endif
-
-#ifndef NRFX_RTC_ENABLED
-#define NRFX_RTC_ENABLED 0
-#endif
-
-#ifndef NRFX_SPIM_ENABLED
-#define NRFX_SPIM_ENABLED 0
-#endif
-
-#ifndef NRFX_SPIS_ENABLED
-#define NRFX_SPIS_ENABLED 0
-#endif
-
-#ifndef NRFX_SPI_ENABLED
-#define NRFX_SPI_ENABLED 0
-#endif
-
-#ifndef NRFX_SWI_ENABLED
-#define NRFX_SWI_ENABLED 0
-#endif
-
-#ifndef NRFX_SYSTICK_ENABLED
-#define NRFX_SYSTICK_ENABLED 0
-#endif
-
-#ifndef NRFX_TIMER_ENABLED
-#define NRFX_TIMER_ENABLED 0
-#endif
-
-#ifndef NRFX_TWIM_ENABLED
-#define NRFX_TWIM_ENABLED 0
-#endif
-
-#ifndef NRFX_TWIS_ENABLED
-#define NRFX_TWIS_ENABLED 0
-#endif
-
-#ifndef NRFX_TWI_ENABLED
-#define NRFX_TWI_ENABLED 0
-#endif
-
-#ifndef NRFX_UARTE_ENABLED
-#define NRFX_UARTE_ENABLED 0
-#endif
-
-#ifndef NRFX_UART_ENABLED
-#define NRFX_UART_ENABLED 0
-#endif
-
-#ifndef NRFX_WDT_ENABLED
-#define NRFX_WDT_ENABLED 0
-#endif
-
-#if MYNEWT_VAL(ADC_0)
-#ifndef NRFX_SAADC_ENABLED
-#define NRFX_SAADC_ENABLED 1
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_RESOLUTION
-#define NRFX_SAADC_CONFIG_RESOLUTION 1
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_OVERSAMPLE
-#define NRFX_SAADC_CONFIG_OVERSAMPLE 0
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_LP_MODE
-#define NRFX_SAADC_CONFIG_LP_MODE 0
-#endif
-
-#ifndef NRFX_SAADC_CONFIG_IRQ_PRIORITY
-#define NRFX_SAADC_CONFIG_IRQ_PRIORITY 7
-#endif
-
-#endif
-
-#if MYNEWT_VAL(PWM_0)
-
-#ifndef NRFX_PWM_ENABLED
-#define NRFX_PWM_ENABLED 1
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN
-#define NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN 0xff
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK
-#define NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK 4
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE
-#define NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE 0
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE
-#define NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE 1000
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE
-#define NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE 0
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_STEP_MODE
-#define NRFX_PWM_DEFAULT_CONFIG_STEP_MODE 0
-#endif
-
-#ifndef NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY
-#define NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY 7
-#endif
-
-#endif
-
-#if MYNEWT_VAL(PWM_0)
-#define NRFX_PWM0_ENABLED 1
-#endif
-
-#endif // NRFX52811_CONFIG_H__
diff --git a/hw/mcu/nordic/nrf52xxx/include/nrfx_config.h b/hw/mcu/nordic/nrf52xxx/include/nrfx_config.h
index d38a654..0281270 100644
--- a/hw/mcu/nordic/nrf52xxx/include/nrfx_config.h
+++ b/hw/mcu/nordic/nrf52xxx/include/nrfx_config.h
@@ -22,10 +22,6 @@
 
 #if NRF52
 #include "nrfx52_config.h"
-#elif NRF52810_XXAA
-#include "nrfx52810_config.h"
-#elif NRF52811_XXAA
-#include "nrfx52811_config.h"
 #elif NRF52840_XXAA
 #include "nrfx52840_config.h"
 #else
diff --git a/hw/mcu/nordic/nrf52xxx/pkg.yml b/hw/mcu/nordic/nrf52xxx/pkg.yml
index e324b1e..f2fe61a 100644
--- a/hw/mcu/nordic/nrf52xxx/pkg.yml
+++ b/hw/mcu/nordic/nrf52xxx/pkg.yml
@@ -37,6 +37,11 @@ pkg.deps.'BUS_DRIVER_PRESENT && MCU_BUS_DRIVER_I2C_USE_TWIM':
 pkg.deps.'BUS_DRIVER_PRESENT && !MCU_BUS_DRIVER_I2C_USE_TWIM':
     - "@apache-mynewt-core/hw/bus/drivers/i2c_hal"
 
+# NRF52810 doesn't support SPI/I2C (Use SPIM/I2CM instead)
+pkg.ign_files.BSP_NRF52810:
+    - "hal_spi.c"
+    - "hal_i2c.c"
+
 pkg.cflags.NFC_PINS_AS_GPIO: 
     - '-DCONFIG_NFCT_PINS_AS_GPIOS=1'
 
diff --git a/hw/mcu/nordic/nrf52xxx/src/hal_flash.c b/hw/mcu/nordic/nrf52xxx/src/hal_flash.c
index c1d520a..f711083 100644
--- a/hw/mcu/nordic/nrf52xxx/src/hal_flash.c
+++ b/hw/mcu/nordic/nrf52xxx/src/hal_flash.c
@@ -61,15 +61,6 @@ const struct hal_flash nrf52k_flash_dev = {
     .hf_align = 1,
     .hf_erased_val = 0xff,
 };
-#elif defined(NRF52811_XXAA)
-const struct hal_flash nrf52k_flash_dev = {
-    .hf_itf = &nrf52k_flash_funcs,
-    .hf_base_addr = 0x00000000,
-    .hf_size = 192 * 1024,  /* XXX read from factory info? */
-    .hf_sector_cnt = 48,   /* XXX read from factory info? */
-    .hf_align = 1,
-    .hf_erased_val = 0xff,
-};
 #elif defined(NRF52832_XXAA)
 const struct hal_flash nrf52k_flash_dev = {
     .hf_itf = &nrf52k_flash_funcs,
diff --git a/hw/mcu/nordic/nrf52xxx/src/hal_gpio.c b/hw/mcu/nordic/nrf52xxx/src/hal_gpio.c
index 57d31f1..6d4f3a7 100644
--- a/hw/mcu/nordic/nrf52xxx/src/hal_gpio.c
+++ b/hw/mcu/nordic/nrf52xxx/src/hal_gpio.c
@@ -47,7 +47,7 @@
  *  user specifies a pin that is not used by the processor. If an invalid pin
  *  number is used unexpected and/or erroneous behavior will result.
  */
-#if defined(NRF52832_XXAA) || defined(NRF52810_XXAA) || defined(NRF52811_XXAA)
+#if defined(NRF52832_XXAA) || defined(NRF52810_XXAA)
 #define HAL_GPIO_INDEX(pin)     (pin)
 #define HAL_GPIO_PORT(pin)      (NRF_P0)
 #define HAL_GPIO_MASK(pin)      (1 << pin)
diff --git a/hw/mcu/nordic/nrf52xxx/src/hal_i2c.c b/hw/mcu/nordic/nrf52xxx/src/hal_i2c.c
index 77ca5f5..40d9c5c 100644
--- a/hw/mcu/nordic/nrf52xxx/src/hal_i2c.c
+++ b/hw/mcu/nordic/nrf52xxx/src/hal_i2c.c
@@ -29,11 +29,6 @@
 
 #include <nrf.h>
 
-#if defined(NRF52810_XXAA) || defined(NRF52811_XXAA)
-#define PSELSCL PSEL.SCL
-#define PSELSDA PSEL.SDA
-#endif
-
 #define NRF52_HAL_I2C_MAX (2)
 
 #define NRF52_SCL_PIN_CONF                                              \
diff --git a/hw/mcu/nordic/nrf52xxx/src/system_nrf52.c b/hw/mcu/nordic/nrf52xxx/src/system_nrf52.c
index 902d164..c43cf36 100644
--- a/hw/mcu/nordic/nrf52xxx/src/system_nrf52.c
+++ b/hw/mcu/nordic/nrf52xxx/src/system_nrf52.c
@@ -41,14 +41,6 @@
 #include "system_nrf52.h"
 #endif
 
-#ifdef NRF52810_XXAA
-#include "system_nrf52810.h"
-#endif
-
-#ifdef NRF52811_XXAA
-#include "system_nrf52811.h"
-#endif
-
 /*lint ++flb "Enter library region" */
 
 #define __SYSTEM_CLOCK_64M      (64000000UL)
@@ -73,23 +65,6 @@ static bool errata_66(void);
 static bool errata_108(void);
 #endif
 
-#ifdef NRF52810_XXAA
-static bool errata_31(void);
-static bool errata_36(void);
-static bool errata_66(void);
-static bool errata_103(void);
-static bool errata_108(void);
-static bool errata_136(void);
-#endif
-
-#ifdef NRF52811_XXAA
-static bool errata_31(void);
-static bool errata_36(void);
-static bool errata_66(void);
-static bool errata_108(void);
-static bool errata_136(void);
-#endif
-
 #if defined ( __CC_ARM )
     uint32_t SystemCoreClock __attribute__((used)) = __SYSTEM_CLOCK_64M;
 #elif defined ( __ICCARM__ )
@@ -238,154 +213,6 @@ void SystemInit(void)
     #endif
 #endif
 
-#ifdef NRF52810_XXAA
-    /* Workaround for Errata 31 "CLOCK: Calibration values are not correctly loaded from FICR at reset" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib */
-    if (errata_31()){
-        *(volatile uint32_t *)0x4000053C = ((*(volatile uint32_t *)0x10000244) & 0x0000E000) >> 13;
-    }
-
-    /* Workaround for Errata 36 "CLOCK: Some registers are not reset when expected" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_36()){
-        NRF_CLOCK->EVENTS_DONE = 0;
-        NRF_CLOCK->EVENTS_CTTO = 0;
-        NRF_CLOCK->CTIV = 0;
-    }
-
-    /* Workaround for Errata 66 "TEMP: Linearity specification not met with default settings" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_66()){
-        NRF_TEMP->A0 = NRF_FICR->TEMP.A0;
-        NRF_TEMP->A1 = NRF_FICR->TEMP.A1;
-        NRF_TEMP->A2 = NRF_FICR->TEMP.A2;
-        NRF_TEMP->A3 = NRF_FICR->TEMP.A3;
-        NRF_TEMP->A4 = NRF_FICR->TEMP.A4;
-        NRF_TEMP->A5 = NRF_FICR->TEMP.A5;
-        NRF_TEMP->B0 = NRF_FICR->TEMP.B0;
-        NRF_TEMP->B1 = NRF_FICR->TEMP.B1;
-        NRF_TEMP->B2 = NRF_FICR->TEMP.B2;
-        NRF_TEMP->B3 = NRF_FICR->TEMP.B3;
-        NRF_TEMP->B4 = NRF_FICR->TEMP.B4;
-        NRF_TEMP->B5 = NRF_FICR->TEMP.B5;
-        NRF_TEMP->T0 = NRF_FICR->TEMP.T0;
-        NRF_TEMP->T1 = NRF_FICR->TEMP.T1;
-        NRF_TEMP->T2 = NRF_FICR->TEMP.T2;
-        NRF_TEMP->T3 = NRF_FICR->TEMP.T3;
-        NRF_TEMP->T4 = NRF_FICR->TEMP.T4;
-    }
-
-    /* Workaround for Errata 103 "CCM: Wrong reset value of CCM MAXPACKETSIZE" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_103()){
-        NRF_CCM->MAXPACKETSIZE = 0xFBul;
-    }
-
-    /* Workaround for Errata 108 "RAM: RAM content cannot be trusted upon waking up from System ON Idle or System OFF mode" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_108()){
-        *(volatile uint32_t *)0x40000EE4 = *(volatile uint32_t *)0x10000258 & 0x0000004F;
-    }
-
-    /* Workaround for Errata 136 "System: Bits in RESETREAS are set when they should not be" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_136()){
-        if (NRF_POWER->RESETREAS & POWER_RESETREAS_RESETPIN_Msk){
-            NRF_POWER->RESETREAS =  ~POWER_RESETREAS_RESETPIN_Msk;
-        }
-    }
-
-    /* Configure GPIO pads as pPin Reset pin if Pin Reset capabilities desired. If CONFIG_GPIO_AS_PINRESET is not
-      defined, pin reset will not be available. One GPIO (see Product Specification to see which one) will then be
-      reserved for PinReset and not available as normal GPIO. */
-    #if defined (CONFIG_GPIO_AS_PINRESET)
-        if (((NRF_UICR->PSELRESET[0] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos)) ||
-            ((NRF_UICR->PSELRESET[1] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos))){
-            NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NRF_UICR->PSELRESET[0] = 21;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NRF_UICR->PSELRESET[1] = 21;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NVIC_SystemReset();
-        }
-    #endif
-#endif
-
-#ifdef NRF52811_XXAA
-    /* Workaround for Errata 31 "CLOCK: Calibration values are not correctly loaded from FICR at reset" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib */
-    if (errata_31()){
-        *(volatile uint32_t *)0x4000053C = ((*(volatile uint32_t *)0x10000244) & 0x0000E000) >> 13;
-    }
-
-    /* Workaround for Errata 36 "CLOCK: Some registers are not reset when expected" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_36()){
-        NRF_CLOCK->EVENTS_DONE = 0;
-        NRF_CLOCK->EVENTS_CTTO = 0;
-        NRF_CLOCK->CTIV = 0;
-    }
-
-    /* Workaround for Errata 66 "TEMP: Linearity specification not met with default settings" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_66()){
-        NRF_TEMP->A0 = NRF_FICR->TEMP.A0;
-        NRF_TEMP->A1 = NRF_FICR->TEMP.A1;
-        NRF_TEMP->A2 = NRF_FICR->TEMP.A2;
-        NRF_TEMP->A3 = NRF_FICR->TEMP.A3;
-        NRF_TEMP->A4 = NRF_FICR->TEMP.A4;
-        NRF_TEMP->A5 = NRF_FICR->TEMP.A5;
-        NRF_TEMP->B0 = NRF_FICR->TEMP.B0;
-        NRF_TEMP->B1 = NRF_FICR->TEMP.B1;
-        NRF_TEMP->B2 = NRF_FICR->TEMP.B2;
-        NRF_TEMP->B3 = NRF_FICR->TEMP.B3;
-        NRF_TEMP->B4 = NRF_FICR->TEMP.B4;
-        NRF_TEMP->B5 = NRF_FICR->TEMP.B5;
-        NRF_TEMP->T0 = NRF_FICR->TEMP.T0;
-        NRF_TEMP->T1 = NRF_FICR->TEMP.T1;
-        NRF_TEMP->T2 = NRF_FICR->TEMP.T2;
-        NRF_TEMP->T3 = NRF_FICR->TEMP.T3;
-        NRF_TEMP->T4 = NRF_FICR->TEMP.T4;
-    }
-
-    /* Workaround for Errata 108 "RAM: RAM content cannot be trusted upon waking up from System ON Idle or System OFF mode" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_108()){
-        *(volatile uint32_t *)0x40000EE4 = *(volatile uint32_t *)0x10000258 & 0x0000004F;
-    }
-
-    /* Workaround for Errata 136 "System: Bits in RESETREAS are set when they should not be" found at the Errata document
-       for your device located at https://www.nordicsemi.com/DocLib  */
-    if (errata_136()){
-        if (NRF_POWER->RESETREAS & POWER_RESETREAS_RESETPIN_Msk){
-            NRF_POWER->RESETREAS =  ~POWER_RESETREAS_RESETPIN_Msk;
-        }
-    }
-
-    /* Configure GPIO pads as pPin Reset pin if Pin Reset capabilities desired. If CONFIG_GPIO_AS_PINRESET is not
-      defined, pin reset will not be available. One GPIO (see Product Specification to see which one) will then be
-      reserved for PinReset and not available as normal GPIO. */
-    #if defined (CONFIG_GPIO_AS_PINRESET)
-        #define RESET_PIN 21
-        if (((NRF_UICR->PSELRESET[0] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos)) ||
-            ((NRF_UICR->PSELRESET[1] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos))){
-            NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NRF_UICR->PSELRESET[0] = RESET_PIN;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NRF_UICR->PSELRESET[1] = RESET_PIN;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
-            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
-            NVIC_SystemReset();
-        }
-    #endif
-
-#endif
-
 #ifdef NRF52840_XXAA
         /* Workaround for Errata 36 "CLOCK: Some registers are not reset when expected" found at the Errata document
            for your device located at https://infocenter.nordicsemi.com/  */
@@ -601,160 +428,6 @@ static bool errata_108(void)
 }
 #endif
 
-#ifdef NRF52810_XXAA
-static bool errata_31(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xAul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-        if (*(uint32_t *)0x10000134ul == 0x1ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_36(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xAul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-        if (*(uint32_t *)0x10000134ul == 0x1ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_66(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xAul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-        if (*(uint32_t *)0x10000134ul == 0x1ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_103(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xAul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-    }
-
-    return false;
-}
-
-static bool errata_108(void)
-{
-    if ((((*(uint32_t *)0xF0000FE0) & 0x000000FF) == 0x6) && (((*(uint32_t *)0xF0000FE4) & 0x0000000F) == 0x0)){
-        if (((*(uint32_t *)0xF0000FE8) & 0x000000F0) == 0x30){
-            return true;
-        }
-        if (((*(uint32_t *)0xF0000FE8) & 0x000000F0) == 0x40){
-            return true;
-        }
-        if (((*(uint32_t *)0xF0000FE8) & 0x000000F0) == 0x50){
-            return true;
-        }
-    }
-
-    return false;
-}
-
-static bool errata_136(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xAul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-        if (*(uint32_t *)0x10000134ul == 0x1ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-#endif
-
-#ifdef NRF52811_XXAA
-static bool errata_31(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xEul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_36(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xEul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_66(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xEul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_108(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xEul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-static bool errata_136(void)
-{
-    if (*(uint32_t *)0x10000130ul == 0xEul){
-        if (*(uint32_t *)0x10000134ul == 0x0ul){
-            return true;
-        }
-    }
-
-    /* Apply by default for unknown devices until errata is confirmed fixed. */
-    return true;
-}
-
-#endif
-
 #ifdef NRF52840_XXAA
 static bool errata_36(void)
 {
diff --git a/hw/mcu/nordic/nrf52xxx/syscfg.yml b/hw/mcu/nordic/nrf52xxx/syscfg.yml
index 6773bd6..f3d7288 100644
--- a/hw/mcu/nordic/nrf52xxx/syscfg.yml
+++ b/hw/mcu/nordic/nrf52xxx/syscfg.yml
@@ -24,8 +24,6 @@ syscfg.defs:
         restrictions:
             - $notnull
         choices:
-            - nRF52810
-            - nRF52811
             - nRF52832
             - nRF52840
 
@@ -451,10 +449,6 @@ syscfg.defs:
             - "!XTAL_RC"
         deprecated: 1
 
-syscfg.vals.MCU_NRF52810:
-    MCU_TARGET: nRF52810
-syscfg.vals.MCU_NRF52811:
-    MCU_TARGET: nRF52811
 syscfg.vals.MCU_NRF52832:
     MCU_TARGET: nRF52832
 syscfg.vals.MCU_NRF52840:
diff --git a/hw/mcu/nordic/pkg.yml b/hw/mcu/nordic/pkg.yml
index 2234d7b..8c94b9c 100644
--- a/hw/mcu/nordic/pkg.yml
+++ b/hw/mcu/nordic/pkg.yml
@@ -36,10 +36,6 @@ pkg.ign_files.BSP_NRF52810:
     - "nrfx_power.c"
     - "nrfx_power_clock.c"
 
-pkg.ign_files.BSP_NRF52811:
-    - "nrfx_power.c"
-    - "nrfx_power_clock.c"
-
 pkg.ign_files.BSP_NRF52840:
     - "nrfx_power.c"
     - "nrfx_power_clock.c"