1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/airoha,en7523-scu.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: EN7523 Clock 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Felix Fietkau <nbd@nbd.name> 11d5b0e70fSEmmanuel Vadot - John Crispin <nbd@nbd.name> 12d5b0e70fSEmmanuel Vadot 13d5b0e70fSEmmanuel Vadotdescription: | 14d5b0e70fSEmmanuel Vadot This node defines the System Control Unit of the EN7523 SoC, 15d5b0e70fSEmmanuel Vadot a collection of registers configuring many different aspects of the SoC. 16d5b0e70fSEmmanuel Vadot 17d5b0e70fSEmmanuel Vadot The clock driver uses it to read and configure settings of the 18d5b0e70fSEmmanuel Vadot PLL controller, which provides clocks for the CPU, the bus and 19d5b0e70fSEmmanuel Vadot other SoC internal peripherals. 20d5b0e70fSEmmanuel Vadot 21d5b0e70fSEmmanuel Vadot Each clock is assigned an identifier and client nodes use this identifier 22d5b0e70fSEmmanuel Vadot to specify which clock they consume. 23d5b0e70fSEmmanuel Vadot 24d5b0e70fSEmmanuel Vadot All these identifiers can be found in: 25d5b0e70fSEmmanuel Vadot [1]: <include/dt-bindings/clock/en7523-clk.h>. 26d5b0e70fSEmmanuel Vadot 27d5b0e70fSEmmanuel Vadot The clocks are provided inside a system controller node. 28d5b0e70fSEmmanuel Vadot 29d5b0e70fSEmmanuel Vadotproperties: 30d5b0e70fSEmmanuel Vadot compatible: 31d5b0e70fSEmmanuel Vadot items: 327d0873ebSEmmanuel Vadot - enum: 337d0873ebSEmmanuel Vadot - airoha,en7523-scu 347d0873ebSEmmanuel Vadot - airoha,en7581-scu 35d5b0e70fSEmmanuel Vadot 36d5b0e70fSEmmanuel Vadot reg: 377d0873ebSEmmanuel Vadot minItems: 2 38*0e8011faSEmmanuel Vadot maxItems: 4 39d5b0e70fSEmmanuel Vadot 40d5b0e70fSEmmanuel Vadot "#clock-cells": 41d5b0e70fSEmmanuel Vadot description: 42d5b0e70fSEmmanuel Vadot The first cell indicates the clock number, see [1] for available 43d5b0e70fSEmmanuel Vadot clocks. 44d5b0e70fSEmmanuel Vadot const: 1 45d5b0e70fSEmmanuel Vadot 46*0e8011faSEmmanuel Vadot '#reset-cells': 47*0e8011faSEmmanuel Vadot description: ID of the controller reset line 48*0e8011faSEmmanuel Vadot const: 1 49*0e8011faSEmmanuel Vadot 50d5b0e70fSEmmanuel Vadotrequired: 51d5b0e70fSEmmanuel Vadot - compatible 52d5b0e70fSEmmanuel Vadot - reg 53d5b0e70fSEmmanuel Vadot - '#clock-cells' 54d5b0e70fSEmmanuel Vadot 557d0873ebSEmmanuel VadotallOf: 567d0873ebSEmmanuel Vadot - if: 577d0873ebSEmmanuel Vadot properties: 587d0873ebSEmmanuel Vadot compatible: 597d0873ebSEmmanuel Vadot const: airoha,en7523-scu 607d0873ebSEmmanuel Vadot then: 617d0873ebSEmmanuel Vadot properties: 627d0873ebSEmmanuel Vadot reg: 637d0873ebSEmmanuel Vadot items: 647d0873ebSEmmanuel Vadot - description: scu base address 657d0873ebSEmmanuel Vadot - description: misc scu base address 667d0873ebSEmmanuel Vadot 67*0e8011faSEmmanuel Vadot '#reset-cells': false 68*0e8011faSEmmanuel Vadot 697d0873ebSEmmanuel Vadot - if: 707d0873ebSEmmanuel Vadot properties: 717d0873ebSEmmanuel Vadot compatible: 727d0873ebSEmmanuel Vadot const: airoha,en7581-scu 737d0873ebSEmmanuel Vadot then: 747d0873ebSEmmanuel Vadot properties: 757d0873ebSEmmanuel Vadot reg: 767d0873ebSEmmanuel Vadot items: 777d0873ebSEmmanuel Vadot - description: scu base address 787d0873ebSEmmanuel Vadot - description: misc scu base address 79*0e8011faSEmmanuel Vadot - description: reset base address 807d0873ebSEmmanuel Vadot - description: pb scu base address 817d0873ebSEmmanuel Vadot 82d5b0e70fSEmmanuel VadotadditionalProperties: false 83d5b0e70fSEmmanuel Vadot 84d5b0e70fSEmmanuel Vadotexamples: 85d5b0e70fSEmmanuel Vadot - | 86d5b0e70fSEmmanuel Vadot #include <dt-bindings/clock/en7523-clk.h> 87d5b0e70fSEmmanuel Vadot scu: system-controller@1fa20000 { 88d5b0e70fSEmmanuel Vadot compatible = "airoha,en7523-scu"; 89d5b0e70fSEmmanuel Vadot reg = <0x1fa20000 0x400>, 90d5b0e70fSEmmanuel Vadot <0x1fb00000 0x1000>; 91d5b0e70fSEmmanuel Vadot #clock-cells = <1>; 92d5b0e70fSEmmanuel Vadot }; 93*0e8011faSEmmanuel Vadot 94*0e8011faSEmmanuel Vadot - | 95*0e8011faSEmmanuel Vadot soc { 96*0e8011faSEmmanuel Vadot #address-cells = <2>; 97*0e8011faSEmmanuel Vadot #size-cells = <2>; 98*0e8011faSEmmanuel Vadot 99*0e8011faSEmmanuel Vadot scuclk: clock-controller@1fa20000 { 100*0e8011faSEmmanuel Vadot compatible = "airoha,en7581-scu"; 101*0e8011faSEmmanuel Vadot reg = <0x0 0x1fa20000 0x0 0x400>, 102*0e8011faSEmmanuel Vadot <0x0 0x1fb00000 0x0 0x90>, 103*0e8011faSEmmanuel Vadot <0x0 0x1fb00830 0x0 0x8>, 104*0e8011faSEmmanuel Vadot <0x0 0x1fbe3400 0x0 0xfc>; 105*0e8011faSEmmanuel Vadot #clock-cells = <1>; 106*0e8011faSEmmanuel Vadot #reset-cells = <1>; 107*0e8011faSEmmanuel Vadot }; 108*0e8011faSEmmanuel Vadot }; 109