Skip to content

Commit e589fd6

Browse files
RaytacStanleykartben
authored andcommitted
boards: raytac: Add support for raytac_an54l15q_db
Add support for Raytac's new AN54L15Q-DB demo board. Signed-off-by: Stanley Huang <stanley@raytac.com>
1 parent 425f3f4 commit e589fd6

File tree

41 files changed

+1327
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1327
-0
lines changed

boards/raytac/an54l15q_db/Kconfig

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# Copyright (c) 2025 Raytac Corporation.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# Raytac AN54L15Q-DB board configuration
6+
7+
if BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP_NS
8+
9+
DT_NRF_MPC := $(dt_nodelabel_path,nrf_mpc)
10+
11+
config NRF_TRUSTZONE_FLASH_REGION_SIZE
12+
hex
13+
default $(dt_node_int_prop_hex,$(DT_NRF_MPC),override-granularity)
14+
help
15+
This defines the flash region size from the TrustZone perspective.
16+
It is used when configuring the TrustZone and when setting alignments
17+
requirements for the partitions.
18+
This abstraction allows us to configure TrustZone without depending
19+
on peripheral-specific symbols.
20+
21+
config NRF_TRUSTZONE_RAM_REGION_SIZE
22+
hex
23+
default $(dt_node_int_prop_hex,$(DT_NRF_MPC),override-granularity)
24+
help
25+
This defines the RAM region size from the TrustZone perspective.
26+
It is used when configuring the TrustZone and when setting alignments
27+
requirements for the partitions.
28+
This abstraction allows us to configure TrustZone without depending
29+
on peripheral specific symbols.
30+
31+
endif #BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP_NS
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# Copyright (c) 2025 Raytac Corporation.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
# Workaround for not being able to have commas in macro arguments
6+
DT_CHOSEN_Z_CODE_PARTITION := zephyr,code-partition
7+
DT_CHOSEN_Z_SRAM_PARTITION := zephyr,sram-secure-partition
8+
9+
if BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP
10+
11+
config ROM_START_OFFSET
12+
default 0x800 if BOOTLOADER_MCUBOOT
13+
14+
endif # BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP
15+
16+
if BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP_NS
17+
18+
config BT_CTLR
19+
default BT
20+
21+
config FLASH_LOAD_OFFSET
22+
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_CODE_PARTITION))
23+
24+
config FLASH_LOAD_SIZE
25+
default $(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_CODE_PARTITION))
26+
27+
# By default, if we build for a Non-Secure version of the board,
28+
# enable building with TF-M as the Secure Execution Environment.
29+
config BUILD_WITH_TFM
30+
default y
31+
32+
endif # BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP_NS
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# Copyright (c) 2025 Raytac Corporation.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
config BOARD_RAYTAC_AN54L15Q_DB
6+
select SOC_NRF54L15_CPUAPP if BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP || BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP_NS
7+
select SOC_NRF54L15_CPUFLPR if BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUFLPR || \
8+
BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUFLPR_XIP

boards/raytac/an54l15q_db/board.cmake

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright (c) 2024 Nordic Semiconductor ASA
2+
# Copyright (c) 2025 Raytac Corporation.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
if(CONFIG_SOC_NRF54L15_CPUAPP)
6+
board_runner_args(jlink "--device=nRF54L15_M33" "--speed=4000")
7+
elseif (CONFIG_SOC_NRF54L15_CPUFLPR)
8+
board_runner_args(jlink "--device=nRF54L15_RV32")
9+
endif()
10+
11+
if(BOARD_RAYTAC_AN54L15Q_DB_NRF54L15_CPUAPP_NS)
12+
set(TFM_PUBLIC_KEY_FORMAT "full")
13+
endif()
14+
15+
if(CONFIG_TFM_FLASH_MERGED_BINARY)
16+
set_property(TARGET runners_yaml_props_target PROPERTY hex_file tfm_merged.hex)
17+
endif()
18+
19+
include(${ZEPHYR_BASE}/boards/common/nrfutil.board.cmake)
20+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/raytac/an54l15q_db/board.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
board:
2+
name: raytac_an54l15q_db
3+
full_name: AN54L15Q-DB
4+
vendor: raytac
5+
socs:
6+
- name: nrf54l15
7+
variants:
8+
- name: xip
9+
cpucluster: cpuflpr
10+
- name: ns
11+
cpucluster: cpuapp
12+
runners:
13+
run_once:
14+
'--recover':
15+
- runners:
16+
- nrfjprog
17+
- nrfutil
18+
run: first
19+
groups:
20+
- boards:
21+
- raytac_an54l15q_db/nrf54l15/cpuapp
22+
- raytac_an54l15q_db/nrf54l15/cpuflpr
23+
- raytac_an54l15q_db/nrf54l15/cpuflpr/xip
24+
'--erase':
25+
- runners:
26+
- nrfjprog
27+
- jlink
28+
- nrfutil
29+
run: first
30+
groups:
31+
- boards:
32+
- raytac_an54l15q_db/nrf54l15/cpuapp
33+
- raytac_an54l15q_db/nrf54l15/cpuflpr
34+
- raytac_an54l15q_db/nrf54l15/cpuflpr/xip
35+
'--reset':
36+
- runners:
37+
- nrfjprog
38+
- jlink
39+
- nrfutil
40+
run: last
41+
groups:
42+
- boards:
43+
- raytac_an54l15q_db/nrf54l15/cpuapp
44+
- raytac_an54l15q_db/nrf54l15/cpuflpr
45+
- raytac_an54l15q_db/nrf54l15/cpuflpr/xip
Binary file not shown.
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
.. zephyr:board:: raytac_an54l15q_db
2+
3+
Overview
4+
********
5+
6+
The Raytac AN54L15Q-DB demonstration board is a development board based on the Raytac AN54L15Q module.
7+
It uses the Nordic Semiconductor nRF54L15 SoC solution. The idea is to connect all the module's pins
8+
to a 2.54mm pin header. It can easily open the verification module functions and connect with other
9+
peripheral devices and sensor pins, making it a useful tool for early software development.
10+
11+
.. note::
12+
You can find more information about the nRF54L15 SoC on the `nRF54L15 website`_.
13+
For the nRF54L15 technical documentation and other resources (such as
14+
SoC Datasheet), see the `nRF54L15 documentation`_ page.
15+
16+
Hardware
17+
********
18+
19+
The Raytac AN54L15Q-DB has two crystal oscillators:
20+
21+
* High-frequency 32 MHz crystal oscillator (HFXO)
22+
* Low-frequency 32.768 kHz crystal oscillator (LFXO)
23+
24+
The crystal oscillators can be configured to use either
25+
internal or external capacitors.
26+
27+
- Module Demo Board built by AN54L15Q
28+
- Nordic nRF54L15 SoC Solution
29+
- A recommended 3rd-party module by Nordic Semiconductor.
30+
- Intended for Bluetooth specification BT6
31+
- Intended for FCC, IC, CE, Telec (MIC), KC, SRRC, NCC, RCM, WPC
32+
- 128 MHz ARM® Cortex™-M33 processor with TrustZone® technology
33+
- 128 MHz RISC-V coprocessor with TrustZone® technology
34+
- 1.5MB Flash Memory / 256KB RAM
35+
- RoHS & Reach Compliant.
36+
- 31 GPIO
37+
- Chip Antenna
38+
- Interfaces: SPI, UART, I2C, I2S, PDM, PWM, ADC, and NFC
39+
- Highly flexible multiprotocol SoC ideally suited for Bluetooth® Low Energy,
40+
ANT+, Zigbee, Thread (802.15.4), and Matter ultra low-power wireless applications.
41+
42+
Supported Features
43+
==================
44+
45+
.. zephyr:board-supported-hw::
46+
47+
Connections and IOs
48+
===================
49+
50+
LED
51+
---
52+
53+
* LED0 (green) = P2.09
54+
* LED1 (green) = P1.10
55+
* LED2 (green) = P2.07
56+
* LED3 (green) = P1.14
57+
58+
Push buttons
59+
------------
60+
61+
* BUTTON1 = SW0 = P1.13
62+
* BUTTON2 = SW1 = P1.09
63+
* BUTTON3 = SW2 = P1.08
64+
* BUTTON4 = SW3 = P0.04
65+
66+
UART
67+
----
68+
* RX = P1.05
69+
* TX = P1.04
70+
* RTS = P1.06
71+
* CTS = P1.07
72+
73+
Programming and Debugging
74+
*************************
75+
76+
.. zephyr:board-supported-runners::
77+
78+
Applications for the ``raytac_an54l15q_db/nrf54l15/cpuapp`` board can be
79+
built, flashed, and debugged in the usual way. See
80+
:ref:`build_an_application` and :ref:`application_run` for more details on
81+
building and running.
82+
83+
.. note::
84+
The ``raytac_an54l15q_db`` board does not have an on-board J-Link debug IC;
85+
Use the Debug out connector of the nRF5340-DK or nRF54L15-DK to connect to the J1
86+
or J9 SWD connector, and use SEGGER J-Link OB IF to debug.
87+
88+
Flashing
89+
========
90+
91+
As an example, this section shows how to build and flash the :zephyr:code-sample:`hello_world`
92+
application.
93+
94+
.. warning::
95+
96+
When programming the device, you might get an error similar to the following message::
97+
98+
ERROR: The operation attempted is unavailable due to readback protection in
99+
ERROR: your device. Please use --recover to unlock the device.
100+
101+
This error occurs when readback protection is enabled.
102+
To disable the readback protection, you must *recover* your device.
103+
104+
Enter the following command to recover the core::
105+
106+
west flash --recover
107+
108+
The ``--recover`` command erases the flash memory and then writes a small binary into
109+
the recovered flash memory.
110+
This binary prevents the readback protection from enabling itself again after a pin
111+
reset or power cycle.
112+
113+
Follow the instructions in the :ref:`nordic_segger` page to install
114+
and configure all the necessary software. Further information can be
115+
found in :ref:`nordic_segger_flashing`.
116+
117+
To build and program the sample to the Raytac AN54L15Q-DB, complete the following steps:
118+
119+
First, connect the Raytac AN54L15Q-DB's J10 connector to you computer using a USB to TTL
120+
converter. Then run your favorite terminal program to listen for output.
121+
122+
.. code-block:: console
123+
124+
$ minicom -D <tty_device> -b 115200
125+
126+
Replace :code:`<tty_device>` with the port where the USB to TTL converter
127+
can be found. For example, under Linux, :code:`/dev/ttyUSB0`.
128+
129+
Next, build the sample by running the following command:
130+
131+
.. zephyr-app-commands::
132+
:zephyr-app: samples/hello_world
133+
:board: raytac_an54l15q_db/nrf54l15/cpuapp
134+
:goals: build flash
135+
136+
References
137+
**********
138+
139+
.. target-notes::
140+
141+
.. _Raytac AN54L15Q-DB website:
142+
https://www.raytac.com/product/ins.php?index_id=139
143+
.. _Raytac AN54L15Q-DB Specification:
144+
https://www.raytac.com/download/index.php?index_id=60
145+
.. _Raytac AN54L15Q-DB Schematic:
146+
https://www.raytac.com/upload/catalog_b/8b5e364600a9cc8c53a869733e97f07e.jpg
147+
.. _nRF54L15 website: https://www.nordicsemi.com/Products/nRF54L15
148+
.. _nRF54L15 documentation: https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54l/index.html
149+
.. _J-Link Software and documentation pack:
150+
https://www.segger.com/jlink-software.html

0 commit comments

Comments
 (0)