| # 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>; |
| }; |