added metro nrf52840 revA
clean up makefile
This commit is contained in:
		
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
									
									
									
									
								
							| @@ -265,6 +265,7 @@ CFLAGS += -DDFU_APP_DATA_RESERVED=7*4096 | ||||
|  | ||||
| CFLAGS += -DUF2_VERSION='"$(GIT_VERSION) $(GIT_SUBMODULE_VERSIONS) $(SD_NAME) $(SD_VERSION)"' | ||||
| CFLAGS += -DBOARD_$(shell echo $(BOARD) | tr '[:lower:]' '[:upper:]') | ||||
| CFLAGS += -DBOARD_HEADER_FILE='"boards/$(BOARD).h"' | ||||
|  | ||||
| ifneq ($(IS_52832),) | ||||
| CFLAGS += -DNRF52 | ||||
|   | ||||
| @@ -83,7 +83,6 @@ void board_init(void) | ||||
|  | ||||
|   // Configure Systick for led blinky | ||||
|   NVIC_SetPriority(SysTick_IRQn, 7); | ||||
|   extern uint32_t SystemCoreClock; | ||||
|   SysTick_Config(SystemCoreClock/1000); | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										38
									
								
								src/boards.h
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								src/boards.h
									
									
									
									
									
								
							| @@ -17,23 +17,7 @@ | ||||
| #include <string.h> | ||||
| #include "nrf_gpio.h" | ||||
|  | ||||
| #if defined BOARD_FEATHER_NRF52840_EXPRESS | ||||
|   #include "boards/feather_nrf52840_express.h" | ||||
| #elif defined BOARD_FEATHER_NRF52832 | ||||
|   #include "boards/feather_nrf52832.h" | ||||
| #elif defined BOARD_PCA10056 | ||||
|   #include "boards/pca10056.h" | ||||
| #elif defined BOARD_PCA10059 | ||||
|   #include "boards/pca10059.h" | ||||
| #elif defined BOARD_PARTICLE_ARGON | ||||
| #include "boards/particle_argon.h" | ||||
| #elif defined BOARD_PARTICLE_BORON | ||||
| #include "boards/particle_boron.h" | ||||
| #elif defined BOARD_PARTICLE_XENON | ||||
| #include "boards/particle_xenon.h" | ||||
| #else | ||||
|   #error No boards defined | ||||
| #endif | ||||
| #include BOARD_HEADER_FILE | ||||
|  | ||||
| #ifndef BUTTON_DFU | ||||
| #define BUTTON_DFU      BUTTON_1 | ||||
| @@ -73,15 +57,17 @@ void board_teardown(void); | ||||
|  | ||||
| #define bit(b) (1UL << (b)) | ||||
|  | ||||
| #define STATE_BOOTLOADER_STARTED 0 | ||||
| #define STATE_USB_MOUNTED 1 | ||||
| #define STATE_USB_UNMOUNTED 2 | ||||
| #define STATE_FACTORY_RESET_STARTED 3 | ||||
| #define STATE_FACTORY_RESET_FINISHED 4 | ||||
| #define STATE_WRITING_STARTED 5 | ||||
| #define STATE_WRITING_FINISHED 6 | ||||
| #define STATE_BLE_CONNECTED 7 | ||||
| #define STATE_BLE_DISCONNECTED 8 | ||||
| enum { | ||||
|   STATE_BOOTLOADER_STARTED = 0, | ||||
|   STATE_USB_MOUNTED, | ||||
|   STATE_USB_UNMOUNTED, | ||||
|   STATE_FACTORY_RESET_STARTED, | ||||
|   STATE_FACTORY_RESET_FINISHED, | ||||
|   STATE_WRITING_STARTED, | ||||
|   STATE_WRITING_FINISHED, | ||||
|   STATE_BLE_CONNECTED, | ||||
|   STATE_BLE_DISCONNECTED | ||||
| }; | ||||
|  | ||||
| void led_pwm_init(uint32_t led_index, uint32_t led_pin); | ||||
| void led_pwm_teardown(void); | ||||
|   | ||||
							
								
								
									
										77
									
								
								src/boards/metro_nrf52840_express.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								src/boards/metro_nrf52840_express.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,77 @@ | ||||
| /**************************************************************************/ | ||||
| /*! | ||||
|     @file     metro_nrf52840_express.h | ||||
|     @author   hathach (tinyusb.org) | ||||
|  | ||||
|     @section LICENSE | ||||
|  | ||||
|     Software License Agreement (BSD License) | ||||
|  | ||||
|     Copyright (c) 2019, Adafruit Industries (adafruit.com) | ||||
|     All rights reserved. | ||||
|  | ||||
|     Redistribution and use in source and binary forms, with or without | ||||
|     modification, are permitted provided that the following conditions are met: | ||||
|     1. Redistributions of source code must retain the above copyright | ||||
|     notice, this list of conditions and the following disclaimer. | ||||
|     2. Redistributions in binary form must reproduce the above copyright | ||||
|     notice, this list of conditions and the following disclaimer in the | ||||
|     documentation and/or other materials provided with the distribution. | ||||
|     3. Neither the name of the copyright holders nor the | ||||
|     names of its contributors may be used to endorse or promote products | ||||
|     derived from this software without specific prior written permission. | ||||
|  | ||||
|     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY | ||||
|     EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||||
|     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||||
|     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY | ||||
|     DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
|     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||||
|     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||||
|     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
|     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||
|     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| */ | ||||
| /**************************************************************************/ | ||||
|  | ||||
| #ifndef _METRO_NRF52840_EXPRESS_H_ | ||||
| #define _METRO_NRF52840_EXPRESS_H_ | ||||
|  | ||||
| #define _PINNUM(port, pin)    ((port)*32 + (pin)) | ||||
|  | ||||
| /*------------------------------------------------------------------*/ | ||||
| /* LED | ||||
|  *------------------------------------------------------------------*/ | ||||
| #define LEDS_NUMBER           2 | ||||
| #define LED_PRIMARY_PIN       _PINNUM(1, 13) | ||||
| #define LED_SECONDARY_PIN     _PINNUM(1, 15) | ||||
| #define LED_NEOPIXEL          _PINNUM(0, 13) | ||||
| #define BOARD_RGB_BRIGHTNESS  0x040404 | ||||
| #define LED_STATE_ON          1 | ||||
|  | ||||
| /*------------------------------------------------------------------*/ | ||||
| /* BUTTON | ||||
|  *------------------------------------------------------------------*/ | ||||
| #define BUTTONS_NUMBER        2 | ||||
| #define BUTTON_1              _PINNUM(1, 0) | ||||
| #define BUTTON_2              _PINNUM(2, 2) | ||||
| #define BUTTON_PULL           NRF_GPIO_PIN_PULLUP | ||||
|  | ||||
| /*------------------------------------------------------------------*/ | ||||
| /* UART | ||||
|  *------------------------------------------------------------------*/ | ||||
| #define RX_PIN_NUMBER         8 | ||||
| #define TX_PIN_NUMBER         6 | ||||
| #define CTS_PIN_NUMBER        0 | ||||
| #define RTS_PIN_NUMBER        0 | ||||
| #define HWFC                  false | ||||
|  | ||||
| // Used as model string in OTA mode | ||||
| #define DIS_MANUFACTURER      "Adafruit Industries" | ||||
| #define DIS_MODEL             "Bluefruit Metro nRF52840 Express" | ||||
|  | ||||
| #define PRODUCT_NAME          "Adafruit Metro nRF52840 Express" | ||||
| #define VOLUME_LABEL          "METR840BOOT" | ||||
|  | ||||
|  | ||||
| #endif /* _METRO_NRF52840_EXPRESS_H_ */ | ||||
| @@ -42,21 +42,21 @@ | ||||
| /*------------------------------------------------------------------*/ | ||||
| /* LED | ||||
|  *------------------------------------------------------------------*/ | ||||
|  #define LEDS_NUMBER    1 | ||||
|  #define LED_PRIMARY_PIN           _PINNUM(1, 12) | ||||
|  #define LED_STATE_ON   1 | ||||
| #define LEDS_NUMBER          1 | ||||
| #define LED_PRIMARY_PIN      _PINNUM(1, 12) | ||||
| #define LED_STATE_ON         1 | ||||
|  | ||||
|  #define LED_RGB_RED_PIN           _PINNUM(0, 13) | ||||
|  #define LED_RGB_GREEN_PIN         _PINNUM(0, 14) | ||||
|  #define LED_RGB_BLUE_PIN          _PINNUM(0, 15) | ||||
|  #define BOARD_RGB_BRIGHTNESS 0x202020 | ||||
| #define LED_RGB_RED_PIN      _PINNUM(0, 13) | ||||
| #define LED_RGB_GREEN_PIN    _PINNUM(0, 14) | ||||
| #define LED_RGB_BLUE_PIN     _PINNUM(0, 15) | ||||
| #define BOARD_RGB_BRIGHTNESS 0x202020 | ||||
|  | ||||
| /*------------------------------------------------------------------*/ | ||||
| /* BUTTON | ||||
|  *------------------------------------------------------------------*/ | ||||
| #define BUTTONS_NUMBER 2 | ||||
| #define BUTTON_DFU          _PINNUM(0, 11) | ||||
| #define BUTTON_FRESET       _PINNUM(0, 03) // A0 | ||||
| #define BUTTON_DFU     _PINNUM(0, 11) | ||||
| #define BUTTON_FRESET  _PINNUM(0, 03) // A0 | ||||
| #define BUTTON_PULL    NRF_GPIO_PIN_PULLUP | ||||
|  | ||||
| /*------------------------------------------------------------------*/ | ||||
|   | ||||
| @@ -79,6 +79,8 @@ void usb_init(bool cdc_only) | ||||
|  | ||||
|   _inited = true; | ||||
|  | ||||
|   NVIC_SetPriority(USBD_IRQn, 2); | ||||
|  | ||||
|   // USB power may already be ready at this time -> no event generated | ||||
|   // We need to invoke the handler based on the status initially | ||||
|   uint32_t usb_reg; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user