From 96048973cf406a13badcdbdcde7ffa5a3ec625d4 Mon Sep 17 00:00:00 2001 From: Niek Ilmer Date: Wed, 21 Jun 2023 13:46:37 +0200 Subject: [PATCH] Boards: add da14695_dk_usb This commit adds board files for the da14695_dk_usb. The board features two Mikrobus sockets, these are added to the dts Signed-off-by: Niek Ilmer --- boards/arm/da14695_dk_usb/Kconfig | 4 + boards/arm/da14695_dk_usb/Kconfig.board | 8 + boards/arm/da14695_dk_usb/Kconfig.defconfig | 11 + boards/arm/da14695_dk_usb/board.cmake | 10 + .../da14695_dk_usb-pinctrl.dtsi | 78 +++++++ boards/arm/da14695_dk_usb/da14695_dk_usb.dts | 221 ++++++++++++++++++ boards/arm/da14695_dk_usb/da14695_dk_usb.yaml | 16 ++ .../da14695_dk_usb/da14695_dk_usb_defconfig | 22 ++ .../doc/da14695-00hqdevkt-u-usb-board.jpg | Bin 0 -> 52172 bytes boards/arm/da14695_dk_usb/doc/index.rst | 116 +++++++++ 10 files changed, 486 insertions(+) create mode 100644 boards/arm/da14695_dk_usb/Kconfig create mode 100644 boards/arm/da14695_dk_usb/Kconfig.board create mode 100644 boards/arm/da14695_dk_usb/Kconfig.defconfig create mode 100644 boards/arm/da14695_dk_usb/board.cmake create mode 100644 boards/arm/da14695_dk_usb/da14695_dk_usb-pinctrl.dtsi create mode 100644 boards/arm/da14695_dk_usb/da14695_dk_usb.dts create mode 100644 boards/arm/da14695_dk_usb/da14695_dk_usb.yaml create mode 100644 boards/arm/da14695_dk_usb/da14695_dk_usb_defconfig create mode 100644 boards/arm/da14695_dk_usb/doc/da14695-00hqdevkt-u-usb-board.jpg create mode 100644 boards/arm/da14695_dk_usb/doc/index.rst diff --git a/boards/arm/da14695_dk_usb/Kconfig b/boards/arm/da14695_dk_usb/Kconfig new file mode 100644 index 000000000000000..38ccd8265071a4d --- /dev/null +++ b/boards/arm/da14695_dk_usb/Kconfig @@ -0,0 +1,4 @@ +# DA14695 Development Kit USB board configuration + +# Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates +# SPDX-License-Identifier: Apache-2.0 diff --git a/boards/arm/da14695_dk_usb/Kconfig.board b/boards/arm/da14695_dk_usb/Kconfig.board new file mode 100644 index 000000000000000..67dbe731ffa5384 --- /dev/null +++ b/boards/arm/da14695_dk_usb/Kconfig.board @@ -0,0 +1,8 @@ +# DA14695 Development Kit USB board configuration + +# Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_DA14695_DK_USB + bool "DA14695 Development Kit USB board" + depends on SOC_SERIES_DA1469X diff --git a/boards/arm/da14695_dk_usb/Kconfig.defconfig b/boards/arm/da14695_dk_usb/Kconfig.defconfig new file mode 100644 index 000000000000000..8208a705bd83917 --- /dev/null +++ b/boards/arm/da14695_dk_usb/Kconfig.defconfig @@ -0,0 +1,11 @@ +# DA14695 Development Kit USB board configuration + +# Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_DA14695_DK_USB + +config BOARD + default "da14695_dk_usb" + +endif # BOARD_DA14695_DK_USB diff --git a/boards/arm/da14695_dk_usb/board.cmake b/boards/arm/da14695_dk_usb/board.cmake new file mode 100644 index 000000000000000..fc5981bb3911380 --- /dev/null +++ b/boards/arm/da14695_dk_usb/board.cmake @@ -0,0 +1,10 @@ +# +# Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates +# +# SPDX-License-Identifier: Apache-2.0 +# + +board_runner_args(ezflashcli) +board_runner_args(jlink --device=DA14695) +include(${ZEPHYR_BASE}/boards/common/ezflashcli.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/arm/da14695_dk_usb/da14695_dk_usb-pinctrl.dtsi b/boards/arm/da14695_dk_usb/da14695_dk_usb-pinctrl.dtsi new file mode 100644 index 000000000000000..d16ad945fa855c6 --- /dev/null +++ b/boards/arm/da14695_dk_usb/da14695_dk_usb-pinctrl.dtsi @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +&pinctrl { + uart_default: uart_default { + group1 { + pinmux = ; + }; + group2 { + pinmux = ; + bias-pull-up; + }; + }; + + uart2_default: uart2_default { + group1 { + pinmux = ; + }; + group2 { + pinmux = ; + bias-pull-up; + }; + }; + + uart3_default: uart3_default { + group1 { + pinmux = ; + }; + group2 { + pinmux = ; + bias-pull-up; + }; + }; + + i2c_default: i2c_default { + group1 { + pinmux = , + ; + bias-pull-up; + }; + }; + + i2c2_default: i2c2_default { + group1 { + pinmux = , + ; + bias-pull-up; + }; + }; + + spi_controller: spi_controller { + group1 { + pinmux = < SMARTBOND_PINMUX(SPI_CLK, 0, 21) >, + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + spi2_controller: spi2_controller { + group1 { + pinmux = < SMARTBOND_PINMUX(SPI2_CLK, 1, 3) >, + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; +}; diff --git a/boards/arm/da14695_dk_usb/da14695_dk_usb.dts b/boards/arm/da14695_dk_usb/da14695_dk_usb.dts new file mode 100644 index 000000000000000..dae782586a7682f --- /dev/null +++ b/boards/arm/da14695_dk_usb/da14695_dk_usb.dts @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include "da14695_dk_usb-pinctrl.dtsi" + +/ { + model = "DA14695 series Development Kit USB"; + compatible = "renesas,da14695_dk_usb"; + #address-cells = <1>; + #size-cells = <1>; + + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &uart; + zephyr,shell-uart = &uart; + zephyr,code-partition = &slot0_partition; + }; + + leds { + compatible = "gpio-leds"; + red_led: led_0 { + gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; + }; + }; + + buttons { + compatible = "gpio-keys"; + button0: button_0 { + gpios = <&gpio0 6 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; + label = "Push button switch K1"; + }; + }; + + mikrobus_header{ + mikrobus-connector-1 { + compatible = "mikro-bus"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = <0 0 &gpio0 25 0>, /* AN */ + /* Not a GPIO*/ /* RST */ + <2 0 &gpio1 2 0>, /* CS */ + <3 0 &gpio1 3 0>, /* SCK */ + <4 0 &gpio1 4 0>, /* MISO */ + <5 0 &gpio1 5 0>, /* MOSI */ + /* +3.3V */ + /* GND */ + <6 0 &gpio1 6 0>, /* PWM */ + <7 0 &gpio1 7 0>, /* INT */ + <8 0 &gpio1 8 0>, /* RX */ + <9 0 &gpio0 17 0>, /* TX */ + <10 0 &gpio0 18 0>, /* SCL */ + <11 0 &gpio0 19 0>; /* SDA */ + /* +5V */ + /* GND */ + }; + mikrobus-connector-2 { + compatible = "mikro-bus"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = <0 0 &gpio1 9 0>, /* AN */ + /* Not a GPIO*/ /* RST */ + <2 0 &gpio0 20 0>, /* CS */ + <3 0 &gpio0 21 0>, /* SCK */ + <4 0 &gpio0 24 0>, /* MISO */ + <5 0 &gpio0 26 0>, /* MOSI */ + /* +3.3V */ + /* GND */ + <6 0 &gpio1 1 0>, /* PWM */ + <7 0 &gpio0 27 0>, /* INT */ + <8 0 &gpio0 28 0>, /* RX */ + <9 0 &gpio0 29 0>, /* TX */ + <10 0 &gpio0 30 0>, /* SCL */ + <11 0 &gpio0 31 0>; /* SDA */ + /* +5V */ + /* GND */ + }; + }; + + aliases { + led0 = &red_led; + watchdog0 = &wdog; + }; + + sysclk: system-clock { + compatible = "fixed-clock"; + clock-frequency = <32000000>; + #clock-cells = <0>; + }; +}; + +&flash0 { + reg = <0x16000000 DT_SIZE_M(1)>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* + * Flash area from 0x0000 to 0x2400 is reserved + * for product header added by flasher. + */ + + boot_partition: partition@2400 { + label = "mcuboot"; + reg = <0x000002400 0x00009c00>; + }; + slot0_partition: partition@c000 { + label = "image-0"; + reg = <0x0000c000 0x00076000>; + }; + slot1_partition: partition@80000 { + label = "image-1"; + reg = <0x00082000 0x00076000>; + }; + storage_partition: partition@f8000 { + label = "storage"; + reg = <0x000f8000 0x00008000>; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&uart { + current-speed = <115200>; + status = "okay"; + pinctrl-0 = <&uart_default>; + pinctrl-names = "default"; +}; + +&uart2 { + current-speed = <115200>; + status = "okay"; + pinctrl-0 = <&uart2_default>; + pinctrl-names = "default"; +}; + +&uart3 { + current-speed = <115200>; + status = "okay"; + pinctrl-0 = <&uart3_default>; + pinctrl-names = "default"; +}; + +zephyr_udc0: &usbd { + compatible = "renesas,smartbond-usbd"; + status = "okay"; +}; + +&rc32m { + status = "disabled"; +}; + +&xtal32m { + status = "okay"; +}; + +&xtal32k { + status = "okay"; +}; + +&lp_clk { + clock-src = <&xtal32k>; +}; + +&sys_clk { + clock-src = <&xtal32m>; +}; + +&pll { + status = "okay"; +}; +&i2c { + status = "okay"; + pinctrl-0 = <&i2c_default>; + pinctrl-names = "default"; +}; + +&i2c2 { + status = "okay"; + pinctrl-0 = <&i2c2_default>; + pinctrl-names = "default"; +}; + +&spi { + status = "okay"; + pinctrl-0 = <&spi_controller>; + pinctrl-names = "default"; +}; + +&spi2 { + status = "okay"; + pinctrl-0 = <&spi2_controller>; + pinctrl-names = "default"; +}; + +mikrobus_1_i2c: &i2c {}; + +mikrobus_1_spi: &spi {}; + +mikrobus_1_uart: &uart2 {}; + +mikrobus_2_i2c: &i2c2 {}; + +mikrobus_2_spi: &spi2 {}; + +mikrobus_2_uart: &uart3 {}; diff --git a/boards/arm/da14695_dk_usb/da14695_dk_usb.yaml b/boards/arm/da14695_dk_usb/da14695_dk_usb.yaml new file mode 100644 index 000000000000000..1bb6100e339704b --- /dev/null +++ b/boards/arm/da14695_dk_usb/da14695_dk_usb.yaml @@ -0,0 +1,16 @@ +identifier: da14695_dk_usb +name: DA14695_DK_USB +type: mcu +arch: arm +ram: 512 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - arduino_gpio + - gpio + - watchdog + - i2c + - spi + - usb_device diff --git a/boards/arm/da14695_dk_usb/da14695_dk_usb_defconfig b/boards/arm/da14695_dk_usb/da14695_dk_usb_defconfig new file mode 100644 index 000000000000000..d0a672430343df6 --- /dev/null +++ b/boards/arm/da14695_dk_usb/da14695_dk_usb_defconfig @@ -0,0 +1,22 @@ +# +# Copyright (c) 2023 Renesas Electronics Corporation and/or its affiliates +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_SOC_SERIES_DA1469X=y +CONFIG_SOC_DA14695=y +CONFIG_BOARD_DA14695_DK_USB=y + +CONFIG_HW_STACK_PROTECTION=y + +CONFIG_GPIO=y + +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y +CONFIG_SERIAL=y + +CONFIG_BUILD_OUTPUT_HEX=n + +CONFIG_I2C=y +CONFIG_I2C_CALLBACK=y diff --git a/boards/arm/da14695_dk_usb/doc/da14695-00hqdevkt-u-usb-board.jpg b/boards/arm/da14695_dk_usb/doc/da14695-00hqdevkt-u-usb-board.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f0c6021e763af19cb703fe3c5563c711e3f02e8 GIT binary patch literal 52172 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 literal 0 HcmV?d00001 diff --git a/boards/arm/da14695_dk_usb/doc/index.rst b/boards/arm/da14695_dk_usb/doc/index.rst new file mode 100644 index 000000000000000..84f5c772d8ace1e --- /dev/null +++ b/boards/arm/da14695_dk_usb/doc/index.rst @@ -0,0 +1,116 @@ +.. _da14695_dk_usb: + +DA14695 Development Kit USB +########################### + +Overview +******** + +The DA14695 Development Kit USB is a low cost development board for DA14695. +The development kit comes with an integrated debugger and an USB hub +to have both the on-chip USB and the J-Link connected via a single port. + +.. figure:: da14695-00hqdevkt-u-usb-board.jpg + :width: 442px + :align: center + :alt: DA14695 Development Kit USB + + DA14695 Development Kit USB (Credit: Renesas Electronics Corporation) + +Hardware +******** + +DA14695 Development Kit USB has two external oscillators. The frequency of +the sleep clock is 32768 Hz. The frequency of the system clock is 32 MHz. + +Supported Features +================== + +The _da14695_dk_usb board configuration supports the following +hardware features: + ++-----------+------------+----------------------+ +| Interface | Controller | Driver/Component | ++===========+============+======================+ +| FLASH | on-chip | flash | ++-----------+------------+----------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+----------------------+ +| MPU | on-chip | arch/arm | ++-----------+------------+----------------------+ +| NVIC | on-chip | arch/arm | ++-----------+------------+----------------------+ +| RTT | Segger | console | ++-----------+------------+----------------------+ +| UART | on-chip | serial | ++-----------+------------+----------------------+ +| SPI | on-chip | spi | ++-----------+------------+----------------------+ + +Other hardware features, including the Configurable MAC (CMAC) controller, +are currently not supported by the port. + +For more information about the DA14695 Development Kit see: + +- `DA14695 DK USB website`_ + +System Clock +============ + +The DA14695 Development Kit USB is configured to use the 32 MHz external oscillator +on the board. + +Connections and IOs +=================== + +The DA14695 Development Kit USB has one LED and one push button which can be used +by applications. The UART is connected to on-board serial converter and accessible +via USB1 port on motherboard. + +The pin connections are as follows: + +* LED (red), = P1.01 +* BUTTON, labeled k1 = P0.06 +* UART RX, connected to J-Link serial = P0.08 +* UART TX, connected to J-Link serial = P0.09 + +Programming and Debugging +************************* + +Applications for the ``da14695_dk_usb`` board configuration can be +built, flashed, and debugged in the usual way. See +:ref:`build_an_application` and :ref:`application_run` for more details on +building and running. + +Flashing +======== + +The DA14695 boots from an external flash connected to QSPI interface. The image +written to flash has to have proper header prepended. The process is simplified +by using dedicated `eZFlashCLI`_ tool that takes care of writing header and can +handle different types of flash chips connected to DA1469x MCU. Follow instructions +on `ezFlashCLI`_ to install the tool. Once installed, flashing can be done in the +usual way. + +.. zephyr-app-commands:: + :zephyr-app: samples/basic/blinky + :board: da14695_dk_usb + :goals: build flash + +Debugging +========= + +The DA14695 Development Kit USB includes a `J-Link`_ adaptor built-in +which provides both debugging interface and serial port. +Application can be debugged in the usual way once DA14695 Development Kit USB +is connected to PC via USB. + +References +********** + +.. target-notes:: + +.. _DA14695 DK USB website: https://www.renesas.com/us/en/products/wireless-connectivity/bluetooth-low-energy/da14695-00hqdevkt-u-smartbond-da14695-bluetooth-low-energy-52-usb-development-kit +.. _DA1469x Datasheet: https://www.renesas.com/eu/en/document/dst/da1469x-datasheet +.. _J-Link: https://www.segger.com/jlink-debug-probes.html +.. _ezFlashCLI: https://github.com/ezflash/ezFlashCLI/