ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_gpt_regs.h
Go to the documentation of this file.
1
19
20#pragma once
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#include <stdint.h>
27
28#include "ra8_attributes.h"
29
30typedef enum : uintptr_t {
31 k_ra8_gpt0_base_addr = 0x40322000UL,
32 k_ra8_gpt_gtclk_addr = 0x40323F10UL,
33 k_ra8_gpt_odc_base_addr = 0x40324000UL,
34 k_ra8_gpt_ops_base_addr = 0x40323F00UL,
36
37typedef enum : uint16_t {
41
55typedef struct {
56 volatile uint32_t GTWP;
57 volatile uint32_t GTSTR;
58 volatile uint32_t GTSTP;
59 volatile uint32_t GTCLR;
60 volatile uint32_t GTSSR;
61 volatile uint32_t GTPSR;
62 volatile uint32_t GTCSR;
63 volatile uint32_t GTUPSR;
64 volatile uint32_t GTDNSR;
65 volatile uint32_t GTICASR;
66 volatile uint32_t GTICBSR;
67 volatile uint32_t GTCR;
68 volatile uint32_t GTUDDTYC;
69 volatile uint32_t GTIOR;
70 volatile uint32_t GTINTAD;
71 volatile uint32_t GTST;
72 volatile uint32_t GTBER;
73 volatile uint32_t GTITC;
74 volatile uint32_t GTCNT;
75 volatile uint32_t GTCCR[6];
76 volatile uint32_t GTPR;
77 volatile uint32_t GTPBR;
78 volatile uint32_t GTPDBR;
79 volatile uint32_t GTADTRA;
80 volatile uint32_t GTADTBRA;
81 volatile uint32_t GTADTDBRA;
82 volatile uint32_t GTADTRB;
83 volatile uint32_t GTADTBRB;
84 volatile uint32_t GTADTDBRB;
85 volatile uint32_t GTDTCR;
86 volatile uint32_t GTDVU;
87 volatile uint32_t GTDVD;
88 volatile uint32_t GTDBU;
89 volatile uint32_t GTDBD;
90 volatile uint32_t GTSOS;
91 volatile uint32_t GTSOTR;
92 volatile uint32_t GTADSMR;
93 volatile uint32_t GTEITC;
94 volatile uint32_t GTEITLI1;
95 volatile uint32_t GTEITLI2;
96 volatile uint32_t GTEITLB;
97 volatile uint32_t GTICLF;
98 volatile uint32_t GTPC;
99 volatile uint32_t GTADCMSC;
100 volatile uint32_t GTADCMSS;
101 volatile uint32_t _reserved0[2];
102 volatile uint32_t GTSECSR;
103 volatile uint32_t GTSECR;
104 volatile uint32_t _reserved1[2];
105 volatile uint32_t GTBER2;
106 volatile uint32_t GTOLBR;
107 volatile uint32_t _reserved2;
108 volatile uint32_t GTICCR;
110
113static inline volatile r_gpt_channel_regs_t* ra8_gpt(uint8_t channel)
114{
115 if ((uint16_t)channel >= k_ra8_gpt_channel_count) {
116 return nullptr;
117 }
118 return (
120 ((uintptr_t)channel * (uintptr_t)k_ra8_gpt_channel_stride));
121}
122
123#ifdef __cplusplus
124}
125#endif
Annotation-attribute framework macros for ra8-firmware.
#define RA8_HW_REGISTER_ACCESS
Mark an MMIO accessor function (returns volatile register pointer).
ra8_gpt_limits_t
@ k_ra8_gpt_channel_stride
RA8 GPT channel stride.
@ k_ra8_gpt_channel_count
RA8 GPT channel count.
ra8_gpt_addr_t
@ k_ra8_gpt0_base_addr
RA8 gpt0 base address.
@ k_ra8_gpt_odc_base_addr
Output Disable Control.
@ k_ra8_gpt_gtclk_addr
Shared GTCLK regs.
@ k_ra8_gpt_ops_base_addr
Output Phase Switching.
static volatile r_gpt_channel_regs_t * ra8_gpt(uint8_t channel)
Get pointer to GPT channel N.
Per-channel GPT register window.
volatile uint32_t GTICBSR
+0x28 Input capture B source select.
volatile uint32_t GTEITLI2
+0xB0 Extended interrupt skip link 2.
volatile uint32_t GTICCR
+0xEC Inter-channel cooperation in.
volatile uint32_t GTBER
+0x40 Buffer Enable.
volatile uint32_t GTPSR
+0x14 Stop source select.
volatile uint32_t GTICASR
+0x24 Input capture A source select.
volatile uint32_t GTDNSR
+0x20 Down-count source select.
volatile uint32_t GTPR
+0x64 Period.
volatile uint32_t GTCSR
+0x18 Clear source select.
volatile uint32_t GTSTP
+0x08 Software Stop.
volatile uint32_t GTPBR
+0x68 Period buffer.
volatile uint32_t GTDVD
+0x90 Dead Time Value D.
volatile uint32_t GTADTRA
+0x70 ADC start request timing A.
volatile uint32_t GTSSR
+0x10 Start source select.
volatile uint32_t GTCNT
+0x48 Counter.
volatile uint32_t _reserved0[2]
+0xC8..+0xCC reserved.
volatile uint32_t GTCCR[6]
+0x4C..+0x60 Compare/Capture A..F.
volatile uint32_t GTADCMSC
+0xC0 ADC start request control.
volatile uint32_t GTDBD
+0x98 Dead Time Buffer D.
volatile uint32_t GTSOS
+0x9C Output Protection Status (RO).
volatile uint32_t GTUPSR
+0x1C Up-count source select.
volatile uint32_t GTIOR
+0x34 I/O Control.
volatile uint32_t GTICLF
+0xB8 Inter-channel logical op.
volatile uint32_t GTEITLI1
+0xAC Extended interrupt skip link 1.
volatile uint32_t GTADTBRA
+0x74 ADC start request timing buf A.
volatile uint32_t GTADTDBRA
+0x78 ADC start request timing dbl A.
volatile uint32_t GTCLR
+0x0C Software Clear.
volatile uint32_t GTSTR
+0x04 Software Start.
volatile uint32_t GTEITC
+0xA8 Extended interrupt skipping.
volatile uint32_t GTPC
+0xBC Period count.
volatile uint32_t GTADTBRB
+0x80 ADC start request timing buf B.
volatile uint32_t GTWP
+0x00 Write-Protection.
volatile uint32_t GTDBU
+0x94 Dead Time Buffer U.
volatile uint32_t GTADSMR
+0xA4 ADC start request skip mode.
volatile uint32_t GTDTCR
+0x88 Dead Time Control.
volatile uint32_t GTCR
+0x2C Timer Control.
volatile uint32_t GTPDBR
+0x6C Period double-buffer.
volatile uint32_t GTSECSR
+0xD0 Op-enable simultaneous control.
volatile uint32_t GTADTDBRB
+0x84 ADC start request timing dbl B.
volatile uint32_t GTOLBR
+0xE4 Output Level Buffer.
volatile uint32_t GTEITLB
+0xB4 Extended buffer-xfer skip.
volatile uint32_t GTADTRB
+0x7C ADC start request timing B.
volatile uint32_t GTSECR
+0xD4 Op-enable simultaneous reg.
volatile uint32_t GTITC
+0x44 Interrupt + ADC start skipping.
volatile uint32_t _reserved1[2]
+0xD8..+0xDC reserved.
volatile uint32_t _reserved2
+0xE8 reserved.
volatile uint32_t GTDVU
+0x8C Dead Time Value U.
volatile uint32_t GTADCMSS
+0xC4 ADC start request status.
volatile uint32_t GTINTAD
+0x38 Interrupt / ADC trigger.
volatile uint32_t GTST
+0x3C Status.
volatile uint32_t GTBER2
+0xE0 Buffer Enable 2.
volatile uint32_t GTSOTR
+0xA0 Output Protection Trigger.
volatile uint32_t GTUDDTYC
+0x30 Count direction / duty.