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