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