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