aboutsummaryrefslogtreecommitdiffstats
path: root/lib/pico-sdk/rp2350/hardware/regs/pll.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pico-sdk/rp2350/hardware/regs/pll.h')
-rw-r--r--lib/pico-sdk/rp2350/hardware/regs/pll.h199
1 files changed, 199 insertions, 0 deletions
diff --git a/lib/pico-sdk/rp2350/hardware/regs/pll.h b/lib/pico-sdk/rp2350/hardware/regs/pll.h
new file mode 100644
index 00000000..fdf254d1
--- /dev/null
+++ b/lib/pico-sdk/rp2350/hardware/regs/pll.h
@@ -0,0 +1,199 @@
+// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+/**
+ * Copyright (c) 2024 Raspberry Pi Ltd.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+// =============================================================================
+// Register block : PLL
+// Version : 1
+// Bus type : apb
+// =============================================================================
+#ifndef _HARDWARE_REGS_PLL_H
+#define _HARDWARE_REGS_PLL_H
+// =============================================================================
+// Register : PLL_CS
+// Description : Control and Status
+// GENERAL CONSTRAINTS:
+// Reference clock frequency min=5MHz, max=800MHz
+// Feedback divider min=16, max=320
+// VCO frequency min=750MHz, max=1600MHz
+#define PLL_CS_OFFSET _u(0x00000000)
+#define PLL_CS_BITS _u(0xc000013f)
+#define PLL_CS_RESET _u(0x00000001)
+// -----------------------------------------------------------------------------
+// Field : PLL_CS_LOCK
+// Description : PLL is locked
+#define PLL_CS_LOCK_RESET _u(0x0)
+#define PLL_CS_LOCK_BITS _u(0x80000000)
+#define PLL_CS_LOCK_MSB _u(31)
+#define PLL_CS_LOCK_LSB _u(31)
+#define PLL_CS_LOCK_ACCESS "RO"
+// -----------------------------------------------------------------------------
+// Field : PLL_CS_LOCK_N
+// Description : PLL is not locked
+// Ideally this is cleared when PLL lock is seen and this should
+// never normally be set
+#define PLL_CS_LOCK_N_RESET _u(0x0)
+#define PLL_CS_LOCK_N_BITS _u(0x40000000)
+#define PLL_CS_LOCK_N_MSB _u(30)
+#define PLL_CS_LOCK_N_LSB _u(30)
+#define PLL_CS_LOCK_N_ACCESS "WC"
+// -----------------------------------------------------------------------------
+// Field : PLL_CS_BYPASS
+// Description : Passes the reference clock to the output instead of the divided
+// VCO. The VCO continues to run so the user can switch between
+// the reference clock and the divided VCO but the output will
+// glitch when doing so.
+#define PLL_CS_BYPASS_RESET _u(0x0)
+#define PLL_CS_BYPASS_BITS _u(0x00000100)
+#define PLL_CS_BYPASS_MSB _u(8)
+#define PLL_CS_BYPASS_LSB _u(8)
+#define PLL_CS_BYPASS_ACCESS "RW"
+// -----------------------------------------------------------------------------
+// Field : PLL_CS_REFDIV
+// Description : Divides the PLL input reference clock.
+// Behaviour is undefined for div=0.
+// PLL output will be unpredictable during refdiv changes, wait
+// for lock=1 before using it.
+#define PLL_CS_REFDIV_RESET _u(0x01)
+#define PLL_CS_REFDIV_BITS _u(0x0000003f)
+#define PLL_CS_REFDIV_MSB _u(5)
+#define PLL_CS_REFDIV_LSB _u(0)
+#define PLL_CS_REFDIV_ACCESS "RW"
+// =============================================================================
+// Register : PLL_PWR
+// Description : Controls the PLL power modes.
+#define PLL_PWR_OFFSET _u(0x00000004)
+#define PLL_PWR_BITS _u(0x0000002d)
+#define PLL_PWR_RESET _u(0x0000002d)
+// -----------------------------------------------------------------------------
+// Field : PLL_PWR_VCOPD
+// Description : PLL VCO powerdown
+// To save power set high when PLL output not required or
+// bypass=1.
+#define PLL_PWR_VCOPD_RESET _u(0x1)
+#define PLL_PWR_VCOPD_BITS _u(0x00000020)
+#define PLL_PWR_VCOPD_MSB _u(5)
+#define PLL_PWR_VCOPD_LSB _u(5)
+#define PLL_PWR_VCOPD_ACCESS "RW"
+// -----------------------------------------------------------------------------
+// Field : PLL_PWR_POSTDIVPD
+// Description : PLL post divider powerdown
+// To save power set high when PLL output not required or
+// bypass=1.
+#define PLL_PWR_POSTDIVPD_RESET _u(0x1)
+#define PLL_PWR_POSTDIVPD_BITS _u(0x00000008)
+#define PLL_PWR_POSTDIVPD_MSB _u(3)
+#define PLL_PWR_POSTDIVPD_LSB _u(3)
+#define PLL_PWR_POSTDIVPD_ACCESS "RW"
+// -----------------------------------------------------------------------------
+// Field : PLL_PWR_DSMPD
+// Description : PLL DSM powerdown
+// Nothing is achieved by setting this low.
+#define PLL_PWR_DSMPD_RESET _u(0x1)
+#define PLL_PWR_DSMPD_BITS _u(0x00000004)
+#define PLL_PWR_DSMPD_MSB _u(2)
+#define PLL_PWR_DSMPD_LSB _u(2)
+#define PLL_PWR_DSMPD_ACCESS "RW"
+// -----------------------------------------------------------------------------
+// Field : PLL_PWR_PD
+// Description : PLL powerdown
+// To save power set high when PLL output not required.
+#define PLL_PWR_PD_RESET _u(0x1)
+#define PLL_PWR_PD_BITS _u(0x00000001)
+#define PLL_PWR_PD_MSB _u(0)
+#define PLL_PWR_PD_LSB _u(0)
+#define PLL_PWR_PD_ACCESS "RW"
+// =============================================================================
+// Register : PLL_FBDIV_INT
+// Description : Feedback divisor
+// (note: this PLL does not support fractional division)
+// see ctrl reg description for constraints
+#define PLL_FBDIV_INT_OFFSET _u(0x00000008)
+#define PLL_FBDIV_INT_BITS _u(0x00000fff)
+#define PLL_FBDIV_INT_RESET _u(0x00000000)
+#define PLL_FBDIV_INT_MSB _u(11)
+#define PLL_FBDIV_INT_LSB _u(0)
+#define PLL_FBDIV_INT_ACCESS "RW"
+// =============================================================================
+// Register : PLL_PRIM
+// Description : Controls the PLL post dividers for the primary output
+// (note: this PLL does not have a secondary output)
+// the primary output is driven from VCO divided by
+// postdiv1*postdiv2
+#define PLL_PRIM_OFFSET _u(0x0000000c)
+#define PLL_PRIM_BITS _u(0x00077000)
+#define PLL_PRIM_RESET _u(0x00077000)
+// -----------------------------------------------------------------------------
+// Field : PLL_PRIM_POSTDIV1
+// Description : divide by 1-7
+#define PLL_PRIM_POSTDIV1_RESET _u(0x7)
+#define PLL_PRIM_POSTDIV1_BITS _u(0x00070000)
+#define PLL_PRIM_POSTDIV1_MSB _u(18)
+#define PLL_PRIM_POSTDIV1_LSB _u(16)
+#define PLL_PRIM_POSTDIV1_ACCESS "RW"
+// -----------------------------------------------------------------------------
+// Field : PLL_PRIM_POSTDIV2
+// Description : divide by 1-7
+#define PLL_PRIM_POSTDIV2_RESET _u(0x7)
+#define PLL_PRIM_POSTDIV2_BITS _u(0x00007000)
+#define PLL_PRIM_POSTDIV2_MSB _u(14)
+#define PLL_PRIM_POSTDIV2_LSB _u(12)
+#define PLL_PRIM_POSTDIV2_ACCESS "RW"
+// =============================================================================
+// Register : PLL_INTR
+// Description : Raw Interrupts
+#define PLL_INTR_OFFSET _u(0x00000010)
+#define PLL_INTR_BITS _u(0x00000001)
+#define PLL_INTR_RESET _u(0x00000000)
+// -----------------------------------------------------------------------------
+// Field : PLL_INTR_LOCK_N_STICKY
+#define PLL_INTR_LOCK_N_STICKY_RESET _u(0x0)
+#define PLL_INTR_LOCK_N_STICKY_BITS _u(0x00000001)
+#define PLL_INTR_LOCK_N_STICKY_MSB _u(0)
+#define PLL_INTR_LOCK_N_STICKY_LSB _u(0)
+#define PLL_INTR_LOCK_N_STICKY_ACCESS "WC"
+// =============================================================================
+// Register : PLL_INTE
+// Description : Interrupt Enable
+#define PLL_INTE_OFFSET _u(0x00000014)
+#define PLL_INTE_BITS _u(0x00000001)
+#define PLL_INTE_RESET _u(0x00000000)
+// -----------------------------------------------------------------------------
+// Field : PLL_INTE_LOCK_N_STICKY
+#define PLL_INTE_LOCK_N_STICKY_RESET _u(0x0)
+#define PLL_INTE_LOCK_N_STICKY_BITS _u(0x00000001)
+#define PLL_INTE_LOCK_N_STICKY_MSB _u(0)
+#define PLL_INTE_LOCK_N_STICKY_LSB _u(0)
+#define PLL_INTE_LOCK_N_STICKY_ACCESS "RW"
+// =============================================================================
+// Register : PLL_INTF
+// Description : Interrupt Force
+#define PLL_INTF_OFFSET _u(0x00000018)
+#define PLL_INTF_BITS _u(0x00000001)
+#define PLL_INTF_RESET _u(0x00000000)
+// -----------------------------------------------------------------------------
+// Field : PLL_INTF_LOCK_N_STICKY
+#define PLL_INTF_LOCK_N_STICKY_RESET _u(0x0)
+#define PLL_INTF_LOCK_N_STICKY_BITS _u(0x00000001)
+#define PLL_INTF_LOCK_N_STICKY_MSB _u(0)
+#define PLL_INTF_LOCK_N_STICKY_LSB _u(0)
+#define PLL_INTF_LOCK_N_STICKY_ACCESS "RW"
+// =============================================================================
+// Register : PLL_INTS
+// Description : Interrupt status after masking & forcing
+#define PLL_INTS_OFFSET _u(0x0000001c)
+#define PLL_INTS_BITS _u(0x00000001)
+#define PLL_INTS_RESET _u(0x00000000)
+// -----------------------------------------------------------------------------
+// Field : PLL_INTS_LOCK_N_STICKY
+#define PLL_INTS_LOCK_N_STICKY_RESET _u(0x0)
+#define PLL_INTS_LOCK_N_STICKY_BITS _u(0x00000001)
+#define PLL_INTS_LOCK_N_STICKY_MSB _u(0)
+#define PLL_INTS_LOCK_N_STICKY_LSB _u(0)
+#define PLL_INTS_LOCK_N_STICKY_ACCESS "RO"
+// =============================================================================
+#endif // _HARDWARE_REGS_PLL_H
+