157 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 all14 system and user peripheral clocks. The PMC enables/disables the clock inputs15 to many of the peripherals and to the processor.16 17properties:18 compatible:19 oneOf:20 - items:21 - const: atmel,at91sam9g20-pmc22 - const: atmel,at91sam9260-pmc23 - const: syscon24 - items:25 - enum:26 - atmel,at91sam9g15-pmc27 - atmel,at91sam9g25-pmc28 - atmel,at91sam9g35-pmc29 - atmel,at91sam9x25-pmc30 - atmel,at91sam9x35-pmc31 - const: atmel,at91sam9x5-pmc32 - const: syscon33 - items:34 - enum:35 - atmel,at91rm9200-pmc36 - atmel,at91sam9260-pmc37 - atmel,at91sam9g45-pmc38 - atmel,at91sam9n12-pmc39 - atmel,at91sam9rl-pmc40 - atmel,at91sam9x5-pmc41 - atmel,sama5d2-pmc42 - atmel,sama5d3-pmc43 - atmel,sama5d4-pmc44 - microchip,sam9x60-pmc45 - microchip,sam9x7-pmc46 - microchip,sama7g5-pmc47 - const: syscon48 49 reg:50 maxItems: 151 52 interrupts:53 maxItems: 154 55 "#clock-cells":56 description: |57 - 1st cell is the clock type, one of PMC_TYPE_CORE, PMC_TYPE_SYSTEM,58 PMC_TYPE_PERIPHERAL, PMC_TYPE_GCK, PMC_TYPE_PROGRAMMABLE (as defined59 in <dt-bindings/clock/at91.h>)60 - 2nd cell is the clock identifier as defined in <dt-bindings/clock/at91.h61 (for core clocks) or as defined in datasheet (for system, peripheral,62 gck and programmable clocks).63 const: 264 65 clocks:66 minItems: 267 maxItems: 368 69 clock-names:70 minItems: 271 maxItems: 372 73 atmel,osc-bypass:74 description: set when a clock signal is directly provided on XIN75 type: boolean76 77required:78 - compatible79 - reg80 - interrupts81 - "#clock-cells"82 - clocks83 - clock-names84 85allOf:86 - if:87 properties:88 compatible:89 contains:90 enum:91 - microchip,sam9x60-pmc92 - microchip,sam9x7-pmc93 - microchip,sama7g5-pmc94 then:95 properties:96 clocks:97 minItems: 398 maxItems: 399 clock-names:100 items:101 - const: td_slck102 - const: md_slck103 - const: main_xtal104 105 - if:106 properties:107 compatible:108 contains:109 enum:110 - atmel,at91rm9200-pmc111 - atmel,at91sam9260-pmc112 - atmel,at91sam9g20-pmc113 then:114 properties:115 clocks:116 minItems: 2117 maxItems: 2118 clock-names:119 items:120 - const: slow_xtal121 - const: main_xtal122 123 - if:124 properties:125 compatible:126 contains:127 enum:128 - atmel,sama5d2-pmc129 - atmel,sama5d3-pmc130 - atmel,sama5d4-pmc131 then:132 properties:133 clocks:134 minItems: 2135 maxItems: 2136 clock-names:137 items:138 - const: slow_clk139 - const: main_xtal140 141additionalProperties: false142 143examples:144 - |145 #include <dt-bindings/interrupt-controller/irq.h>146 147 pmc: clock-controller@f0018000 {148 compatible = "atmel,sama5d4-pmc", "syscon";149 reg = <0xf0018000 0x120>;150 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;151 #clock-cells = <2>;152 clocks = <&clk32k>, <&main_xtal>;153 clock-names = "slow_clk", "main_xtal";154 };155 156...157