1eeb3dd5bSNikita Shubin# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2eeb3dd5bSNikita Shubin%YAML 1.2 3eeb3dd5bSNikita Shubin--- 4eeb3dd5bSNikita Shubin$id: http://devicetree.org/schemas/soc/cirrus/cirrus,ep9301-syscon.yaml# 5eeb3dd5bSNikita Shubin$schema: http://devicetree.org/meta-schemas/core.yaml# 6eeb3dd5bSNikita Shubin 7eeb3dd5bSNikita Shubintitle: Cirrus Logic EP93xx Platforms System Controller 8eeb3dd5bSNikita Shubin 9eeb3dd5bSNikita Shubinmaintainers: 10eeb3dd5bSNikita Shubin - Alexander Sverdlin <alexander.sverdlin@gmail.com> 11eeb3dd5bSNikita Shubin - Nikita Shubin <nikita.shubin@maquefel.me> 12eeb3dd5bSNikita Shubin 13eeb3dd5bSNikita Shubindescription: | 14eeb3dd5bSNikita Shubin Central resources are controlled by a set of software-locked registers, 15eeb3dd5bSNikita Shubin which can be used to prevent accidental accesses. Syscon generates 16eeb3dd5bSNikita Shubin the various bus and peripheral clocks and controls the system startup 17eeb3dd5bSNikita Shubin configuration. 18eeb3dd5bSNikita Shubin 19eeb3dd5bSNikita Shubin The System Controller (Syscon) provides: 20eeb3dd5bSNikita Shubin - Clock control 21eeb3dd5bSNikita Shubin - Power management 22eeb3dd5bSNikita Shubin - System configuration management 23eeb3dd5bSNikita Shubin 24eeb3dd5bSNikita Shubin Syscon registers are common for all EP93xx SoC's, through some actual peripheral 25eeb3dd5bSNikita Shubin may be missing depending on actual SoC model. 26eeb3dd5bSNikita Shubin 27eeb3dd5bSNikita Shubinproperties: 28eeb3dd5bSNikita Shubin compatible: 29eeb3dd5bSNikita Shubin oneOf: 30eeb3dd5bSNikita Shubin - items: 31eeb3dd5bSNikita Shubin - enum: 32eeb3dd5bSNikita Shubin - cirrus,ep9302-syscon 33eeb3dd5bSNikita Shubin - cirrus,ep9307-syscon 34eeb3dd5bSNikita Shubin - cirrus,ep9312-syscon 35eeb3dd5bSNikita Shubin - cirrus,ep9315-syscon 36eeb3dd5bSNikita Shubin - const: cirrus,ep9301-syscon 37eeb3dd5bSNikita Shubin - const: syscon 38eeb3dd5bSNikita Shubin - items: 39eeb3dd5bSNikita Shubin - const: cirrus,ep9301-syscon 40eeb3dd5bSNikita Shubin - const: syscon 41eeb3dd5bSNikita Shubin 42eeb3dd5bSNikita Shubin reg: 43eeb3dd5bSNikita Shubin maxItems: 1 44eeb3dd5bSNikita Shubin 45eeb3dd5bSNikita Shubin "#clock-cells": 46eeb3dd5bSNikita Shubin const: 1 47eeb3dd5bSNikita Shubin 48eeb3dd5bSNikita Shubin clocks: 49eeb3dd5bSNikita Shubin items: 50eeb3dd5bSNikita Shubin - description: reference clock 51eeb3dd5bSNikita Shubin 52eeb3dd5bSNikita ShubinpatternProperties: 53eeb3dd5bSNikita Shubin '^pins-': 54eeb3dd5bSNikita Shubin type: object 55eeb3dd5bSNikita Shubin description: pin node 56eeb3dd5bSNikita Shubin $ref: /schemas/pinctrl/pinmux-node.yaml 57eeb3dd5bSNikita Shubin 58eeb3dd5bSNikita Shubin properties: 59eeb3dd5bSNikita Shubin function: 60eeb3dd5bSNikita Shubin enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ] 61eeb3dd5bSNikita Shubin 62eeb3dd5bSNikita Shubin groups: 63eeb3dd5bSNikita Shubin enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp, 64eeb3dd5bSNikita Shubin gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp, 65eeb3dd5bSNikita Shubin rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp ] 66eeb3dd5bSNikita Shubin 67eeb3dd5bSNikita Shubin required: 68eeb3dd5bSNikita Shubin - function 69eeb3dd5bSNikita Shubin - groups 70eeb3dd5bSNikita Shubin 71eeb3dd5bSNikita Shubin unevaluatedProperties: false 72eeb3dd5bSNikita Shubin 73eeb3dd5bSNikita Shubinrequired: 74eeb3dd5bSNikita Shubin - compatible 75eeb3dd5bSNikita Shubin - reg 76eeb3dd5bSNikita Shubin - "#clock-cells" 77eeb3dd5bSNikita Shubin - clocks 78eeb3dd5bSNikita Shubin 79eeb3dd5bSNikita ShubinadditionalProperties: false 80eeb3dd5bSNikita Shubin 81eeb3dd5bSNikita Shubinexamples: 82eeb3dd5bSNikita Shubin - | 83eeb3dd5bSNikita Shubin syscon@80930000 { 84eeb3dd5bSNikita Shubin compatible = "cirrus,ep9301-syscon", "syscon"; 85eeb3dd5bSNikita Shubin reg = <0x80930000 0x1000>; 86eeb3dd5bSNikita Shubin 87eeb3dd5bSNikita Shubin #clock-cells = <1>; 88eeb3dd5bSNikita Shubin clocks = <&xtali>; 89eeb3dd5bSNikita Shubin 90eeb3dd5bSNikita Shubin spi_default_pins: pins-spi { 91eeb3dd5bSNikita Shubin function = "spi"; 92eeb3dd5bSNikita Shubin groups = "ssp"; 93eeb3dd5bSNikita Shubin }; 94eeb3dd5bSNikita Shubin }; 95