0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/spi/fsl-imx-cspi.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Freescale (Enhanced) Configurable Serial Peripheral Interface (CSPI/eCSPI) for i.MX
0008
0009 maintainers:
0010 - Shawn Guo <shawnguo@kernel.org>
0011
0012 allOf:
0013 - $ref: "/schemas/spi/spi-controller.yaml#"
0014
0015 properties:
0016 compatible:
0017 oneOf:
0018 - const: fsl,imx1-cspi
0019 - const: fsl,imx21-cspi
0020 - const: fsl,imx27-cspi
0021 - const: fsl,imx31-cspi
0022 - const: fsl,imx35-cspi
0023 - const: fsl,imx51-ecspi
0024 - const: fsl,imx53-ecspi
0025 - items:
0026 - enum:
0027 - fsl,imx50-ecspi
0028 - fsl,imx6q-ecspi
0029 - fsl,imx6sx-ecspi
0030 - fsl,imx6sl-ecspi
0031 - fsl,imx6sll-ecspi
0032 - fsl,imx6ul-ecspi
0033 - fsl,imx7d-ecspi
0034 - fsl,imx8mq-ecspi
0035 - fsl,imx8mm-ecspi
0036 - fsl,imx8mn-ecspi
0037 - fsl,imx8mp-ecspi
0038 - const: fsl,imx51-ecspi
0039
0040 reg:
0041 maxItems: 1
0042
0043 interrupts:
0044 maxItems: 1
0045
0046 clocks:
0047 items:
0048 - description: SoC SPI ipg clock
0049 - description: SoC SPI per clock
0050
0051 clock-names:
0052 items:
0053 - const: ipg
0054 - const: per
0055
0056 dmas:
0057 items:
0058 - description: DMA controller phandle and request line for RX
0059 - description: DMA controller phandle and request line for TX
0060
0061 dma-names:
0062 items:
0063 - const: rx
0064 - const: tx
0065
0066 fsl,spi-rdy-drctl:
0067 $ref: /schemas/types.yaml#/definitions/uint32
0068 description: |
0069 Integer, representing the value of DRCTL, the register controlling
0070 the SPI_READY handling. Note that to enable the DRCTL consideration,
0071 the SPI_READY mode-flag needs to be set too.
0072 Valid values are: 0 (disabled), 1 (edge-triggered burst) and 2 (level-triggered burst).
0073 enum: [0, 1, 2]
0074
0075 required:
0076 - compatible
0077 - reg
0078 - interrupts
0079 - clocks
0080 - clock-names
0081
0082 unevaluatedProperties: false
0083
0084 examples:
0085 - |
0086 #include <dt-bindings/clock/imx5-clock.h>
0087
0088 spi@70010000 {
0089 #address-cells = <1>;
0090 #size-cells = <0>;
0091 compatible = "fsl,imx51-ecspi";
0092 reg = <0x70010000 0x4000>;
0093 interrupts = <36>;
0094 clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
0095 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
0096 clock-names = "ipg", "per";
0097 };