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