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