Unverified Commit 0e19118a authored by Jonas Gorski's avatar Jonas Gorski Committed by Mark Brown
Browse files

dt-bindings: spi: convert spi-brcm63xx.txt to YAML



Changes done during conversion:

* added a description, lifting and adapting the limitation sentence from
  brcm,bcm63xx-hsspi.yml
* added appropriate compatibles for all SoCs that are supported by
  bcm63xx/bmips

Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
Link: https://lore.kernel.org/r/20230727070806.12205-1-jonas.gorski@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 142c61a5
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/brcm,bcm63xx-spi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM6348/BCM6358 SPI controller

maintainers:
  - Jonas Gorski <jonas.gorski@gmail.com>

description: |
  Broadcom "Low Speed" SPI controller found in many older MIPS based Broadband
  SoCs.

  This controller has a limitation that can not keep the chip select line active
  between the SPI transfers within the same SPI message. This can terminate the
  transaction to some SPI devices prematurely. The issue can be worked around by
  the controller's prepend mode.

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

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - brcm,bcm6368-spi
              - brcm,bcm6362-spi
              - brcm,bcm63268-spi
          - const: brcm,bcm6358-spi
      - enum:
          - brcm,bcm6348-spi
          - brcm,bcm6358-spi

  reg:
    maxItems: 1

  clocks:
    items:
      - description: SPI master reference clock

  clock-names:
    items:
      - const: spi

  interrupts:
    maxItems: 1

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

unevaluatedProperties: false

examples:
  - |
    spi@10000800 {
        compatible = "brcm,bcm6368-spi", "brcm,bcm6358-spi";
        reg = <0x10000800 0x70c>;
        interrupts = <1>;
        clocks = <&clkctl 9>;
        clock-names = "spi";
        num-cs = <5>;
        #address-cells = <1>;
        #size-cells = <0>;
    };
+0 −33
Original line number Diff line number Diff line
Binding for Broadcom BCM6348/BCM6358 SPI controller

Required properties:
- compatible: must contain one of "brcm,bcm6348-spi", "brcm,bcm6358-spi".
- reg: Base address and size of the controllers memory area.
- interrupts: Interrupt for the SPI block.
- clocks: phandle of the SPI clock.
- clock-names: has to be "spi".
- #address-cells: <1>, as required by generic SPI binding.
- #size-cells: <0>, also as required by generic SPI binding.

Optional properties:
- num-cs: some controllers have less than 8 cs signals. Defaults to 8
  if absent.

Child nodes as per the generic SPI binding.

Example:

	spi@10000800 {
		compatible = "brcm,bcm6368-spi", "brcm,bcm6358-spi";
		reg = <0x10000800 0x70c>;

		interrupts = <1>;

		clocks = <&clkctl 9>;
		clock-names = "spi";

		num-cs = <5>;

		#address-cells = <1>;
		#size-cells = <0>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -4127,7 +4127,7 @@ BROADCOM BCM6348/BCM6358 SPI controller DRIVER
M:	Jonas Gorski <jonas.gorski@gmail.com>
L:	linux-spi@vger.kernel.org
S:	Odd Fixes
F:	Documentation/devicetree/bindings/spi/spi-bcm63xx.txt
F:	Documentation/devicetree/bindings/spi/brcm,bcm63xx-spi.yaml
F:	drivers/spi/spi-bcm63xx.c
BROADCOM ETHERNET PHY DRIVERS