summaryrefslogtreecommitdiff
path: root/drivers/usb/dwc_otg_310/usbdev_grf_regs.h
blob: 3a0f3328b807b200e5d3437b1df4972314547583 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __USBDEV_GRF_REGS_H__
#define __USBDEV_GRF_REGS_H__

typedef volatile struct tag_grf_uoc0_reg {
	/* OTG */
	u32 CON0;
	u32 CON1;
	u32 CON2;
	u32 CON3;
	u32 CON4;
	u32 CON5;
} GRF_UOC0_REG, *pGRF_UOC0_REG;

typedef volatile struct tag_grf_uoc1_reg {
	/* HOST0
	 * RK3188: DWC_OTG
	 * RK3288: OHCI & EHCI
	 */
	u32 CON0;
	u32 CON1;
	u32 CON2;
	u32 CON3;
	u32 CON4;
	u32 CON5;
} GRF_UOC1_REG, *pGRF_UOC1_REG;

typedef volatile struct tag_grf_uoc2_reg {
	/* RK3188: EHCI1 PHY
	 * RK3288: HOST1 DWC_OTG
	 */
	u32 CON0;
	u32 CON1;
	u32 CON2;
	u32 CON3;
} GRF_UOC2_REG, *pGRF_UOC2_REG;

typedef volatile struct tag_grf_uoc3_reg {
	/* RK3188: EHCI1 CTLR
	 * RK3288: EHCI1 PHY
	 */
	u32 CON0;
	u32 CON1;
	u32 CON2;
	u32 CON3;
} GRF_UOC3_REG, *pGRF_UOC3_REG;

typedef volatile struct tag_grf_uoc4_reg {
	/* RK3288: EHCI1 CTLR */
	u32 CON0;
	u32 CON1;
	u32 CON2;
	u32 CON3;
} GRF_UOC4_REG, *pGRF_UOC4_REG;

typedef volatile struct tag_grf_soc_status0_rk3188 {
	unsigned reserved2:9;
	/* OTG20 */
	unsigned otg_vbusvalid:1;
	unsigned otg_bvalid:1;
	unsigned otg_linestate:2;
	unsigned otg_iddig:1;
	unsigned otg_adpsns:1;
	unsigned otg_adpprb:1;
	/* HOST20 */
	unsigned uhost_vbusvalid:1;
	unsigned uhost_bvalid:1;
	unsigned uhost_linestate:2;
	unsigned uhost_iddig:1;
	unsigned uhost_adpsns:1;
	unsigned uhost_adpprb:1;
	unsigned reserved1:9;

} GRF_SOC_STATUS_RK3188, *pGRF_SOC_STATUS_RK3188;

typedef volatile struct tag_grf_soc_status1_rk3288 {
	unsigned reserved2:16;
	unsigned ehci1_usbsts:6;
	unsigned ehci1_lpsmc_state:4;
	unsigned reserved1:6;

} GRF_SOC_STATUS1_RK3288, *pGRF_SOC_STATUS1_RK3288;

typedef volatile struct tag_grf_soc_status2_rk3288 {
	/* EHCI1  */
	unsigned ehci1_xfer_cnt:11;
	unsigned ehci1_xfer_prdc:1;
	unsigned reserved2:1;
	/* OTG20  */
	unsigned otg_vbusvalid:1;
	unsigned otg_bvalid:1;
	unsigned otg_linestate:2;
	unsigned otg_iddig:1;
	/* HOST1 DWC_OTG */
	unsigned host1_chirp_on:1;
	unsigned host1_vbusvalid:1;
	unsigned host1_bvalid:1;
	unsigned host1_linestate:2;
	unsigned host1_iddig:1;
	/* HOST0 OHCI */
	unsigned host0_ohci_ccs:1;
	unsigned host0_ohci_rwe:1;
	unsigned host0_ohci_drwe:1;
	unsigned host0_linestate:2;
	unsigned host0_ohci_rmtwkp:1;
	unsigned host0_ohci_bufacc:1;
	unsigned reserved1:1;
} GRF_SOC_STATUS2_RK3288, *pGRF_SOC_STATUS2_RK3288;

typedef volatile struct tag_grf_soc_status19_rk3288 {
	unsigned host_sidle_ack:2;
	unsigned host_mstandby:1;
	unsigned host_mwakeup:1;
	unsigned host_mwait_out:1;
	unsigned host_eoi_out:2;
	unsigned host_wakeack:1;
	unsigned host_l3_ocp_mconnect:2;
	unsigned host_l3_ocp_tactive:1;
	unsigned host_l3_ocp_sconnect:3;
	unsigned reserved:9;
	/* OTG20 PHY STATUS */
	unsigned otg_chgdet:1;
	unsigned otg_fsvplus:1;
	unsigned otg_fsvminus:1;
	/* HOST0 PHY STATUS */
	unsigned host0_chgdet:1;
	unsigned host0_fsvplus:1;
	unsigned host0_fsvminus:1;
	/* HOST1 PHY STATUS */
	unsigned host1_chgdet:1;
	unsigned host1_fsvplus:1;
	unsigned host1_fsvminus:1;
} GRF_SOC_STATUS19_RK3288, *pGRF_SOC_STATUS19_RK3288;

typedef volatile struct tag_grf_soc_status21_rk3288 {
	unsigned reserved:8;
	/* HOST0 OHCI  */
	unsigned host0_ohci_globalsuspend:1;
	/* HOST0 EHCI  */
	unsigned host0_ehci_bufacc:1;
	unsigned host0_ehci_lpsmc_state:4;
	unsigned host0_ehci_xfer_prdc:1;
	unsigned host0_ehci_xfer_cnt:11;
	unsigned host0_ehci_usbsts:6;
} GRF_SOC_STATUS21_RK3288, *pGRF_SOC_STATUS21_RK3288;

#endif