USB: RK3288 USB CTLR initialization
[firefly-linux-kernel-4.4.55.git] / drivers / usb / dwc_otg_310 / usbdev_grf_regs.h
1 #ifndef __USBDEV_GRF_REGS_H__
2 #define __USBDEV_GRF_REGS_H__
3
4 typedef volatile struct tag_grf_uoc0_reg
5 {
6         /* OTG */
7         u32 CON0;
8         u32 CON1;
9         u32 CON2;
10         u32 CON3;
11         u32 CON4;
12 }GRF_UOC0_REG, *pGRF_UOC0_REG;
13
14 typedef volatile struct tag_grf_uoc1_reg
15 {
16         /* HOST0 
17          * RK3188: DWC_OTG
18          * RK3288: OHCI & EHCI
19          */
20         u32 CON0;
21         u32 CON1;
22         u32 CON2;
23         u32 CON3;
24         u32 CON4;
25 }GRF_UOC1_REG, *pGRF_UOC1_REG;
26
27
28 typedef volatile struct tag_grf_uoc2_reg
29 {
30         /* RK3188: HISC PHY
31          * RK3288: HOST1 DWC_OTG
32          */
33         u32 CON0;
34         u32 CON1;
35         u32 CON2;
36         u32 CON3;
37 }GRF_UOC2_REG, *pGRF_UOC2_REG;
38
39 typedef volatile struct tag_grf_uoc3_reg
40 {
41         /* RK3188: HSIC CTLR
42          * RK3288: HSIC PHY 
43          */
44         u32 CON0;
45         u32 CON1;
46         u32 CON2;
47         u32 CON3;
48 }GRF_UOC3_REG, *pGRF_UOC3_REG;
49
50 typedef volatile struct tag_grf_uoc4_reg
51 {
52         /* RK3288: HSIC CTLR */
53         u32 CON0;
54         u32 CON1;
55         u32 CON2;
56         u32 CON3;
57 }GRF_UOC4_REG, *pGRF_UOC4_REG;
58
59 typedef volatile struct tag_grf_soc_status0_rk3188
60 {
61         unsigned reserved2 : 9;
62         /* OTG20 */
63         unsigned otg_vbusvalid : 1;
64         unsigned otg_bvalid : 1;
65         unsigned otg_linestate : 2;
66         unsigned otg_iddig : 1;
67         unsigned otg_adpsns : 1;
68         unsigned otg_adpprb : 1;
69         /* HOST20 */
70         unsigned uhost_vbusvalid : 1;
71         unsigned uhost_bvalid : 1;
72         unsigned uhost_linestate : 2;
73         unsigned uhost_iddig : 1;
74         unsigned uhost_adpsns : 1;
75         unsigned uhost_adpprb : 1;
76         unsigned reserved1 : 9;
77
78 }GRF_SOC_STATUS_RK3188, *pGRF_SOC_STATUS_RK3188;
79
80 typedef volatile struct tag_grf_soc_status1_rk3288
81 {
82         unsigned reserved2 : 16;
83         unsigned hsic_ehci_usbsts : 6;
84         unsigned hsic_ehci_lpsmc_state : 4;
85         unsigned reserved1 : 6;
86
87 }GRF_SOC_STATUS1_RK3288, *pGRF_SOC_STATUS1_RK3288;
88
89 typedef volatile struct tag_grf_soc_status2_rk3288
90 {
91         /* HSIC  */
92         unsigned hsic_ehci_xfer_cnt : 11;
93         unsigned hsic_ehci_xfer_prdc : 1;
94         unsigned reserved2 : 1;
95         /* OTG20  */
96         unsigned otg_vbusvalid : 1;
97         unsigned otg_bvalid : 1;
98         unsigned otg_linestate : 2;
99         unsigned otg_iddig : 1;
100         /* HOST1 DWC_OTG*/
101         unsigned host1_chirp_on : 1;
102         unsigned host1_vbusvalid : 1;
103         unsigned host1_bvalid : 1;
104         unsigned host1_linestate : 2;
105         unsigned host1_iddig : 1;
106         /* HOST0 OHCI */
107         unsigned host0_ohci_ccs : 1;
108         unsigned host0_ohci_rwe : 1;
109         unsigned host0_ohci_drwe : 1;
110         unsigned host0_linestate : 2;
111         unsigned host0_ohci_rmtwkp : 1;
112         unsigned host0_ohci_bufacc : 1;
113         unsigned reserved1 : 1;
114 }GRF_SOC_STATUS2_RK3288, *pGRF_SOC_STATUS2_RK3288;
115
116 typedef volatile struct tag_grf_soc_status19_rk3288
117 {
118         unsigned host_sidle_ack : 2;
119         unsigned host_mstandby : 1;
120         unsigned host_mwakeup : 1;
121         unsigned host_mwait_out : 1;
122         unsigned host_eoi_out : 2;
123         unsigned host_wakeack : 1;
124         unsigned host_l3_ocp_mconnect : 2;
125         unsigned host_l3_ocp_tactive : 1;
126         unsigned host_l3_ocp_sconnect : 3;
127         unsigned reserved : 9;
128         /* OTG20 PHY STATUS */
129         unsigned otg_chgdet : 1;
130         unsigned otg_fsvplus : 1;
131         unsigned otg_fsvminus : 1;
132         /* HOST0 PHY STATUS */
133         unsigned host0_chgdet : 1;
134         unsigned host0_fsvplus : 1;
135         unsigned host0_fsvminus : 1;
136         /* HOST1 PHY STATUS */
137         unsigned host1_chgdet : 1;
138         unsigned host1_fsvplus : 1;
139         unsigned host1_fsvminus : 1;
140 }GRF_SOC_STATUS19_RK3288, *pGRF_SOC_STATUS19_RK3288;
141
142 typedef volatile struct tag_grf_soc_status21_rk3288
143 {
144         unsigned reserved : 8;
145         /* HOST0 OHCI  */
146         unsigned host0_ohci_globalsuspend : 1;
147         /* HOST0 EHCI  */
148         unsigned host0_ehci_bufacc : 1;
149         unsigned host0_ehci_lpsmc_state : 4;
150         unsigned host0_ehci_xfer_prdc : 1;
151         unsigned host0_ehci_xfer_cnt : 11;
152         unsigned host0_ehci_usbsts : 6;
153 }GRF_SOC_STATUS21_RK3288, *pGRF_SOC_STATUS21_RK3288;
154
155 #endif