/* * Copyright (c) 2023 Gerson Fernando Budke #include #define SAM_DT_PMC_CONTROLLER DEVICE_DT_GET(DT_NODELABEL(pmc)) struct atmel_sam_pmc_config { uint32_t clock_type; uint32_t peripheral_id; }; #define SAM_DT_CLOCK_PMC_CFG(clock_id, node_id) \ { \ .clock_type = DT_CLOCKS_CELL_BY_IDX(node_id, clock_id, clock_type), \ .peripheral_id = DT_CLOCKS_CELL_BY_IDX(node_id, clock_id, peripheral_id)\ } #define SAM_DT_INST_CLOCK_PMC_CFG(inst) SAM_DT_CLOCK_PMC_CFG(0, DT_DRV_INST(inst)) #define SAM_DT_CLOCKS_PMC_CFG(node_id) \ { \ LISTIFY(DT_NUM_CLOCKS(node_id), \ SAM_DT_CLOCK_PMC_CFG, (,), node_id) \ } #define SAM_DT_INST_CLOCKS_PMC_CFG(inst) \ SAM_DT_CLOCKS_PMC_CFG(DT_DRV_INST(inst)) #endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ATMEL_SAM_PMC_H_ */