blob: 3d2a8770322ee71d3ce9d50b7893495fcea3480f [file] [log] [blame]
Heiko Stuebneraff82aa2019-07-16 22:17:13 +02001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * (C) Copyright 2017 Rockchip Electronics Co., Ltd.
4 */
5#ifndef _ASM_ARCH_GRF_px30_H
6#define _ASM_ARCH_GRF_px30_H
7
8#include <common.h>
9
10struct px30_grf {
11 unsigned int gpio1al_iomux;
12 unsigned int gpio1ah_iomux;
13 unsigned int gpio1bl_iomux;
14 unsigned int gpio1bh_iomux;
15 unsigned int gpio1cl_iomux;
16 unsigned int gpio1ch_iomux;
17 unsigned int gpio1dl_iomux;
18 unsigned int gpio1dh_iomux;
19
20 unsigned int gpio2al_iomux;
21 unsigned int gpio2ah_iomux;
22 unsigned int gpio2bl_iomux;
23 unsigned int gpio2bh_iomux;
24 unsigned int gpio2cl_iomux;
25 unsigned int gpio2ch_iomux;
26 unsigned int gpio2dl_iomux;
27 unsigned int gpio2dh_iomux;
28
29 unsigned int gpio3al_iomux;
30 unsigned int gpio3ah_iomux;
31 unsigned int gpio3bl_iomux;
32 unsigned int gpio3bh_iomux;
33 unsigned int gpio3cl_iomux;
34 unsigned int gpio3ch_iomux;
35 unsigned int gpio3dl_iomux;
36 unsigned int gpio3dh_iomux;
37
38 unsigned int gpio1a_p;
39 unsigned int gpio1b_p;
40 unsigned int gpio1c_p;
41 unsigned int gpio1d_p;
42 unsigned int gpio2a_p;
43 unsigned int gpio2b_p;
44 unsigned int gpio2c_p;
45 unsigned int gpio2d_p;
46 unsigned int gpio3a_p;
47 unsigned int gpio3b_p;
48 unsigned int gpio3c_p;
49 unsigned int gpio3d_p;
50 unsigned int gpio1a_sr;
51 unsigned int gpio1b_sr;
52 unsigned int gpio1c_sr;
53 unsigned int gpio1d_sr;
54 unsigned int gpio2a_sr;
55 unsigned int gpio2b_sr;
56 unsigned int gpio2c_sr;
57 unsigned int gpio2d_sr;
58 unsigned int gpio3a_sr;
59 unsigned int gpio3b_sr;
60 unsigned int gpio3c_sr;
61 unsigned int gpio3d_sr;
62 unsigned int gpio1a_smt;
63 unsigned int gpio1b_smt;
64 unsigned int gpio1c_smt;
65 unsigned int gpio1d_smt;
66 unsigned int gpio2a_smt;
67 unsigned int gpio2b_smt;
68 unsigned int gpio2c_smt;
69 unsigned int gpio2d_smt;
70 unsigned int gpio3a_smt;
71 unsigned int gpio3b_smt;
72 unsigned int gpio3c_smt;
73 unsigned int gpio3d_smt;
74 unsigned int gpio1a_e;
75 unsigned int gpio1b_e;
76 unsigned int gpio1c_e;
77 unsigned int gpio1d_e;
78 unsigned int gpio2a_e;
79 unsigned int gpio2b_e;
80 unsigned int gpio2c_e;
81 unsigned int gpio2d_e;
82 unsigned int gpio3a_e;
83 unsigned int gpio3b_e;
84 unsigned int gpio3c_e;
85 unsigned int gpio3d_e;
86
87 unsigned int reserved0[(0x180 - 0x11C) / 4 - 1];
88 unsigned int io_vsel;
89 unsigned int iofunc_con0;
90 unsigned int reserved1[(0x400 - 0x184) / 4 - 1];
91 unsigned int soc_con[6];
92 unsigned int reserved2[(0x480 - 0x414) / 4 - 1];
93 unsigned int soc_status0;
94 unsigned int reserved3[(0x500 - 0x480) / 4 - 1];
95 unsigned int cpu_con[3];
96 unsigned int reserved4[5];
97 unsigned int cpu_status[2];
98 unsigned int reserved5[2];
99 unsigned int soc_noc_con[2];
100 unsigned int reserved6[6];
101 unsigned int ddr_bankhash[4];
102 unsigned int reserved7[(0x700 - 0x55c) / 4 - 1];
103 unsigned int host0_con[2];
104 unsigned int reserved8[(0x880 - 0x704) / 4 - 1];
105 unsigned int otg_con3;
106 unsigned int reserved9[3];
107 unsigned int host0_status4;
108 unsigned int reserved10[(0x904 - 0x890) / 4 - 1];
109 unsigned int mac_con1;
110};
111
112check_member(px30_grf, mac_con1, 0x904);
113
114struct px30_pmugrf {
Heiko Stuebneraff82aa2019-07-16 22:17:13 +0200115 unsigned int gpio0al_iomux;
116 unsigned int gpio0bl_iomux;
117 unsigned int gpio0cl_iomux;
118 unsigned int gpio0dl_iomux;
Paul Kocialkowski9f2d1672019-11-28 15:27:50 +0100119 unsigned int gpio0a_p;
120 unsigned int gpio0b_p;
121 unsigned int gpio0c_p;
122 unsigned int gpio0d_p;
123 unsigned int gpio0a_e;
124 unsigned int gpio0b_e;
125 unsigned int gpio0c_e;
126 unsigned int gpio0d_e;
Heiko Stuebneraff82aa2019-07-16 22:17:13 +0200127 unsigned int gpio0l_sr;
128 unsigned int gpio0h_sr;
129 unsigned int gpio0l_smt;
130 unsigned int gpio0h_smt;
131 unsigned int reserved1[(0x100 - 0x3c) / 4 - 1];
132 unsigned int soc_con[4];
133 unsigned int reserved2[(0x180 - 0x10c) / 4 - 1];
134 unsigned int pvtm_con[2];
135 unsigned int reserved3[2];
136 unsigned int pvtm_status[2];
137 unsigned int reserved4[(0x200 - 0x194) / 4 - 1];
138 unsigned int os_reg[12];
139 unsigned int reset_function_status;
140};
141
142check_member(px30_pmugrf, reset_function_status, 0x230);
143
144#endif