18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Mark Brown <broonie@kernel.org> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciallOf: 138c2ecf20Sopenharmony_ci - $ref: "spi-controller.yaml#" 148c2ecf20Sopenharmony_ci - if: 158c2ecf20Sopenharmony_ci properties: 168c2ecf20Sopenharmony_ci compatible: 178c2ecf20Sopenharmony_ci contains: 188c2ecf20Sopenharmony_ci enum: 198c2ecf20Sopenharmony_ci - mscc,ocelot-spi 208c2ecf20Sopenharmony_ci - mscc,jaguar2-spi 218c2ecf20Sopenharmony_ci then: 228c2ecf20Sopenharmony_ci properties: 238c2ecf20Sopenharmony_ci reg: 248c2ecf20Sopenharmony_ci minItems: 2 258c2ecf20Sopenharmony_ci - if: 268c2ecf20Sopenharmony_ci properties: 278c2ecf20Sopenharmony_ci compatible: 288c2ecf20Sopenharmony_ci contains: 298c2ecf20Sopenharmony_ci enum: 308c2ecf20Sopenharmony_ci - baikal,bt1-sys-ssi 318c2ecf20Sopenharmony_ci then: 328c2ecf20Sopenharmony_ci properties: 338c2ecf20Sopenharmony_ci mux-controls: 348c2ecf20Sopenharmony_ci maxItems: 1 358c2ecf20Sopenharmony_ci required: 368c2ecf20Sopenharmony_ci - mux-controls 378c2ecf20Sopenharmony_ci else: 388c2ecf20Sopenharmony_ci required: 398c2ecf20Sopenharmony_ci - interrupts 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciproperties: 428c2ecf20Sopenharmony_ci compatible: 438c2ecf20Sopenharmony_ci oneOf: 448c2ecf20Sopenharmony_ci - description: Generic DW SPI Controller 458c2ecf20Sopenharmony_ci enum: 468c2ecf20Sopenharmony_ci - snps,dw-apb-ssi 478c2ecf20Sopenharmony_ci - snps,dwc-ssi-1.01a 488c2ecf20Sopenharmony_ci - description: Microsemi Ocelot/Jaguar2 SoC SPI Controller 498c2ecf20Sopenharmony_ci items: 508c2ecf20Sopenharmony_ci - enum: 518c2ecf20Sopenharmony_ci - mscc,ocelot-spi 528c2ecf20Sopenharmony_ci - mscc,jaguar2-spi 538c2ecf20Sopenharmony_ci - const: snps,dw-apb-ssi 548c2ecf20Sopenharmony_ci - description: Microchip Sparx5 SoC SPI Controller 558c2ecf20Sopenharmony_ci const: microchip,sparx5-spi 568c2ecf20Sopenharmony_ci - description: Amazon Alpine SPI Controller 578c2ecf20Sopenharmony_ci const: amazon,alpine-dw-apb-ssi 588c2ecf20Sopenharmony_ci - description: Renesas RZ/N1 SPI Controller 598c2ecf20Sopenharmony_ci items: 608c2ecf20Sopenharmony_ci - const: renesas,rzn1-spi 618c2ecf20Sopenharmony_ci - const: snps,dw-apb-ssi 628c2ecf20Sopenharmony_ci - description: Intel Keem Bay SPI Controller 638c2ecf20Sopenharmony_ci const: intel,keembay-ssi 648c2ecf20Sopenharmony_ci - description: Baikal-T1 SPI Controller 658c2ecf20Sopenharmony_ci const: baikal,bt1-ssi 668c2ecf20Sopenharmony_ci - description: Baikal-T1 System Boot SPI Controller 678c2ecf20Sopenharmony_ci const: baikal,bt1-sys-ssi 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci reg: 708c2ecf20Sopenharmony_ci minItems: 1 718c2ecf20Sopenharmony_ci items: 728c2ecf20Sopenharmony_ci - description: DW APB SSI controller memory mapped registers 738c2ecf20Sopenharmony_ci - description: SPI MST region map or directly mapped SPI ROM 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci interrupts: 768c2ecf20Sopenharmony_ci maxItems: 1 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci clocks: 798c2ecf20Sopenharmony_ci minItems: 1 808c2ecf20Sopenharmony_ci items: 818c2ecf20Sopenharmony_ci - description: SPI Controller reference clock source 828c2ecf20Sopenharmony_ci - description: APB interface clock source 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci clock-names: 858c2ecf20Sopenharmony_ci minItems: 1 868c2ecf20Sopenharmony_ci items: 878c2ecf20Sopenharmony_ci - const: ssi_clk 888c2ecf20Sopenharmony_ci - const: pclk 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci resets: 918c2ecf20Sopenharmony_ci maxItems: 1 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci reset-names: 948c2ecf20Sopenharmony_ci const: spi 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci reg-io-width: 978c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 988c2ecf20Sopenharmony_ci description: I/O register width (in bytes) implemented by this device 998c2ecf20Sopenharmony_ci default: 4 1008c2ecf20Sopenharmony_ci enum: [ 2, 4 ] 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci num-cs: 1038c2ecf20Sopenharmony_ci default: 4 1048c2ecf20Sopenharmony_ci minimum: 1 1058c2ecf20Sopenharmony_ci maximum: 4 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci dmas: 1088c2ecf20Sopenharmony_ci items: 1098c2ecf20Sopenharmony_ci - description: TX DMA Channel 1108c2ecf20Sopenharmony_ci - description: RX DMA Channel 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ci dma-names: 1138c2ecf20Sopenharmony_ci items: 1148c2ecf20Sopenharmony_ci - const: tx 1158c2ecf20Sopenharmony_ci - const: rx 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci rx-sample-delay-ns: 1188c2ecf20Sopenharmony_ci default: 0 1198c2ecf20Sopenharmony_ci description: Default value of the rx-sample-delay-ns property. 1208c2ecf20Sopenharmony_ci This value will be used if the property is not explicitly defined 1218c2ecf20Sopenharmony_ci for a SPI slave device. See below. 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_cipatternProperties: 1248c2ecf20Sopenharmony_ci "^.*@[0-9a-f]+$": 1258c2ecf20Sopenharmony_ci type: object 1268c2ecf20Sopenharmony_ci properties: 1278c2ecf20Sopenharmony_ci reg: 1288c2ecf20Sopenharmony_ci minimum: 0 1298c2ecf20Sopenharmony_ci maximum: 3 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci spi-rx-bus-width: 1328c2ecf20Sopenharmony_ci const: 1 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci spi-tx-bus-width: 1358c2ecf20Sopenharmony_ci const: 1 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci rx-sample-delay-ns: 1388c2ecf20Sopenharmony_ci description: SPI Rx sample delay offset, unit is nanoseconds. 1398c2ecf20Sopenharmony_ci The delay from the default sample time before the actual 1408c2ecf20Sopenharmony_ci sample of the rxd input signal occurs. The "rx_sample_delay" 1418c2ecf20Sopenharmony_ci is an optional feature of the designware controller, and the 1428c2ecf20Sopenharmony_ci upper limit is also subject to controller configuration. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciunevaluatedProperties: false 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_cirequired: 1478c2ecf20Sopenharmony_ci - compatible 1488c2ecf20Sopenharmony_ci - reg 1498c2ecf20Sopenharmony_ci - "#address-cells" 1508c2ecf20Sopenharmony_ci - "#size-cells" 1518c2ecf20Sopenharmony_ci - clocks 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciexamples: 1548c2ecf20Sopenharmony_ci - | 1558c2ecf20Sopenharmony_ci spi@fff00000 { 1568c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-ssi"; 1578c2ecf20Sopenharmony_ci reg = <0xfff00000 0x1000>; 1588c2ecf20Sopenharmony_ci #address-cells = <1>; 1598c2ecf20Sopenharmony_ci #size-cells = <0>; 1608c2ecf20Sopenharmony_ci interrupts = <0 154 4>; 1618c2ecf20Sopenharmony_ci clocks = <&spi_m_clk>; 1628c2ecf20Sopenharmony_ci num-cs = <2>; 1638c2ecf20Sopenharmony_ci cs-gpios = <&gpio0 13 0>, 1648c2ecf20Sopenharmony_ci <&gpio0 14 0>; 1658c2ecf20Sopenharmony_ci rx-sample-delay-ns = <3>; 1668c2ecf20Sopenharmony_ci spi-flash@1 { 1678c2ecf20Sopenharmony_ci compatible = "spi-nand"; 1688c2ecf20Sopenharmony_ci reg = <1>; 1698c2ecf20Sopenharmony_ci rx-sample-delay-ns = <7>; 1708c2ecf20Sopenharmony_ci }; 1718c2ecf20Sopenharmony_ci }; 1728c2ecf20Sopenharmony_ci - | 1738c2ecf20Sopenharmony_ci spi@1f040100 { 1748c2ecf20Sopenharmony_ci compatible = "baikal,bt1-sys-ssi"; 1758c2ecf20Sopenharmony_ci reg = <0x1f040100 0x900>, 1768c2ecf20Sopenharmony_ci <0x1c000000 0x1000000>; 1778c2ecf20Sopenharmony_ci #address-cells = <1>; 1788c2ecf20Sopenharmony_ci #size-cells = <0>; 1798c2ecf20Sopenharmony_ci mux-controls = <&boot_mux>; 1808c2ecf20Sopenharmony_ci clocks = <&ccu_sys>; 1818c2ecf20Sopenharmony_ci clock-names = "ssi_clk"; 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci... 184