# 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 - Nikita Shubin 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"; }; };