2 * Copyright (C) 2014-2015 Spreadtrum Communications Inc.
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
11 #ifndef __REGS_AP_APB_H__
12 #define __REGS_AP_APB_H__
16 /* registers definitions for controller REGS_AP_APB */
17 #define REG_AP_APB_APB_EB SCI_ADDR(SPRD_APBREG_PHYS, 0x0000)
18 #define REG_AP_APB_APB_RST SCI_ADDR(SPRD_APBREG_PHYS, 0x0004)
19 #define REG_AP_APB_USB_PHY_TUNE SCI_ADDR(SPRD_APBREG_PHYS, 0x0008)
20 #define REG_AP_APB_USB_PHY_TEST SCI_ADDR(SPRD_APBREG_PHYS, 0x000C)
21 #define REG_AP_APB_USB_PHY_CTRL SCI_ADDR(SPRD_APBREG_PHYS, 0x0010)
22 #define REG_AP_APB_APB_MISC_CTRL SCI_ADDR(SPRD_APBREG_PHYS, 0x0014)
24 /* bits definitions for register REG_AP_APB_APB_EB */
25 #define BIT_INTC3_EB ( BIT(22) )
26 #define BIT_INTC2_EB ( BIT(21) )
27 #define BIT_INTC1_EB ( BIT(20) )
28 #define BIT_INTC0_EB ( BIT(19) )
29 #define BIT_AP_CKG_EB ( BIT(18) )
30 #define BIT_UART4_EB ( BIT(17) )
31 #define BIT_UART3_EB ( BIT(16) )
32 #define BIT_UART2_EB ( BIT(15) )
33 #define BIT_UART1_EB ( BIT(14) )
34 #define BIT_UART0_EB ( BIT(13) )
35 #define BIT_I2C4_EB ( BIT(12) )
36 #define BIT_I2C3_EB ( BIT(11) )
37 #define BIT_I2C2_EB ( BIT(10) )
38 #define BIT_I2C1_EB ( BIT(9) )
39 #define BIT_I2C0_EB ( BIT(8) )
40 #define BIT_SPI2_EB ( BIT(7) )
41 #define BIT_SPI1_EB ( BIT(6) )
42 #define BIT_SPI0_EB ( BIT(5) )
43 #define BIT_IIS3_EB ( BIT(4) )
44 #define BIT_IIS2_EB ( BIT(3) )
45 #define BIT_IIS1_EB ( BIT(2) )
46 #define BIT_IIS0_EB ( BIT(1) )
47 #define BIT_SIM0_EB ( BIT(0) )
49 /* bits definitions for register REG_AP_APB_APB_RST */
50 #define BIT_INTC3_SOFT_RST ( BIT(22) )
51 #define BIT_INTC2_SOFT_RST ( BIT(21) )
52 #define BIT_INTC1_SOFT_RST ( BIT(20) )
53 #define BIT_INTC0_SOFT_RST ( BIT(19) )
54 #define BIT_AP_CKG_SOFT_RST ( BIT(18) )
55 #define BIT_UART4_SOFT_RST ( BIT(17) )
56 #define BIT_UART3_SOFT_RST ( BIT(16) )
57 #define BIT_UART2_SOFT_RST ( BIT(15) )
58 #define BIT_UART1_SOFT_RST ( BIT(14) )
59 #define BIT_UART0_SOFT_RST ( BIT(13) )
60 #define BIT_I2C4_SOFT_RST ( BIT(12) )
61 #define BIT_I2C3_SOFT_RST ( BIT(11) )
62 #define BIT_I2C2_SOFT_RST ( BIT(10) )
63 #define BIT_I2C1_SOFT_RST ( BIT(9) )
64 #define BIT_I2C0_SOFT_RST ( BIT(8) )
65 #define BIT_SPI2_SOFT_RST ( BIT(7) )
66 #define BIT_SPI1_SOFT_RST ( BIT(6) )
67 #define BIT_SPI0_SOFT_RST ( BIT(5) )
68 #define BIT_IIS3_SOFT_RST ( BIT(4) )
69 #define BIT_IIS2_SOFT_RST ( BIT(3) )
70 #define BIT_IIS1_SOFT_RST ( BIT(2) )
71 #define BIT_IIS0_SOFT_RST ( BIT(1) )
72 #define BIT_SIM0_SOFT_RST ( BIT(0) )
74 /* bits definitions for register REG_AP_APB_USB_PHY_TUNE */
75 #define BITS_OTGTUNE(_x_) ( (_x_) << 28 & (BIT(28)|BIT(29)|BIT(30)) )
76 #define BITS_COMPDISTUNE(_x_) ( (_x_) << 24 & (BIT(24)|BIT(25)|BIT(26)) )
77 #define BIT_TXPREEMPPULSETUNE ( BIT(20) )
78 #define BITS_TXRESTUNE(_x_) ( (_x_) << 18 & (BIT(18)|BIT(19)) )
79 #define BITS_TXHSXVTUNE(_x_) ( (_x_) << 16 & (BIT(16)|BIT(17)) )
80 #define BITS_TXVREFTUNE(_x_) ( (_x_) << 12 & (BIT(12)|BIT(13)|BIT(14)|BIT(15)) )
81 #define BITS_TXPREEMPAMPTUNE(_x_) ( (_x_) << 10 & (BIT(10)|BIT(11)) )
82 #define BITS_TXRISETUNE(_x_) ( (_x_) << 8 & (BIT(8)|BIT(9)) )
83 #define BITS_TXFSLSTUNE(_x_) ( (_x_) << 4 & (BIT(4)|BIT(5)|BIT(6)|BIT(7)) )
84 #define BITS_SQRXTUNE(_x_) ( (_x_) << 0 & (BIT(0)|BIT(1)|BIT(2)) )
86 /* bits definitions for register REG_AP_APB_USB_PHY_TEST */
87 #define BIT_ATERESET ( BIT(31) )
88 #define BIT_VBUS_VALID_EXT_SEL ( BIT(26) )
89 #define BIT_VBUS_VALID_EXT ( BIT(25) )
90 #define BIT_OTGDISABLE ( BIT(24) )
91 #define BIT_TESTBURNIN ( BIT(21) )
92 #define BIT_LOOPBACKENB ( BIT(20) )
93 #define BITS_TESTDATAOUT(_x_) ( (_x_) << 16 & (BIT(16)|BIT(17)|BIT(18)|BIT(19)) )
94 #define BITS_VATESTENB(_x_) ( (_x_) << 14 & (BIT(14)|BIT(15)) )
95 #define BIT_TESTCLK ( BIT(13) )
96 #define BIT_TESTDATAOUTSEL ( BIT(12) )
97 #define BITS_TESTADDR(_x_) ( (_x_) << 8 & (BIT(8)|BIT(9)|BIT(10)|BIT(11)) )
98 #define BITS_TESTDATAIN(_x_) ( (_x_) << 0 & (BIT(0)|BIT(1)|BIT(2)|BIT(3)|BIT(4)|BIT(5)|BIT(6)|BIT(7)) )
100 /* bits definitions for register REG_AP_APB_USB_PHY_CTRL */
101 #define BITS_SS_SCALEDOWNMODE(_x_) ( (_x_) << 25 & (BIT(25)|BIT(26)) )
102 #define BIT_TXBITSTUFFENH ( BIT(23) )
103 #define BIT_TXBITSTUFFEN ( BIT(22) )
104 #define BIT_DMPULLDOWN ( BIT(21) )
105 #define BIT_DPPULLDOWN ( BIT(20) )
106 #define BIT_DMPULLUP ( BIT(9) )
107 #define BIT_COMMONONN ( BIT(8) )
108 #define BITS_REFCLKSEL(_x_) ( (_x_) << 4 & (BIT(4)|BIT(5)) )
109 #define BITS_FSEL(_x_) ( (_x_) << 0 & (BIT(0)|BIT(1)|BIT(2)) )
111 /* bits definitions for register REG_AP_APB_APB_MISC_CTRL */
112 #define BIT_SIM_CLK_POLARITY ( BIT(1) )
113 #define BIT_FMARK_POLARITY_INV ( BIT(0) )
115 /* vars definitions for controller REGS_AP_APB */
117 #endif //__REGS_AP_APB_H__