Home
last modified time | relevance | path

Searched +full:dma +full:- +full:channel +full:- +full:mask (Results 1 – 25 of 58) sorted by relevance

123

/Zephyr-latest/drivers/dma/
DKconfig.dw_common1 # DesignWare DMA common configuration options
4 # SPDX-License-Identifier: Apache-2.0
15 The number of LLI structs in a statically allocated pool. Each channel has its own
31 Rather than immediately stopping a DMA channel the channel is suspended
33 before stopping the channel.
36 int "memory space mask"
39 Some instances of the DesignWare DMAC require a mask applied to source/destination
43 int "dw max channel count"
46 Channel count for designware DMA instances.
Ddma_dw_common.h4 * SPDX-License-Identifier: Apache-2.0
11 #include <zephyr/drivers/dma.h>
17 #define MASK(b_hi, b_lo) \ macro
18 (((1ULL << ((b_hi) - (b_lo) + 1ULL)) - 1ULL) << (b_lo))
21 (((x) & ((1ULL << ((b_hi) - (b_lo) + 1ULL)) - 1ULL)) << (b_lo))
83 /* channel bits */
84 #define DW_CHAN_WRITE_EN_ALL MASK(2 * DW_MAX_CHAN - 1, DW_MAX_CHAN)
86 #define DW_CHAN_ALL MASK(DW_MAX_CHAN - 1, 0)
137 #define DW_CTLL_SRC_WIDTH_MASK MASK(6, 4)
139 #define DW_CTLL_DST_WIDTH_MASK MASK(3, 1)
[all …]
Ddma_dw_axi.c4 * SPDX-License-Identifier: Apache-2.0
10 #include <zephyr/drivers/dma.h>
17 #define DEV_CFG(_dev) ((const struct dma_dw_axi_dev_cfg *)(_dev)->config)
18 #define DEV_DATA(_dev) ((struct dma_dw_axi_dev_data *const)(_dev)->data)
20 /* mask for block transfer size */
29 #define DMA_DW_AXI_GET_MSIZE(blen) ((blen == 1) ? (0U) : (find_msb_set(blen) - 2U))
44 /* Channel enable by setting ch_en and ch_en_we */
46 /* Channel enable by setting ch_susp and ch_susp_we */
48 /* Channel enable by setting ch_abort and ch_abort_we */
51 /* channel susp/resume write enable pos */
[all …]
Ddma_smartbond.c4 * SPDX-License-Identifier: Apache-2.0
9 #include <zephyr/drivers/dma.h>
16 #include <zephyr/drivers/dma/dma_smartbond.h>
28 #define DMA_CHANNELS_COUNT DT_PROP(DT_NODELABEL(dma), dma_channels)
29 #define DMA_BLOCK_COUNT DT_PROP(DT_NODELABEL(dma), block_count)
40 #define DMA_CHN2REG(_idx) (&((struct channel_regs *)DMA)[(_idx)])
45 DMA->DMA_REQ_MUX_REG = \
46 (DMA->DMA_REQ_MUX_REG & ~(0xf << DMA_MUX_SHIFT((_idx)))) | \
50 ((DMA->DMA_REQ_MUX_REG >> DMA_MUX_SHIFT((_idx))) & 0xf)
58 * DMA channel priority level. The smaller the value the lower the priority granted to a channel
[all …]
Ddma_dw_common.c4 * SPDX-License-Identifier: Apache-2.0
14 #include <zephyr/drivers/dma.h>
29 const struct dw_dma_dev_cfg *const dev_cfg = dev->config; in dw_dma_isr()
30 struct dw_dma_dev_data *const dev_data = dev->data; in dw_dma_isr()
37 uint32_t channel; in dw_dma_isr() local
39 status_intr = dw_read(dev_cfg->base, DW_INTR_STATUS); in dw_dma_isr()
41 LOG_ERR("%s: status_intr = %d", dev->name, status_intr); in dw_dma_isr()
45 status_block = dw_read(dev_cfg->base, DW_STATUS_BLOCK); in dw_dma_isr()
46 status_tfr = dw_read(dev_cfg->base, DW_STATUS_TFR); in dw_dma_isr()
49 status_err = dw_read(dev_cfg->base, DW_STATUS_ERR); in dw_dma_isr()
[all …]
/Zephyr-latest/dts/bindings/dma/
Draspberrypi,pico-dma.yaml2 # SPDX-License-Identifier: Apache-2.0
5 Raspberry Pi Pico DMA
7 channel: Select channel for data transmitting
10 Use the definitions defined in `zephyr/dt-bindings/dma/rpi-pico-dma-rp2040.h`,
11 or `zephyr/dt-bindings/dma/rpi-pico-dma-rp2350.h`
13 channel-config: A 32bit mask specifying the DMA channel configuration
14 - bit 3: Enable Quiet IRQ
15 - bit 1: Enable Byte Swap
16 - bit 0: Enable High Priority
18 compatible: "raspberrypi,pico-dma"
[all …]
Dst,stm32u5-dma.yaml2 # SPDX-License-Identifier: Apache-2.0
5 STM32 DMA controller for the stm32U5 soc family
7 It is present on stm32U5 devices as a GP DMA
9 DMA clients connected to the STM32 DMA controller must use a three-cell
10 specifier for each channel.
12 Tx using channel 0 with request 7
13 Rx using channel 1 with request 6
17 dma-names = "tx", "rx";
19 It is a phandle to the DMA controller plus the following three integer cells
20 1. channel: the stream or channel from 0 to (<dma-channels> - 1).
[all …]
Ddma-controller.yaml2 # SPDX-License-Identifier: Apache-2.0
4 # Common fields for DMA controllers
8 bus: dma
11 "#dma-cells":
14 description: Number of items to expect in a DMA specifier
16 dma-channel-mask:
19 Bitmask of available DMA channels in ascending order that are
21 kernel. i.e. first channel corresponds to LSB.
23 dma-channels:
25 description: Number of DMA channels supported by the controller
[all …]
Dandestech,atcdmac300.yaml4 # SPDX-License-Identifier: Apache-2.0
8 include: dma-controller.yaml
17 chain-transfer:
20 "#dma-cells":
23 dma-cells:
24 - channel
25 - slot
26 - channel-config
29 Andes DMA controller
30 channel: a phandle to the DMA controller plus the following four integer cells:
[all …]
Dgd,gd32-dma.yaml2 # SPDX-License-Identifier: Apache-2.0
5 GD32 DMA controller
7 channel: Select channel for data transmitting
9 config: A 32bit mask specifying the DMA channel configuration
10 - bit 6-7: Direction (see dma.h)
11 - 0x0: MEMORY to MEMORY
12 - 0x1: MEMORY to PERIPH
13 - 0x2: PERIPH to MEMORY
14 - 0x3: reserved for PERIPH to PERIPH
16 - bit 9: Peripheral address increase
[all …]
Dst,stm32-dma-v2bis.yaml2 # SPDX-License-Identifier: Apache-2.0
5 STM32 DMA controller (V2bis) for the stm32F0, stm32F1 and stm32L1 soc families
7 This DMA controller includes several channels with different requests.
8 All the requests ar ORed before entering the DMA, so that only one request
10 DMA clients connected to the STM32 DMA controller must use the format
11 described in the dma.txt file, using a 2-cell specifier for each
12 channel: a phandle to the DMA controller plus the following four integer cells:
13 1. channel: the dma stream from 1 to <dma-requests>
14 2. channel-config: A 32bit mask specifying the DMA channel configuration
15 A name custom DMA flags for channel configuration is used
[all …]
Dst,stm32-dmamux.yaml2 # SPDX-License-Identifier: Apache-2.0
8 capable of supporting independent DMA channels.
9 DMAMUX clients connected to the STM32 DMA ultiplexer must use a two-cell specifier
10 for each dmamux channel: a phandle to the DMA multiplexer plus the following 2 integer cells:
11 1. channel: the mux channel from 0 to <dma-channels> - 1
13 3. channel-config: A 32bit mask specifying the DMA channel configuration
15 -bit 6-7 : Direction (see dma.h)
20 -bit 9 : Peripheral Increment Address
23 -bit 10 : Memory Increment Address
26 -bit 11-12 : Peripheral data size
[all …]
Dst,stm32-bdma.yaml2 # SPDX-License-Identifier: Apache-2.0
7 The STM32 BDMA is a general-purpose direct memory access controller
9 Each channel can have up to 8 requests.
11 described in the dma.txt file, using a four-cell specifier for each
12 channel: a phandle to the BDMA controller plus the following four integer cells:
13 1. channel: the bdma stream from 0 to <bdma-requests>
15 3. channel-config: A 32bit mask specifying the BDMA channel configuration
17 -bit 6-7 : Direction (see dma.h)
22 -bit 9 : Peripheral Increment Address
25 -bit 10 : Memory Increment Address
[all …]
Dst,stm32-dma-v1.yaml2 # SPDX-License-Identifier: Apache-2.0
5 STM32 DMA controller (V1)
8 This DMA controller includes FIFO control registers.
9 DMA clients connected to the STM32 DMA controller must use the format
10 described in the dma.txt file, using a four-cell specifier for each
11 channel: a phandle to the DMA controller plus the following four integer cells:
12 1. channel: the dma stream from 0 to <dma-requests>
13 2. slot: DMA periph request ID, which is written in the DMAREQ_ID of the DMAMUX_CxCR
14 this value is 0 for Memory-to-memory transfers
15 or a value between <1> .. <dma-generators> (not supported yet)
[all …]
Dst,stm32-dma-v2.yaml2 # SPDX-License-Identifier: Apache-2.0
5 STM32 DMA controller (V2)
8 This DMA controller includes several channels with different requests.
9 DMA clients connected to the STM32 DMA controller must use the format
10 described in the dma.txt file, using a four-cell specifier for each
11 capable of supporting 5 or 6 or 7 or 8 independent DMA channels.
12 DMA clients connected to the STM32 DMA controller must use the format
13 described in the dma.txt file, using a 3-cell specifier for each
14 channel: a phandle to the DMA controller plus the following four integer cells:
15 1. channel: the dma stream from 1 to <dma-requests>
[all …]
Dgd,gd32-dma-v1.yaml2 # SPDX-License-Identifier: Apache-2.0
5 GD32 DMA controller with FIFO
7 channel: Select channel for data transmitting
9 slot: Select peripheral to connect DMA
11 config: A 32bit mask specifying the DMA channel configuration
12 - bit 6-7: Direction (see dma.h)
13 - 0x0: MEMORY to MEMORY
14 - 0x1: MEMORY to PERIPH
15 - 0x2: PERIPH to MEMORY
16 - 0x3: reserved for PERIPH to PERIPH
[all …]
/Zephyr-latest/drivers/serial/
Duart_mcux_flexcomm.c2 * Copyright (c) 2017, 2022-2023 NXP
4 * SPDX-License-Identifier: Apache-2.0
23 #include <zephyr/drivers/dma.h>
31 uint8_t channel; member
93 const struct mcux_flexcomm_config *config = dev->config; in mcux_flexcomm_poll_in()
94 uint32_t flags = USART_GetStatusFlags(config->base); in mcux_flexcomm_poll_in()
95 int ret = -1; in mcux_flexcomm_poll_in()
98 *c = USART_ReadByte(config->base); in mcux_flexcomm_poll_in()
108 const struct mcux_flexcomm_config *config = dev->config; in mcux_flexcomm_poll_out()
111 while (!(USART_GetStatusFlags(config->base) & kUSART_TxFifoEmptyFlag)) { in mcux_flexcomm_poll_out()
[all …]
Duart_mcux_lpuart.c2 * Copyright 2017,2021,2023-2024 NXP
5 * SPDX-License-Identifier: Apache-2.0
19 #include <zephyr/drivers/dma.h>
133 struct mcux_lpuart_data *data = dev->data; in mcux_lpuart_pm_policy_state_lock_get()
135 if (!data->pm_state_lock_on) { in mcux_lpuart_pm_policy_state_lock_get()
136 data->pm_state_lock_on = true; in mcux_lpuart_pm_policy_state_lock_get()
143 struct mcux_lpuart_data *data = dev->data; in mcux_lpuart_pm_policy_state_lock_put()
145 if (data->pm_state_lock_on) { in mcux_lpuart_pm_policy_state_lock_put()
146 data->pm_state_lock_on = false; in mcux_lpuart_pm_policy_state_lock_put()
154 const struct mcux_lpuart_config *config = dev->config; in mcux_lpuart_poll_in()
[all …]
/Zephyr-latest/drivers/audio/
Ddmic_mcux.c7 * SPDX-License-Identifier: Apache-2.0
10 #include <zephyr/drivers/dma.h>
27 const struct device *dma; member
57 * - DMIC DIVHFCLK is set to 0x0 (divide by 1) in dmic_mcux_get_osr()
58 * - DMIC PHY_HALF is set to 0x0 (standard sample rate) in dmic_mcux_get_osr()
63 /* Gets hardware channel index from logical channel */
70 /* This function assigns hardware channel "n" to the left channel, in dmic_mcux_hw_chan()
71 * and hardware channel "n+1" to the right channel. This choice is in dmic_mcux_hw_chan()
74 dmic_parse_channel_map(drv_data->chan_map_lo, in dmic_mcux_hw_chan()
75 drv_data->chan_map_hi, in dmic_mcux_hw_chan()
[all …]
/Zephyr-latest/drivers/spi/
Dspi_pl022.c4 * SPDX-License-Identifier: Apache-2.0
22 #include <zephyr/drivers/dma.h>
130 * Interrupt Mask Set/Clear Register
141 /* Receive Overrun Interrupt mask */
143 /* Receive timeout Interrupt mask */
145 /* Receive FIFO Interrupt mask */
147 /* Transmit FIFO Interrupt mask */
206 * DMA Control Register
213 /* Receive DMA Enable bit */
215 /* Transmit DMA Enable bit */
[all …]
Dspi_gd32.c4 * SPDX-License-Identifier: Apache-2.0
18 #include <zephyr/drivers/dma.h>
19 #include <zephyr/drivers/dma/dma_gd32.h>
30 /* SPI error status mask. */
45 uint32_t channel; member
65 const struct spi_gd32_dma_config dma[NUM_OF_DIRECTION]; member
75 struct spi_gd32_dma_data dma[NUM_OF_DIRECTION]; member
86 const struct spi_gd32_config *cfg = dev->config; in spi_gd32_dma_enabled()
88 if (cfg->dma[TX].dev && cfg->dma[RX].dev) { in spi_gd32_dma_enabled()
104 uint32_t stat = SPI_STAT(cfg->reg); in spi_gd32_get_err()
[all …]
/Zephyr-latest/drivers/crypto/
Dcrypto_si32.c4 * SPDX-License-Identifier: Apache-2.0
7 * - As there is only one AES controller, this implementation is not using a device configuration.
10 * - If not noted otherwise, chapter numbers refer to the SiM3U1XX/SiM3C1XX reference manual
11 * (SiM3U1xx-SiM3C1xx-RM.pdf, revision 1.0)
12 * - Each DMA channel has one word of unused data (=> 3 x 4 = 12 bytes of unused RAM)
23 #include <zephyr/drivers/dma.h>
42 #define DMA_CHANNEL_ID_RX DT_INST_DMAS_CELL_BY_NAME(0, rx, channel)
43 #define DMA_CHANNEL_ID_TX DT_INST_DMAS_CELL_BY_NAME(0, tx, channel)
44 #define DMA_CHANNEL_ID_XOR DT_INST_DMAS_CELL_BY_NAME(0, xor, channel)
46 BUILD_ASSERT(DMA_CHANNEL_ID_RX < DMA_CHANNEL_COUNT, "Too few DMA channels");
[all …]
/Zephyr-latest/drivers/mipi_dbi/
Dmipi_dbi_nxp_lcdic.c4 * SPDX-License-Identifier: Apache-2.0
13 #include <zephyr/drivers/dma.h>
16 #include <zephyr/drivers/dma/dma_mcux_lpc.h>
92 uint32_t channel; member
153 const struct mipi_dbi_lcdic_config *config = dev->config; in mipi_dbi_lcdic_reset_state()
154 LCDIC_Type *base = config->base; in mipi_dbi_lcdic_reset_state()
156 base->CTRL &= ~LCDIC_CTRL_LCDIC_EN_MASK; in mipi_dbi_lcdic_reset_state()
158 base->CTRL |= LCDIC_CTRL_LCDIC_EN_MASK; in mipi_dbi_lcdic_reset_state()
165 /* Start DMA to send data using LCDIC TX FIFO */
168 const struct mipi_dbi_lcdic_config *config = dev->config; in mipi_dbi_lcdic_start_dma()
[all …]
/Zephyr-latest/drivers/adc/
Dadc_mcux_adc16.c2 * Copyright (c) 2017-2018, 2020, NXP
4 * SPDX-License-Identifier: Apache-2.0
13 #include <zephyr/drivers/dma.h>
36 uint32_t dma_slot; /* ADC DMA MUX slot */
73 #define SIM_SOPT7_ADCSET(x, shifts, mask) \ argument
74 (((uint32_t)(((uint32_t)(x)) << shifts)) & mask)
79 uint32_t channel, int status) in adc_dma_callback() argument
82 struct mcux_adc16_data *data = dev->data; in adc_dma_callback()
84 LOG_DBG("DMA done"); in adc_dma_callback()
85 data->buffer++; in adc_dma_callback()
[all …]
/Zephyr-latest/dts/arm/nxp/
Dnxp_s32k344_m7.dtsi2 * Copyright 2023-2024 NXP
4 * SPDX-License-Identifier: Apache-2.0
7 #include <arm/armv7-m.dtsi>
9 #include <zephyr/dt-bindings/clock/nxp_s32k344_clock.h>
10 #include <zephyr/dt-bindings/i2c/i2c.h>
14 #address-cells = <1>;
15 #size-cells = <0>;
19 compatible = "arm,cortex-m7";
25 compatible = "arm,cortex-m7";
30 compatible = "arm,armv7m-mpu";
[all …]

123