20 #include "pedigree/kernel/processor/MemoryRegion.h" 21 #include "pedigree/kernel/processor/types.h" 33 static Prcm &instance()
50 OCP_System_Reg_CM = 0x0800,
55 Clock_Control_Reg_CM = 0x0D00,
60 Global_Reg_CM = 0x1200,
70 CM_AUTOIDLE_PER = 0x30,
72 CM_SLEEPDEP_PER = 0x44,
73 CM_CLKSTCRL_PER = 0x48,
74 CM_CLKSTST_PER = 0x4C,
79 CM_FCLKEN1_CORE = 0x00,
80 CM_FCLKEN3_CORE = 0x08,
81 CM_ICLKEN1_CORE = 0x10,
82 CM_ICLKEN3_CORE = 0x18,
83 CM_IDLEST1_CORE = 0x20,
84 CM_IDLEST3_CORE = 0x28,
85 CM_AUTOIDLE1_CORE = 0x30,
86 CM_AUTOIDLE3_CORE = 0x38,
87 CM_CLKSEL_CORE = 0x40,
88 CM_CLKSTCTRL_CORE = 0x48,
89 CM_CLKSTST_CORE = 0x4C,
96 CM_IDLEST_CKGEN = 0x20,
97 CM_IDLEST2_CKGEN = 0x24,
98 CM_AUTOIDLE_PLL = 0x30,
99 CM_AUTOIDLE2_PLL = 0x34,
100 CM_CLKSEL1_PLL = 0x40,
101 CM_CLKSEL2_PLL = 0x44,
102 CM_CLKSEL3_PLL = 0x48,
103 CM_CLKSEL4_PLL = 0x4C,
104 CM_CLKSEL5_PLL = 0x50,
105 CM_CLKOUT_CTRL = 0x70,
143 static Prcm m_Instance;
void WaitPllIdleStatus(size_t n, size_t clock, bool waitForOn)
void SetClockPLL(size_t n, size_t value)
void SetIfaceClockPER(size_t clock, bool enabled)
void SelectClockPLL(size_t n, size_t value)
void SetFuncClockCORE(size_t n, size_t clock, bool enabled)
void SetFuncClockPER(size_t clock, bool enabled)
void initialise(uintptr_t base)
void SelectClockCORE(size_t clock, Clock which)
Special memory entity in the kernel's virtual address space.
void WaitCoreIdleStatus(size_t n, size_t clock, bool waitForOn)
void SetIfaceClockCORE(size_t n, size_t clock, bool enabled)
void SelectClockPER(size_t clock, Clock which)