aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2018-05-15 16:49:13 -0400
committerOlof Johansson <olof@lixom.net>2018-05-15 16:49:13 -0400
commitdeae9088c58a580674449477294926a4b0aa4a34 (patch)
tree110e88fa3e7f9f1f44333b67b40152208c9cc4a4
parent51fe3a373ee44bbad72a27c56110f3c1d80c0a04 (diff)
parentd7bab65b1f57cdf2d81fc469cea6b2160a50e917 (diff)
Merge tag 'reset-for-4.18' of git://git.pengutronix.de/pza/linux into next/drivers
Reset controller changes for v4.18 This adds PCIe, SATA, and HSC reset control support on various Uniphier SoCs. PCIe reset control is added for Pro5, LD20, and PXs3 SoCs, SATA reset control support is added on Pro4 and PXs3 SoCs. The previously added PXs2 SATA reset control identifier is changed to the same value for consistency. HSC (MPEG2 transport stream I/O and demux system) reset controls are added for LD11 and LD20 SoCs. * tag 'reset-for-4.18' of git://git.pengutronix.de/pza/linux: reset: uniphier: add LD11/LD20 stream demux system reset control reset: uniphier: add SATA reset control support and change SATA-PHY ID reset: uniphier: add PCIe reset control support reset: uniphier: fix USB clock line for LD20 Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--drivers/reset/reset-uniphier.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/reset/reset-uniphier.c b/drivers/reset/reset-uniphier.c
index 360e06b20c53..e9030ff1bf2f 100644
--- a/drivers/reset/reset-uniphier.c
+++ b/drivers/reset/reset-uniphier.c
@@ -63,6 +63,9 @@ static const struct uniphier_reset_data uniphier_pro4_sys_reset_data[] = {
63 UNIPHIER_RESETX(12, 0x2000, 6), /* GIO (Ether, SATA, USB3) */ 63 UNIPHIER_RESETX(12, 0x2000, 6), /* GIO (Ether, SATA, USB3) */
64 UNIPHIER_RESETX(14, 0x2000, 17), /* USB30 */ 64 UNIPHIER_RESETX(14, 0x2000, 17), /* USB30 */
65 UNIPHIER_RESETX(15, 0x2004, 17), /* USB31 */ 65 UNIPHIER_RESETX(15, 0x2004, 17), /* USB31 */
66 UNIPHIER_RESETX(28, 0x2000, 18), /* SATA0 */
67 UNIPHIER_RESETX(29, 0x2004, 18), /* SATA1 */
68 UNIPHIER_RESETX(30, 0x2000, 19), /* SATA-PHY */
66 UNIPHIER_RESETX(40, 0x2000, 13), /* AIO */ 69 UNIPHIER_RESETX(40, 0x2000, 13), /* AIO */
67 UNIPHIER_RESET_END, 70 UNIPHIER_RESET_END,
68}; 71};
@@ -73,6 +76,7 @@ static const struct uniphier_reset_data uniphier_pro5_sys_reset_data[] = {
73 UNIPHIER_RESETX(12, 0x2000, 6), /* GIO (PCIe, USB3) */ 76 UNIPHIER_RESETX(12, 0x2000, 6), /* GIO (PCIe, USB3) */
74 UNIPHIER_RESETX(14, 0x2000, 17), /* USB30 */ 77 UNIPHIER_RESETX(14, 0x2000, 17), /* USB30 */
75 UNIPHIER_RESETX(15, 0x2004, 17), /* USB31 */ 78 UNIPHIER_RESETX(15, 0x2004, 17), /* USB31 */
79 UNIPHIER_RESETX(24, 0x2008, 2), /* PCIe */
76 UNIPHIER_RESETX(40, 0x2000, 13), /* AIO */ 80 UNIPHIER_RESETX(40, 0x2000, 13), /* AIO */
77 UNIPHIER_RESET_END, 81 UNIPHIER_RESET_END,
78}; 82};
@@ -89,7 +93,7 @@ static const struct uniphier_reset_data uniphier_pxs2_sys_reset_data[] = {
89 UNIPHIER_RESETX(20, 0x2014, 5), /* USB31-PHY0 */ 93 UNIPHIER_RESETX(20, 0x2014, 5), /* USB31-PHY0 */
90 UNIPHIER_RESETX(21, 0x2014, 1), /* USB31-PHY1 */ 94 UNIPHIER_RESETX(21, 0x2014, 1), /* USB31-PHY1 */
91 UNIPHIER_RESETX(28, 0x2014, 12), /* SATA */ 95 UNIPHIER_RESETX(28, 0x2014, 12), /* SATA */
92 UNIPHIER_RESET(29, 0x2014, 8), /* SATA-PHY (active high) */ 96 UNIPHIER_RESET(30, 0x2014, 8), /* SATA-PHY (active high) */
93 UNIPHIER_RESETX(40, 0x2000, 13), /* AIO */ 97 UNIPHIER_RESETX(40, 0x2000, 13), /* AIO */
94 UNIPHIER_RESET_END, 98 UNIPHIER_RESET_END,
95}; 99};
@@ -99,6 +103,7 @@ static const struct uniphier_reset_data uniphier_ld11_sys_reset_data[] = {
99 UNIPHIER_RESETX(4, 0x200c, 2), /* eMMC */ 103 UNIPHIER_RESETX(4, 0x200c, 2), /* eMMC */
100 UNIPHIER_RESETX(6, 0x200c, 6), /* Ether */ 104 UNIPHIER_RESETX(6, 0x200c, 6), /* Ether */
101 UNIPHIER_RESETX(8, 0x200c, 8), /* STDMAC (HSC, MIO) */ 105 UNIPHIER_RESETX(8, 0x200c, 8), /* STDMAC (HSC, MIO) */
106 UNIPHIER_RESETX(9, 0x200c, 9), /* HSC */
102 UNIPHIER_RESETX(40, 0x2008, 0), /* AIO */ 107 UNIPHIER_RESETX(40, 0x2008, 0), /* AIO */
103 UNIPHIER_RESETX(41, 0x2008, 1), /* EVEA */ 108 UNIPHIER_RESETX(41, 0x2008, 1), /* EVEA */
104 UNIPHIER_RESETX(42, 0x2010, 2), /* EXIV */ 109 UNIPHIER_RESETX(42, 0x2010, 2), /* EXIV */
@@ -110,11 +115,13 @@ static const struct uniphier_reset_data uniphier_ld20_sys_reset_data[] = {
110 UNIPHIER_RESETX(4, 0x200c, 2), /* eMMC */ 115 UNIPHIER_RESETX(4, 0x200c, 2), /* eMMC */
111 UNIPHIER_RESETX(6, 0x200c, 6), /* Ether */ 116 UNIPHIER_RESETX(6, 0x200c, 6), /* Ether */
112 UNIPHIER_RESETX(8, 0x200c, 8), /* STDMAC (HSC) */ 117 UNIPHIER_RESETX(8, 0x200c, 8), /* STDMAC (HSC) */
113 UNIPHIER_RESETX(12, 0x200c, 5), /* GIO (PCIe, USB3) */ 118 UNIPHIER_RESETX(9, 0x200c, 9), /* HSC */
119 UNIPHIER_RESETX(14, 0x200c, 5), /* USB30 */
114 UNIPHIER_RESETX(16, 0x200c, 12), /* USB30-PHY0 */ 120 UNIPHIER_RESETX(16, 0x200c, 12), /* USB30-PHY0 */
115 UNIPHIER_RESETX(17, 0x200c, 13), /* USB30-PHY1 */ 121 UNIPHIER_RESETX(17, 0x200c, 13), /* USB30-PHY1 */
116 UNIPHIER_RESETX(18, 0x200c, 14), /* USB30-PHY2 */ 122 UNIPHIER_RESETX(18, 0x200c, 14), /* USB30-PHY2 */
117 UNIPHIER_RESETX(19, 0x200c, 15), /* USB30-PHY3 */ 123 UNIPHIER_RESETX(19, 0x200c, 15), /* USB30-PHY3 */
124 UNIPHIER_RESETX(24, 0x200c, 4), /* PCIe */
118 UNIPHIER_RESETX(40, 0x2008, 0), /* AIO */ 125 UNIPHIER_RESETX(40, 0x2008, 0), /* AIO */
119 UNIPHIER_RESETX(41, 0x2008, 1), /* EVEA */ 126 UNIPHIER_RESETX(41, 0x2008, 1), /* EVEA */
120 UNIPHIER_RESETX(42, 0x2010, 2), /* EXIV */ 127 UNIPHIER_RESETX(42, 0x2010, 2), /* EXIV */
@@ -127,13 +134,17 @@ static const struct uniphier_reset_data uniphier_pxs3_sys_reset_data[] = {
127 UNIPHIER_RESETX(6, 0x200c, 9), /* Ether0 */ 134 UNIPHIER_RESETX(6, 0x200c, 9), /* Ether0 */
128 UNIPHIER_RESETX(7, 0x200c, 10), /* Ether1 */ 135 UNIPHIER_RESETX(7, 0x200c, 10), /* Ether1 */
129 UNIPHIER_RESETX(8, 0x200c, 12), /* STDMAC */ 136 UNIPHIER_RESETX(8, 0x200c, 12), /* STDMAC */
130 UNIPHIER_RESETX(12, 0x200c, 4), /* USB30 link (GIO0) */ 137 UNIPHIER_RESETX(12, 0x200c, 4), /* USB30 link */
131 UNIPHIER_RESETX(13, 0x200c, 5), /* USB31 link (GIO1) */ 138 UNIPHIER_RESETX(13, 0x200c, 5), /* USB31 link */
132 UNIPHIER_RESETX(16, 0x200c, 16), /* USB30-PHY0 */ 139 UNIPHIER_RESETX(16, 0x200c, 16), /* USB30-PHY0 */
133 UNIPHIER_RESETX(17, 0x200c, 18), /* USB30-PHY1 */ 140 UNIPHIER_RESETX(17, 0x200c, 18), /* USB30-PHY1 */
134 UNIPHIER_RESETX(18, 0x200c, 20), /* USB30-PHY2 */ 141 UNIPHIER_RESETX(18, 0x200c, 20), /* USB30-PHY2 */
135 UNIPHIER_RESETX(20, 0x200c, 17), /* USB31-PHY0 */ 142 UNIPHIER_RESETX(20, 0x200c, 17), /* USB31-PHY0 */
136 UNIPHIER_RESETX(21, 0x200c, 19), /* USB31-PHY1 */ 143 UNIPHIER_RESETX(21, 0x200c, 19), /* USB31-PHY1 */
144 UNIPHIER_RESETX(24, 0x200c, 3), /* PCIe */
145 UNIPHIER_RESETX(28, 0x200c, 7), /* SATA0 */
146 UNIPHIER_RESETX(29, 0x200c, 8), /* SATA1 */
147 UNIPHIER_RESETX(30, 0x200c, 21), /* SATA-PHY */
137 UNIPHIER_RESET_END, 148 UNIPHIER_RESET_END,
138}; 149};
139 150