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"