4 #include <soc/addressmap.h>
7 #define FLOW_CTRL_HALT_CPU0_EVENTS 0x0
8 #define FLOW_CTRL_WAITEVENT (2 << 29)
9 #define FLOW_CTRL_WAIT_FOR_INTERRUPT (4 << 29)
10 #define FLOW_CTRL_HALT_SCLK (1 << 27)
11 #define FLOW_CTRL_HALT_LIC_IRQ (1 << 11)
12 #define FLOW_CTRL_HALT_LIC_FIQ (1 << 10)
13 #define FLOW_CTRL_HALT_GIC_IRQ (1 << 9)
14 #define FLOW_CTRL_HALT_GIC_FIQ (1 << 8)
15 #define FLOW_CTRL_CPU0_CSR 0x8
16 #define FLOW_CTRL_CSR_INTR_FLAG (1 << 15)
17 #define FLOW_CTRL_CSR_EVENT_FLAG (1 << 14)
18 #define FLOW_CTRL_CSR_WFI_CPU0 (1 << 8)
19 #define FLOW_CTRL_CSR_WFI_BITMAP (0xF << 8)
20 #define FLOW_CTRL_CSR_WFE_BITMAP (0xF << 4)
21 #define FLOW_CTRL_CSR_ENABLE (1 << 0)
22 #define FLOW_CTRL_HALT_CPU1_EVENTS 0x14
23 #define FLOW_CTRL_CPU1_CSR 0x18
24 #define FLOW_CTRL_CC4_CORE0_CTRL 0x6c
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define FLOW_CTRL_CPU1_CSR
static void * tegra_flowctrl_base
#define FLOW_CTRL_WAITEVENT
#define FLOW_CTRL_CSR_INTR_FLAG
#define FLOW_CTRL_HALT_LIC_IRQ
void flowctrl_cpu_off(int cpu)
#define FLOW_CTRL_HALT_CPU0_EVENTS
void flowctrl_write_cc4_ctrl(int cpu, uint32_t val)
static const uint8_t flowctrl_offset_cc4_ctrl[]
#define FLOW_CTRL_HALT_GIC_IRQ
static const uint8_t flowctrl_offset_cpu_csr[]
#define FLOW_CTRL_HALT_SCLK
#define FLOW_CTRL_CSR_ENABLE
#define FLOW_CTRL_HALT_LIC_FIQ
#define FLOW_CTRL_HALT_GIC_FIQ
void flowctrl_write_cpu_halt(int cpu, uint32_t val)
#define FLOW_CTRL_CSR_EVENT_FLAG
#define FLOW_CTRL_CC4_CORE0_CTRL
static const uint8_t flowctrl_offset_halt_cpu[]
#define FLOW_CTRL_HALT_CPU1_EVENTS
void flowctrl_cpu_on(int cpu)
#define FLOW_CTRL_CSR_WFI_CPU0
#define FLOW_CTRL_CPU0_CSR
void flowctrl_cpu_suspend(int cpu)
void flowctrl_write_cpu_csr(int cpu, uint32_t val)