Skip to content

Commit

Permalink
[nrf fromlist] boards: shields: add nrf7002eb
Browse files Browse the repository at this point in the history
Add board support for the nrf7002eb shield. This shield uses the
nordic edge-connector to be compatible with multiple boards.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>

Upstream PR: zephyrproject-rtos/zephyr#78330
  • Loading branch information
bjarki-andreasen committed Oct 4, 2024
1 parent 6fd7b21 commit f0e2c64
Show file tree
Hide file tree
Showing 6 changed files with 154 additions and 0 deletions.
8 changes: 8 additions & 0 deletions boards/shields/nrf7002eb/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config SHIELD_NRF7002EB
def_bool $(shields_list_contains,nrf7002eb)

config SHIELD_NRF7002EB_COEX
def_bool $(shields_list_contains,nrf7002eb_coex)
19 changes: 19 additions & 0 deletions boards/shields/nrf7002eb/boards/thingy53_nrf5340_cpuapp.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

/*
* This uses gpio0 pin 8 which conflicts with STATUS pin of Wi-Fi SR coex
*/
&npm1100_force_pwm_mode {
status = "disabled";
};

/*
* Pins P0.9, P0.10, P0.11, P0.12 conflict with SPI4 and nrf7002 host irq
*/
&uart0 {
status = "disabled";
};
72 changes: 72 additions & 0 deletions boards/shields/nrf7002eb/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
.. _nrf7002eb:

nRF7002 EB
##########

Overview
********

The nRF7002 EB is a versatile evaluation kit in the form of a thumbstick shield which connects to
compatible Nordic host boards, like the Thingy53, using the Nordic edge-connector.

The nRF7002 EB unlocks low-power Wi-Fi 6 capabilities for your host device. It support dual-band Wi-Fi
2.4GHz and 5GHz, and is based on the nRF7002 SoC.
Seamlessly connect to Wi-Fi networks and leverage Wi-Fi-based locationing, enabling advanced
features such as SSID sniffing of local Wi-Fi hubs

.. figure:: nrf7002eb.jpg
:alt: nRF7002 EB
:align: center

nRF7002 EB

Requirements
************

The nRF7002 EB board is designed to fit straight into a Nordic edge-connector and uses SPI as the
communication interface. Any host board that supports the Nordic edge-connector can be used with
the nRF7002 EB.

Prerequisites
-------------

the nRF70 driver requires firmware binary blobs for Wi-Fi operation. Run the command
below to retrieve those files.

.. code-block:: console
west update
west blobs fetch hal_nordic
Usage
*****

The shield can be used in any application by setting ``--shield nrf7002eb`` when invoking ``west build``.

Shield Variants
###############

The nRF7002 EK has a variant which includes the COEX pins. These pins are not be routed to the
edge-connector on some boards, like earlier revisions of the Thingy53 than v1.0.0.

- ``nrf7002ek``: The default variant.
- ``nrf7002ek_coex``: Variant which includes the COEX pins.

SR Co-existence
###############

The nRF7002 EK supports SR co-existence provided the host board supports it. The SR co-existence
pins are connected to the host board's GPIO pins.

Two Kconfig options are available to enable SR co-existence:

- :kconfig:option:`CONFIG_NRF70_SR_COEX`: Enables SR co-existence.
- :kconfig:option:`CONFIG_NRF70_SR_COEX_RF_SWITCH`: Control SR side RF switch.

References
**********

- `Developing with nRF7002 EB <https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf70/nrf7002eb_dev_guide.html>`_
- `nRF7002 EB product specification <https://infocenter.nordicsemi.com/topic/ug_nrf7002_eb/UG/nrf7002_EB/intro.html>`_
- `nRF7002 product specification <https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_nrf70%2Fstruct%2Fnrf7002.html&cp=3_0>`_
- `nRF7002 Co-existence <https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf7002%2Fchapters%2Ffunctional%2Fdoc%2Fcoexistence.html&cp=3_0_0_7>`_
Binary file added boards/shields/nrf7002eb/doc/nrf7002eb.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions boards/shields/nrf7002eb/nrf7002eb.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <freq.h>

/ {
chosen {
zephyr,wifi = &wlan0;
};
};

&edge_connector_spi {
status = "okay";

nrf70: nrf7002@0 {
compatible = "nordic,nrf7002-spi";
status = "okay";
reg = <0>;
spi-max-frequency = <DT_FREQ_M(8)>;

bucken-gpios = <&edge_connector 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
iovdd-ctrl-gpios = <&edge_connector 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
host-irq-gpios = <&edge_connector 19 GPIO_ACTIVE_HIGH>;

wlan0: wlan0 {
compatible = "nordic,wlan";
};

wifi-max-tx-pwr-2g-dsss = <21>;
wifi-max-tx-pwr-2g-mcs0 = <16>;
wifi-max-tx-pwr-2g-mcs7 = <16>;
wifi-max-tx-pwr-5g-low-mcs0 = <13>;
wifi-max-tx-pwr-5g-low-mcs7 = <13>;
wifi-max-tx-pwr-5g-mid-mcs0 = <13>;
wifi-max-tx-pwr-5g-mid-mcs7 = <13>;
wifi-max-tx-pwr-5g-high-mcs0 = <12>;
wifi-max-tx-pwr-5g-high-mcs7 = <12>;
};
};
13 changes: 13 additions & 0 deletions boards/shields/nrf7002eb/nrf7002eb_coex.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

#include "nrf7002eb.overlay"

&nrf70 {
status0-gpios = <&edge_connector 5 GPIO_ACTIVE_HIGH>;
req-gpios = <&edge_connector 6 GPIO_ACTIVE_HIGH>;
grant-gpios = <&edge_connector 15 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>;
};

0 comments on commit f0e2c64

Please sign in to comment.