Zephyr API
4.4.99
A Scalable Open Source RTOS
Toggle main menu visibility
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
16
#include <
zephyr/drivers/clock_control.h
>
17
#include <
zephyr/dt-bindings/clock/rx_clock.h
>
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
81
struct
clock_control_rx_pclk_cfg
{
82
const
struct
device
*
clock_src_dev
;
83
uint32_t
clk_div
;
84
};
85
89
struct
clock_control_rx_subsys_cfg
{
90
uint32_t
mstp
;
91
uint32_t
stop_bit
;
92
};
93
97
struct
clock_control_rx_pll_cfg
{
98
const
struct
device
*
clock_dev
;
99
};
100
104
struct
clock_control_rx_pll_data
{
105
uint32_t
pll_div
;
106
uint32_t
pll_mul
;
107
};
108
112
struct
clock_control_rx_root_cfg
{
113
uint32_t
rate
;
114
};
115
117
118
#endif
/* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_RENESAS_RX_CGC_H_ */
clock_control.h
Main header file for clock control driver API.
rx_clock.h
Renesas RX Clock Generator Circuit (CGC) definitions for Zephyr.
uint32_t
__UINT32_TYPE__ uint32_t
Definition
stdint.h:90
clock_control_rx_pclk_cfg
Peripheral clock configuration (PCLK).
Definition
renesas_rx_cgc.h:81
clock_control_rx_pclk_cfg::clock_src_dev
const struct device * clock_src_dev
Clock source.
Definition
renesas_rx_cgc.h:82
clock_control_rx_pclk_cfg::clk_div
uint32_t clk_div
Divider configuration.
Definition
renesas_rx_cgc.h:83
clock_control_rx_pll_cfg
PLL configuration structure.
Definition
renesas_rx_cgc.h:97
clock_control_rx_pll_cfg::clock_dev
const struct device * clock_dev
Device providing PLL source.
Definition
renesas_rx_cgc.h:98
clock_control_rx_pll_data
PLL control parameters.
Definition
renesas_rx_cgc.h:104
clock_control_rx_pll_data::pll_div
uint32_t pll_div
PLL divider.
Definition
renesas_rx_cgc.h:105
clock_control_rx_pll_data::pll_mul
uint32_t pll_mul
PLL multiplier.
Definition
renesas_rx_cgc.h:106
clock_control_rx_root_cfg
Root clock configuration.
Definition
renesas_rx_cgc.h:112
clock_control_rx_root_cfg::rate
uint32_t rate
Target clock rate in Hz.
Definition
renesas_rx_cgc.h:113
clock_control_rx_subsys_cfg
Subsystem clock control configuration.
Definition
renesas_rx_cgc.h:89
clock_control_rx_subsys_cfg::stop_bit
uint32_t stop_bit
Clock stop bit.
Definition
renesas_rx_cgc.h:91
clock_control_rx_subsys_cfg::mstp
uint32_t mstp
MSTP register index.
Definition
renesas_rx_cgc.h:90
device
Runtime device structure (in ROM) per driver instance.
Definition
device.h:513
zephyr
drivers
clock_control
renesas_rx_cgc.h
Generated on
for Zephyr API by
1.17.0