# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/crypto/qcom,prng.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Pseudo Random Number Generator

maintainers:
  - Vinod Koul <vkoul@kernel.org>

properties:
  compatible:
    oneOf:
      - enum:
          - qcom,prng  # 8916 etc.
          - qcom,prng-ee  # 8996 and later using EE
      - items:
          - enum:
              - qcom,sa8255p-trng
              - qcom,sa8775p-trng
              - qcom,sc7280-trng
              - qcom,sm8450-trng
              - qcom,sm8550-trng
              - qcom,sm8650-trng
          - const: qcom,trng

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: core

required:
  - compatible
  - reg

allOf:
  - if:
      not:
        properties:
          compatible:
            contains:
              const: qcom,trng
    then:
      required:
        - clocks
        - clock-names

additionalProperties: false

examples:
  - |
    rng@f9bff000 {
        compatible = "qcom,prng";
        reg = <0xf9bff000 0x200>;
        clocks = <&clk 125>;
        clock-names = "core";
    };
