From 9702b83ef2cdf728335cfe5cd289dd304a41f1c6 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 25 Oct 2016 11:18:26 +0300 Subject: [PATCH] boards: Add board definition for the BLE core on Arduino 101 The BLE core on the Arduino 101 is an nRF51822 QFAA (256kB flash, 16kB RAM). Change-Id: Ia802b3eb634c0cd6775c4059c9569bccd915a578 Signed-off-by: Johan Hedberg --- MAINTAINERS | 5 ++ boards/arm/arduino_101_ble/Kconfig.board | 19 ++++++++ boards/arm/arduino_101_ble/Kconfig.defconfig | 47 +++++++++++++++++++ boards/arm/arduino_101_ble/Makefile | 2 + .../arduino_101_ble/arduino_101_ble_defconfig | 13 +++++ boards/arm/arduino_101_ble/board.h | 22 +++++++++ scripts/sanity_chk/arches/arm.ini | 6 ++- 7 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 boards/arm/arduino_101_ble/Kconfig.board create mode 100644 boards/arm/arduino_101_ble/Kconfig.defconfig create mode 100644 boards/arm/arduino_101_ble/Makefile create mode 100644 boards/arm/arduino_101_ble/arduino_101_ble_defconfig create mode 100644 boards/arm/arduino_101_ble/board.h diff --git a/MAINTAINERS b/MAINTAINERS index 3338329d41e..90c895faf92 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -100,6 +100,11 @@ M: Amit Kucheria S: Supported F: boards/arm/96b_nitrogen/ +BOARDS/ARM - ARDUINO 101 BLE +M: Johan Hedberg +S: Supported +F: boards/arm/arduino_101_ble/ + BOARDS/ARM - NXP FRDM-K64F M: Maureen Helm S: Supported diff --git a/boards/arm/arduino_101_ble/Kconfig.board b/boards/arm/arduino_101_ble/Kconfig.board new file mode 100644 index 00000000000..302c595b593 --- /dev/null +++ b/boards/arm/arduino_101_ble/Kconfig.board @@ -0,0 +1,19 @@ +# Kconfig - Arduino 101 BLE (nRF51822) configuration +# +# Copyright (c) 2016 Intel Corporation +# +# Licensed 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. + +config BOARD_ARDUINO_101_BLE + bool "Arduino 101 BLE" + depends on SOC_NRF51822_QFAA diff --git a/boards/arm/arduino_101_ble/Kconfig.defconfig b/boards/arm/arduino_101_ble/Kconfig.defconfig new file mode 100644 index 00000000000..2812b229cc6 --- /dev/null +++ b/boards/arm/arduino_101_ble/Kconfig.defconfig @@ -0,0 +1,47 @@ +# Kconfig - Arduino 101 BLE (nRF51822) configuration +# +# Copyright (c) 2016 Intel Corporation +# +# Licensed 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. + +if BOARD_ARDUINO_101_BLE + +config BOARD + default arduino_101_ble + +if UART_NRF5 + +config GPIO + default y + +config GPIO_NRF5 + default y + +config GPIO_NRF5_P0 + default y + +config UART_NRF5_GPIO_TX_PIN + default 9 + +config UART_NRF5_GPIO_RX_PIN + default 11 + +config UART_NRF5_GPIO_RTS_PIN + default 12 + +config UART_NRF5_GPIO_CTS_PIN + default 10 + +endif # UART_NRF5 + +endif # BOARD_ARDUINO_101_BLE diff --git a/boards/arm/arduino_101_ble/Makefile b/boards/arm/arduino_101_ble/Makefile new file mode 100644 index 00000000000..c925263c43a --- /dev/null +++ b/boards/arm/arduino_101_ble/Makefile @@ -0,0 +1,2 @@ +# No C files (yet) +obj- += dummy.o diff --git a/boards/arm/arduino_101_ble/arduino_101_ble_defconfig b/boards/arm/arduino_101_ble/arduino_101_ble_defconfig new file mode 100644 index 00000000000..95291a95c1f --- /dev/null +++ b/boards/arm/arduino_101_ble/arduino_101_ble_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_SOC_FAMILY_NRF5=y +CONFIG_SOC_SERIES_NRF51X=y +CONFIG_SOC_NRF51822_QFAA=y +CONFIG_BOARD_ARDUINO_101_BLE=y + +# enable uart driver +CONFIG_SERIAL=y +CONFIG_UART_NRF5=y + +# bluetooth +CONFIG_BLUETOOTH=y +CONFIG_BLUETOOTH_CONTROLLER=y diff --git a/boards/arm/arduino_101_ble/board.h b/boards/arm/arduino_101_ble/board.h new file mode 100644 index 00000000000..66dd23fd7db --- /dev/null +++ b/boards/arm/arduino_101_ble/board.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2016 Intel Corporation + * + * Licensed 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 __INC_BOARD_H +#define __INC_BOARD_H + +#include + +#endif /* __INC_BOARD_H */ diff --git a/scripts/sanity_chk/arches/arm.ini b/scripts/sanity_chk/arches/arm.ini index cd9ebd71a5f..f417babcd03 100644 --- a/scripts/sanity_chk/arches/arm.ini +++ b/scripts/sanity_chk/arches/arm.ini @@ -1,7 +1,8 @@ [arch] name = arm platforms = qemu_cortex_m3 frdm_k64f arduino_due nucleo_f103rb stm32_mini_a15 - olimexino_stm32 96b_nitrogen nrf52_pca10040 hexiwear_k64 nrf51_pca10028 + olimexino_stm32 96b_nitrogen nrf52_pca10040 hexiwear_k64 + nrf51_pca10028 arduino_101_ble supported_toolchains = zephyr gccarmemb [qemu_cortex_m3] @@ -30,3 +31,6 @@ qemu_support = false [nrf51_pca10028] qemu_support = false + +[arduino_101_ble] +qemu_support = false