Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
renesas_rx_cgc.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Renesas Electronics Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_RENESAS_RX_CGC_H_
14#define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_RENESAS_RX_CGC_H_
15
18
24
31#define RX_CGC_PROP_HAS_STATUS_OKAY_OR(node_id, prop, default_value) \
32 COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay), (DT_PROP(node_id, prop)), (default_value))
33
40#define RX_CGC_CLK_SRC(node_id) \
41 COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay), \
42 (UTIL_CAT(RX_CLOCKS_SOURCE_, DT_NODE_FULL_NAME_UPPER_TOKEN(node_id))), \
43 (RX_CLOCKS_CLOCK_DISABLED))
44
51#define RX_IF_CLK_SRC(node_id) \
52 COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay),\
53 (UTIL_CAT(RX_IF_CLOCKS_SOURCE_, DT_NODE_FULL_NAME_UPPER_TOKEN(node_id))),\
54 (RX_CLOCKS_CLOCK_DISABLED))
55
62#define RX_LPT_CLK_SRC(node_id) \
63 COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay),\
64 (UTIL_CAT(RX_LPT_CLOCKS_SOURCE_, DT_NODE_FULL_NAME_UPPER_TOKEN(node_id))),\
65 (RX_LPT_CLOCKS_NON_USE))
66
73#define RX_CGC_PLL_CLK_SRC(node_id) \
74 COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay), \
75 (UTIL_CAT(RX_PLL_CLOCKS_SOURCE_, DT_NODE_FULL_NAME_UPPER_TOKEN(node_id))), \
76 (RX_CLOCKS_CLOCK_DISABLED))
77
85
93
98 const struct device *clock_dev;
99};
100
108
115
117
118#endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_RENESAS_RX_CGC_H_ */
Main header file for clock control driver API.
Renesas RX Clock Generator Circuit (CGC) definitions for Zephyr.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Peripheral clock configuration (PCLK).
Definition renesas_rx_cgc.h:81
const struct device * clock_src_dev
Clock source.
Definition renesas_rx_cgc.h:82
uint32_t clk_div
Divider configuration.
Definition renesas_rx_cgc.h:83
PLL configuration structure.
Definition renesas_rx_cgc.h:97
const struct device * clock_dev
Device providing PLL source.
Definition renesas_rx_cgc.h:98
PLL control parameters.
Definition renesas_rx_cgc.h:104
uint32_t pll_div
PLL divider.
Definition renesas_rx_cgc.h:105
uint32_t pll_mul
PLL multiplier.
Definition renesas_rx_cgc.h:106
Root clock configuration.
Definition renesas_rx_cgc.h:112
uint32_t rate
Target clock rate in Hz.
Definition renesas_rx_cgc.h:113
Subsystem clock control configuration.
Definition renesas_rx_cgc.h:89
uint32_t stop_bit
Clock stop bit.
Definition renesas_rx_cgc.h:91
uint32_t mstp
MSTP register index.
Definition renesas_rx_cgc.h:90
Runtime device structure (in ROM) per driver instance.
Definition device.h:513