1# Copyright (c) 2023 Gerson Fernando Budke <nandojve@gmail.com>
2# SPDX-License-Identifier: Apache-2.0
3
4description: |
5  Atmel Power Management Controller (PMC)
6
7  The Power Management Controller (PMC) optimizes power consumption by
8  controlling all system and user peripheral clocks. The PMC enables/disables
9  the clock inputs to many of the peripherals and the processor.
10
11  To specify the clocks in a peripheral, the standard clocks property needs
12  to be used, e.g.:
13
14    uart: uart@xxx {
15      ...
16      clocks = <&pmc PMC_TYPE_PERIPHERAL p-id>;
17      ...
18    };
19
20  In this example the clock-type was defined as PMC_TYPE_PERIPHERAL and the
21  peripheral-id was defined as p-id. The p-id number should be consulted on
22  datasheet, usually it is available at Product Mapping figure.
23
24  NOTE: The predefined clock type cell is defined at
25  include/zephyr/drivers/clock_clontrol/atmel_sam_pmc.h header file.
26
27  The clock-type constants are:
28    PMC_TYPE_CORE
29    PMC_TYPE_SYSTEM
30    PMC_TYPE_PERIPHERAL
31    PMC_TYPE_GCK
32    PMC_TYPE_PROGRAMMABLE
33
34compatible: "atmel,sam-pmc"
35
36include: [clock-controller.yaml, base.yaml]
37
38properties:
39  reg:
40    required: true
41
42  "#clock-cells":
43    const: 2
44    description: |
45      from common clock binding; shall be set to 2. The first entry is the type
46      of the clock (core, system, peripheral or generated) and the second entry
47      it's the peripheral identification index as provided by the datasheet.
48
49clock-cells:
50  - clock-type
51  - peripheral-id
52