| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/soc/cirrus/cirrus,ep9301-syscon.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Cirrus Logic EP93xx Platforms System Controller |
| |
| maintainers: |
| - Alexander Sverdlin <alexander.sverdlin@gmail.com> |
| - Nikita Shubin <nikita.shubin@maquefel.me> |
| |
| description: | |
| Central resources are controlled by a set of software-locked registers, |
| which can be used to prevent accidental accesses. Syscon generates |
| the various bus and peripheral clocks and controls the system startup |
| configuration. |
| |
| The System Controller (Syscon) provides: |
| - Clock control |
| - Power management |
| - System configuration management |
| |
| Syscon registers are common for all EP93xx SoC's, through some actual peripheral |
| may be missing depending on actual SoC model. |
| |
| properties: |
| compatible: |
| oneOf: |
| - items: |
| - enum: |
| - cirrus,ep9302-syscon |
| - cirrus,ep9307-syscon |
| - cirrus,ep9312-syscon |
| - cirrus,ep9315-syscon |
| - const: cirrus,ep9301-syscon |
| - const: syscon |
| - items: |
| - const: cirrus,ep9301-syscon |
| - const: syscon |
| |
| reg: |
| maxItems: 1 |
| |
| "#clock-cells": |
| const: 1 |
| |
| clocks: |
| items: |
| - description: reference clock |
| |
| patternProperties: |
| '^pins-': |
| type: object |
| description: pin node |
| $ref: /schemas/pinctrl/pinmux-node.yaml |
| |
| properties: |
| function: |
| enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ] |
| |
| groups: |
| enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp, |
| gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp, |
| rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp ] |
| |
| required: |
| - function |
| - groups |
| |
| unevaluatedProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - "#clock-cells" |
| - clocks |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| syscon@80930000 { |
| compatible = "cirrus,ep9301-syscon", "syscon"; |
| reg = <0x80930000 0x1000>; |
| |
| #clock-cells = <1>; |
| clocks = <&xtali>; |
| |
| spi_default_pins: pins-spi { |
| function = "spi"; |
| groups = "ssp"; |
| }; |
| }; |