This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 2e7b594bf41c728c4ad891498d513f2ca1329d65
Author: David Sidrane <[email protected]>
AuthorDate: Thu Jul 28 12:50:29 2022 -0700

    s32k1xx:Add s32k146 DMAMUX
---
 arch/arm/src/s32k1xx/hardware/s32k146_dmamux.h | 91 ++++++++++++++++++++++++++
 arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h |  8 ++-
 2 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/arch/arm/src/s32k1xx/hardware/s32k146_dmamux.h 
b/arch/arm/src/s32k1xx/hardware/s32k146_dmamux.h
new file mode 100644
index 0000000000..0c8480fa27
--- /dev/null
+++ b/arch/arm/src/s32k1xx/hardware/s32k146_dmamux.h
@@ -0,0 +1,91 @@
+/****************************************************************************
+ * arch/arm/src/s32k1xx/hardware/s32k146_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_S32K1XX_HARDWARE_S32K146_DMAMUX_H
+#define __ARCH_ARM_SRC_S32K1XX_HARDWARE_S32K146_DMAMUX_H
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Peripheral DMA request channels */
+
+#define S32K1XX_DMACHAN_DISABLED                   0  /* Disabled DMA Request 
*/
+#define S32K1XX_DMACHAN_LPUART0_RX                 2  /* lpuart0  Receive DMA 
Request */
+#define S32K1XX_DMACHAN_LPUART0_TX                 3  /* lpuart0  Transmit DMA 
Request */
+#define S32K1XX_DMACHAN_LPUART1_RX                 4  /* lpuart1  Receive DMA 
Request */
+#define S32K1XX_DMACHAN_LPUART1_TX                 5  /* lpuart1  Transmit DMA 
Request */
+#define S32K1XX_DMACHAN_LPUART2_RX                 6  /* lpuart2  Receive DMA 
Request */
+#define S32K1XX_DMACHAN_LPUART2_TX                 7  /* lpuart2  Transmit DMA 
Request */
+#define S32K1XX_DMACHAN_FLEXIO_SHIFTER0            10 /* flexio FlexIO 
Shifter0 DMA Request */
+#define S32K1XX_DMACHAN_FLEXIO_SHIFTER1            11 /* flexio FlexIO 
Shifter1 DMA Request */
+#define S32K1XX_DMACHAN_FLEXIO_SHIFTER2            12 /* flexio / SAI1  FlexIO 
Shifter2 DMA Request / SAI1 DMA RX Request */
+#define S32K1XX_DMACHAN_FLEXIO_SHIFTER3            13 /* flexio / SAI1  FlexIO 
Shifter3 DMA Request / SAI1 DMA TX Request */
+#define S32K1XX_DMACHAN_LPSPI0_RX                  14 /* lpspi0 DMA RX Request 
*/
+#define S32K1XX_DMACHAN_LPSPI0_TX                  15 /* lpspi0 DMA TX Request 
*/
+#define S32K1XX_DMACHAN_LPSPI1_RX                  16 /* lpspi1 DMA RX Request 
*/
+#define S32K1XX_DMACHAN_LPSPI1_TX                  17 /* lpspi1 DMA TX Request 
*/
+#define S32K1XX_DMACHAN_LPSPI2_RX                  18 /* lpspi2 DMA RX Request 
*/
+#define S32K1XX_DMACHAN_LPSPI2_TX                  19 /* lpspi2 DMA TX Request 
*/
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_0             20 /* ftm1 Channel 0 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_1             21 /* ftm1 Channel 1 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_2             22 /* ftm1 Channel 2 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_3             23 /* ftm1 Channel 3 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_4             24 /* ftm1 Channel 4 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_5             25 /* ftm1 Channel 5 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_6             26 /* ftm1 Channel 6 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM1_CHANNEL_7             27 /* ftm1 Channel 7 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_0             28 /* ftm2 Channel 0 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_1             29 /* ftm2 Channel 1 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_2             30 /* ftm2 Channel 2 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_3             31 /* ftm2 Channel 3 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_4             32 /* ftm2 Channel 4 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_5             33 /* ftm2 Channel 5 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_6             34 /* ftm2 Channel 6 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM2_CHANNEL_7             35 /* ftm2 Channel 7 DMA 
transfer request */
+#define S32K1XX_DMACHAN_FTM0_OR_CH0_CH7            36 /* ftm0 'OR' of FTM0 
channel 0 - 7 */
+#define S32K1XX_DMACHAN_FTM3_OR_CH0_CH7            37 /* ftm3 'OR' of FTM3 
channel 0 - 7 */
+#define S32K1XX_DMACHAN_FTM4_OR_CH0_CH7            38 /* ftm4 'OR' of FTM4 
channel 0 - 7 */
+#define S32K1XX_DMACHAN_FTM5_OR_CH0_CH7            39 /* ftm5 'OR' of FTM5 
channel 0 - 7 */
+#define S32K1XX_DMACHAN_ADC0                       42 /* ftm6 'OR' of FTM6 
channel 0 - 7 */
+#define S32K1XX_DMACHAN_ADC1                       43 /* ftm7 'OR' of FTM7 
channel 0 - 7 */
+#define S32K1XX_DMACHAN_LPI2C0_RX                  44 /* lpi2c0 DMA RX Request 
*/
+#define S32K1XX_DMACHAN_LPI2C0_TX                  45 /* lpi2c0 DMA TX Request 
*/
+#define S32K1XX_DMACHAN_PDB0                       46 /* pdb0 DMA request */
+#define S32K1XX_DMACHAN_PDB1                       47 /* pdb1 DMA request */
+#define S32K1XX_DMACHAN_CMP0                       48 /* cmp0 DMA request */
+#define S32K1XX_DMACHAN_PORTA                      49 /* PORT PORTA DMA 
request */
+#define S32K1XX_DMACHAN_PORTB                      50 /* PORT PORTB DMA 
request */
+#define S32K1XX_DMACHAN_PORTC                      51 /* PORT PORTC DMA 
request */
+#define S32K1XX_DMACHAN_PORTD                      52 /* PORT PORTD DMA 
request */
+#define S32K1XX_DMACHAN_PORTE                      53 /* PORT PORTE DMA 
request */
+#define S32K1XX_DMACHAN_FLEXCAN0                   54 /* flexcan0 DMA request 
*/
+#define S32K1XX_DMACHAN_FLEXCAN1                   55 /* flexcan1 DMA request 
*/
+#define S32K1XX_DMACHAN_FLEXCAN2                   56 /* flexcan2 DMA request 
*/
+#define S32K1XX_DMACHAN_LPTMR0                     59 /* lptmr0 LPTIMER DMA 
request */
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED0     62 /* Always On DMA request 
*/
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED1     63 /* Always On DMA request 
*/
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED1     63 /* Always On DMA request 
*/
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED1     63 /* Always On DMA request 
*/
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED1     63 /* Always On DMA request 
*/
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED1     63 /* Always On DMA request 
*/
+#define S32K1XX_DMACHAN_DMAMUX_ALWAYS_ENABLED1     63 /* Always On DMA request 
*/
+
+#endif /* __ARCH_ARM_SRC_S32K1XX_HARDWARE_S32K146_DMAMUX_H */
diff --git a/arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h 
b/arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h
index 23de5b8c65..315e07d88d 100644
--- a/arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h
+++ b/arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h
@@ -28,6 +28,12 @@
 #include <nuttx/config.h>
 #include <hardware/s32k1xx_memorymap.h>
 
+#if defined(CONFIG_ARCH_CHIP_S32K11X)
+#  error "Sorry no s32k11x_dmamux.h - Please author one"
+#elif defined(CONFIG_ARCH_CHIP_S32K14X)
+#  include <hardware/s32k146_dmamux.h>
+#endif
+
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
@@ -46,7 +52,7 @@
 
 /* DMAMUX Register Addresses ************************************************/
 
-#define S32K1XX_DMAMUX_CHCFG(n)         (S32K1XX_DMAMUX_BASE + 
S32K1XX_DMAMUX_CHCFG_OFFSET(n)) n=1..15 */
+#define S32K1XX_DMAMUX_CHCFG(n)         (S32K1XX_DMAMUX_BASE + 
S32K1XX_DMAMUX_CHCFG_OFFSET(n)) /* n=1..15 */
 
 /* DMAMUX Register Bitfield Definitions *************************************/
 

Reply via email to