uboot/arch/arm/mach-socfpga/include/mach/reset_manager_arria10.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright (C) 2016-2017 Intel Corporation
   4 */
   5
   6#ifndef _RESET_MANAGER_ARRIA10_H_
   7#define _RESET_MANAGER_ARRIA10_H_
   8
   9#include <dt-bindings/reset/altr,rst-mgr-a10.h>
  10#include <linux/bitops.h>
  11
  12void socfpga_watchdog_disable(void);
  13void socfpga_reset_deassert_noc_ddr_scheduler(void);
  14int socfpga_reset_deassert_bridges_handoff(void);
  15void socfpga_reset_deassert_osc1wd0(void);
  16int socfpga_bridges_reset(void);
  17
  18#define RSTMGR_A10_STATUS       0x00
  19#define RSTMGR_A10_CTRL         0x0c
  20#define RSTMGR_A10_MPUMODRST    0x20
  21#define RSTMGR_A10_PER0MODRST   0x24
  22#define RSTMGR_A10_PER1MODRST   0x28
  23#define RSTMGR_A10_BRGMODRST    0x2c
  24#define RSTMGR_A10_SYSMODRST    0x30
  25
  26#define RSTMGR_CTRL             RSTMGR_A10_CTRL
  27
  28/*
  29 * SocFPGA Arria10 reset IDs, bank mapping is as follows:
  30 * 0 ... mpumodrst
  31 * 1 ... per0modrst
  32 * 2 ... per1modrst
  33 * 3 ... brgmodrst
  34 * 4 ... sysmodrst
  35 */
  36#define RSTMGR_EMAC0            RSTMGR_DEFINE(1, 0)
  37#define RSTMGR_EMAC1            RSTMGR_DEFINE(1, 1)
  38#define RSTMGR_EMAC2            RSTMGR_DEFINE(1, 2)
  39#define RSTMGR_NAND             RSTMGR_DEFINE(1, 5)
  40#define RSTMGR_QSPI             RSTMGR_DEFINE(1, 6)
  41#define RSTMGR_SDMMC            RSTMGR_DEFINE(1, 7)
  42#define RSTMGR_DMA              RSTMGR_DEFINE(1, 16)
  43#define RSTMGR_SPIM0            RSTMGR_DEFINE(1, 17)
  44#define RSTMGR_SPIM1            RSTMGR_DEFINE(1, 18)
  45#define RSTMGR_L4WD0            RSTMGR_DEFINE(2, 0)
  46#define RSTMGR_L4WD1            RSTMGR_DEFINE(2, 1)
  47#define RSTMGR_L4SYSTIMER0      RSTMGR_DEFINE(2, 2)
  48#define RSTMGR_L4SYSTIMER1      RSTMGR_DEFINE(2, 3)
  49#define RSTMGR_SPTIMER0         RSTMGR_DEFINE(2, 4)
  50#define RSTMGR_SPTIMER1         RSTMGR_DEFINE(2, 5)
  51#define RSTMGR_UART0            RSTMGR_DEFINE(2, 16)
  52#define RSTMGR_UART1            RSTMGR_DEFINE(2, 17)
  53#define RSTMGR_DDRSCH           RSTMGR_DEFINE(3, 6)
  54
  55#define ALT_RSTMGR_CTL_SWWARMRSTREQ_SET_MSK     BIT(1)
  56#define ALT_RSTMGR_PER0MODRST_EMAC0_SET_MSK     BIT(0)
  57#define ALT_RSTMGR_PER0MODRST_EMAC1_SET_MSK     BIT(1)
  58#define ALT_RSTMGR_PER0MODRST_EMAC2_SET_MSK     BIT(2)
  59#define ALT_RSTMGR_PER0MODRST_USB0_SET_MSK      BIT(3)
  60#define ALT_RSTMGR_PER0MODRST_USB1_SET_MSK      BIT(4)
  61#define ALT_RSTMGR_PER0MODRST_NAND_SET_MSK      BIT(5)
  62#define ALT_RSTMGR_PER0MODRST_QSPI_SET_MSK      BIT(6)
  63#define ALT_RSTMGR_PER0MODRST_SDMMC_SET_MSK     BIT(7)
  64#define ALT_RSTMGR_PER0MODRST_EMACECC0_SET_MSK  BIT(8)
  65#define ALT_RSTMGR_PER0MODRST_EMACECC1_SET_MSK  BIT(9)
  66#define ALT_RSTMGR_PER0MODRST_EMACECC2_SET_MSK  BIT(10)
  67#define ALT_RSTMGR_PER0MODRST_USBECC0_SET_MSK   BIT(11)
  68#define ALT_RSTMGR_PER0MODRST_USBECC1_SET_MSK   BIT(12)
  69#define ALT_RSTMGR_PER0MODRST_NANDECC_SET_MSK   BIT(13)
  70#define ALT_RSTMGR_PER0MODRST_QSPIECC_SET_MSK   BIT(14)
  71#define ALT_RSTMGR_PER0MODRST_SDMMCECC_SET_MSK  BIT(15)
  72#define ALT_RSTMGR_PER0MODRST_DMA_SET_MSK       BIT(16)
  73#define ALT_RSTMGR_PER0MODRST_SPIM0_SET_MSK     BIT(17)
  74#define ALT_RSTMGR_PER0MODRST_SPIM1_SET_MSK     BIT(18)
  75#define ALT_RSTMGR_PER0MODRST_SPIS0_SET_MSK     BIT(19)
  76#define ALT_RSTMGR_PER0MODRST_SPIS1_SET_MSK     BIT(20)
  77#define ALT_RSTMGR_PER0MODRST_DMAECC_SET_MSK    BIT(21)
  78#define ALT_RSTMGR_PER0MODRST_EMACPTP_SET_MSK   BIT(22)
  79#define ALT_RSTMGR_PER0MODRST_DMAIF0_SET_MSK    BIT(24)
  80#define ALT_RSTMGR_PER0MODRST_DMAIF1_SET_MSK    BIT(25)
  81#define ALT_RSTMGR_PER0MODRST_DMAIF2_SET_MSK    BIT(26)
  82#define ALT_RSTMGR_PER0MODRST_DMAIF3_SET_MSK    BIT(27)
  83#define ALT_RSTMGR_PER0MODRST_DMAIF4_SET_MSK    BIT(28)
  84#define ALT_RSTMGR_PER0MODRST_DMAIF5_SET_MSK    BIT(29)
  85#define ALT_RSTMGR_PER0MODRST_DMAIF6_SET_MSK    BIT(30)
  86#define ALT_RSTMGR_PER0MODRST_DMAIF7_SET_MSK    BIT(31)
  87
  88#define ALT_RSTMGR_PER1MODRST_WD0_SET_MSK       BIT(0)
  89#define ALT_RSTMGR_PER1MODRST_WD1_SET_MSK       BIT(1)
  90#define ALT_RSTMGR_PER1MODRST_L4SYSTMR0_SET_MSK BIT(2)
  91#define ALT_RSTMGR_PER1MODRST_L4SYSTMR1_SET_MSK BIT(3)
  92#define ALT_RSTMGR_PER1MODRST_SPTMR0_SET_MSK    BIT(4)
  93#define ALT_RSTMGR_PER1MODRST_SPTMR1_SET_MSK    BIT(5)
  94#define ALT_RSTMGR_PER1MODRST_I2C0_SET_MSK      BIT(8)
  95#define ALT_RSTMGR_PER1MODRST_I2C1_SET_MSK      BIT(9)
  96#define ALT_RSTMGR_PER1MODRST_I2C2_SET_MSK      BIT(10)
  97#define ALT_RSTMGR_PER1MODRST_I2C3_SET_MSK      BIT(11)
  98#define ALT_RSTMGR_PER1MODRST_I2C4_SET_MSK      BIT(12)
  99#define ALT_RSTMGR_PER1MODRST_UART0_SET_MSK     BIT(16)
 100#define ALT_RSTMGR_PER1MODRST_UART1_SET_MSK     BIT(17)
 101#define ALT_RSTMGR_PER1MODRST_GPIO0_SET_MSK     BIT(24)
 102#define ALT_RSTMGR_PER1MODRST_GPIO1_SET_MSK     BIT(25)
 103#define ALT_RSTMGR_PER1MODRST_GPIO2_SET_MSK     BIT(26)
 104
 105#define ALT_RSTMGR_BRGMODRST_H2F_SET_MSK        BIT(0)
 106#define ALT_RSTMGR_BRGMODRST_LWH2F_SET_MSK      BIT(1)
 107#define ALT_RSTMGR_BRGMODRST_F2H_SET_MSK        BIT(2)
 108#define ALT_RSTMGR_BRGMODRST_F2SSDRAM0_SET_MSK  BIT(3)
 109#define ALT_RSTMGR_BRGMODRST_F2SSDRAM1_SET_MSK  BIT(4)
 110#define ALT_RSTMGR_BRGMODRST_F2SSDRAM2_SET_MSK  BIT(5)
 111#define ALT_RSTMGR_BRGMODRST_DDRSCH_SET_MSK     BIT(6)
 112
 113#define ALT_RSTMGR_HDSKEN_SDRSELFREFEN_SET_MSK  BIT(0)
 114#define ALT_RSTMGR_HDSKEN_FPGAMGRHSEN_SET_MSK   BIT(1)
 115#define ALT_RSTMGR_HDSKEN_FPGAHSEN_SET_MSK      BIT(2)
 116#define ALT_RSTMGR_HDSKEN_ETRSTALLEN_SET_MSK    BIT(3)
 117
 118#endif /* _RESET_MANAGER_ARRIA10_H_ */
 119