coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
power.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /* Power setup code for EXYNOS5 */
4 
5 #include <device/mmio.h>
6 #include <halt.h>
7 #include <soc/dmc.h>
8 #include <soc/power.h>
9 #include <soc/setup.h>
10 
11 /* Set the PS-Hold drive value */
12 static void ps_hold_setup(void)
13 {
14  /* Set PS-Hold high */
17 }
18 
19 void power_reset(void)
20 {
21  /* Clear inform1 so there's no change we think we've got a wake reset */
22  exynos_power->inform1 = 0;
23 
25 }
26 
27 /* This function never returns */
28 void power_shutdown(void)
29 {
32 
33  halt();
34 }
35 
37 {
39 }
40 
42 {
43  /* Enable HW thermal trip */
45 }
46 
48 {
49  return exynos_power->inform1;
50 }
51 
53 {
54  typedef void (*resume_func)(void);
55 
56  ((resume_func)exynos_power->inform0)();
57 }
58 
59 int power_init(void)
60 {
61  ps_hold_setup();
62  return 0;
63 }
64 
66 {
67  /* use xxti for xclk out */
70 }
71 
73 {
75 }
static void write32(void *addr, uint32_t val)
Definition: mmio.h:40
void __noreturn halt(void)
halt the system reliably
Definition: halt.c:6
#define setbits32(addr, set)
Definition: mmio.h:21
#define clrsetbits32(addr, clear, set)
Definition: mmio.h:16
#define clrbits32(addr, clear)
Definition: mmio.h:26
#define PMU_DEBUG_CLKOUT_SEL_MASK
Definition: power.h:25
#define PMU_DEBUG_XXTI
Definition: power.h:23
static struct exynos5_power *const exynos_power
Definition: power.h:52
#define POWER_PS_HOLD_CONTROL_DATA_HIGH
Definition: power.h:17
#define EXYNOS_DP_PHY_ENABLE
Definition: power.h:20
#define POWER_ENABLE_HW_TRIP
Definition: power.h:18
void power_exit_wakeup(void)
Definition: power.c:58
void power_release_uart_retention(void)
Definition: power.c:78
void power_enable_xclkout(void)
Definition: power.c:71
void power_enable_dp_phy(void)
Definition: power.c:42
void power_enable_hw_thermal_trip(void)
Definition: power.c:47
void power_shutdown(void)
Power off the system; it should never return.
Definition: power.c:34
uint32_t power_read_reset_status(void)
Definition: power.c:53
void power_reset(void)
Perform a software reset.
Definition: power.c:20
int power_init(void)
Definition: power.c:65
static void ps_hold_setup(void)
Definition: power.c:12
unsigned int uint32_t
Definition: stdint.h:14
uint32_t dptx_phy_control
Definition: power.h:39
uint32_t padret_uart_opt
Definition: power.h:46
uint32_t ps_hold_ctrl
Definition: power.h:48
uint32_t pmu_debug
Definition: power.h:44
uint32_t sw_reset
Definition: power.h:32
uint32_t inform0
Definition: power.h:41
uint32_t inform1
Definition: power.h:42
typedef void(X86APIP X86EMU_intrFuncs)(int num)