Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3c207ee authored by Rob Herring's avatar Rob Herring
Browse files

dt-bindings: arm: Convert primecell binding to json-schema



Convert ARM Primecell binding to DT schema format using json-schema.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 672951cb
Loading
Loading
Loading
Loading
+0 −46
Original line number Diff line number Diff line
* ARM Primecell Peripherals

ARM, Ltd. Primecell peripherals have a standard id register that can be used to
identify the peripheral type, vendor, and revision. This value can be used for
driver matching.

Required properties:

- compatible : should be a specific name for the peripheral and
               "arm,primecell".  The specific name will match the ARM
               engineering name for the logic block in the form: "arm,pl???"

Optional properties:

- arm,primecell-periphid : Value to override the h/w value with
- clocks : From common clock binding. First clock is phandle to clock for apb
	pclk. Additional clocks are optional and specific to those peripherals.
- clock-names : From common clock binding. Shall be "apb_pclk" for first clock.
- dmas : From common DMA binding. If present, refers to one or more dma channels.
- dma-names : From common DMA binding, needs to match the 'dmas' property.
              Devices with exactly one receive and transmit channel shall name
              these "rx" and "tx", respectively.
- pinctrl-<n> : Pinctrl states as described in bindings/pinctrl/pinctrl-bindings.txt
- pinctrl-names : Names corresponding to the numbered pinctrl states
- interrupts : one or more interrupt specifiers
- interrupt-names : names corresponding to the interrupts properties

Example:

serial@fff36000 {
	compatible = "arm,pl011", "arm,primecell";
	arm,primecell-periphid = <0x00341011>;

	clocks = <&pclk>;
	clock-names = "apb_pclk";

	dmas = <&dma-controller 4>, <&dma-controller 5>;
	dma-names = "rx", "tx";	

	pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
	pinctrl-1 = <&uart0_sleep_mode>;
	pinctrl-names = "default","sleep";

	interrupts = <0 11 0x4>;
};
+36 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/primecell.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Primecell Peripherals

maintainers:
  - Rob Herring <robh@kernel.org>

description: |+
  ARM, Ltd. Primecell peripherals have a standard id register that can be used to
  identify the peripheral type, vendor, and revision. This value can be used for
  driver matching.

properties:
  compatible:
    contains:
      const: arm,primecell
    description:
      Should be a specific name for the peripheral followed by "arm,primecell".
      The specific name will match the ARM engineering name for the logic block
      in the form "arm,pl???"

  arm,primecell-periphid:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Value to override the h/w ID value
  clocks:
    minItems: 1
    maxItems: 32
  clock-names:
    contains:
      const: apb_pclk
    additionalItems: true
...