Zephyr API Documentation
4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
renesas_rzg_clock.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
7
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_RENESAS_RZG_CLOCK_H_
8
#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_RENESAS_RZG_CLOCK_H_
9
11
#define RZ_IP_MASK 0xFF000000UL
12
#define RZ_IP_SHIFT 24UL
13
#define RZ_IP_CH_MASK 0xFF0000UL
14
#define RZ_IP_CH_SHIFT 16UL
15
#define RZ_CLOCK_MASK 0xFF00UL
16
#define RZ_CLOCK_SHIFT 8UL
17
#define RZ_CLOCK_DIV_MASK 0xFFUL
18
#define RZ_CLOCK_DIV_SHIFT 0UL
19
20
#define RZ_IP_GTM 0UL
/* General Timer */
21
#define RZ_IP_GPT 1UL
/* General PWM Timer */
22
#define RZ_IP_SCI 2UL
/* Serial Communications Interface */
23
#define RZ_IP_SCIF 3UL
/* Serial Communications Interface with FIFO */
24
#define RZ_IP_RIIC 4UL
/* I2C Bus Interface */
25
#define RZ_IP_RSPI 5UL
/* Renesas Serial Peripheral Interface */
26
#define RZ_IP_MHU 6UL
/* Message Handling Unit */
27
#define RZ_IP_DMAC 7UL
/* Direct Memory Access Controller */
28
#define RZ_IP_CANFD 8UL
/* CANFD Interface (RS-CANFD) */
29
#define RZ_IP_ADC 9UL
/* A/D Converter */
30
#define RZ_IP_WDT 10UL
/* Watchdog Timer */
31
32
#define RZ_CLOCK_ICLK 0UL
/* Cortex-A55 Clock */
33
#define RZ_CLOCK_I2CLK 1UL
/* Cortex-M33 Clock */
34
#define RZ_CLOCK_I3CLK 2UL
/* Cortex-M33 FPU Clock */
35
#define RZ_CLOCK_S0CLK 3UL
/* DDR-PHY Clock */
36
#define RZ_CLOCK_OC0CLK 4UL
/* OCTA0 Clock */
37
#define RZ_CLOCK_OC1CLK 5UL
/* OCTA1 Clock */
38
#define RZ_CLOCK_SPI0CLK 6UL
/* SPI0 Clock */
39
#define RZ_CLOCK_SPI1CLK 7UL
/* SPI1 Clock */
40
#define RZ_CLOCK_SD0CLK 8UL
/* SDH0 Clock */
41
#define RZ_CLOCK_SD1CLK 9UL
/* SDH1 Clock */
42
#define RZ_CLOCK_SD2CLK 10UL
/* SDH2 Clock */
43
#define RZ_CLOCK_M0CLK 11UL
/* VCP LCDC Clock */
44
#define RZ_CLOCK_HPCLK 12UL
/* Ethernet Clock */
45
#define RZ_CLOCK_TSUCLK 13UL
/* TSU Clock */
46
#define RZ_CLOCK_ZTCLK 14UL
/* JAUTH Clock */
47
#define RZ_CLOCK_P0CLK 15UL
/* APB-BUS Clock */
48
#define RZ_CLOCK_P1CLK 16UL
/* AXI-BUS Clock */
49
#define RZ_CLOCK_P2CLK 17UL
/* P2CLK */
50
#define RZ_CLOCK_P3CLK 18UL
/* P3CLK */
51
#define RZ_CLOCK_P4CLK 19UL
/* P4CLK */
52
#define RZ_CLOCK_P5CLK 20UL
/* P5CLK */
53
#define RZ_CLOCK_ATCLK 21UL
/* ATCLK */
54
#define RZ_CLOCK_OSCCLK 22UL
/* OSC Clock */
55
#define RZ_CLOCK_OSCCLK2 23UL
/* OSC2 Clock */
56
57
#define RZ_CLOCK(IP, ch, clk, div) \
58
((RZ_IP_##IP << RZ_IP_SHIFT) | ((ch) << RZ_IP_CH_SHIFT) | ((clk) << RZ_CLOCK_SHIFT) | \
59
((div) << RZ_CLOCK_DIV_SHIFT))
60
67
68
/* SCIF */
69
#define RZ_CLOCK_SCIF(ch) RZ_CLOCK(SCIF, ch, RZ_CLOCK_P0CLK, 1)
70
71
/* GPT */
72
#define RZ_CLOCK_GPT(ch) RZ_CLOCK(GPT, ch, RZ_CLOCK_P0CLK, 1)
73
74
/* MHU */
75
#define RZ_CLOCK_MHU(ch) RZ_CLOCK(MHU, ch, RZ_CLOCK_P1CLK, 2)
76
77
/* ADC */
78
#define RZ_CLOCK_ADC(ch) RZ_CLOCK(ADC, ch, RZ_CLOCK_TSUCLK, 1)
79
80
/* RIIC */
81
#define RZ_CLOCK_RIIC(ch) RZ_CLOCK(RIIC, ch, RZ_CLOCK_P0CLK, 1)
82
83
/* GTM */
84
#define RZ_CLOCK_GTM(ch) RZ_CLOCK(GTM, ch, RZ_CLOCK_P0CLK, 1)
85
86
/* CAN */
87
#define RZ_CLOCK_CANFD(ch) RZ_CLOCK(CANFD, ch, RZ_CLOCK_P4CLK, 2)
88
89
/* RSPI */
90
#define RZ_CLOCK_RSPI(ch) RZ_CLOCK(RSPI, ch, RZ_CLOCK_P0CLK, 1)
91
92
/* DMAC */
93
#define RZ_CLOCK_DMAC(ch) RZ_CLOCK(DMAC, ch, RZ_CLOCK_P3CLK, 1)
94
95
/* SCI */
96
#define RZ_CLOCK_SCI(ch) RZ_CLOCK(SCI, ch, RZ_CLOCK_P0CLK, 1)
97
98
/* WDT */
99
#define RZ_CLOCK_WDT(ch) RZ_CLOCK(WDT, ch, RZ_CLOCK_OSCCLK, 1)
100
101
#endif
/* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_RENESAS_RZG_CLOCK_H_ */
zephyr
dt-bindings
clock
renesas_rzg_clock.h
Generated on
for Zephyr API Documentation by
1.14.0