root/include/soc/tegra/flowctrl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. flowctrl_read_cpu_csr
  2. flowctrl_write_cpu_csr
  3. flowctrl_write_cpu_halt
  4. flowctrl_cpu_suspend_enter
  5. flowctrl_cpu_suspend_exit

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Functions and macros to control the flowcontroller
   4  *
   5  * Copyright (c) 2010-2012, NVIDIA Corporation. All rights reserved.
   6  */
   7 
   8 #ifndef __SOC_TEGRA_FLOWCTRL_H__
   9 #define __SOC_TEGRA_FLOWCTRL_H__
  10 
  11 #define FLOW_CTRL_HALT_CPU0_EVENTS      0x0
  12 #define FLOW_CTRL_WAITEVENT             (2 << 29)
  13 #define FLOW_CTRL_WAIT_FOR_INTERRUPT    (4 << 29)
  14 #define FLOW_CTRL_JTAG_RESUME           (1 << 28)
  15 #define FLOW_CTRL_SCLK_RESUME           (1 << 27)
  16 #define FLOW_CTRL_HALT_CPU_IRQ          (1 << 10)
  17 #define FLOW_CTRL_HALT_CPU_FIQ          (1 << 8)
  18 #define FLOW_CTRL_HALT_LIC_IRQ          (1 << 11)
  19 #define FLOW_CTRL_HALT_LIC_FIQ          (1 << 10)
  20 #define FLOW_CTRL_HALT_GIC_IRQ          (1 << 9)
  21 #define FLOW_CTRL_HALT_GIC_FIQ          (1 << 8)
  22 #define FLOW_CTRL_CPU0_CSR              0x8
  23 #define FLOW_CTRL_CSR_INTR_FLAG         (1 << 15)
  24 #define FLOW_CTRL_CSR_EVENT_FLAG        (1 << 14)
  25 #define FLOW_CTRL_CSR_ENABLE_EXT_CRAIL  (1 << 13)
  26 #define FLOW_CTRL_CSR_ENABLE_EXT_NCPU   (1 << 12)
  27 #define FLOW_CTRL_CSR_ENABLE_EXT_MASK ( \
  28                 FLOW_CTRL_CSR_ENABLE_EXT_NCPU | \
  29                 FLOW_CTRL_CSR_ENABLE_EXT_CRAIL)
  30 #define FLOW_CTRL_CSR_ENABLE            (1 << 0)
  31 #define FLOW_CTRL_HALT_CPU1_EVENTS      0x14
  32 #define FLOW_CTRL_CPU1_CSR              0x18
  33 
  34 #define TEGRA20_FLOW_CTRL_CSR_WFE_CPU0          (1 << 4)
  35 #define TEGRA20_FLOW_CTRL_CSR_WFE_BITMAP        (3 << 4)
  36 #define TEGRA20_FLOW_CTRL_CSR_WFI_BITMAP        0
  37 
  38 #define TEGRA30_FLOW_CTRL_CSR_WFI_CPU0          (1 << 8)
  39 #define TEGRA30_FLOW_CTRL_CSR_WFE_BITMAP        (0xF << 4)
  40 #define TEGRA30_FLOW_CTRL_CSR_WFI_BITMAP        (0xF << 8)
  41 
  42 #ifndef __ASSEMBLY__
  43 #ifdef CONFIG_SOC_TEGRA_FLOWCTRL
  44 u32 flowctrl_read_cpu_csr(unsigned int cpuid);
  45 void flowctrl_write_cpu_csr(unsigned int cpuid, u32 value);
  46 void flowctrl_write_cpu_halt(unsigned int cpuid, u32 value);
  47 
  48 void flowctrl_cpu_suspend_enter(unsigned int cpuid);
  49 void flowctrl_cpu_suspend_exit(unsigned int cpuid);
  50 #else
  51 static inline u32 flowctrl_read_cpu_csr(unsigned int cpuid)
  52 {
  53         return 0;
  54 }
  55 
  56 static inline void flowctrl_write_cpu_csr(unsigned int cpuid, u32 value)
  57 {
  58 }
  59 
  60 static inline void flowctrl_write_cpu_halt(unsigned int cpuid, u32 value) {}
  61 
  62 static inline void flowctrl_cpu_suspend_enter(unsigned int cpuid)
  63 {
  64 }
  65 
  66 static inline void flowctrl_cpu_suspend_exit(unsigned int cpuid)
  67 {
  68 }
  69 #endif /* CONFIG_SOC_TEGRA_FLOWCTRL */
  70 #endif /* __ASSEMBLY */
  71 #endif /* __SOC_TEGRA_FLOWCTRL_H__ */

/* [<][>][^][v][top][bottom][index][help] */