dt-bindings: add support for parsing stm32 dma consumer cells

Add support for parsing stm32 dma consumer cells, format of which
follows dma dts format declared in the Linux Kernel for the dma of
stm32:
https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git/plain/Bindings/dma/stm32-dma.txt

Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
This commit is contained in:
Song Qiang 2019-10-24 12:29:47 +08:00 committed by Kumar Gala
commit 8fa9fecd8c
3 changed files with 48 additions and 0 deletions

View file

@ -251,6 +251,7 @@
/include/display/ @vanwinkeljan /include/display/ @vanwinkeljan
/include/dt-bindings/clock/kinetis_mcg.h @henrikbrixandersen /include/dt-bindings/clock/kinetis_mcg.h @henrikbrixandersen
/include/dt-bindings/clock/kinetis_scg.h @henrikbrixandersen /include/dt-bindings/clock/kinetis_scg.h @henrikbrixandersen
/include/dt-bindings/dma/stm32_dma.h @cybertale
/include/dt-bindings/pcie/ @andrewboie /include/dt-bindings/pcie/ @andrewboie
/include/dt-bindings/usb/usb.h @galak @finikorg /include/dt-bindings/usb/usb.h @galak @finikorg
/include/fs/ @nashif @wentongwu /include/fs/ @nashif @wentongwu

View file

@ -0,0 +1,34 @@
# Copyright (c) 2019, Song Qiang <songqiang1304521@gmail.com>
# SPDX-License-Identifier: Apache-2.0
title: STM32 DMA
description: STM32 DMA controller
compatible: "st,stm32-dma"
include: dma-controller.yaml
properties:
reg:
required: true
interrupts:
required: true
st,mem2mem:
type: boolean
description: If the controller supports memory to memory transfer
"#dma-cells":
const: 4
# Parameter syntax of stm32 follows the dma client dts syntax
# in the Linux kernel declared in
# https://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git/plain/Bindings/dma/stm32-dma.txt
dma-cells:
- channel
- slot
- channel-config
- features

View file

@ -0,0 +1,13 @@
/*
* Copyright (c) 2019 Song Qiang <songqiang1304521@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
/* macros for channel-config */
#define STM32_DMA_CONFIG_PERIPH_ADDR_INC(config) (config & 0x1 << 9)
#define STM32_DMA_CONFIG_MEM_ADDR_INC(config) (config & 0x1 << 10)
#define STM32_DMA_CONFIG_PERIPH_INC_FIXED(config) (config & 0x1 << 15)
#define STM32_DMA_CONFIG_PRIORITY(config) ((config >> 16) & 0x3)
/* macros for features */
#define STM32_DMA_FEATURES_FIFO_THRESHOLD(features) (features & 0x3)