/Zephyr-latest/subsys/bluetooth/controller/ll_sw/openisa/lll/ |
D | lll_prof.c | 2 * Copyright (c) 2018-2019 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 20 static uint8_t latency_min = (uint8_t) -1; 23 static uint8_t cputime_min = (uint8_t) -1; 30 /* sample the packet timer, use it to calculate ISR latency in lll_prof_latency_capture() 31 * and generate the profiling event at the end of the ISR. in lll_prof_latency_capture() 41 /* PA enable is overwriting packet end used in ISR profiling, hence in lll_prof_radio_end_backup() 52 /* get the ISR latency sample */ in lll_prof_cputime_capture() 55 /* sample the packet timer again, use it to calculate ISR execution time in lll_prof_cputime_capture() 56 * and use it in profiling event in lll_prof_cputime_capture() [all …]
|
/Zephyr-latest/drivers/bluetooth/hci/ |
D | Kconfig.nxp | 2 # Copyright 2023-2024 NXP 4 # SPDX-License-Identifier: Apache-2.0 11 Auto sleep mode means the Controller will handle its low power state automatically. 27 bool "Process RX buffers in a dedicated thread" 29 Some platforms receive the HCI RX buffers in ISR context. 30 If enabled, the HCI RX message is queued by the ISR, and the message is processed 31 in a dedicated thread. 36 int "HCI RX stack size" 40 int "HCI RX message queue size" 74 NXP IW612 Chipset supports Wi-Fi? 802.11a/b/g/n/ac/ax + Bluetooth? 5.3 [all …]
|
/Zephyr-latest/subsys/bluetooth/controller/ll_sw/nordic/lll/ |
D | lll_prof.c | 2 * Copyright (c) 2018-2019 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 26 static int send(struct node_rx_pdu *rx); 108 /* sample the packet timer, use it to calculate ISR latency in lll_prof_latency_capture() 109 * and generate the profiling event at the end of the ISR. in lll_prof_latency_capture() 125 /* get the ISR latency sample */ in lll_prof_latency_get() 129 /* Get the elapsed time in us since on-air radio packet end to ISR in lll_prof_latency_get() 142 /* PA enable is overwriting packet end used in ISR profiling, hence in lll_prof_radio_end_backup() 153 /* get the ISR latency sample */ in lll_prof_cputime_capture() 156 /* sample the packet timer again, use it to calculate ISR execution time in lll_prof_cputime_capture() [all …]
|
D | lll_conn.c | 2 * Copyright (c) 2018-2020 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 94 force_md_cnt--; \ 103 (trx_cnt >= ((CONFIG_BT_BUF_ACL_TX_COUNT) - 1))) { \ 143 void lll_conn_flush(uint16_t handle, struct lll_conn *lll) in lll_conn_flush() argument 167 if (lll->forced) { in lll_conn_central_is_abort_cb() 175 return -EBUSY; in lll_conn_central_is_abort_cb() 178 return -ECANCELED; in lll_conn_central_is_abort_cb() 189 if (lll->forced) { in lll_conn_peripheral_is_abort_cb() 197 return -EBUSY; in lll_conn_peripheral_is_abort_cb() [all …]
|
D | lll_adv_aux.c | 2 * Copyright (c) 2018-2020 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 110 LL_ASSERT(!err || err == -EINPROGRESS); in lll_adv_aux_prepare() 140 lll = p->param; in prepare_cb() 141 lll_adv = lll->adv; in prepare_cb() 152 com_hdr = (void *)&sec_pdu->adv_ext_ind; in prepare_cb() 155 chan_idx = lll_chan_sel_2(lll->data_chan_counter, aux->data_chan_id, in prepare_cb() 156 aux->chm[aux->chm_first].data_chan_map, in prepare_cb() 157 aux->chm[aux->chm_first].data_chan_count); in prepare_cb() 166 LL_ASSERT(pri_pdu->type == PDU_ADV_TYPE_EXT_IND); in prepare_cb() [all …]
|
D | lll_scan_aux.c | 4 * SPDX-License-Identifier: Apache-2.0 79 static uint16_t trx_cnt; /* TODO: move to a union in lll.c, common to all roles 114 LL_ASSERT(!err || err == -EINPROGRESS); in lll_scan_aux_prepare() 135 LL_ASSERT(pdu->type == PDU_ADV_TYPE_EXT_IND); in lll_scan_aux_setup() 138 pri_com_hdr = (void *)&pdu->adv_ext_ind; in lll_scan_aux_setup() 139 if (unlikely(!pdu->len || !pri_com_hdr->ext_hdr_len)) { in lll_scan_aux_setup() 144 pri_hdr = (void *)pri_com_hdr->ext_hdr_adv_data; in lll_scan_aux_setup() 145 pri_dptr = pri_hdr->data; in lll_scan_aux_setup() 148 if (pri_hdr->adv_addr) { in lll_scan_aux_setup() 153 if (pri_hdr->tgt_addr) { in lll_scan_aux_setup() [all …]
|
D | lll_adv_iso.c | 4 * SPDX-License-Identifier: Apache-2.0 118 elapsed = p->lazy + 1U; in prepare() 120 lll = p->param; in prepare() 122 /* Save the (latency + 1) for use in event */ in prepare() 123 lll->latency_prepare += elapsed; in prepare() 133 LL_ASSERT(!err || err == -EINPROGRESS); in create_prepare_bh() 142 LL_ASSERT(!err || err == -EINPROGRESS); in prepare_bh() 155 radio_isr_set(isr_tx_create, p->param); in create_prepare_cb() 171 radio_isr_set(isr_tx_normal, p->param); in prepare_cb() 198 lll = p->param; in prepare_cb_common() [all …]
|
/Zephyr-latest/dts/bindings/ethernet/ |
D | xlnx,gem.yaml | 3 # SPDX-License-Identifier: Apache-2.0 10 include: ethernet-controller.yaml 19 clock-frequency: 24 frequency will be derived using two dividers in the respective GEM's 25 clock control register in the CRL_APB. The GEM's TX clock frequency 27 which it will be adjusted at run-time. Therefore, the value of this 29 respective GEM's TX clock - by default, this is the IO PLL. 31 mdc-divider: 36 applied to the LPD_LSBUS clock in order to derive MDIO interface 42 init-mdio-phy: [all …]
|
/Zephyr-latest/doc/connectivity/bluetooth/ |
D | bluetooth-ctlr-arch.rst | 1 .. _bluetooth-ctlr-arch: 27 * Software-based Link Layer implementation 35 * Mayfly concept based deferred ISR executions 107 Pre-emption of Active Event 133 - Event handle (0, 1) < Event preparation (2, 3) < Event/Rx done (4) < Tx 136 - LLL is vendor ISR, ULL is Mayfly ISR concept, Host is kernel thread. 141 Following is a brief fly in on the main concepts in the implementation of 142 control procedures handling in ULL. 147 - HCI/LLCP API 152 - lll_prepare context to drive ull_cp_run() [all …]
|
/Zephyr-latest/subsys/bluetooth/controller/ll_sw/ |
D | ull_peripheral.c | 2 * Copyright (c) 2018-2019 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 64 memq_link_t *link, struct node_rx_pdu *rx); 70 void ull_periph_setup(struct node_rx_pdu *rx, struct node_rx_ftr *ftr, argument 96 adv = ((struct lll_adv *)ftr->param)->hdr.parent; 97 conn = lll->hdr.parent; 100 pdu_adv = (void *)rx->pdu; 102 peer_addr_type = pdu_adv->tx_addr; 103 memcpy(peer_addr, pdu_adv->connect_ind.init_addr, BDADDR_SIZE); 106 uint8_t rl_idx = ftr->rl_idx; [all …]
|
D | ull_conn_iso.c | 4 * SPDX-License-Identifier: Apache-2.0 80 static void disable(uint16_t handle); 89 /* BT. 5.3 Spec - Vol 4, Part E, Sect 6.7 */ 102 cig->cig_id = 0xFF; in ll_conn_iso_group_release() 103 cig->state = CIG_STATE_NO_CIG; in ll_conn_iso_group_release() 104 cig->lll.num_cis = 0U; in ll_conn_iso_group_release() 114 struct ll_conn_iso_group *ll_conn_iso_group_get(uint16_t handle) in ll_conn_iso_group_get() argument 116 return mem_get(cig_pool, sizeof(struct ll_conn_iso_group), handle); in ll_conn_iso_group_get() 125 if (id == cig->cig_id) { in ll_conn_iso_group_get_by_id() 138 (void)memset(&cis->hdr, 0U, sizeof(cis->hdr)); in ll_conn_iso_stream_acquire() [all …]
|
D | ull_adv_iso.c | 4 * SPDX-License-Identifier: Apache-2.0 55 static struct ll_adv_iso_set *adv_iso_get(uint8_t handle); 127 if (!adv_iso || adv_iso->lll.adv) { in big_create() 141 lll_adv_sync = adv->lll.sync; in big_create() 142 if (!lll_adv_sync || lll_adv_sync->iso) { in big_create() 243 if (adv->lll.aux) { in big_create() 244 aux = HDR_LLL2ULL(adv->lll.aux); in big_create() 250 if (aux && aux->is_started) { in big_create() 251 ticks_slot_aux = aux->ull.ticks_slot; in big_create() 254 MAX(aux->ull.ticks_active_to_start, in big_create() [all …]
|
D | ull_central.c | 2 * Copyright (c) 2018-2021 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 134 lll = &scan->lll; in ll_create_connection() 135 lll_coded = &scan_coded->lll; in ll_create_connection() 140 * context. Use the same connection context in the coded PHY in ll_create_connection() 144 if (!lll_coded->conn) { in ll_create_connection() 145 lll_coded->conn = lll->conn; in ll_create_connection() 150 if (!lll->conn) { in ll_create_connection() 151 lll->conn = lll_coded->conn; in ll_create_connection() 160 lll = &scan->lll; in ll_create_connection() [all …]
|
D | ull_adv.c | 2 * Copyright (c) 2016-2021 Nordic Semiconductor ASA 5 * SPDX-License-Identifier: Apache-2.0 70 inline struct ll_adv_set *ull_adv_set_get(uint8_t handle); 74 static inline struct ll_adv_set *is_disabled_get(uint8_t handle); 107 static inline uint8_t disable(uint8_t handle); 139 adv->hci_handle = 0; in ll_adv_cmds_set() 141 adv->is_created = 1; in ll_adv_cmds_set() 146 return -EINVAL; in ll_adv_cmds_set() 159 uint8_t ll_adv_set_by_hci_handle_get(uint8_t hci_handle, uint8_t *handle) in ll_adv_set_by_hci_handle_get() argument 167 if (adv->is_created && (adv->hci_handle == hci_handle)) { in ll_adv_set_by_hci_handle_get() [all …]
|
D | ull_central_iso.c | 4 * SPDX-License-Identifier: Apache-2.0 142 ll_iso_setup.stream[cis_idx].lll.rx.phy = p_phy; in ll_cis_parameters_set() 143 ll_iso_setup.stream[cis_idx].lll.rx.phy_flags = PHY_FLAGS_S8; in ll_cis_parameters_set() 152 * - Calculate ISO_Interval to allow SDU_Interval < ISO_Interval 187 /* CIG does not exist - create it */ in ll_cig_parameters_commit() 195 cig->lll.num_cis = 0U; in ll_cig_parameters_commit() 198 } else if (cig->state != CIG_STATE_CONFIGURABLE) { in ll_cig_parameters_commit() 199 /* CIG is not in configurable state */ in ll_cig_parameters_commit() 204 num_cis = cig->lll.num_cis; in ll_cig_parameters_commit() 209 cig->state = CIG_STATE_CONFIGURABLE; in ll_cig_parameters_commit() [all …]
|
/Zephyr-latest/include/zephyr/net/ |
D | ieee802154_radio.h | 5 * SPDX-License-Identifier: Apache-2.0 12 * @note All references to the standard in this file cite IEEE 802.15.4-2020. 38 * @details This API provides a common representation of vendor-specific 44 * - a basic, mostly PHY-level driver API to be implemented by all drivers, 45 * - several optional MAC-level extension points to offload performance 51 * offloading to vendor-specific hardware or firmware features may be required 53 * subprotocols (e.g. fast enough ACK packages, precise timing of timed TX/RX in 56 * Whether or not MAC-level offloading extension points need to be implemented 60 * @note All section, table and figure references are to the IEEE 802.15.4-2020 67 * @name IEEE 802.15.4-2020, Section 6: MAC functional description [all …]
|
/Zephyr-latest/subsys/bluetooth/controller/ |
D | Kconfig.ll_sw_split | 3 # Copyright (c) 2016-2017 Nordic Semiconductor ASA 4 # SPDX-License-Identifier: Apache-2.0 120 # Hidden, Controller's Co-Operative high priority Rx thread stack size. 125 # Hidden, Controller's Co-Operative Rx thread stack size. 133 Enable use of settings system in controller. 147 Set the Bluetooth Company Identifier that will be used in 152 https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers 159 Set the Subversion Number that will be used in VERSION_IND PDU. 168 Legacy Non-Directed Advertising mode. 173 bool "Advertising set handle mapping between HCI and LL" [all …]
|
/Zephyr-latest/drivers/serial/ |
D | uart_nrfx_uarte.c | 2 * Copyright (c) 2018-2021 Nordic Semiconductor ASA 4 * SPDX-License-Identifier: Apache-2.0 136 * RX timeout is divided into time slabs, this define tells how many divisions 137 * should be made. More divisions - higher timeout accuracy and processor usage. 141 /* Size of hardware fifo in RX path. */ 183 /* Flag to ensure that RX timeout won't be executed during ENDRX ISR */ 194 struct uarte_async_rx rx; member 248 * to achieve lowest power consumption in idle. 283 (_config->flags & UARTE_CFG_FLAG_LOW_POWER)) 285 /** @brief Check if device has PM that works in ISR safe mode. [all …]
|
/Zephyr-latest/subsys/bluetooth/controller/ll_sw/openisa/hal/RV32M1/radio/ |
D | radio.c | 2 * Copyright (c) 2016 - 2019 Nordic Semiconductor ASA 4 * Copyright 2019 - 2020 NXP 6 * SPDX-License-Identifier: Apache-2.0 43 #define RADIO_AESCCM_HDR_MASK 0xE3 /* AES-CCM: NESN, SN, MD bits masked to 0 */ 44 #define RADIO_PDU_LEN_MAX (BIT(8) - 1) 46 ((bytes) * 8 >> (__builtin_ffs(bits_per_usec) - 1)) 52 #define RX_WTMRK 5 /* (AA + PDU header) - 1 */ 55 #define RX_OVHD 32 /* Rx overhead */ 59 /* The PDU in packet buffer starts after the Access Address which is 4 octets */ 60 #define PB_RX_PDU (PB_RX + 2) /* Rx PDU offset (in halfwords) in PB */ [all …]
|
/Zephyr-latest/drivers/ethernet/ |
D | eth_xlnx_gem.c | 5 * SPDX-License-Identifier: Apache-2.0 8 * - Only supports 32-bit addresses in buffer descriptors, therefore 9 * the ZynqMP APU (Cortex-A53 cores) may not be fully supported. 10 * - Hardware timestamps not considered. 11 * - VLAN tags not considered. 12 * - Wake-on-LAN interrupt not supported. 13 * - Send function is not SMP-capable (due to single TX done semaphore). 14 * - Interrupt-driven PHY management not supported - polling only. 15 * - No explicit placement of the DMA memory area(s) in either a 17 * is not an issue as long as the controller is used in conjunction [all …]
|
D | eth_numaker.c | 4 * SPDX-License-Identifier: Apache-2.0 64 /* Delay execution for given amount of ticks for SDK-HAL */ 74 synopGMAC_write_phy_reg((u32 *)gmacdev->MacBase, addr, reg, data); in mdio_write() 81 synopGMAC_read_phy_reg((u32 *)gmacdev->MacBase, addr, reg, &data); in mdio_read() 108 return -EIO; in reset_phy() 116 gmacdev->LinkState = LINKUP; in reset_phy() 119 gmacdev->LinkState = LINKDOWN; in reset_phy() 121 return -EIO; in reset_phy() 135 return -EIO; in reset_phy() 141 gmacdev->DuplexMode = FULLDUPLEX; in reset_phy() [all …]
|
/Zephyr-latest/drivers/i2c/ |
D | i2c_cc32xx.c | 4 * SPDX-License-Identifier: Apache-2.0 29 #include "i2c-priv.h" 44 (((const struct i2c_cc32xx_config *const)(dev)->config)->base) 47 /* Since this driver does not explicitly enable the TX/RX FIFOs, there 52 * The ERROR flag is used to convey error status from the ISR back to the 53 * I2C API without having to re-read I2C registers. 78 uint16_t slave_addr; /* Cache slave address for ISR use */ 91 return -EINVAL; in i2c_cc32xx_configure() 95 return -EINVAL; in i2c_cc32xx_configure() 106 return -EINVAL; in i2c_cc32xx_configure() [all …]
|
D | i2c_xilinx_axi.c | 1 /* SPDX-License-Identifier: Apache-2.0 */ 17 #include "i2c-priv.h" 29 /* Serializes between ISR and other calls */ 45 sys_write32(SOFTR_KEY, config->base + REG_SOFTR); in i2c_xilinx_axi_reinit() 46 sys_write32(CR_TX_FIFO_RST, config->base + REG_CR); in i2c_xilinx_axi_reinit() 47 sys_write32(CR_EN, config->base + REG_CR); in i2c_xilinx_axi_reinit() 48 sys_write32(GIE_ENABLE, config->base + REG_GIE); in i2c_xilinx_axi_reinit() 62 sys_write32(ISR_ADDR_TARGET, config->base + REG_IER); in i2c_xilinx_axi_target_setup() 63 sys_write32(cfg->address << 1, config->base + REG_ADR); in i2c_xilinx_axi_target_setup() 64 sys_write32(0, config->base + REG_RX_FIFO_PIRQ); in i2c_xilinx_axi_target_setup() [all …]
|
/Zephyr-latest/drivers/spi/ |
D | spi_mcux_flexio.c | 5 * SPDX-License-Identifier: Apache-2.0 33 flexio_spi_master_handle_t handle; member 42 const struct spi_mcux_flexio_config *config = dev->config; in spi_mcux_transfer_next_packet() 43 struct spi_mcux_flexio_data *data = dev->data; in spi_mcux_transfer_next_packet() 44 struct spi_context *ctx = &data->ctx; in spi_mcux_transfer_next_packet() 48 if ((ctx->tx_len == 0) && (ctx->rx_len == 0)) { in spi_mcux_transfer_next_packet() 49 /* nothing left to rx or tx, we're done! */ in spi_mcux_transfer_next_packet() 50 spi_context_cs_control(&data->ctx, false); in spi_mcux_transfer_next_packet() 51 spi_context_complete(&data->ctx, dev, 0); in spi_mcux_transfer_next_packet() 55 transfer.flags = kFLEXIO_SPI_csContinuous | data->transfer_flags; in spi_mcux_transfer_next_packet() [all …]
|
/Zephyr-latest/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/ |
D | radio.c | 2 * Copyright (c) 2016 - 2020 Nordic Semiconductor ASA 5 * SPDX-License-Identifier: Apache-2.0 9 #include <zephyr/dt-bindings/gpio/gpio.h> 29 /* Converts the GPIO controller in a FEM property's GPIO specification 84 /* These headers require the above gpiote-related variables to be declared. */ 105 "fem node " DT_NODE_PATH(FEM_NODE) " has invalid GPIO flags in " 118 "fem node " DT_NODE_PATH(FEM_NODE) " has invalid GPIO flags in " 131 NRF_DT_CHECK_GPIO_CTLR_IS_SOC(FEM_NODE, pdn_gpios, "pdn-gpios"); 140 /* CTEINLINE S0_MASK for data channel PDUs. It points to CP bit in S0 byte to check if is it set 141 * to 0x1. In that is true then S1 byte (CTEInfo) is considered as present in a PDU. [all …]
|