xref: /freebsd/sys/contrib/device-tree/Bindings/spi/st,stm32mp25-ospi.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
18ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28ccc0d23SEmmanuel Vadot%YAML 1.2
38ccc0d23SEmmanuel Vadot---
48ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/st,stm32mp25-ospi.yaml#
58ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68ccc0d23SEmmanuel Vadot
78ccc0d23SEmmanuel Vadottitle: STMicroelectronics STM32 Octal Serial Peripheral Interface (OSPI)
88ccc0d23SEmmanuel Vadot
98ccc0d23SEmmanuel Vadotmaintainers:
108ccc0d23SEmmanuel Vadot  - Patrice Chotard <patrice.chotard@foss.st.com>
118ccc0d23SEmmanuel Vadot
128ccc0d23SEmmanuel VadotallOf:
138ccc0d23SEmmanuel Vadot  - $ref: spi-controller.yaml#
148ccc0d23SEmmanuel Vadot
158ccc0d23SEmmanuel Vadotproperties:
168ccc0d23SEmmanuel Vadot  compatible:
178ccc0d23SEmmanuel Vadot    const: st,stm32mp25-ospi
188ccc0d23SEmmanuel Vadot
198ccc0d23SEmmanuel Vadot  reg:
208ccc0d23SEmmanuel Vadot    maxItems: 1
218ccc0d23SEmmanuel Vadot
228ccc0d23SEmmanuel Vadot  memory-region:
238ccc0d23SEmmanuel Vadot    description:
248ccc0d23SEmmanuel Vadot      Memory region to be used for memory-map read access.
258ccc0d23SEmmanuel Vadot      In memory-mapped mode, read access are performed from the memory
268ccc0d23SEmmanuel Vadot      device using the direct mapping.
278ccc0d23SEmmanuel Vadot    maxItems: 1
288ccc0d23SEmmanuel Vadot
298ccc0d23SEmmanuel Vadot  clocks:
308ccc0d23SEmmanuel Vadot    maxItems: 1
318ccc0d23SEmmanuel Vadot
328ccc0d23SEmmanuel Vadot  interrupts:
338ccc0d23SEmmanuel Vadot    maxItems: 1
348ccc0d23SEmmanuel Vadot
358ccc0d23SEmmanuel Vadot  resets:
368ccc0d23SEmmanuel Vadot    items:
378ccc0d23SEmmanuel Vadot      - description: phandle to OSPI block reset
388ccc0d23SEmmanuel Vadot      - description: phandle to delay block reset
398ccc0d23SEmmanuel Vadot
408ccc0d23SEmmanuel Vadot  dmas:
418ccc0d23SEmmanuel Vadot    maxItems: 2
428ccc0d23SEmmanuel Vadot
438ccc0d23SEmmanuel Vadot  dma-names:
448ccc0d23SEmmanuel Vadot    items:
458ccc0d23SEmmanuel Vadot      - const: tx
468ccc0d23SEmmanuel Vadot      - const: rx
478ccc0d23SEmmanuel Vadot
488ccc0d23SEmmanuel Vadot  st,syscfg-dlyb:
498ccc0d23SEmmanuel Vadot    description: configure OCTOSPI delay block.
508ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
518ccc0d23SEmmanuel Vadot    items:
528ccc0d23SEmmanuel Vadot      - description: phandle to syscfg
538ccc0d23SEmmanuel Vadot      - description: register offset within syscfg
548ccc0d23SEmmanuel Vadot
558ccc0d23SEmmanuel Vadot  access-controllers:
568ccc0d23SEmmanuel Vadot    description: phandle to the rifsc device to check access right
578ccc0d23SEmmanuel Vadot      and in some cases, an additional phandle to the rcc device for
588ccc0d23SEmmanuel Vadot      secure clock control.
598ccc0d23SEmmanuel Vadot    items:
608ccc0d23SEmmanuel Vadot      - description: phandle to bus controller
618ccc0d23SEmmanuel Vadot      - description: phandle to clock controller
628ccc0d23SEmmanuel Vadot    minItems: 1
638ccc0d23SEmmanuel Vadot
648ccc0d23SEmmanuel Vadot  power-domains:
658ccc0d23SEmmanuel Vadot    maxItems: 1
668ccc0d23SEmmanuel Vadot
678ccc0d23SEmmanuel Vadotrequired:
688ccc0d23SEmmanuel Vadot  - compatible
698ccc0d23SEmmanuel Vadot  - reg
708ccc0d23SEmmanuel Vadot  - clocks
71*ae5de77eSEmmanuel Vadot  - resets
728ccc0d23SEmmanuel Vadot  - interrupts
738ccc0d23SEmmanuel Vadot  - st,syscfg-dlyb
748ccc0d23SEmmanuel Vadot
758ccc0d23SEmmanuel VadotunevaluatedProperties: false
768ccc0d23SEmmanuel Vadot
778ccc0d23SEmmanuel Vadotexamples:
788ccc0d23SEmmanuel Vadot  - |
798ccc0d23SEmmanuel Vadot    #include <dt-bindings/clock/st,stm32mp25-rcc.h>
808ccc0d23SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
818ccc0d23SEmmanuel Vadot    #include <dt-bindings/reset/st,stm32mp25-rcc.h>
828ccc0d23SEmmanuel Vadot
838ccc0d23SEmmanuel Vadot    spi@40430000 {
848ccc0d23SEmmanuel Vadot      compatible = "st,stm32mp25-ospi";
858ccc0d23SEmmanuel Vadot      reg = <0x40430000 0x400>;
868ccc0d23SEmmanuel Vadot      memory-region = <&mm_ospi1>;
878ccc0d23SEmmanuel Vadot      interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
888ccc0d23SEmmanuel Vadot      dmas = <&hpdma 2 0x62 0x00003121 0x0>,
898ccc0d23SEmmanuel Vadot             <&hpdma 2 0x42 0x00003112 0x0>;
908ccc0d23SEmmanuel Vadot      dma-names = "tx", "rx";
918ccc0d23SEmmanuel Vadot      clocks = <&scmi_clk CK_SCMI_OSPI1>;
928ccc0d23SEmmanuel Vadot      resets = <&scmi_reset RST_SCMI_OSPI1>, <&scmi_reset RST_SCMI_OSPI1DLL>;
938ccc0d23SEmmanuel Vadot      access-controllers = <&rifsc 74>;
948ccc0d23SEmmanuel Vadot      power-domains = <&CLUSTER_PD>;
958ccc0d23SEmmanuel Vadot      st,syscfg-dlyb = <&syscfg 0x1000>;
968ccc0d23SEmmanuel Vadot
978ccc0d23SEmmanuel Vadot      #address-cells = <1>;
988ccc0d23SEmmanuel Vadot      #size-cells = <0>;
998ccc0d23SEmmanuel Vadot
1008ccc0d23SEmmanuel Vadot      flash@0 {
1018ccc0d23SEmmanuel Vadot        compatible = "jedec,spi-nor";
1028ccc0d23SEmmanuel Vadot        reg = <0>;
1038ccc0d23SEmmanuel Vadot        spi-rx-bus-width = <4>;
1048ccc0d23SEmmanuel Vadot        spi-max-frequency = <108000000>;
1058ccc0d23SEmmanuel Vadot      };
1068ccc0d23SEmmanuel Vadot    };
107