| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/clock/airoha,en7523-scu.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: EN7523 Clock |
| |
| maintainers: |
| - Felix Fietkau <nbd@nbd.name> |
| - John Crispin <nbd@nbd.name> |
| |
| description: | |
| This node defines the System Control Unit of the EN7523 SoC, |
| a collection of registers configuring many different aspects of the SoC. |
| |
| The clock driver uses it to read and configure settings of the |
| PLL controller, which provides clocks for the CPU, the bus and |
| other SoC internal peripherals. |
| |
| Each clock is assigned an identifier and client nodes use this identifier |
| to specify which clock they consume. |
| |
| All these identifiers can be found in: |
| [1]: <include/dt-bindings/clock/en7523-clk.h>. |
| |
| The clocks are provided inside a system controller node. |
| |
| properties: |
| compatible: |
| items: |
| - enum: |
| - airoha,en7523-scu |
| - airoha,en7581-scu |
| |
| reg: |
| minItems: 2 |
| maxItems: 4 |
| |
| "#clock-cells": |
| description: |
| The first cell indicates the clock number, see [1] for available |
| clocks. |
| const: 1 |
| |
| '#reset-cells': |
| description: ID of the controller reset line |
| const: 1 |
| |
| required: |
| - compatible |
| - reg |
| - '#clock-cells' |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| const: airoha,en7523-scu |
| then: |
| properties: |
| reg: |
| items: |
| - description: scu base address |
| - description: misc scu base address |
| |
| '#reset-cells': false |
| |
| - if: |
| properties: |
| compatible: |
| const: airoha,en7581-scu |
| then: |
| properties: |
| reg: |
| items: |
| - description: scu base address |
| - description: misc scu base address |
| - description: reset base address |
| - description: pb scu base address |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/en7523-clk.h> |
| scu: system-controller@1fa20000 { |
| compatible = "airoha,en7523-scu"; |
| reg = <0x1fa20000 0x400>, |
| <0x1fb00000 0x1000>; |
| #clock-cells = <1>; |
| }; |
| |
| - | |
| soc { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| |
| scuclk: clock-controller@1fa20000 { |
| compatible = "airoha,en7581-scu"; |
| reg = <0x0 0x1fa20000 0x0 0x400>, |
| <0x0 0x1fb00000 0x0 0x90>, |
| <0x0 0x1fb00830 0x0 0x8>, |
| <0x0 0x1fbe3400 0x0 0xfc>; |
| #clock-cells = <1>; |
| #reset-cells = <1>; |
| }; |
| }; |