Commit 9ae9c51b authored by Jayesh Choudhary's avatar Jayesh Choudhary Committed by Rob Herring
Browse files

dt-bindings: rng: convert OMAP and Inside-Secure HWRNG to yaml schema



Converts the RNG bindings for OMAP SoCs and Inside-Secure
HWRNG modules to YAML schema.

Signed-off-by: default avatarJayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20210922085203.2547-1-j-choudhary@ti.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 050109f0
Loading
Loading
Loading
Loading
+0 −38
Original line number Diff line number Diff line
OMAP SoC and Inside-Secure HWRNG Module

Required properties:

- compatible : Should contain entries for this and backward compatible
  RNG versions:
  - "ti,omap2-rng" for OMAP2.
  - "ti,omap4-rng" for OMAP4, OMAP5 and AM33XX.
  - "inside-secure,safexcel-eip76" for SoCs with EIP76 IP block
  Note that these two versions are incompatible.
- ti,hwmods: Name of the hwmod associated with the RNG module
- reg : Offset and length of the register set for the module
- interrupts : the interrupt number for the RNG module.
		Used for "ti,omap4-rng" and "inside-secure,safexcel-eip76"
- clocks: the trng clock source. Only mandatory for the
  "inside-secure,safexcel-eip76" compatible, the second clock is
  needed for the Armada 7K/8K SoCs
- clock-names: mandatory if there is a second clock, in this case the
  name must be "core" for the first clock and "reg" for the second
  one


Example:
/* AM335x */
rng: rng@48310000 {
	compatible = "ti,omap4-rng";
	ti,hwmods = "rng";
	reg = <0x48310000 0x2000>;
	interrupts = <111>;
};

/* SafeXcel IP-76 */
trng: rng@f2760000 {
	compatible = "inside-secure,safexcel-eip76";
	reg = <0xf2760000 0x7d>;
	interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
	clocks = <&cpm_syscon0 1 25>;
};
+92 −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/rng/omap_rng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: OMAP SoC and Inside-Secure HWRNG Module

maintainers:
  - Jayesh Choudhary <j-choudhary@ti.com>

properties:
  compatible:
    enum:
      - ti,omap2-rng
      - ti,omap4-rng
      - inside-secure,safexcel-eip76

  ti,hwmods:
    const: rng
    deprecated: true
    description: Name of the hwmod associated with the RNG module

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: EIP150 gatable clock
      - description: Main gatable clock

  clock-names:
    minItems: 1
    items:
      - const: core
      - const: reg


allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - ti,omap4-rng
              - inside-secure,safexcel-eip76

    then:
      required:
        - interrupts

  - if:
      properties:
        compatible:
          contains:
            enum:
              - inside-secure,safexcel-eip76

    then:
      required:
        - clocks


required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    /* AM335x */
    rng: rng@48310000 {
            compatible = "ti,omap4-rng";
            ti,hwmods = "rng";
            reg = <0x48310000 0x2000>;
            interrupts = <111>;
    };
  - |
    /* SafeXcel IP-76 */
    trng: rng@f2760000 {
            compatible = "inside-secure,safexcel-eip76";
            reg = <0xf2760000 0x7d>;
            interrupts = <0 59 4>;
            clocks = <&cpm_syscon0 1 25>;
    };

...