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