Unverified Commit b0ef97ac authored by Rob Herring's avatar Rob Herring Committed by Mark Brown
Browse files

spi: dt-bindings: arm,pl022: Move child node properties to separate schema



In order to validate SPI peripherals, SPI controller-specific child node
properties need to be in a separate schema, spi-peripheral-props.yaml,
which SPI peripheral schemas reference. Move the arm,pl022 child
properties to their own schema file and add a $ref in
spi-peripheral-props.yaml.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230914190033.1852600-1-robh@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent fd811b62
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/arm,pl022-peripheral-props.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Peripheral-specific properties for Arm PL022 SPI controller

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

select: false

properties:
  pl022,interface:
    description: SPI interface type
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0      # SPI
      - 1      # Texas Instruments Synchronous Serial Frame Format
      - 2      # Microwire (Half Duplex)

  pl022,com-mode:
    description: Specifies the transfer mode
    $ref: /schemas/types.yaml#/definitions/uint32
    enum:
      - 0      # interrupt mode
      - 1      # polling mode
      - 2      # DMA mode
    default: 1

  pl022,rx-level-trig:
    description: Rx FIFO watermark level
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 4

  pl022,tx-level-trig:
    description: Tx FIFO watermark level
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 4

  pl022,ctrl-len:
    description: Microwire interface - Control length
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0x03
    maximum: 0x1f

  pl022,wait-state:
    description: Microwire interface - Wait state
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  pl022,duplex:
    description: Microwire interface - Full/Half duplex
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

additionalProperties: true
...
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ properties:

# The controller specific properties go here.
allOf:
  - $ref: arm,pl022-peripheral-props.yaml#
  - $ref: cdns,qspi-nor-peripheral-props.yaml#
  - $ref: samsung,spi-peripheral-props.yaml#
  - $ref: nvidia,tegra210-quad-peripheral-props.yaml#
+0 −51
Original line number Diff line number Diff line
@@ -74,57 +74,6 @@ properties:
  resets:
    maxItems: 1

patternProperties:
  "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-f]+$":
    type: object
    # SPI slave nodes must be children of the SPI master node and can
    # contain the following properties.
    properties:
      pl022,interface:
        description: SPI interface type
        $ref: /schemas/types.yaml#/definitions/uint32
        enum:
          - 0      # SPI
          - 1      # Texas Instruments Synchronous Serial Frame Format
          - 2      # Microwire (Half Duplex)

      pl022,com-mode:
        description: Specifies the transfer mode
        $ref: /schemas/types.yaml#/definitions/uint32
        enum:
          - 0      # interrupt mode
          - 1      # polling mode
          - 2      # DMA mode
        default: 1

      pl022,rx-level-trig:
        description: Rx FIFO watermark level
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 4

      pl022,tx-level-trig:
        description: Tx FIFO watermark level
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 4

      pl022,ctrl-len:
        description: Microwire interface - Control length
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0x03
        maximum: 0x1f

      pl022,wait-state:
        description: Microwire interface - Wait state
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [0, 1]

      pl022,duplex:
        description: Microwire interface - Full/Half duplex
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [0, 1]

required:
  - compatible
  - reg