1 /* $NetBSD: cycv_reg.h,v 1.1 2018/09/19 17:31:38 aymeric Exp $ */ 2 #ifndef _ARM_ALTERA_CYCV_REG_H 3 #define _ARM_ALTERA_CYCV_REG_H 4 5 #define CYCV_SDRAM_BASE 0x0 6 7 #define CYCV_PERIPHERAL_BASE 0xFC000000 8 #define CYCV_PERIPHERAL_SIZE (64 * 1024 * 1024) 9 10 #define CYCV_PERIPHERAL_VBASE CYCV_PERIPHERAL_BASE 11 12 /* Clock manager */ 13 14 #define CYCV_CLKMGR_BASE 0xFFD04000 15 #define CYCV_CLKMGR_SIZE 0x1000 16 17 #define CYCV_CLKMGR_CTRL 0x00 18 #define CYCV_CLKMGR_CTRL_SAFEMODE __BIT(0) 19 #define CYCV_CLKMGR_CTRL_ENSFMDWR __BIT(2) 20 21 #define CYCV_CLKMGR_BYPASS 0x04 22 #define CYCV_CLKMGR_BYPASS_MAINPLL __BIT(0) 23 #define CYCV_CLKMGR_BYPASS_SDRPLL __BIT(1) 24 #define CYCV_CLKMGR_BYPASS_SDRPLLSRC __BIT(2) 25 #define CYCV_CLKMGR_BYPASS_PERPLL __BIT(3) 26 #define CYCV_CLKMGR_BYPASS_PERPLLSRC __BIT(4) 27 28 #define CYCV_CLKMGR_INTER 0x08 29 #define CYCV_CLKMGR_INT_MAINPLLACHIEVED __BIT(0) 30 #define CYCV_CLKMGR_INT_PERPLLACHIEVED __BIT(1) 31 #define CYCV_CLKMGR_INT_SDRPLLACHIEVED __BIT(2) 32 #define CYCV_CLKMGR_INT_MAINPLLLOST __BIT(3) 33 #define CYCV_CLKMGR_INT_PERPLLLOST __BIT(4) 34 #define CYCV_CLKMGR_INT_SDRPLLLOST __BIT(5) 35 #define CYCV_CLKMGR_INTER_MAINPLLLOCKED __BIT(6) 36 #define CYCV_CLKMGR_INTER_PERPLLLOCKED __BIT(7) 37 #define CYCV_CLKMGR_INTER_SDRPLLLOCKED __BIT(8) 38 39 #define CYCV_CLKMGR_INTREN 0x0C 40 /* See CYCV_CLKMGR_INT_* above */ 41 42 #define CYCV_CLKMGR_DBCTRL 0x10 43 #define CYCV_CLKMGR_STAT 0x14 44 45 #define CYCV_CLKMGR_MAIN_PLL_VCO 0x40 46 #define CYCV_CLKMGR_PLL_VCO_NUMER __BITS(3, 15) 47 #define CYCV_CLKMGR_PLL_VCO_DENOM __BITS(16, 21) 48 #define CYCV_CLKMGR_MAIN_PLL_MISC 0x44 49 #define CYCV_CLKMGR_MAIN_PLL_MPUCLK 0x48 50 #define CYCV_CLKMGR_MAIN_PLL_MPUCLK_CNT __BITS(0, 8) 51 #define CYCV_CLKMGR_MAIN_PLL_MAINCLK 0x4C 52 #define CYCV_CLKMGR_MAIN_PLL_MAINCLK_CNT __BITS(0, 8) 53 #define CYCV_CLKMGR_MAIN_PLL_DBGATCLK 0x50 54 #define CYCV_CLKMGR_MAIN_PLL_MAINQSPICLK 0x54 55 #define CYCV_CLKMGR_MAIN_PLL_MAINNANDSDMMCCLK 0x58 56 #define CYCV_CLKMGR_MAIN_PLL_CFGS2FUSER0CLK 0x5C 57 #define CYCV_CLKMGR_MAIN_PLL_EN 0x60 58 #define CYCV_CLKMGR_MAIN_PLL_MAINDIV 0x64 59 #define CYCV_CLKMGR_MAIN_PLL_MAINDIV_L4SP __BITS(7, 9) 60 #define CYCV_CLKMGR_MAIN_PLL_DBGDIV 0x68 61 #define CYCV_CLKMGR_MAIN_PLL_TRACEDIV 0x6C 62 #define CYCV_CLKMGR_MAIN_PLL_L4SRC 0x70 63 #define CYCV_CLKMGR_MAIN_PLL_L4SRC_L4SP __BIT(1) 64 #define CYCV_CLKMGR_MAIN_PLL_L4SRC_L4MP __BIT(0) 65 #define CYCV_CLKMGR_MAIN_PLL_STAT 0x74 66 67 #define CYCV_CLKMGR_PERI_PLL_VCO 0x80 68 #define CYCV_CLKMGR_PERI_PLL_MISC 0x84 69 #define CYCV_CLKMGR_PERI_PLL_EMAC0CLK 0x88 70 #define CYCV_CLKMGR_PERI_PLL_EMAC1CLK 0x8C 71 #define CYCV_CLKMGR_PERI_PLL_PERQSPICLK 0x90 72 #define CYCV_CLKMGR_PERI_PLL_PERNANDSDMMCCLK 0x94 73 #define CYCV_CLKMGR_PERI_PLL_PERBASECLK 0x98 74 #define CYCV_CLKMGR_PERI_PLL_PERBASECLK_CNT __BITS(0, 8) 75 #define CYCV_CLKMGR_PERI_PLL_H2FUSER1CLK 0x9C 76 #define CYCV_CLKMGR_PERI_PLL_EN 0xA0 77 #define CYCV_CLKMGR_PERI_PLL_DIV 0xA4 78 #define CYCV_CLKMGR_PERI_PLL_GPIODIV 0xA8 79 #define CYCV_CLKMGR_PERI_PLL_SRC 0xAC 80 #define CYCV_CLKMGR_PERI_PLL_STAT 0xB0 81 82 #define CYCV_CLKMGR_SDRAM_PLL_VCO 0xC0 83 #define CYCV_CLKMGR_SDRAM_PLL_CTRL 0xC4 84 #define CYCV_CLKMGR_SDRAM_PLL_DDRDQSCLK 0xC8 85 #define CYCV_CLKMGR_SDRAM_PLL_DDR2XDQSCLK 0xCC 86 #define CYCV_CLKMGR_SDRAM_PLL_DDRDQCLK 0xD0 87 #define CYCV_CLKMGR_SDRAM_PLL_S2FUSER2CLK 0xD4 88 #define CYCV_CLKMGR_SDRAM_PLL_EN 0xD8 89 #define CYCV_CLKMGR_SDRAM_PLL_STAT 0xDC 90 91 /* Reset manager */ 92 93 #define CYCV_RSTMGR_BASE 0xFFD05000 94 #define CYCV_RSTMGR_SIZE 0x24 95 96 #define CYCV_RSTMGR_STAT 0x00 97 #define CYCV_RSTMGR_CTRL 0x04 98 #define CYCV_RSTMGR_CTRL_SWCOLDRSTREQ __BIT(0) 99 #define CYCV_RSTMGR_COUNTS 0x08 100 #define CYCV_RSTMGR_MPUMODRST 0x10 101 #define CYCV_RSTMGR_MPUMODRST_CPU1 __BIT(1) 102 #define CYCV_RSTMGR_PERMODRST 0x14 103 #define CYCV_RSTMGR_PER2MODRST 0x18 104 #define CYCV_RSTMGR_BRGMODRST 0x1C 105 #define CYCV_RSTMGR_MISCMODRST 0x20 106 107 /* Snoop Control Unit */ 108 109 #define CYCV_SCU_BASE 0xFFFEC000 110 #define CYCV_SCU_SIZE 0x100 111 112 /* Level 2 Cache */ 113 114 #define CYCV_L2CACHE_BASE 0xFFFEF000 115 #define CYCV_L2CACHE_SIZE 0x1000 116 117 #endif /* _ARM_ALTERA_CYCV_REG_H */ 118