blob: 1e52bb1ef165654debc203668ac26f3fe30389fa [file] [log] [blame]
Masahiro Yamada408dd772016-03-18 16:41:51 +09001/*
2 * UniPhier SC (System Control) block registers for ARMv8 SoCs
3 *
Masahiro Yamadad11b0b72016-09-17 03:33:11 +09004 * Copyright (C) 2016 Socionext Inc.
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada408dd772016-03-18 16:41:51 +09006 *
7 * SPDX-License-Identifier: GPL-2.0+
8 */
9
10#ifndef SC64_REGS_H
11#define SC64_REGS_H
12
13#define SC_BASE_ADDR 0x61840000
14
Masahiro Yamadad11b0b72016-09-17 03:33:11 +090015/* PLL type: SSC */
16#define SC_CPLLCTRL (SC_BASE_ADDR | 0x1400) /* LD20: CPU/ARM */
17#define SC_SPLLCTRL (SC_BASE_ADDR | 0x1410) /* LD20: misc */
18#define SC_SPLL2CTRL (SC_BASE_ADDR | 0x1420) /* LD20: IPP */
19#define SC_MPLLCTRL (SC_BASE_ADDR | 0x1430) /* LD20: Video codec */
20#define SC_VPPLLCTRL (SC_BASE_ADDR | 0x1440) /* LD20: VPE etc. */
21#define SC_GPPLLCTRL (SC_BASE_ADDR | 0x1450) /* LD20: GPU/Mali */
22#define SC_DPLL0CTRL (SC_BASE_ADDR | 0x1460) /* LD20: DDR memory 0 */
23#define SC_DPLL1CTRL (SC_BASE_ADDR | 0x1470) /* LD20: DDR memory 1 */
24#define SC_DPLL2CTRL (SC_BASE_ADDR | 0x1480) /* LD20: DDR memory 2 */
25
26/* PLL type: VPLL27 */
27#define SC_VPLL27FCTRL (SC_BASE_ADDR | 0x1500)
28#define SC_VPLL27ACTRL (SC_BASE_ADDR | 0x1520)
29
30/* PLL type: DSPLL */
31#define SC_VPLL8KCTRL (SC_BASE_ADDR | 0x1540)
32#define SC_A2PLLCTRL (SC_BASE_ADDR | 0x15C0)
33
Masahiro Yamada408dd772016-03-18 16:41:51 +090034#define SC_RSTCTRL (SC_BASE_ADDR | 0x2000)
35#define SC_RSTCTRL3 (SC_BASE_ADDR | 0x2008)
36#define SC_RSTCTRL4 (SC_BASE_ADDR | 0x200c)
37#define SC_RSTCTRL4_ETHER (1 << 6)
38#define SC_RSTCTRL4_NAND (1 << 0)
39#define SC_RSTCTRL5 (SC_BASE_ADDR | 0x2010)
40#define SC_RSTCTRL6 (SC_BASE_ADDR | 0x2014)
41#define SC_RSTCTRL7 (SC_BASE_ADDR | 0x2018)
42#define SC_RSTCTRL7_UMCSB (1 << 16)
43#define SC_RSTCTRL7_UMCA2 (1 << 10)
44#define SC_RSTCTRL7_UMCA1 (1 << 9)
45#define SC_RSTCTRL7_UMCA0 (1 << 8)
46#define SC_RSTCTRL7_UMC32 (1 << 2)
47#define SC_RSTCTRL7_UMC31 (1 << 1)
48#define SC_RSTCTRL7_UMC30 (1 << 0)
49
50#define SC_CLKCTRL (SC_BASE_ADDR | 0x2100)
51#define SC_CLKCTRL3 (SC_BASE_ADDR | 0x2108)
52#define SC_CLKCTRL4 (SC_BASE_ADDR | 0x210c)
53#define SC_CLKCTRL4_PERI (1 << 7)
54#define SC_CLKCTRL4_ETHER (1 << 6)
55#define SC_CLKCTRL4_NAND (1 << 0)
56#define SC_CLKCTRL5 (SC_BASE_ADDR | 0x2110)
57#define SC_CLKCTRL6 (SC_BASE_ADDR | 0x2114)
58#define SC_CLKCTRL7 (SC_BASE_ADDR | 0x2118)
59#define SC_CLKCTRL7_UMCSB (1 << 16)
60#define SC_CLKCTRL7_UMC32 (1 << 2)
61#define SC_CLKCTRL7_UMC31 (1 << 1)
62#define SC_CLKCTRL7_UMC30 (1 << 0)
63
64#endif /* SC64_REGS_H */