Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
mchp_sam_pmc.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025 Microchip Technology Inc. and its subsidiaries
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_MICROCHIP_SAM_PMC_H_
8#define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_MICROCHIP_SAM_PMC_H_
9
10#include <soc.h>
13
18
23
24/* Device constant configuration parameters */
26 uint32_t *const reg;
27 const struct device *td_slck;
28 const struct device *md_slck;
29 const struct device *main_xtal;
32};
33
34/* Device run time data */
36 struct pmc_data *pmc;
37};
38
39#define SAM_DT_CLOCK_PMC_CFG(clock, node_id) { \
40 .clock_type = DT_CLOCKS_CELL_BY_IDX(node_id, \
41 clock, \
42 clock_type), \
43 .clock_id = DT_CLOCKS_CELL_BY_IDX(node_id, \
44 clock, \
45 peripheral_id) \
46 }
47
48#define SAM_DT_INST_CLOCK_PMC_CFG(inst) SAM_DT_CLOCK_PMC_CFG(0, DT_DRV_INST(inst))
49
50#define SAM_DT_CLOCKS_PMC_CFG(node_id) { \
51 LISTIFY(DT_NUM_CLOCKS(node_id), \
52 SAM_DT_CLOCK_PMC_CFG, (,), node_id) \
53 }
54
55#define SAM_DT_INST_CLOCKS_PMC_CFG(inst) SAM_DT_CLOCKS_PMC_CFG(DT_DRV_INST(inst))
56
57#endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_MICROCHIP_SAM_PMC_H_ */
Public Clock Control APIs.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
Definition mchp_sam_pmc.h:19
uint32_t clock_type
Definition mchp_sam_pmc.h:20
uint32_t clock_id
Definition mchp_sam_pmc.h:21
Definition mchp_sam_pmc.h:25
const struct device * td_slck
Definition mchp_sam_pmc.h:27
const struct sam_sckc_config md_slck_cfg
Definition mchp_sam_pmc.h:31
const struct sam_sckc_config td_slck_cfg
Definition mchp_sam_pmc.h:30
const struct device * main_xtal
Definition mchp_sam_pmc.h:29
uint32_t *const reg
Definition mchp_sam_pmc.h:26
const struct device * md_slck
Definition mchp_sam_pmc.h:28
Definition mchp_sam_pmc.h:35
struct pmc_data * pmc
Definition mchp_sam_pmc.h:36
Definition mchp_sam_pmc.h:14
uint32_t crystal_osc
Definition mchp_sam_pmc.h:15
uint32_t reserved
Definition mchp_sam_pmc.h:16