Unverified Commit 4de1cdb3 authored by Karan Sanghavi's avatar Karan Sanghavi Committed by Mark Brown
Browse files

spi: dt-bindings: brcm,bcm2835-aux-spi: Convert to dtschema



Convert bcm2835-aux-spi binding to Dt schema

Signed-off-by: default avatarKaran Sanghavi <karansanghvi98@gmail.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/ZxEm-H-PjlQyXeOH@Emma


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 941584e2
Loading
Loading
Loading
Loading
+0 −38
Original line number Diff line number Diff line
Broadcom BCM2835 auxiliary SPI1/2 controller

The BCM2835 contains two forms of SPI master controller, one known simply as
SPI0, and the other known as the "Universal SPI Master"; part of the
auxiliary block. This binding applies to the SPI1/2 controller.

Required properties:
- compatible: Should be "brcm,bcm2835-aux-spi".
- reg: Should contain register location and length for the spi block
- interrupts: Should contain shared interrupt of the aux block
- clocks: The clock feeding the SPI controller - needs to
	  point to the auxiliary clock driver of the bcm2835,
	  as this clock will enable the output gate for the specific
	  clock.
- cs-gpios: the cs-gpios (native cs is NOT supported)
	    see also spi-bus.txt

Example:

spi1@7e215080 {
	compatible = "brcm,bcm2835-aux-spi";
	reg = <0x7e215080 0x40>;
	interrupts = <1 29>;
	clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI1>;
	#address-cells = <1>;
	#size-cells = <0>;
	cs-gpios = <&gpio 18>, <&gpio 17>, <&gpio 16>;
};

spi2@7e2150c0 {
	compatible = "brcm,bcm2835-aux-spi";
	reg = <0x7e2150c0 0x40>;
	interrupts = <1 29>;
	clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI2>;
	#address-cells = <1>;
	#size-cells = <0>;
	cs-gpios = <&gpio 43>, <&gpio 44>, <&gpio 45>;
};
+53 −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/brcm,bcm2835-aux-spi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM2835 Auxiliary SPI1/2 Controller

maintainers:
  - Karan Sanghavi <karansanghvi98@gmail.com>

description:
  The BCM2835 contains two forms of SPI master controller. One is known simply
  as SPI0, and the other as the "Universal SPI Master," which is part of the
  auxiliary block. This binding applies to the SPI1 and SPI2 auxiliary
  controllers.

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

properties:
  compatible:
    enum:
      - brcm,bcm2835-aux-spi

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/bcm2835-aux.h>
    spi@7e215080 {
        compatible = "brcm,bcm2835-aux-spi";
        reg = <0x7e215080 0x40>;
        interrupts = <1 29>;
        clocks = <&aux_clocks BCM2835_AUX_CLOCK_SPI1>;
        #address-cells = <1>;
        #size-cells = <0>;
    };