162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/spi/fsl-imx-cspi.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Freescale (Enhanced) Configurable Serial Peripheral Interface (CSPI/eCSPI) for i.MX
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Shawn Guo <shawnguo@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: /schemas/spi/spi-controller.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    oneOf:
1862306a36Sopenharmony_ci      - const: fsl,imx1-cspi
1962306a36Sopenharmony_ci      - const: fsl,imx21-cspi
2062306a36Sopenharmony_ci      - const: fsl,imx27-cspi
2162306a36Sopenharmony_ci      - const: fsl,imx31-cspi
2262306a36Sopenharmony_ci      - const: fsl,imx35-cspi
2362306a36Sopenharmony_ci      - const: fsl,imx51-ecspi
2462306a36Sopenharmony_ci      - const: fsl,imx53-ecspi
2562306a36Sopenharmony_ci      - items:
2662306a36Sopenharmony_ci          - enum:
2762306a36Sopenharmony_ci              - fsl,imx25-cspi
2862306a36Sopenharmony_ci              - fsl,imx50-cspi
2962306a36Sopenharmony_ci              - fsl,imx51-cspi
3062306a36Sopenharmony_ci              - fsl,imx53-cspi
3162306a36Sopenharmony_ci          - const: fsl,imx35-cspi
3262306a36Sopenharmony_ci      - items:
3362306a36Sopenharmony_ci          - const: fsl,imx8mp-ecspi
3462306a36Sopenharmony_ci          - const: fsl,imx6ul-ecspi
3562306a36Sopenharmony_ci      - items:
3662306a36Sopenharmony_ci          - enum:
3762306a36Sopenharmony_ci              - fsl,imx50-ecspi
3862306a36Sopenharmony_ci              - fsl,imx6q-ecspi
3962306a36Sopenharmony_ci              - fsl,imx6sx-ecspi
4062306a36Sopenharmony_ci              - fsl,imx6sl-ecspi
4162306a36Sopenharmony_ci              - fsl,imx6sll-ecspi
4262306a36Sopenharmony_ci              - fsl,imx6ul-ecspi
4362306a36Sopenharmony_ci              - fsl,imx7d-ecspi
4462306a36Sopenharmony_ci              - fsl,imx8mq-ecspi
4562306a36Sopenharmony_ci              - fsl,imx8mm-ecspi
4662306a36Sopenharmony_ci              - fsl,imx8mn-ecspi
4762306a36Sopenharmony_ci          - const: fsl,imx51-ecspi
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  reg:
5062306a36Sopenharmony_ci    maxItems: 1
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci  interrupts:
5362306a36Sopenharmony_ci    maxItems: 1
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci  clocks:
5662306a36Sopenharmony_ci    items:
5762306a36Sopenharmony_ci      - description: SoC SPI ipg clock
5862306a36Sopenharmony_ci      - description: SoC SPI per clock
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci  clock-names:
6162306a36Sopenharmony_ci    items:
6262306a36Sopenharmony_ci      - const: ipg
6362306a36Sopenharmony_ci      - const: per
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci  dmas:
6662306a36Sopenharmony_ci    items:
6762306a36Sopenharmony_ci      - description: DMA controller phandle and request line for RX
6862306a36Sopenharmony_ci      - description: DMA controller phandle and request line for TX
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci  dma-names:
7162306a36Sopenharmony_ci    items:
7262306a36Sopenharmony_ci      - const: rx
7362306a36Sopenharmony_ci      - const: tx
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci  fsl,spi-rdy-drctl:
7662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
7762306a36Sopenharmony_ci    description: |
7862306a36Sopenharmony_ci      Integer, representing the value of DRCTL, the register controlling
7962306a36Sopenharmony_ci      the SPI_READY handling. Note that to enable the DRCTL consideration,
8062306a36Sopenharmony_ci      the SPI_READY mode-flag needs to be set too.
8162306a36Sopenharmony_ci      Valid values are: 0 (disabled), 1 (edge-triggered burst) and 2 (level-triggered burst).
8262306a36Sopenharmony_ci    enum: [0, 1, 2]
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_cirequired:
8562306a36Sopenharmony_ci  - compatible
8662306a36Sopenharmony_ci  - reg
8762306a36Sopenharmony_ci  - interrupts
8862306a36Sopenharmony_ci  - clocks
8962306a36Sopenharmony_ci  - clock-names
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciunevaluatedProperties: false
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciexamples:
9462306a36Sopenharmony_ci  - |
9562306a36Sopenharmony_ci    #include <dt-bindings/clock/imx5-clock.h>
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci    spi@70010000 {
9862306a36Sopenharmony_ci        #address-cells = <1>;
9962306a36Sopenharmony_ci        #size-cells = <0>;
10062306a36Sopenharmony_ci        compatible = "fsl,imx51-ecspi";
10162306a36Sopenharmony_ci        reg = <0x70010000 0x4000>;
10262306a36Sopenharmony_ci        interrupts = <36>;
10362306a36Sopenharmony_ci        clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>,
10462306a36Sopenharmony_ci                 <&clks IMX5_CLK_ECSPI1_PER_GATE>;
10562306a36Sopenharmony_ci        clock-names = "ipg", "per";
10662306a36Sopenharmony_ci    };
107