1*fffc869bSClaudiu Beznea# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*fffc869bSClaudiu Beznea%YAML 1.2 3*fffc869bSClaudiu Beznea--- 4*fffc869bSClaudiu Beznea$id: http://devicetree.org/schemas/clock/atmel,at91rm9200-pmc.yaml# 5*fffc869bSClaudiu Beznea$schema: http://devicetree.org/meta-schemas/core.yaml# 6*fffc869bSClaudiu Beznea 7*fffc869bSClaudiu Bezneatitle: Atmel Power Management Controller (PMC) 8*fffc869bSClaudiu Beznea 9*fffc869bSClaudiu Bezneamaintainers: 10*fffc869bSClaudiu Beznea - Claudiu Beznea <claudiu.beznea@microchip.com> 11*fffc869bSClaudiu Beznea 12*fffc869bSClaudiu Bezneadescription: 13*fffc869bSClaudiu Beznea The power management controller optimizes power consumption by controlling all 14*fffc869bSClaudiu Beznea system and user peripheral clocks. The PMC enables/disables the clock inputs 15*fffc869bSClaudiu Beznea to many of the peripherals and to the processor. 16*fffc869bSClaudiu Beznea 17*fffc869bSClaudiu Bezneaproperties: 18*fffc869bSClaudiu Beznea compatible: 19*fffc869bSClaudiu Beznea oneOf: 20*fffc869bSClaudiu Beznea - items: 21*fffc869bSClaudiu Beznea - const: atmel,at91sam9g20-pmc 22*fffc869bSClaudiu Beznea - const: atmel,at91sam9260-pmc 23*fffc869bSClaudiu Beznea - const: syscon 24*fffc869bSClaudiu Beznea - items: 25*fffc869bSClaudiu Beznea - enum: 26*fffc869bSClaudiu Beznea - atmel,at91sam9g15-pmc 27*fffc869bSClaudiu Beznea - atmel,at91sam9g25-pmc 28*fffc869bSClaudiu Beznea - atmel,at91sam9g35-pmc 29*fffc869bSClaudiu Beznea - atmel,at91sam9x25-pmc 30*fffc869bSClaudiu Beznea - atmel,at91sam9x35-pmc 31*fffc869bSClaudiu Beznea - const: atmel,at91sam9x5-pmc 32*fffc869bSClaudiu Beznea - const: syscon 33*fffc869bSClaudiu Beznea - items: 34*fffc869bSClaudiu Beznea - enum: 35*fffc869bSClaudiu Beznea - atmel,at91rm9200-pmc 36*fffc869bSClaudiu Beznea - atmel,at91sam9260-pmc 37*fffc869bSClaudiu Beznea - atmel,at91sam9g45-pmc 38*fffc869bSClaudiu Beznea - atmel,at91sam9n12-pmc 39*fffc869bSClaudiu Beznea - atmel,at91sam9rl-pmc 40*fffc869bSClaudiu Beznea - atmel,at91sam9x5-pmc 41*fffc869bSClaudiu Beznea - atmel,sama5d2-pmc 42*fffc869bSClaudiu Beznea - atmel,sama5d3-pmc 43*fffc869bSClaudiu Beznea - atmel,sama5d4-pmc 44*fffc869bSClaudiu Beznea - microchip,sam9x60-pmc 45*fffc869bSClaudiu Beznea - microchip,sama7g5-pmc 46*fffc869bSClaudiu Beznea - const: syscon 47*fffc869bSClaudiu Beznea 48*fffc869bSClaudiu Beznea reg: 49*fffc869bSClaudiu Beznea maxItems: 1 50*fffc869bSClaudiu Beznea 51*fffc869bSClaudiu Beznea interrupts: 52*fffc869bSClaudiu Beznea maxItems: 1 53*fffc869bSClaudiu Beznea 54*fffc869bSClaudiu Beznea "#clock-cells": 55*fffc869bSClaudiu Beznea description: | 56*fffc869bSClaudiu Beznea - 1st cell is the clock type, one of PMC_TYPE_CORE, PMC_TYPE_SYSTEM, 57*fffc869bSClaudiu Beznea PMC_TYPE_PERIPHERAL, PMC_TYPE_GCK, PMC_TYPE_PROGRAMMABLE (as defined 58*fffc869bSClaudiu Beznea in <dt-bindings/clock/at91.h>) 59*fffc869bSClaudiu Beznea - 2nd cell is the clock identifier as defined in <dt-bindings/clock/at91.h 60*fffc869bSClaudiu Beznea (for core clocks) or as defined in datasheet (for system, peripheral, 61*fffc869bSClaudiu Beznea gck and programmable clocks). 62*fffc869bSClaudiu Beznea const: 2 63*fffc869bSClaudiu Beznea 64*fffc869bSClaudiu Beznea clocks: 65*fffc869bSClaudiu Beznea minItems: 2 66*fffc869bSClaudiu Beznea maxItems: 3 67*fffc869bSClaudiu Beznea 68*fffc869bSClaudiu Beznea clock-names: 69*fffc869bSClaudiu Beznea minItems: 2 70*fffc869bSClaudiu Beznea maxItems: 3 71*fffc869bSClaudiu Beznea 72*fffc869bSClaudiu Beznea atmel,osc-bypass: 73*fffc869bSClaudiu Beznea description: set when a clock signal is directly provided on XIN 74*fffc869bSClaudiu Beznea type: boolean 75*fffc869bSClaudiu Beznea 76*fffc869bSClaudiu Beznearequired: 77*fffc869bSClaudiu Beznea - compatible 78*fffc869bSClaudiu Beznea - reg 79*fffc869bSClaudiu Beznea - interrupts 80*fffc869bSClaudiu Beznea - "#clock-cells" 81*fffc869bSClaudiu Beznea - clocks 82*fffc869bSClaudiu Beznea - clock-names 83*fffc869bSClaudiu Beznea 84*fffc869bSClaudiu BezneaallOf: 85*fffc869bSClaudiu Beznea - if: 86*fffc869bSClaudiu Beznea properties: 87*fffc869bSClaudiu Beznea compatible: 88*fffc869bSClaudiu Beznea contains: 89*fffc869bSClaudiu Beznea enum: 90*fffc869bSClaudiu Beznea - microchip,sam9x60-pmc 91*fffc869bSClaudiu Beznea - microchip,sama7g5-pmc 92*fffc869bSClaudiu Beznea then: 93*fffc869bSClaudiu Beznea properties: 94*fffc869bSClaudiu Beznea clocks: 95*fffc869bSClaudiu Beznea minItems: 3 96*fffc869bSClaudiu Beznea maxItems: 3 97*fffc869bSClaudiu Beznea clock-names: 98*fffc869bSClaudiu Beznea items: 99*fffc869bSClaudiu Beznea - const: td_slck 100*fffc869bSClaudiu Beznea - const: md_slck 101*fffc869bSClaudiu Beznea - const: main_xtal 102*fffc869bSClaudiu Beznea 103*fffc869bSClaudiu Beznea - if: 104*fffc869bSClaudiu Beznea properties: 105*fffc869bSClaudiu Beznea compatible: 106*fffc869bSClaudiu Beznea contains: 107*fffc869bSClaudiu Beznea enum: 108*fffc869bSClaudiu Beznea - atmel,at91rm9200-pmc 109*fffc869bSClaudiu Beznea - atmel,at91sam9260-pmc 110*fffc869bSClaudiu Beznea - atmel,at91sam9g20-pmc 111*fffc869bSClaudiu Beznea then: 112*fffc869bSClaudiu Beznea properties: 113*fffc869bSClaudiu Beznea clocks: 114*fffc869bSClaudiu Beznea minItems: 2 115*fffc869bSClaudiu Beznea maxItems: 2 116*fffc869bSClaudiu Beznea clock-names: 117*fffc869bSClaudiu Beznea items: 118*fffc869bSClaudiu Beznea - const: slow_xtal 119*fffc869bSClaudiu Beznea - const: main_xtal 120*fffc869bSClaudiu Beznea 121*fffc869bSClaudiu Beznea - if: 122*fffc869bSClaudiu Beznea properties: 123*fffc869bSClaudiu Beznea compatible: 124*fffc869bSClaudiu Beznea contains: 125*fffc869bSClaudiu Beznea enum: 126*fffc869bSClaudiu Beznea - atmel,sama5d2-pmc 127*fffc869bSClaudiu Beznea - atmel,sama5d3-pmc 128*fffc869bSClaudiu Beznea - atmel,sama5d4-pmc 129*fffc869bSClaudiu Beznea then: 130*fffc869bSClaudiu Beznea properties: 131*fffc869bSClaudiu Beznea clocks: 132*fffc869bSClaudiu Beznea minItems: 2 133*fffc869bSClaudiu Beznea maxItems: 2 134*fffc869bSClaudiu Beznea clock-names: 135*fffc869bSClaudiu Beznea items: 136*fffc869bSClaudiu Beznea - const: slow_clk 137*fffc869bSClaudiu Beznea - const: main_xtal 138*fffc869bSClaudiu Beznea 139*fffc869bSClaudiu BezneaadditionalProperties: false 140*fffc869bSClaudiu Beznea 141*fffc869bSClaudiu Bezneaexamples: 142*fffc869bSClaudiu Beznea - | 143*fffc869bSClaudiu Beznea #include <dt-bindings/interrupt-controller/irq.h> 144*fffc869bSClaudiu Beznea 145*fffc869bSClaudiu Beznea pmc: clock-controller@f0018000 { 146*fffc869bSClaudiu Beznea compatible = "atmel,sama5d4-pmc", "syscon"; 147*fffc869bSClaudiu Beznea reg = <0xf0018000 0x120>; 148*fffc869bSClaudiu Beznea interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 149*fffc869bSClaudiu Beznea #clock-cells = <2>; 150*fffc869bSClaudiu Beznea clocks = <&clk32k>, <&main_xtal>; 151*fffc869bSClaudiu Beznea clock-names = "slow_clk", "main_xtal"; 152*fffc869bSClaudiu Beznea }; 153*fffc869bSClaudiu Beznea 154*fffc869bSClaudiu Beznea... 155