You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ra...@apache.org on 2020/11/13 07:12:33 UTC
[incubator-nuttx] branch master updated: stm32: Add DMAMUX register
mappings and request IDs
This is an automated email from the ASF dual-hosted git repository.
raiden00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 4977522 stm32: Add DMAMUX register mappings and request IDs
4977522 is described below
commit 4977522ead1a8bbdae00bc40544c823e6449690f
Author: Nathan Hartman <59...@users.noreply.github.com>
AuthorDate: Thu Nov 12 11:00:36 2020 -0500
stm32: Add DMAMUX register mappings and request IDs
arch/arm/src/stm32/hardware/stm32_dmamux.h,
arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h:
* New files, based on STM32G474RE reference manual, RM0440 Rev 4.
---
arch/arm/src/stm32/hardware/stm32_dmamux.h | 177 +++++++++++++++++++++++
arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h | 157 ++++++++++++++++++++
2 files changed, 334 insertions(+)
diff --git a/arch/arm/src/stm32/hardware/stm32_dmamux.h b/arch/arm/src/stm32/hardware/stm32_dmamux.h
new file mode 100644
index 0000000..9b0e9f1
--- /dev/null
+++ b/arch/arm/src/stm32/hardware/stm32_dmamux.h
@@ -0,0 +1,177 @@
+/****************************************************************************
+ * arch/arm/src/stm32/hardware/stm32_dmamux.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_DMAMUX_H
+#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_DMAMUX_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include "chip.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define DMAMUX1 0
+
+/* Register Offsets *********************************************************/
+
+#define STM32_DMAMUX_CXCR_OFFSET(x) (0x0000 + (0x0004 * (x))) /* DMAMUX1 request line multiplexer channel x configuration register */
+#define STM32_DMAMUX_C0CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(0) /* 0x000 */
+#define STM32_DMAMUX_C1CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(1) /* 0x004 */
+#define STM32_DMAMUX_C2CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(2) /* 0x008 */
+#define STM32_DMAMUX_C3CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(3) /* 0x00c */
+#define STM32_DMAMUX_C4CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(4) /* 0x010 */
+#define STM32_DMAMUX_C5CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(5) /* 0x014 */
+#define STM32_DMAMUX_C6CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(6) /* 0x018 */
+#define STM32_DMAMUX_C7CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(7) /* 0x01c */
+#define STM32_DMAMUX_C8CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(8) /* 0x020 */
+#define STM32_DMAMUX_C9CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(9) /* 0x024 */
+#define STM32_DMAMUX_C10CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(10) /* 0x028 */
+#define STM32_DMAMUX_C11CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(11) /* 0x02c */
+#define STM32_DMAMUX_C12CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(12) /* 0x030 */
+#define STM32_DMAMUX_C13CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(13) /* 0x034 */
+#define STM32_DMAMUX_C14CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(14) /* 0x038 */
+#define STM32_DMAMUX_C15CR_OFFSET STM32_DMAMUX_CXCR_OFFSET(15) /* 0x03c */
+ /* 0x040-0x07C: Reserved */
+#define STM32_DMAMUX_CSR_OFFSET 0x0080 /* DMAMUX1 request line multiplexer interrupt channel status register */
+#define STM32_DMAMUX_CFR_OFFSET 0x0084 /* DMAMUX1 request line multiplexer interrupt clear flag register */
+ /* 0x088-0x0FC: Reserved */
+#define STM32_DMAMUX_RGXCR_OFFSET(x) (0x0100 + (0x004 * (x))) /* DMAMUX1 request generator channel x configuration register */
+#define STM32_DMAMUX_RG0CR_OFFSET STM32_DMAMUX_RGXCR_OFFSET(0)
+#define STM32_DMAMUX_RG1CR_OFFSET STM32_DMAMUX_RGXCR_OFFSET(1)
+#define STM32_DMAMUX_RG2CR_OFFSET STM32_DMAMUX_RGXCR_OFFSET(2)
+#define STM32_DMAMUX_RG3CR_OFFSET STM32_DMAMUX_RGXCR_OFFSET(3)
+#define STM32_DMAMUX_RGSR_OFFSET 0x0140 /* DMAMUX1 request generator interrupt status register */
+#define STM32_DMAMUX_RGCFR_OFFSET 0x0144 /* DMAMUX1 request generator interrupt clear flag register */
+ /* 0x148-0x3FC: Reserved */
+
+/* Register Addresses *******************************************************/
+
+#define STM32_DMAMUX1_CXCR(x) (STM32_DMAMUX1_BASE + STM32_DMAMUX_CXCR_OFFSET(x))
+#define STM32_DMAMUX1_C0CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C0CR_OFFSET)
+#define STM32_DMAMUX1_C1CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C1CR_OFFSET)
+#define STM32_DMAMUX1_C2CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C2CR_OFFSET)
+#define STM32_DMAMUX1_C3CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C3CR_OFFSET)
+#define STM32_DMAMUX1_C4CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C4CR_OFFSET)
+#define STM32_DMAMUX1_C5CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C5CR_OFFSET)
+#define STM32_DMAMUX1_C6CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C6CR_OFFSET)
+#define STM32_DMAMUX1_C7CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C7CR_OFFSET)
+#define STM32_DMAMUX1_C8CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C8CR_OFFSET)
+#define STM32_DMAMUX1_C9CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C9CR_OFFSET)
+#define STM32_DMAMUX1_C10CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C10CR_OFFSET)
+#define STM32_DMAMUX1_C11CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C11CR_OFFSET)
+#define STM32_DMAMUX1_C12CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C12CR_OFFSET)
+#define STM32_DMAMUX1_C13CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C13CR_OFFSET)
+#define STM32_DMAMUX1_C14CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C14CR_OFFSET)
+#define STM32_DMAMUX1_C15CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_C15CR_OFFSET)
+
+#define STM32_DMAMUX1_CSR (STM32_DMAMUX1_BASE + STM32_DMAMUX_CSR_OFFSET)
+#define STM32_DMAMUX1_CFR (STM32_DMAMUX1_BASE + STM32_DMAMUX_CFR_OFFSET)
+
+#define STM32_DMAMUX1_RGXCR(x) (STM32_DMAMUX1_BASE + STM32_DMAMUX_RGXCR_OFFSET(x))
+#define STM32_DMAMUX1_RG0CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_RG0CR_OFFSET)
+#define STM32_DMAMUX1_RG1CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_RG1CR_OFFSET)
+#define STM32_DMAMUX1_RG2CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_RG2CR_OFFSET)
+#define STM32_DMAMUX1_RG3CR (STM32_DMAMUX1_BASE + STM32_DMAMUX_RG3CR_OFFSET)
+
+#define STM32_DMAMUX1_RGSR (STM32_DMAMUX1_BASE + STM32_DMAMUX_RGSR_OFFSET)
+#define STM32_DMAMUX1_RGCFR (STM32_DMAMUX1_BASE + STM32_DMAMUX_RGCFR_OFFSET)
+
+/* Register Bitfield Definitions ********************************************/
+
+/* DMAMUX1 CxCR - request line multiplexer channel x configuration register */
+
+#define DMAMUX_CCR_DMAREQID_SHIFT (0) /* Bits 0-6: DMA request identification */
+#define DMAMUX_CCR_DMAREQID_MASK (0x7f << DMAMUX_CCR_DMAREQID_SHIFT)
+# define DMAMUX_CCR_DMAREQID(x) ((x) << DMAMUX_CCR_DMAREQID_SHIFT)
+#define DMAMUX_CCR_SOIE (8) /* Bit 8: Synchronization overrun interrupt enable */
+#define DMAMUX_CCR_EGE (9) /* Bit 9: Event generation enable */
+#define DMAMUX_CCR_SE (16) /* Bit 16: Synchronization enable */
+#define DMAMUX_CCR_SPOL_SHIFT (17) /* Bits 17-18: Synchronization polarity */
+#define DMAMUX_CCR_SPOL_MASK (3 << DMAMUX_CCR_SPOL_SHIFT)
+# define DMAMUX_CCR_SPOL_NONE (0x0 << DMAMUX_CCR_SPOL_SHIFT) /* No event: No trigger detection or generation */
+# define DMAMUX_CCR_SPOL_RISING (0x1 << DMAMUX_CCR_SPOL_SHIFT) /* Rising edge */
+# define DMAMUX_CCR_SPOL_FALLING (0x2 << DMAMUX_CCR_SPOL_SHIFT) /* Falling edge */
+# define DMAMUX_CCR_SPOL_BOTH (0x3 << DMAMUX_CCR_SPOL_SHIFT) /* Both rising and falling edges */
+#define DMAMUX_CCR_NBREQ_SHIFT (19) /* Bits 19-23: Number of DMA request - 1 to forward */
+#define DMAMUX_CCR_NBREQ_MASK (0x1f << DMAMUX_CCR_NBREQ_SHIFT)
+#define DMAMUX_CCR_SYNCID_SHIFT (24) /* Bits 24-26: Synchronization identification */
+#define DMAMUX_CCR_SYNCID_MASK (7 << DMAMUX_CCR_SYNCID_SHIFT)
+
+/* DMAMUX1 CSR - request line multiplexer interrupt channel status register */
+
+#define DMAMUX1_CSR_SOF(x) (1 << (x)) /* Synchronization overrun event flag */
+
+/* DMAMUX1 CFR - request line multiplexer interrupt clear flag register */
+
+#define DMAMUX1_CFR_SOF(x) (1 << (x)) /* Clear synchronization overrun event flag */
+
+/* DMAMUX1 RGCR - request generator channel x configuration register */
+
+#define DMAMUX_RGCR_SIGID_SHIFT (0) /* Bits 0-4: Signal identification */
+#define DMAMUX_RGCR_SIGID_MASK (0x1f << DMAMUX_RGCR_SIGID_SHIFT)
+#define DMAMUX_RGCR_OIE (8) /* Bit 8: Trigger overrun interrupt enable */
+#define DMAMUX_RGCR_GE (16) /* Bit 16: DMA request generator channel X enable*/
+#define DMAMUX_RGCR_GPOL_SHIFT (17) /* Bits 17-18: DMA request generator trigger polarity */
+#define DMAMUX_RGCR_GPOL_MASK (0x3 << DMAMUX_RGCR_GPOL_SHIFT)
+# define DMAMUX_RGCR_GPOL_NONE (0x0 << DMAMUX_RGCR_GPOL_SHIFT) /* No event: No trigger detection or generation */
+# define DMAMUX_RGCR_GPOL_RISING (0x1 << DMAMUX_RGCR_GPOL_SHIFT) /* Rising edge */
+# define DMAMUX_RGCR_GPOL_FALLING (0x2 << DMAMUX_RGCR_GPOL_SHIFT) /* Falling edge */
+# define DMAMUX_RGCR_GPOL_BOTH (0x3 << DMAMUX_RGCR_GPOL_SHIFT) /* Both rising and falling edges */
+#define DMAMUX_RGCR_GNBREQ_SHIFT (19) /* Bits 19-23: Number of DMA requests to be generated -1 */
+#define DMAMUX_RGCR_GNBREQ_MASK (0x1f << DMAMUX_RGCR_GNBREQ_SHIFT)
+
+/* DMAMUX1 RGSR - request generator interrupt status register */
+
+#define DMAMUX1_RGSR_OF(x) (1 << (x)) /* Trigger overrun event flag */
+
+/* DMAMUX1 RGCFR - request generator interrupt clear flag register */
+
+#define DMAMUX1_RGCFR_COF(x) (1 << (x)) /* Clear trigger overrun event flag */
+
+/* DMA channel mapping
+ *
+ * XXXXX.DDD.CCCCCCCC
+ * C - DMAMUX request
+ * D - DMA controller
+ * X - free bits
+ */
+
+#define DMAMAP_MAP(d,c) ((d) << 8 | (c))
+#define DMAMAP_CONTROLLER(m) ((m) >> 8 & 0x07)
+#define DMAMAP_REQUEST(m) ((m) >> 0 & 0xff)
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+/* Import DMAMUX map */
+
+#if defined(CONFIG_STM32_STM32G47XX)
+# include "hardware/stm32g47xxx_dmamux.h"
+#else
+# error "Unsupported STM32 sub family"
+#endif
+
+#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32_DMAMUX_H */
diff --git a/arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h b/arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h
new file mode 100644
index 0000000..c4287be
--- /dev/null
+++ b/arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h
@@ -0,0 +1,157 @@
+/************************************************************************************
+ * arch/arm/src/stm32/hardware/stm32g47xxx_dmamux.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ************************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_DMAMUX_H
+#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_DMAMUX_H
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#include <nuttx/config.h>
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+
+/* DMAMUX1 mapping ******************************************************************/
+
+/* NOTE: DMAMUX1 channels 0 to 7 are connected to DMA1 channels 0 to 7.
+ * DMAMUX1 channels 8 to 15 are connected to DMA2 channels 0 to 7.
+ */
+
+#define DMAMUX1_REQ_MEM2MEM (0) /* Memory to memory transfer */
+#define DMAMUX1_REQ_GEN0 (1) /* DMAMUX Request Generator 0 */
+#define DMAMUX1_REQ_GEN1 (2) /* DMAMUX Request Generator 1 */
+#define DMAMUX1_REQ_GEN2 (3) /* DMAMUX Request Generator 2 */
+#define DMAMUX1_REQ_GEN3 (4) /* DMAMUX Request Generator 3 */
+#define DMAMUX1_REQ_ADC1 (5) /* DMAMUX ADC1 request */
+#define DMAMUX1_REQ_DAC1_CH1 (6) /* DMAMUX DAC1 Channel 1 request */
+#define DMAMUX1_REQ_DAC1_CH2 (7) /* DMAMUX DAC1 Channel 2 request */
+#define DMAMUX1_REQ_TIM6_UP (8) /* DMAMUX TIM6 Update request */
+#define DMAMUX1_REQ_TIM7_UP (9) /* DMAMUX TIM7 Update request */
+#define DMAMUX1_REQ_SPI1_RX (10) /* DMAMUX SPI1 Rx request */
+#define DMAMUX1_REQ_SPI1_TX (11) /* DMAMUX SPI1 Tx request */
+#define DMAMUX1_REQ_SPI2_RX (12) /* DMAMUX SPI2 Rx request */
+#define DMAMUX1_REQ_SPI2_TX (13) /* DMAMUX SPI2 Tx request */
+#define DMAMUX1_REQ_SPI3_RX (14) /* DMAMUX SPI3 Rx request */
+#define DMAMUX1_REQ_SPI3_TX (15) /* DMAMUX SPI3 Tx request */
+#define DMAMUX1_REQ_I2C1_RX (16) /* DMAMUX I2C1 Rx request */
+#define DMAMUX1_REQ_I2C1_TX (17) /* DMAMUX I2C1 Tx request */
+#define DMAMUX1_REQ_I2C2_RX (18) /* DMAMUX I2C2 Rx request */
+#define DMAMUX1_REQ_I2C2_TX (19) /* DMAMUX I2C2 Tx request */
+#define DMAMUX1_REQ_I2C3_RX (20) /* DMAMUX I2C3 Rx request */
+#define DMAMUX1_REQ_I2C3_TX (21) /* DMAMUX I2C3 Tx request */
+#define DMAMUX1_REQ_I2C4_RX (22) /* DMAMUX I2C4 Rx request */
+#define DMAMUX1_REQ_I2C4_TX (23) /* DMAMUX I2C4 Tx request */
+#define DMAMUX1_REQ_USART1_RX (24) /* DMAMUX USART1 Rx request */
+#define DMAMUX1_REQ_USART1_TX (25) /* DMAMUX USART1 Tx request */
+#define DMAMUX1_REQ_USART2_RX (26) /* DMAMUX USART2 Rx request */
+#define DMAMUX1_REQ_USART2_TX (27) /* DMAMUX USART2 Tx request */
+#define DMAMUX1_REQ_USART3_RX (28) /* DMAMUX USART3 Rx request */
+#define DMAMUX1_REQ_USART3_TX (29) /* DMAMUX USART3 Tx request */
+#define DMAMUX1_REQ_UART4_RX (30) /* DMAMUX UART4 Rx request */
+#define DMAMUX1_REQ_UART4_TX (31) /* DMAMUX UART4 Tx request */
+#define DMAMUX1_REQ_UART5_RX (32) /* DMAMUX UART5 Rx request */
+#define DMAMUX1_REQ_UART5_TX (33) /* DMAMUX UART5 Tx request */
+#define DMAMUX1_REQ_LPUART1_RX (34) /* DMAMUX LPUART1 Rx request */
+#define DMAMUX1_REQ_LPUART1_TX (35) /* DMAMUX LPUART1 Tx request */
+#define DMAMUX1_REQ_ADC2 (36) /* DMAMUX ADC2 request */
+#define DMAMUX1_REQ_ADC3 (37) /* DMAMUX ADC3 request */
+#define DMAMUX1_REQ_ADC4 (38) /* DMAMUX ADC4 request */
+#define DMAMUX1_REQ_ADC5 (39) /* DMAMUX ADC5 request */
+#define DMAMUX1_REQ_QSPI (40) /* DMAMUX QSPI request */
+#define DMAMUX1_REQ_DAC2_CH1 (41) /* DMAMUX DAC2 Channel 1 request */
+#define DMAMUX1_REQ_TIM1_CH1 (42) /* DMAMUX TIM1 Channel 1 request */
+#define DMAMUX1_REQ_TIM1_CH2 (43) /* DMAMUX TIM1 Channel 2 request */
+#define DMAMUX1_REQ_TIM1_CH3 (44) /* DMAMUX TIM1 Channel 3 request */
+#define DMAMUX1_REQ_TIM1_CH4 (45) /* DMAMUX TIM1 Channel 4 request */
+#define DMAMUX1_REQ_TIM1_UP (46) /* DMAMUX TIM1 Update request */
+#define DMAMUX1_REQ_TIM1_TRIG (47) /* DMAMUX TIM1 Trigger request */
+#define DMAMUX1_REQ_TIM1_COM (48) /* DMAMUX TIM1 Commutation request */
+#define DMAMUX1_REQ_TIM8_CH1 (49) /* DMAMUX TIM8 Channel 1 request */
+#define DMAMUX1_REQ_TIM8_CH2 (50) /* DMAMUX TIM8 Channel 2 request */
+#define DMAMUX1_REQ_TIM8_CH3 (51) /* DMAMUX TIM8 Channel 3 request */
+#define DMAMUX1_REQ_TIM8_CH4 (52) /* DMAMUX TIM8 Channel 4 request */
+#define DMAMUX1_REQ_TIM8_UP (53) /* DMAMUX TIM8 Update request */
+#define DMAMUX1_REQ_TIM8_TRIG (54) /* DMAMUX TIM8 Trigger request */
+#define DMAMUX1_REQ_TIM8_COM (55) /* DMAMUX TIM8 Commutation request */
+#define DMAMUX1_REQ_TIM2_CH1 (56) /* DMAMUX TIM2 Channel 1 request */
+#define DMAMUX1_REQ_TIM2_CH2 (57) /* DMAMUX TIM2 Channel 2 request */
+#define DMAMUX1_REQ_TIM2_CH3 (58) /* DMAMUX TIM2 Channel 3 request */
+#define DMAMUX1_REQ_TIM2_CH4 (59) /* DMAMUX TIM2 Channel 4 request */
+#define DMAMUX1_REQ_TIM2_UP (60) /* DMAMUX TIM2 Update request */
+#define DMAMUX1_REQ_TIM3_CH1 (61) /* DMAMUX TIM3 Channel 1 request */
+#define DMAMUX1_REQ_TIM3_CH2 (62) /* DMAMUX TIM3 Channel 2 request */
+#define DMAMUX1_REQ_TIM3_CH3 (63) /* DMAMUX TIM3 Channel 3 request */
+#define DMAMUX1_REQ_TIM3_CH4 (64) /* DMAMUX TIM3 Channel 4 request */
+#define DMAMUX1_REQ_TIM3_UP (65) /* DMAMUX TIM3 Update request */
+#define DMAMUX1_REQ_TIM3_TRIG (66) /* DMAMUX TIM3 Trigger request */
+#define DMAMUX1_REQ_TIM4_CH1 (67) /* DMAMUX TIM4 Channel 1 request */
+#define DMAMUX1_REQ_TIM4_CH2 (68) /* DMAMUX TIM4 Channel 2 request */
+#define DMAMUX1_REQ_TIM4_CH3 (69) /* DMAMUX TIM4 Channel 3 request */
+#define DMAMUX1_REQ_TIM4_CH4 (70) /* DMAMUX TIM4 Channel 4 request */
+#define DMAMUX1_REQ_TIM4_UP (71) /* DMAMUX TIM4 Update request */
+#define DMAMUX1_REQ_TIM5_CH1 (72) /* DMAMUX TIM5 Channel 1 request */
+#define DMAMUX1_REQ_TIM5_CH2 (73) /* DMAMUX TIM5 Channel 2 request */
+#define DMAMUX1_REQ_TIM5_CH3 (74) /* DMAMUX TIM5 Channel 3 request */
+#define DMAMUX1_REQ_TIM5_CH4 (75) /* DMAMUX TIM5 Channel 4 request */
+#define DMAMUX1_REQ_TIM5_UP (76) /* DMAMUX TIM5 Update request */
+#define DMAMUX1_REQ_TIM5_TRIG (77) /* DMAMUX TIM5 Trigger request */
+#define DMAMUX1_REQ_TIM15_CH1 (78) /* DMAMUX TIM15 Channel 1 request */
+#define DMAMUX1_REQ_TIM15_UP (79) /* DMAMUX TIM15 Update request */
+#define DMAMUX1_REQ_TIM15_TRIG (80) /* DMAMUX TIM15 Trigger request */
+#define DMAMUX1_REQ_TIM15_COM (81) /* DMAMUX TIM15 Commutation request */
+#define DMAMUX1_REQ_TIM16_CH1 (82) /* DMAMUX TIM16 Channel 1 request */
+#define DMAMUX1_REQ_TIM16_UP (83) /* DMAMUX TIM16 Update request */
+#define DMAMUX1_REQ_TIM17_CH1 (84) /* DMAMUX TIM17 Channel 1 request */
+#define DMAMUX1_REQ_TIM17_UP (85) /* DMAMUX TIM17 Update request */
+#define DMAMUX1_REQ_TIM20_CH1 (86) /* DMAMUX TIM20 Channel 1 request */
+#define DMAMUX1_REQ_TIM20_CH2 (87) /* DMAMUX TIM20 Channel 2 request */
+#define DMAMUX1_REQ_TIM20_CH3 (88) /* DMAMUX TIM20 Channel 3 request */
+#define DMAMUX1_REQ_TIM20_CH4 (89) /* DMAMUX TIM20 Channel 4 request */
+#define DMAMUX1_REQ_TIM20_UP (90) /* DMAMUX TIM20 Update request */
+#define DMAMUX1_REQ_AES_IN (91) /* DMAMUX AES In request */
+#define DMAMUX1_REQ_AES_OUT (92) /* DMAMUX AES Out request */
+#define DMAMUX1_REQ_TIM20_TRIG (93) /* DMAMUX TIM20 Trigger request */
+#define DMAMUX1_REQ_TIM20_COM (94) /* DMAMUX TIM20 Commutation request */
+#define DMAMUX1_REQ_HRTIM1_M (95) /* DMAMUX HRTIM M request */
+#define DMAMUX1_REQ_HRTIM1_A (96) /* DMAMUX HRTIM A request */
+#define DMAMUX1_REQ_HRTIM1_B (97) /* DMAMUX HRTIM B request */
+#define DMAMUX1_REQ_HRTIM1_C (98) /* DMAMUX HRTIM C request */
+#define DMAMUX1_REQ_HRTIM1_D (99) /* DMAMUX HRTIM D request */
+#define DMAMUX1_REQ_HRTIM1_E (100) /* DMAMUX HRTIM E request */
+#define DMAMUX1_REQ_HRTIM1_F (101) /* DMAMUX HRTIM F request */
+#define DMAMUX1_REQ_DAC3_CH1 (102) /* DMAMUX DAC3 Channel 1 request */
+#define DMAMUX1_REQ_DAC3_CH2 (103) /* DMAMUX DAC3 Channel 2 request */
+#define DMAMUX1_REQ_DAC4_CH1 (104) /* DMAMUX DAC4 Channel 1 request */
+#define DMAMUX1_REQ_DAC4_CH2 (105) /* DMAMUX DAC4 Channel 2 request */
+#define DMAMUX1_REQ_SPI4_RX (106) /* DMAMUX SPI4 Rx request */
+#define DMAMUX1_REQ_SPI4_TX (107) /* DMAMUX SPI4 Tx request */
+#define DMAMUX1_REQ_SAI1_A (108) /* DMAMUX SAI1 A request */
+#define DMAMUX1_REQ_SAI1_B (109) /* DMAMUX SAI1 B request */
+#define DMAMUX1_REQ_FMAC_READ (110) /* DMAMUX FMAC Read request */
+#define DMAMUX1_REQ_FMAC_WRITE (111) /* DMAMUX FMAC Write request */
+#define DMAMUX1_REQ_CORDIC_READ (112) /* DMAMUX CORDIC Read request */
+#define DMAMUX1_REQ_CORDIC_WRITE (113) /* DMAMUX CORDIC Write request */
+#define DMAMUX1_REQ_UCPD1_RX (114) /* DMAMUX USBPD1 Rx request */
+#define DMAMUX1_REQ_UCPD1_TX (115) /* DMAMUX USBPD1 Tx request */
+
+#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_DMAMUX_H */