# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pwm/pwm-nexus-node.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: PWM Nexus node properties

description: >
  Platforms can have a standardized connector/expansion slot that exposes PWMs
  signals to expansion boards.

  A nexus node allows to remap a phandle list in a consumer node through a
  connector node in a generic way. With this remapping, the consumer node needs
  to know only about the nexus node. Resources behind the nexus node are
  decoupled by the nexus node itself.

maintainers:
  - Herve Codina <herve.codina@bootlin.com>

select: true

properties:
  '#pwm-cells': true

  pwm-map:
    $ref: /schemas/types.yaml#/definitions/uint32-matrix

  pwm-map-mask:
    $ref: /schemas/types.yaml#/definitions/uint32-array

  pwm-map-pass-thru:
    $ref: /schemas/types.yaml#/definitions/uint32-array

dependentRequired:
  pwm-map: ['#pwm-cells']
  pwm-map-mask: [ pwm-map ]
  pwm-map-pass-thru: [ pwm-map ]

additionalProperties: true

examples:
  - |
        pwm1: pwm@100 {
            reg = <0x100 0x10>;
            #pwm-cells = <3>;
        };

        pwm2: pwm@200 {
            reg = <0x200 0x10>;
            #pwm-cells = <3>;
        };

        connector: connector {
            #pwm-cells = <3>;
            pwm-map = <0 0 0 &pwm1 1 0 0>,
                      <1 0 0 &pwm2 4 0 0>,
                      <2 0 0 &pwm1 3 0 0>;
            pwm-map-mask = <0xffffffff 0x0 0x0>;
            pwm-map-pass-thru = <0x0 0xffffffff 0xffffffff>;
        };

        device {
            pwms = <&connector 1 57000 0>;
        };
