@web-font-path: "roboto-debian.css";
Menu Toggle
v1.5.1
Loading...
Searching...
No Matches
resets.h
1
// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
2
3
/*
4
* Copyright (c) 2021 Raspberry Pi (Trading) Ltd.
5
*
6
* SPDX-License-Identifier: BSD-3-Clause
7
*/
8
9
#ifndef _HARDWARE_STRUCTS_RESETS_H
10
#define _HARDWARE_STRUCTS_RESETS_H
11
12
#include "
hardware/address_mapped.h
"
13
#include "hardware/regs/resets.h"
14
15
// Reference to datasheet: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf#tab-registerlist_resets
16
//
17
// The _REG_ macro is intended to help make the register navigable in your IDE (for example, using the "Go to Definition" feature)
18
// _REG_(x) will link to the corresponding register in hardware/regs/resets.h.
19
//
20
// Bit-field descriptions are of the form:
21
// BITMASK [BITRANGE]: FIELDNAME (RESETVALUE): DESCRIPTION
22
24
typedef
struct
{
25
_REG_(RESETS_RESET_OFFSET)
// RESETS_RESET
26
// Reset control
27
// 0x01000000 [24] : usbctrl (1)
28
// 0x00800000 [23] : uart1 (1)
29
// 0x00400000 [22] : uart0 (1)
30
// 0x00200000 [21] : timer (1)
31
// 0x00100000 [20] : tbman (1)
32
// 0x00080000 [19] : sysinfo (1)
33
// 0x00040000 [18] : syscfg (1)
34
// 0x00020000 [17] : spi1 (1)
35
// 0x00010000 [16] : spi0 (1)
36
// 0x00008000 [15] : rtc (1)
37
// 0x00004000 [14] : pwm (1)
38
// 0x00002000 [13] : pll_usb (1)
39
// 0x00001000 [12] : pll_sys (1)
40
// 0x00000800 [11] : pio1 (1)
41
// 0x00000400 [10] : pio0 (1)
42
// 0x00000200 [9] : pads_qspi (1)
43
// 0x00000100 [8] : pads_bank0 (1)
44
// 0x00000080 [7] : jtag (1)
45
// 0x00000040 [6] : io_qspi (1)
46
// 0x00000020 [5] : io_bank0 (1)
47
// 0x00000010 [4] : i2c1 (1)
48
// 0x00000008 [3] : i2c0 (1)
49
// 0x00000004 [2] : dma (1)
50
// 0x00000002 [1] : busctrl (1)
51
// 0x00000001 [0] : adc (1)
52
io_rw_32 reset;
53
54
_REG_(RESETS_WDSEL_OFFSET)
// RESETS_WDSEL
55
// Watchdog select
56
// 0x01000000 [24] : usbctrl (0)
57
// 0x00800000 [23] : uart1 (0)
58
// 0x00400000 [22] : uart0 (0)
59
// 0x00200000 [21] : timer (0)
60
// 0x00100000 [20] : tbman (0)
61
// 0x00080000 [19] : sysinfo (0)
62
// 0x00040000 [18] : syscfg (0)
63
// 0x00020000 [17] : spi1 (0)
64
// 0x00010000 [16] : spi0 (0)
65
// 0x00008000 [15] : rtc (0)
66
// 0x00004000 [14] : pwm (0)
67
// 0x00002000 [13] : pll_usb (0)
68
// 0x00001000 [12] : pll_sys (0)
69
// 0x00000800 [11] : pio1 (0)
70
// 0x00000400 [10] : pio0 (0)
71
// 0x00000200 [9] : pads_qspi (0)
72
// 0x00000100 [8] : pads_bank0 (0)
73
// 0x00000080 [7] : jtag (0)
74
// 0x00000040 [6] : io_qspi (0)
75
// 0x00000020 [5] : io_bank0 (0)
76
// 0x00000010 [4] : i2c1 (0)
77
// 0x00000008 [3] : i2c0 (0)
78
// 0x00000004 [2] : dma (0)
79
// 0x00000002 [1] : busctrl (0)
80
// 0x00000001 [0] : adc (0)
81
io_rw_32 wdsel;
82
83
_REG_(RESETS_RESET_DONE_OFFSET)
// RESETS_RESET_DONE
84
// Reset done
85
// 0x01000000 [24] : usbctrl (0)
86
// 0x00800000 [23] : uart1 (0)
87
// 0x00400000 [22] : uart0 (0)
88
// 0x00200000 [21] : timer (0)
89
// 0x00100000 [20] : tbman (0)
90
// 0x00080000 [19] : sysinfo (0)
91
// 0x00040000 [18] : syscfg (0)
92
// 0x00020000 [17] : spi1 (0)
93
// 0x00010000 [16] : spi0 (0)
94
// 0x00008000 [15] : rtc (0)
95
// 0x00004000 [14] : pwm (0)
96
// 0x00002000 [13] : pll_usb (0)
97
// 0x00001000 [12] : pll_sys (0)
98
// 0x00000800 [11] : pio1 (0)
99
// 0x00000400 [10] : pio0 (0)
100
// 0x00000200 [9] : pads_qspi (0)
101
// 0x00000100 [8] : pads_bank0 (0)
102
// 0x00000080 [7] : jtag (0)
103
// 0x00000040 [6] : io_qspi (0)
104
// 0x00000020 [5] : io_bank0 (0)
105
// 0x00000010 [4] : i2c1 (0)
106
// 0x00000008 [3] : i2c0 (0)
107
// 0x00000004 [2] : dma (0)
108
// 0x00000002 [1] : busctrl (0)
109
// 0x00000001 [0] : adc (0)
110
io_ro_32 reset_done;
111
}
resets_hw_t
;
112
113
#define resets_hw ((resets_hw_t *)RESETS_BASE)
115
116
#endif
address_mapped.h
resets_hw_t
Definition
resets.h:24