1133147Sdas# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2133147Sdas%YAML 1.2
3133147Sdas---
42116Sjkh$id: http://devicetree.org/schemas/spi/rockchip-sfc.yaml#
5133147Sdas$schema: http://devicetree.org/meta-schemas/core.yaml#
6133147Sdas
7133147Sdastitle: Rockchip Serial Flash Controller (SFC)
8133147Sdas
9133147Sdasmaintainers:
10133147Sdas  - Heiko Stuebner <heiko@sntech.de>
11133147Sdas  - Chris Morgan <macromorgan@hotmail.com>
12133147Sdas
13133147SdasallOf:
14133147Sdas  - $ref: spi-controller.yaml#
15133147Sdas
16133147Sdasproperties:
17133147Sdas  compatible:
18133147Sdas    const: rockchip,sfc
19133147Sdas    description:
20133147Sdas      The rockchip sfc controller is a standalone IP with version register,
21133147Sdas      and the driver can handle all the feature difference inside the IP
22133147Sdas      depending on the version register.
23133147Sdas
24133147Sdas  reg:
25133147Sdas    maxItems: 1
26133147Sdas
272116Sjkh  interrupts:
282116Sjkh    maxItems: 1
29133147Sdas
30110769Smike  clocks:
31133147Sdas    items:
32133147Sdas      - description: Bus Clock
33242879Sdim      - description: Module Clock
34275004Semaste
35242879Sdim  clock-names:
36133147Sdas    items:
37133147Sdas      - const: clk_sfc
38133147Sdas      - const: hclk_sfc
39133147Sdas
40133147Sdas  power-domains:
41133147Sdas    maxItems: 1
42133147Sdas
43133147Sdas  rockchip,sfc-no-dma:
44275004Semaste    description: Disable DMA and utilize FIFO mode only
452116Sjkh    type: boolean
46354596Sdim
47354596SdimpatternProperties:
48354596Sdim  "^flash@[0-3]$":
49354596Sdim    type: object
50354596Sdim    additionalProperties: true
51354596Sdim
52133147Sdas    properties:
53209110Sdas      reg:
54133147Sdas        minimum: 0
55133147Sdas        maximum: 3
562116Sjkh
57133147Sdasrequired:
58133147Sdas  - compatible
59133147Sdas  - reg
602116Sjkh  - interrupts
61133147Sdas  - clocks
62133147Sdas  - clock-names
63133147Sdas
64133147SdasunevaluatedProperties: false
65110769Smike
66133147Sdasexamples:
67133147Sdas  - |
68133147Sdas    #include <dt-bindings/clock/px30-cru.h>
692116Sjkh    #include <dt-bindings/interrupt-controller/arm-gic.h>
70209110Sdas    #include <dt-bindings/power/px30-power.h>
71209110Sdas
72    sfc: spi@ff3a0000 {
73        compatible = "rockchip,sfc";
74        reg = <0xff3a0000 0x4000>;
75        interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
76        clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
77        clock-names = "clk_sfc", "hclk_sfc";
78        pinctrl-0 = <&sfc_clk &sfc_cs &sfc_bus2>;
79        pinctrl-names = "default";
80        power-domains = <&power PX30_PD_MMC_NAND>;
81        #address-cells = <1>;
82        #size-cells = <0>;
83
84        flash@0 {
85            compatible = "jedec,spi-nor";
86            reg = <0>;
87            spi-max-frequency = <108000000>;
88            spi-rx-bus-width = <2>;
89            spi-tx-bus-width = <2>;
90        };
91    };
92
93...
94