Unverified Commit 28b5eaf9 authored by Kuldeep Singh's avatar Kuldeep Singh Committed by Mark Brown
Browse files

spi: Convert NXP flexspi to json schema



Convert the NXP FlexSPI binding to DT schema format using json-schema.

Signed-off-by: default avatarKuldeep Singh <kuldeep.singh@nxp.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210927105818.445675-1-kuldeep.singh@nxp.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b59c1224
Loading
Loading
Loading
Loading
+0 −44
Original line number Diff line number Diff line
* NXP Flex Serial Peripheral Interface (FSPI)

Required properties:
  - compatible : Should be "nxp,lx2160a-fspi"
			    "nxp,imx8qxp-fspi"
			    "nxp,imx8mm-fspi"
			    "nxp,imx8mp-fspi"
			    "nxp,imx8dxl-fspi"

  - reg :        First contains the register location and length,
                 Second contains the memory mapping address and length
  - reg-names :  Should contain the resource reg names:
	         - fspi_base: configuration register address space
                 - fspi_mmap: memory mapped address space
  - interrupts : Should contain the interrupt for the device

Required SPI slave node properties:
  - reg :        There are two buses (A and B) with two chip selects each.
                 This encodes to which bus and CS the flash is connected:
                 - <0>: Bus A, CS 0
                 - <1>: Bus A, CS 1
                 - <2>: Bus B, CS 0
                 - <3>: Bus B, CS 1

Example showing the usage of two SPI NOR slave devices on bus A:

fspi0: spi@20c0000 {
	compatible = "nxp,lx2160a-fspi";
	reg = <0x0 0x20c0000 0x0 0x10000>, <0x0 0x20000000 0x0 0x10000000>;
	reg-names = "fspi_base", "fspi_mmap";
	interrupts = <0 25 0x4>; /* Level high type */
	clocks = <&clockgen 4 3>, <&clockgen 4 3>;
	clock-names = "fspi_en", "fspi";

	mt35xu512aba0: flash@0 {
		reg = <0>;
		....
	};

	mt35xu512aba1: flash@1 {
		reg = <1>;
		....
	};
};
+86 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/spi-nxp-fspi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP Flex Serial Peripheral Interface (FSPI)

maintainers:
  - Kuldeep Singh <kuldeep.singh@nxp.com>

allOf:
  - $ref: "spi-controller.yaml#"

properties:
  compatible:
    enum:
      - nxp,imx8dxl-fspi
      - nxp,imx8mm-fspi
      - nxp,imx8mp-fspi
      - nxp,imx8qxp-fspi
      - nxp,lx2160a-fspi

  reg:
    items:
      - description: registers address space
      - description: memory mapped address space

  reg-names:
    items:
      - const: fspi_base
      - const: fspi_mmap

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: SPI bus clock
      - description: SPI serial clock

  clock-names:
    items:
      - const: fspi_en
      - const: fspi

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/fsl,qoriq-clockgen.h>

    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        spi@20c0000 {
            compatible = "nxp,lx2160a-fspi";
            reg = <0x0 0x20c0000 0x0 0x100000>,
                  <0x0 0x20000000 0x0 0x10000000>;
            reg-names = "fspi_base", "fspi_mmap";
            interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
                     <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>;
            clock-names = "fspi_en", "fspi";
            #address-cells = <1>;
            #size-cells = <0>;

            flash@0 {
                compatible = "jedec,spi-nor";
                spi-max-frequency = <50000000>;
                reg = <0>;
                spi-rx-bus-width = <8>;
                spi-tx-bus-width = <8>;
            };
        };
    };
+1 −1
Original line number Diff line number Diff line
@@ -13438,7 +13438,7 @@ M: Ashish Kumar <ashish.kumar@nxp.com>
R:	Yogesh Gaur <yogeshgaur.83@gmail.com>
L:	linux-spi@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/spi/spi-nxp-fspi.txt
F:	Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml
F:	drivers/spi/spi-nxp-fspi.c
NXP FXAS21002C DRIVER