ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
syscfg.h File Reference

NimBLE syscfg overrides for the RA8 port. More...

#include "../../../libs/third_party/nimble/porting/nimble/include/syscfg/syscfg.h"
Include dependency graph for syscfg.h:

Go to the source code of this file.

Macros

#define MYNEWT_VAL_BLE_SM   (1)
 MYNEWT VAL BLE SM.
#define MYNEWT_VAL_BLE_SM_LEGACY   (1)
 MYNEWT VAL BLE SM LEGACY.
#define MYNEWT_VAL_BLE_SM_SC   (1)
 MYNEWT VAL BLE SM SC.
#define MYNEWT_VAL_BLE_SM_SC_ONLY   (0)
 MYNEWT VAL BLE SM SC ONLY.
#define MYNEWT_VAL_BLE_SM_BONDING   (1)
 MYNEWT VAL BLE SM BONDING.
#define MYNEWT_VAL_BLE_SM_MITM   (1)
 MYNEWT VAL BLE SM MITM.
#define MYNEWT_VAL_BLE_SM_IO_CAP   (BLE_HS_IO_NO_INPUT_OUTPUT)
 MYNEWT VAL BLE SM IO CAP.
#define MYNEWT_VAL_BLE_SM_KEYPRESS   (0)
 MYNEWT VAL BLE SM KEYPRESS.
#define MYNEWT_VAL_BLE_SM_OOB_DATA_FLAG   (0)
 MYNEWT VAL BLE SM OOB DATA FLAG.
#define MYNEWT_VAL_BLE_SM_MAX_PROCS   (1)
 MYNEWT VAL BLE SM MAX PROCS.
#define MYNEWT_VAL_BLE_STORE_MAX_BONDS   (4)
 MYNEWT VAL BLE STORE MAX BONDS.
#define MYNEWT_VAL_BLE_STORE_MAX_CCCDS   (8)
 MYNEWT VAL BLE STORE MAX CCCDS.
#define MYNEWT_VAL_BLE_GATT_DISC_ALL_SVCS   (1)
 MYNEWT VAL BLE GATT DISC ALL SVCS.
#define MYNEWT_VAL_BLE_GATT_DISC_SVC_UUID   (1)
 MYNEWT VAL BLE GATT DISC SVC UUID.
#define MYNEWT_VAL_BLE_GATT_DISC_ALL_CHRS   (1)
 MYNEWT VAL BLE GATT DISC ALL CHRS.
#define MYNEWT_VAL_BLE_GATT_DISC_ALL_DSCS   (1)
 MYNEWT VAL BLE GATT DISC ALL DSCS.
#define MYNEWT_VAL_BLE_GATT_READ   (1)
 MYNEWT VAL BLE GATT READ.
#define MYNEWT_VAL_BLE_GATT_WRITE   (1)
 MYNEWT VAL BLE GATT WRITE.
#define MYNEWT_VAL_BLE_GATT_WRITE_NO_RSP   (1)
 MYNEWT VAL BLE GATT WRITE NO RSP.
#define MYNEWT_VAL_BLE_GATT_NOTIFY   (1)
 MYNEWT VAL BLE GATT NOTIFY.
#define MYNEWT_VAL_BLE_ROLE_CENTRAL   (1)
 MYNEWT VAL BLE ROLE CENTRAL.
#define MYNEWT_VAL_BLE_ROLE_OBSERVER   (1)
 MYNEWT VAL BLE ROLE OBSERVER.
#define MYNEWT_VAL_BLE_MESH   (1)
 MYNEWT VAL BLE MESH.
#define MYNEWT_VAL_BLE_MESH_PROV   (1)
 MYNEWT VAL BLE MESH PROV.
#define MYNEWT_VAL_BLE_MESH_PB_ADV   (1)
 MYNEWT VAL BLE MESH PB ADV.
#define MYNEWT_VAL_BLE_MESH_PB_GATT   (1)
 MYNEWT VAL BLE MESH PB GATT.
#define MYNEWT_VAL_BLE_MESH_PROXY   (1)
 MYNEWT VAL BLE MESH PROXY.
#define MYNEWT_VAL_BLE_MESH_RELAY   (1)
 MYNEWT VAL BLE MESH RELAY.
#define MYNEWT_VAL_BLE_MESH_FRIEND   (0)
 MYNEWT VAL BLE MESH FRIEND.
#define MYNEWT_VAL_BLE_MESH_LOW_POWER   (0)
 MYNEWT VAL BLE MESH LOW POWER.
#define MYNEWT_VAL_BLE_MESH_CRPL   (10)
 MYNEWT VAL BLE MESH CRPL.
#define MYNEWT_VAL_BLE_MESH_APP_KEY_COUNT   (1)
 MYNEWT VAL BLE MESH APP KEY COUNT.
#define MYNEWT_VAL_BLE_MESH_SUBNET_COUNT   (1)
 MYNEWT VAL BLE MESH SUBNET COUNT.
#define MYNEWT_VAL_BLE_SM_SC_HW_OFFLOAD   (1)
 Project syscfg reserved for routing NimBLE's P-256 key-pair generation, ECDH shared-secret, AES-CMAC and AES-128-ECB primitives through our ra8_rsip wrapper instead of the bundled tinycrypt fallback.

Detailed Description

NimBLE syscfg overrides for the RA8 port.

Tag
[Ring 4 / PORT] {World: NS}

Apache NimBLE consumes a syscfg.h from the build's include search path; if absent it falls back to porting/nimble/include/syscfg/syscfg.h which leaves SMP, bonding and Mesh disabled. We override the relevant settings for this port:

The values are forwarded to NimBLE through the MYNEWT_VAL(...) macro which expands to MYNEWT_VAL_##NAME; defining those identifiers here pre-empts the upstream defaults.

Warning
UNVALIDATED SCAFFOLD (issue #286): these syscfg knobs enable NimBLE features (SMP, bonding, Mesh, GATT client) that link and pass the static gates, but the whole NimBLE port has NEVER been hardware-validated and is NOT emulator-gated – ra8_emulator models no RA8D2 BLE controller / HCI mailbox, and the underlying ra8_ble transport is itself unproven on this board (see #86, #91). Enabling a knob here does not imply the feature runs on silicon; consumers stay under examples/_unsupported/ until a NimBLE app is driven to real hardware validation and promoted.

Definition in file syscfg.h.

Macro Definition Documentation

◆ MYNEWT_VAL_BLE_GATT_DISC_ALL_CHRS

#define MYNEWT_VAL_BLE_GATT_DISC_ALL_CHRS   (1)

MYNEWT VAL BLE GATT DISC ALL CHRS.

Definition at line 131 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_DISC_ALL_DSCS

#define MYNEWT_VAL_BLE_GATT_DISC_ALL_DSCS   (1)

MYNEWT VAL BLE GATT DISC ALL DSCS.

Definition at line 135 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_DISC_ALL_SVCS

#define MYNEWT_VAL_BLE_GATT_DISC_ALL_SVCS   (1)

MYNEWT VAL BLE GATT DISC ALL SVCS.

Definition at line 123 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_DISC_SVC_UUID

#define MYNEWT_VAL_BLE_GATT_DISC_SVC_UUID   (1)

MYNEWT VAL BLE GATT DISC SVC UUID.

Definition at line 127 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_NOTIFY

#define MYNEWT_VAL_BLE_GATT_NOTIFY   (1)

MYNEWT VAL BLE GATT NOTIFY.

Definition at line 151 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_READ

#define MYNEWT_VAL_BLE_GATT_READ   (1)

MYNEWT VAL BLE GATT READ.

Definition at line 139 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_WRITE

#define MYNEWT_VAL_BLE_GATT_WRITE   (1)

MYNEWT VAL BLE GATT WRITE.

Definition at line 143 of file syscfg.h.

◆ MYNEWT_VAL_BLE_GATT_WRITE_NO_RSP

#define MYNEWT_VAL_BLE_GATT_WRITE_NO_RSP   (1)

MYNEWT VAL BLE GATT WRITE NO RSP.

Definition at line 147 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH

#define MYNEWT_VAL_BLE_MESH   (1)

MYNEWT VAL BLE MESH.

Definition at line 167 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_APP_KEY_COUNT

#define MYNEWT_VAL_BLE_MESH_APP_KEY_COUNT   (1)

MYNEWT VAL BLE MESH APP KEY COUNT.

Definition at line 203 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_CRPL

#define MYNEWT_VAL_BLE_MESH_CRPL   (10)

MYNEWT VAL BLE MESH CRPL.

Definition at line 199 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_FRIEND

#define MYNEWT_VAL_BLE_MESH_FRIEND   (0)

MYNEWT VAL BLE MESH FRIEND.

Definition at line 191 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_LOW_POWER

#define MYNEWT_VAL_BLE_MESH_LOW_POWER   (0)

MYNEWT VAL BLE MESH LOW POWER.

Definition at line 195 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_PB_ADV

#define MYNEWT_VAL_BLE_MESH_PB_ADV   (1)

MYNEWT VAL BLE MESH PB ADV.

Definition at line 175 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_PB_GATT

#define MYNEWT_VAL_BLE_MESH_PB_GATT   (1)

MYNEWT VAL BLE MESH PB GATT.

Definition at line 179 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_PROV

#define MYNEWT_VAL_BLE_MESH_PROV   (1)

MYNEWT VAL BLE MESH PROV.

Definition at line 171 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_PROXY

#define MYNEWT_VAL_BLE_MESH_PROXY   (1)

MYNEWT VAL BLE MESH PROXY.

Definition at line 183 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_RELAY

#define MYNEWT_VAL_BLE_MESH_RELAY   (1)

MYNEWT VAL BLE MESH RELAY.

Definition at line 187 of file syscfg.h.

◆ MYNEWT_VAL_BLE_MESH_SUBNET_COUNT

#define MYNEWT_VAL_BLE_MESH_SUBNET_COUNT   (1)

MYNEWT VAL BLE MESH SUBNET COUNT.

Definition at line 207 of file syscfg.h.

◆ MYNEWT_VAL_BLE_ROLE_CENTRAL

#define MYNEWT_VAL_BLE_ROLE_CENTRAL   (1)

MYNEWT VAL BLE ROLE CENTRAL.

Definition at line 155 of file syscfg.h.

◆ MYNEWT_VAL_BLE_ROLE_OBSERVER

#define MYNEWT_VAL_BLE_ROLE_OBSERVER   (1)

MYNEWT VAL BLE ROLE OBSERVER.

Definition at line 159 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM

#define MYNEWT_VAL_BLE_SM   (1)

MYNEWT VAL BLE SM.

Definition at line 71 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_BONDING

#define MYNEWT_VAL_BLE_SM_BONDING   (1)

MYNEWT VAL BLE SM BONDING.

Definition at line 87 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_IO_CAP

#define MYNEWT_VAL_BLE_SM_IO_CAP   (BLE_HS_IO_NO_INPUT_OUTPUT)

MYNEWT VAL BLE SM IO CAP.

Definition at line 95 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_KEYPRESS

#define MYNEWT_VAL_BLE_SM_KEYPRESS   (0)

MYNEWT VAL BLE SM KEYPRESS.

Definition at line 99 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_LEGACY

#define MYNEWT_VAL_BLE_SM_LEGACY   (1)

MYNEWT VAL BLE SM LEGACY.

Definition at line 75 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_MAX_PROCS

#define MYNEWT_VAL_BLE_SM_MAX_PROCS   (1)

MYNEWT VAL BLE SM MAX PROCS.

Definition at line 107 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_MITM

#define MYNEWT_VAL_BLE_SM_MITM   (1)

MYNEWT VAL BLE SM MITM.

Definition at line 91 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_OOB_DATA_FLAG

#define MYNEWT_VAL_BLE_SM_OOB_DATA_FLAG   (0)

MYNEWT VAL BLE SM OOB DATA FLAG.

Definition at line 103 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_SC

#define MYNEWT_VAL_BLE_SM_SC   (1)

MYNEWT VAL BLE SM SC.

Definition at line 79 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_SC_HW_OFFLOAD

#define MYNEWT_VAL_BLE_SM_SC_HW_OFFLOAD   (1)

Project syscfg reserved for routing NimBLE's P-256 key-pair generation, ECDH shared-secret, AES-CMAC and AES-128-ECB primitives through our ra8_rsip wrapper instead of the bundled tinycrypt fallback.

The offload shim previously lived in the first-party BLE-host facade, which has been removed; upstream NimBLE does not consume this value, so it is currently inert and NimBLE uses its tinycrypt fallback. The offload path will be re-wired when the ESP32-C6 controller link and its crypto seam land.

MYNEWT VAL BLE SM SC HW OFFLOAD.

Definition at line 225 of file syscfg.h.

◆ MYNEWT_VAL_BLE_SM_SC_ONLY

#define MYNEWT_VAL_BLE_SM_SC_ONLY   (0)

MYNEWT VAL BLE SM SC ONLY.

Definition at line 83 of file syscfg.h.

◆ MYNEWT_VAL_BLE_STORE_MAX_BONDS

#define MYNEWT_VAL_BLE_STORE_MAX_BONDS   (4)

MYNEWT VAL BLE STORE MAX BONDS.

Definition at line 111 of file syscfg.h.

◆ MYNEWT_VAL_BLE_STORE_MAX_CCCDS

#define MYNEWT_VAL_BLE_STORE_MAX_CCCDS   (8)

MYNEWT VAL BLE STORE MAX CCCDS.

Definition at line 115 of file syscfg.h.