xref: /linux/Documentation/devicetree/bindings/mtd/st,spi-fsm.yaml (revision 1b49e363252632d0493546511a41a65ed1a6fbbb)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mtd/st,spi-fsm.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics SPI FSM Serial NOR Flash Controller
8
9maintainers:
10  - Angus Clark <angus.clark@st.com>
11
12description:
13  The STMicroelectronics Fast Sequence Mode (FSM) controller is a dedicated
14  hardware accelerator integrated in older STiH4xx/STiDxxx set-top box SoCs
15  (such as STiH407, STiH416, STiD127). It connects directly to a single
16  external serial flash device used as the primary boot device. The FSM
17  executes hard-coded or configurable instruction sequences in hardware,
18  providing low-latency reads suitable for execute-in-place (XIP) boot
19  and high read bandwidth.
20
21properties:
22  compatible:
23    const: st,spi-fsm
24
25  reg:
26    maxItems: 1
27
28  reg-names:
29    const: spi-fsm
30
31  interrupts:
32    maxItems: 1
33
34  st,syscfg:
35    $ref: /schemas/types.yaml#/definitions/phandle
36    description: Phandle to the system configuration registers used for boot-device selection.
37
38  st,boot-device-reg:
39    $ref: /schemas/types.yaml#/definitions/uint32
40    description: Offset of the boot-device register within the st,syscfg node.
41
42  st,boot-device-spi:
43    $ref: /schemas/types.yaml#/definitions/uint32
44    description: Expected boot-device value when booting from this SPI controller.
45
46required:
47  - compatible
48  - reg
49  - reg-names
50  - interrupts
51  - pinctrl-0
52
53unevaluatedProperties: false
54
55examples:
56  - |
57    #include <dt-bindings/interrupt-controller/arm-gic.h>
58    spifsm@fe902000 {
59        compatible = "st,spi-fsm";
60        reg = <0xfe902000 0x1000>;
61        reg-names = "spi-fsm";
62        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
63        pinctrl-0 = <&pinctrl_fsm>;
64        st,syscfg = <&syscfg_rear>;
65        st,boot-device-reg = <0x958>;
66        st,boot-device-spi = <0x1a>;
67    };
68...
69