1107b3fb4SMasahiro Yamada /* 2107b3fb4SMasahiro Yamada * UniPhier SC (System Control) block registers 3107b3fb4SMasahiro Yamada * 4*29d63a59SMasahiro Yamada * Copyright (C) 2011-2015 Panasonic Corporation 5*29d63a59SMasahiro Yamada * Copyright (C) 2015-2016 Socionext Inc. 6*29d63a59SMasahiro Yamada * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 7107b3fb4SMasahiro Yamada * 8107b3fb4SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 9107b3fb4SMasahiro Yamada */ 10107b3fb4SMasahiro Yamada 11107b3fb4SMasahiro Yamada #ifndef ARCH_SC_REGS_H 12107b3fb4SMasahiro Yamada #define ARCH_SC_REGS_H 13107b3fb4SMasahiro Yamada 14107b3fb4SMasahiro Yamada #define SC_BASE_ADDR 0x61840000 15107b3fb4SMasahiro Yamada 16107b3fb4SMasahiro Yamada #define SC_DPLLOSCCTRL (SC_BASE_ADDR | 0x1110) 17107b3fb4SMasahiro Yamada #define SC_DPLLOSCCTRL_DPLLST (0x1 << 1) 18107b3fb4SMasahiro Yamada #define SC_DPLLOSCCTRL_DPLLEN (0x1 << 0) 19107b3fb4SMasahiro Yamada 20107b3fb4SMasahiro Yamada #define SC_DPLLCTRL (SC_BASE_ADDR | 0x1200) 21107b3fb4SMasahiro Yamada #define SC_DPLLCTRL_SSC_EN (0x1 << 31) 22107b3fb4SMasahiro Yamada #define SC_DPLLCTRL_FOUTMODE_MASK (0xf << 16) 23107b3fb4SMasahiro Yamada #define SC_DPLLCTRL_SSC_RATE (0x1 << 15) 24107b3fb4SMasahiro Yamada 25107b3fb4SMasahiro Yamada #define SC_DPLLCTRL2 (SC_BASE_ADDR | 0x1204) 26107b3fb4SMasahiro Yamada #define SC_DPLLCTRL2_NRSTDS (0x1 << 28) 27107b3fb4SMasahiro Yamada 28107b3fb4SMasahiro Yamada #define SC_DPLLCTRL3 (SC_BASE_ADDR | 0x1208) 29107b3fb4SMasahiro Yamada #define SC_DPLLCTRL3_LPFSEL_COEF2 (0x0 << 31) 30107b3fb4SMasahiro Yamada #define SC_DPLLCTRL3_LPFSEL_COEF3 (0x1 << 31) 31107b3fb4SMasahiro Yamada 32107b3fb4SMasahiro Yamada #define SC_UPLLCTRL (SC_BASE_ADDR | 0x1210) 33107b3fb4SMasahiro Yamada 34107b3fb4SMasahiro Yamada #define SC_VPLL27ACTRL (SC_BASE_ADDR | 0x1270) 35107b3fb4SMasahiro Yamada #define SC_VPLL27ACTRL2 (SC_BASE_ADDR | 0x1274) 36107b3fb4SMasahiro Yamada #define SC_VPLL27ACTRL3 (SC_BASE_ADDR | 0x1278) 37107b3fb4SMasahiro Yamada 38107b3fb4SMasahiro Yamada #define SC_VPLL27BCTRL (SC_BASE_ADDR | 0x1290) 39107b3fb4SMasahiro Yamada #define SC_VPLL27BCTRL2 (SC_BASE_ADDR | 0x1294) 40107b3fb4SMasahiro Yamada #define SC_VPLL27BCTRL3 (SC_BASE_ADDR | 0x1298) 41107b3fb4SMasahiro Yamada 42107b3fb4SMasahiro Yamada #define SC_RSTCTRL (SC_BASE_ADDR | 0x2000) 43107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_USB3B0 (0x1 << 17) /* USB3 #0 bus */ 44107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_USB3C0 (0x1 << 16) /* USB3 #0 core */ 45107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_ETHER (0x1 << 12) 46107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_STDMAC (0x1 << 10) 47107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_GIO (0x1 << 6) 48107b3fb4SMasahiro Yamada /* Pro4 or older */ 49107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_UMC1 (0x1 << 5) 50107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_UMC0 (0x1 << 4) 51107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_NAND (0x1 << 2) 52107b3fb4SMasahiro Yamada 53107b3fb4SMasahiro Yamada #define SC_RSTCTRL2 (SC_BASE_ADDR | 0x2004) 54107b3fb4SMasahiro Yamada #define SC_RSTCTRL2_NRST_USB3B1 (0x1 << 17) /* USB3 #1 bus */ 55107b3fb4SMasahiro Yamada #define SC_RSTCTRL2_NRST_USB3C1 (0x1 << 16) /* USB3 #1 core */ 56107b3fb4SMasahiro Yamada 57107b3fb4SMasahiro Yamada #define SC_RSTCTRL3 (SC_BASE_ADDR | 0x2008) 58107b3fb4SMasahiro Yamada 59107b3fb4SMasahiro Yamada /* Pro5 or newer */ 60107b3fb4SMasahiro Yamada #define SC_RSTCTRL4 (SC_BASE_ADDR | 0x200c) 61107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCSB (0x1 << 12) /* UMC system bus */ 62107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCA2 (0x1 << 10) /* UMC ch2 standby */ 63107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCA1 (0x1 << 9) /* UMC ch1 standby */ 64107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCA0 (0x1 << 8) /* UMC ch0 standby */ 65107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMC32 (0x1 << 6) /* UMC ch2 */ 66107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMC31 (0x1 << 5) /* UMC ch1 */ 67107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMC30 (0x1 << 4) /* UMC ch0 */ 68107b3fb4SMasahiro Yamada 69*29d63a59SMasahiro Yamada #define SC_RSTCTRL5 (SC_BASE_ADDR | 0x2010) 70*29d63a59SMasahiro Yamada 71*29d63a59SMasahiro Yamada #define SC_RSTCTRL6 (SC_BASE_ADDR | 0x2014) 72*29d63a59SMasahiro Yamada 73107b3fb4SMasahiro Yamada #define SC_CLKCTRL (SC_BASE_ADDR | 0x2104) 74107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_USB31 (0x1 << 17) /* USB3 #1 */ 75107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_USB30 (0x1 << 16) /* USB3 #0 */ 76107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_ETHER (0x1 << 12) 77107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_MIO (0x1 << 11) 78107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_STDMAC (0x1 << 10) 79107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_GIO (0x1 << 6) 80107b3fb4SMasahiro Yamada /* Pro4 or older */ 81107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_UMC (0x1 << 4) 82107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_NAND (0x1 << 2) 83107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_SBC (0x1 << 1) 84107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_PERI (0x1 << 0) 85107b3fb4SMasahiro Yamada 86107b3fb4SMasahiro Yamada /* Pro5 or newer */ 87107b3fb4SMasahiro Yamada #define SC_CLKCTRL4 (SC_BASE_ADDR | 0x210c) 88107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMCSB (0x1 << 12) /* UMC system bus */ 89107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMC2 (0x1 << 2) /* UMC ch2 */ 90107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMC1 (0x1 << 1) /* UMC ch1 */ 91107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMC0 (0x1 << 0) /* UMC ch0 */ 92107b3fb4SMasahiro Yamada 93107b3fb4SMasahiro Yamada /* System reset control register */ 94107b3fb4SMasahiro Yamada #define SC_IRQTIMSET (SC_BASE_ADDR | 0x3000) 95107b3fb4SMasahiro Yamada #define SC_SLFRSTSEL (SC_BASE_ADDR | 0x3010) 96107b3fb4SMasahiro Yamada #define SC_SLFRSTCTL (SC_BASE_ADDR | 0x3014) 97107b3fb4SMasahiro Yamada 98107b3fb4SMasahiro Yamada #endif /* ARCH_SC_REGS_H */ 99