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 += -DUF2_VERSION='"$(GIT_VERSION) $(GIT_SUBMODULE_VERSIONS) $(SD_NAME) $(SD_VERSION)"' | ||||||
| CFLAGS += -DBOARD_$(shell echo $(BOARD) | tr '[:lower:]' '[:upper:]') | CFLAGS += -DBOARD_$(shell echo $(BOARD) | tr '[:lower:]' '[:upper:]') | ||||||
|  | CFLAGS += -DBOARD_HEADER_FILE='"boards/$(BOARD).h"' | ||||||
|  |  | ||||||
| ifneq ($(IS_52832),) | ifneq ($(IS_52832),) | ||||||
| CFLAGS += -DNRF52 | CFLAGS += -DNRF52 | ||||||
|   | |||||||
| @@ -83,7 +83,6 @@ void board_init(void) | |||||||
|  |  | ||||||
|   // Configure Systick for led blinky |   // Configure Systick for led blinky | ||||||
|   NVIC_SetPriority(SysTick_IRQn, 7); |   NVIC_SetPriority(SysTick_IRQn, 7); | ||||||
|   extern uint32_t SystemCoreClock; |  | ||||||
|   SysTick_Config(SystemCoreClock/1000); |   SysTick_Config(SystemCoreClock/1000); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										38
									
								
								src/boards.h
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								src/boards.h
									
									
									
									
									
								
							| @@ -17,23 +17,7 @@ | |||||||
| #include <string.h> | #include <string.h> | ||||||
| #include "nrf_gpio.h" | #include "nrf_gpio.h" | ||||||
|  |  | ||||||
| #if defined BOARD_FEATHER_NRF52840_EXPRESS | #include BOARD_HEADER_FILE | ||||||
|   #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 |  | ||||||
|  |  | ||||||
| #ifndef BUTTON_DFU | #ifndef BUTTON_DFU | ||||||
| #define BUTTON_DFU      BUTTON_1 | #define BUTTON_DFU      BUTTON_1 | ||||||
| @@ -73,15 +57,17 @@ void board_teardown(void); | |||||||
|  |  | ||||||
| #define bit(b) (1UL << (b)) | #define bit(b) (1UL << (b)) | ||||||
|  |  | ||||||
| #define STATE_BOOTLOADER_STARTED 0 | enum { | ||||||
| #define STATE_USB_MOUNTED 1 |   STATE_BOOTLOADER_STARTED = 0, | ||||||
| #define STATE_USB_UNMOUNTED 2 |   STATE_USB_MOUNTED, | ||||||
| #define STATE_FACTORY_RESET_STARTED 3 |   STATE_USB_UNMOUNTED, | ||||||
| #define STATE_FACTORY_RESET_FINISHED 4 |   STATE_FACTORY_RESET_STARTED, | ||||||
| #define STATE_WRITING_STARTED 5 |   STATE_FACTORY_RESET_FINISHED, | ||||||
| #define STATE_WRITING_FINISHED 6 |   STATE_WRITING_STARTED, | ||||||
| #define STATE_BLE_CONNECTED 7 |   STATE_WRITING_FINISHED, | ||||||
| #define STATE_BLE_DISCONNECTED 8 |   STATE_BLE_CONNECTED, | ||||||
|  |   STATE_BLE_DISCONNECTED | ||||||
|  | }; | ||||||
|  |  | ||||||
| void led_pwm_init(uint32_t led_index, uint32_t led_pin); | void led_pwm_init(uint32_t led_index, uint32_t led_pin); | ||||||
| void led_pwm_teardown(void); | 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_ */ | ||||||
| @@ -79,6 +79,8 @@ void usb_init(bool cdc_only) | |||||||
|  |  | ||||||
|   _inited = true; |   _inited = true; | ||||||
|  |  | ||||||
|  |   NVIC_SetPriority(USBD_IRQn, 2); | ||||||
|  |  | ||||||
|   // USB power may already be ready at this time -> no event generated |   // USB power may already be ready at this time -> no event generated | ||||||
|   // We need to invoke the handler based on the status initially |   // We need to invoke the handler based on the status initially | ||||||
|   uint32_t usb_reg; |   uint32_t usb_reg; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user