Lines Matching +full:0 +full:x180

18 #define R8A779F0_ETH_SERDES_OFFSET		0x0400
19 #define R8A779F0_ETH_SERDES_BANK_SELECT 0x03fc
85 for (i = 0; i < R8A779F0_ETH_SERDES_NUM; i++) { in r8a779f0_eth_serdes_common_init_ram()
87 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x026c, 0x180, BIT(0), 0x01); in r8a779f0_eth_serdes_common_init_ram()
92 r8a779f0_eth_serdes_write32(dd->addr, 0x026c, 0x180, 0x03); in r8a779f0_eth_serdes_common_init_ram()
103 r8a779f0_eth_serdes_write32(dd->addr, 0x0244, 0x180, 0x00d7); in r8a779f0_eth_serdes_common_setting()
104 r8a779f0_eth_serdes_write32(dd->addr, 0x01cc, 0x180, 0xc200); in r8a779f0_eth_serdes_common_setting()
105 r8a779f0_eth_serdes_write32(dd->addr, 0x01c4, 0x180, 0x0042); in r8a779f0_eth_serdes_common_setting()
106 r8a779f0_eth_serdes_write32(dd->addr, 0x01c8, 0x180, 0x0000); in r8a779f0_eth_serdes_common_setting()
107 r8a779f0_eth_serdes_write32(dd->addr, 0x01dc, 0x180, 0x002f); in r8a779f0_eth_serdes_common_setting()
108 r8a779f0_eth_serdes_write32(dd->addr, 0x01d0, 0x180, 0x0060); in r8a779f0_eth_serdes_common_setting()
109 r8a779f0_eth_serdes_write32(dd->addr, 0x01d8, 0x180, 0x2200); in r8a779f0_eth_serdes_common_setting()
110 r8a779f0_eth_serdes_write32(dd->addr, 0x01d4, 0x180, 0x0000); in r8a779f0_eth_serdes_common_setting()
111 r8a779f0_eth_serdes_write32(dd->addr, 0x01e0, 0x180, 0x003d); in r8a779f0_eth_serdes_common_setting()
113 return 0; in r8a779f0_eth_serdes_common_setting()
123 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x380, 0x2000); in r8a779f0_eth_serdes_chan_setting()
124 r8a779f0_eth_serdes_write32(channel->addr, 0x01c0, 0x180, 0x0011); in r8a779f0_eth_serdes_chan_setting()
125 r8a779f0_eth_serdes_write32(channel->addr, 0x0248, 0x180, 0x0540); in r8a779f0_eth_serdes_chan_setting()
126 r8a779f0_eth_serdes_write32(channel->addr, 0x0258, 0x180, 0x0015); in r8a779f0_eth_serdes_chan_setting()
127 r8a779f0_eth_serdes_write32(channel->addr, 0x0144, 0x180, 0x0100); in r8a779f0_eth_serdes_chan_setting()
128 r8a779f0_eth_serdes_write32(channel->addr, 0x01a0, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
129 r8a779f0_eth_serdes_write32(channel->addr, 0x00d0, 0x180, 0x0002); in r8a779f0_eth_serdes_chan_setting()
130 r8a779f0_eth_serdes_write32(channel->addr, 0x0150, 0x180, 0x0003); in r8a779f0_eth_serdes_chan_setting()
131 r8a779f0_eth_serdes_write32(channel->addr, 0x00c8, 0x180, 0x0100); in r8a779f0_eth_serdes_chan_setting()
132 r8a779f0_eth_serdes_write32(channel->addr, 0x0148, 0x180, 0x0100); in r8a779f0_eth_serdes_chan_setting()
133 r8a779f0_eth_serdes_write32(channel->addr, 0x0174, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
134 r8a779f0_eth_serdes_write32(channel->addr, 0x0160, 0x180, 0x0007); in r8a779f0_eth_serdes_chan_setting()
135 r8a779f0_eth_serdes_write32(channel->addr, 0x01ac, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
136 r8a779f0_eth_serdes_write32(channel->addr, 0x00c4, 0x180, 0x0310); in r8a779f0_eth_serdes_chan_setting()
137 r8a779f0_eth_serdes_write32(channel->addr, 0x00c8, 0x180, 0x0101); in r8a779f0_eth_serdes_chan_setting()
138 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x00c8, 0x0180, BIT(0), 0); in r8a779f0_eth_serdes_chan_setting()
142 r8a779f0_eth_serdes_write32(channel->addr, 0x0148, 0x180, 0x0101); in r8a779f0_eth_serdes_chan_setting()
143 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0148, 0x0180, BIT(0), 0); in r8a779f0_eth_serdes_chan_setting()
147 r8a779f0_eth_serdes_write32(channel->addr, 0x00c4, 0x180, 0x1310); in r8a779f0_eth_serdes_chan_setting()
148 r8a779f0_eth_serdes_write32(channel->addr, 0x00d8, 0x180, 0x1800); in r8a779f0_eth_serdes_chan_setting()
149 r8a779f0_eth_serdes_write32(channel->addr, 0x00dc, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
150 r8a779f0_eth_serdes_write32(channel->addr, 0x001c, 0x300, 0x0001); in r8a779f0_eth_serdes_chan_setting()
151 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x380, 0x2100); in r8a779f0_eth_serdes_chan_setting()
152 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0000, 0x0380, BIT(8), 0); in r8a779f0_eth_serdes_chan_setting()
157 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x1f00, 0x0140); in r8a779f0_eth_serdes_chan_setting()
159 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x1f00, 0x2100); in r8a779f0_eth_serdes_chan_setting()
162 r8a779f0_eth_serdes_write32(channel->addr, 0x0004, 0x1f80, 0x0005); in r8a779f0_eth_serdes_chan_setting()
163 r8a779f0_eth_serdes_write32(channel->addr, 0x0028, 0x1f80, 0x07a1); in r8a779f0_eth_serdes_chan_setting()
164 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x1f80, 0x0208); in r8a779f0_eth_serdes_chan_setting()
168 r8a779f0_eth_serdes_write32(channel->addr, 0x001c, 0x300, 0x0000); in r8a779f0_eth_serdes_chan_setting()
169 r8a779f0_eth_serdes_write32(channel->addr, 0x0014, 0x380, 0x0050); in r8a779f0_eth_serdes_chan_setting()
170 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x380, 0x2200); in r8a779f0_eth_serdes_chan_setting()
171 r8a779f0_eth_serdes_write32(channel->addr, 0x001c, 0x380, 0x0400); in r8a779f0_eth_serdes_chan_setting()
172 r8a779f0_eth_serdes_write32(channel->addr, 0x01c0, 0x180, 0x0001); in r8a779f0_eth_serdes_chan_setting()
173 r8a779f0_eth_serdes_write32(channel->addr, 0x0248, 0x180, 0x056a); in r8a779f0_eth_serdes_chan_setting()
174 r8a779f0_eth_serdes_write32(channel->addr, 0x0258, 0x180, 0x0015); in r8a779f0_eth_serdes_chan_setting()
175 r8a779f0_eth_serdes_write32(channel->addr, 0x0144, 0x180, 0x1100); in r8a779f0_eth_serdes_chan_setting()
176 r8a779f0_eth_serdes_write32(channel->addr, 0x01a0, 0x180, 0x0001); in r8a779f0_eth_serdes_chan_setting()
177 r8a779f0_eth_serdes_write32(channel->addr, 0x00d0, 0x180, 0x0001); in r8a779f0_eth_serdes_chan_setting()
178 r8a779f0_eth_serdes_write32(channel->addr, 0x0150, 0x180, 0x0001); in r8a779f0_eth_serdes_chan_setting()
179 r8a779f0_eth_serdes_write32(channel->addr, 0x00c8, 0x180, 0x0300); in r8a779f0_eth_serdes_chan_setting()
180 r8a779f0_eth_serdes_write32(channel->addr, 0x0148, 0x180, 0x0300); in r8a779f0_eth_serdes_chan_setting()
181 r8a779f0_eth_serdes_write32(channel->addr, 0x0174, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
182 r8a779f0_eth_serdes_write32(channel->addr, 0x0160, 0x180, 0x0004); in r8a779f0_eth_serdes_chan_setting()
183 r8a779f0_eth_serdes_write32(channel->addr, 0x01ac, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
184 r8a779f0_eth_serdes_write32(channel->addr, 0x00c4, 0x180, 0x0310); in r8a779f0_eth_serdes_chan_setting()
185 r8a779f0_eth_serdes_write32(channel->addr, 0x00c8, 0x180, 0x0301); in r8a779f0_eth_serdes_chan_setting()
186 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x00c8, 0x180, BIT(0), 0); in r8a779f0_eth_serdes_chan_setting()
189 r8a779f0_eth_serdes_write32(channel->addr, 0x0148, 0x180, 0x0301); in r8a779f0_eth_serdes_chan_setting()
190 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0148, 0x180, BIT(0), 0); in r8a779f0_eth_serdes_chan_setting()
193 r8a779f0_eth_serdes_write32(channel->addr, 0x00c4, 0x180, 0x1310); in r8a779f0_eth_serdes_chan_setting()
194 r8a779f0_eth_serdes_write32(channel->addr, 0x00d8, 0x180, 0x1800); in r8a779f0_eth_serdes_chan_setting()
195 r8a779f0_eth_serdes_write32(channel->addr, 0x00dc, 0x180, 0x0000); in r8a779f0_eth_serdes_chan_setting()
196 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x380, 0x2300); in r8a779f0_eth_serdes_chan_setting()
197 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0000, 0x380, BIT(8), 0); in r8a779f0_eth_serdes_chan_setting()
206 return 0; in r8a779f0_eth_serdes_chan_setting()
218 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x1f00, 0x1140); in r8a779f0_eth_serdes_chan_speed()
220 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x1f00, 0x3100); in r8a779f0_eth_serdes_chan_speed()
221 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0008, 0x1f80, BIT(0), 1); in r8a779f0_eth_serdes_chan_speed()
224 r8a779f0_eth_serdes_write32(channel->addr, 0x0008, 0x1f80, 0x0000); in r8a779f0_eth_serdes_chan_speed()
227 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x1f00, 0x0120); in r8a779f0_eth_serdes_chan_speed()
229 r8a779f0_eth_serdes_write32(channel->addr, 0x0000, 0x380, 0x2600); in r8a779f0_eth_serdes_chan_speed()
230 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0000, 0x380, BIT(10), 0); in r8a779f0_eth_serdes_chan_speed()
238 return 0; in r8a779f0_eth_serdes_chan_speed()
246 for (i = 0; i < R8A779F0_ETH_SERDES_NUM_RETRY_LINKUP; i++) { in r8a779f0_eth_serdes_monitor_linkup()
247 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0004, 0x300, in r8a779f0_eth_serdes_monitor_linkup()
253 r8a779f0_eth_serdes_write32(channel->addr, 0x0144, 0x180, 0x0100); in r8a779f0_eth_serdes_monitor_linkup()
255 r8a779f0_eth_serdes_write32(channel->addr, 0x0144, 0x180, 0x0000); in r8a779f0_eth_serdes_monitor_linkup()
267 return 0; in r8a779f0_eth_serdes_hw_init()
277 for (i = 0; i < R8A779F0_ETH_SERDES_NUM; i++) { in r8a779f0_eth_serdes_hw_init()
278 ret = r8a779f0_eth_serdes_reg_wait(&dd->channel[i], 0x0000, in r8a779f0_eth_serdes_hw_init()
279 0x300, BIT(15), 0); in r8a779f0_eth_serdes_hw_init()
284 for (i = 0; i < R8A779F0_ETH_SERDES_NUM; i++) in r8a779f0_eth_serdes_hw_init()
285 r8a779f0_eth_serdes_write32(dd->channel[i].addr, 0x03d4, 0x380, 0x0443); in r8a779f0_eth_serdes_hw_init()
291 for (i = 0; i < R8A779F0_ETH_SERDES_NUM; i++) in r8a779f0_eth_serdes_hw_init()
292 r8a779f0_eth_serdes_write32(dd->channel[i].addr, 0x03d0, 0x380, 0x0001); in r8a779f0_eth_serdes_hw_init()
295 r8a779f0_eth_serdes_write32(dd->addr, 0x0000, 0x380, 0x8000); in r8a779f0_eth_serdes_hw_init()
301 return r8a779f0_eth_serdes_reg_wait(&dd->channel[0], 0x0000, 0x380, BIT(15), 0); in r8a779f0_eth_serdes_hw_init()
322 return 0; in r8a779f0_eth_serdes_exit()
339 r8a779f0_eth_serdes_write32(channel->addr, 0x03c0, 0x380, 0x0000); in r8a779f0_eth_serdes_hw_init_late()
341 r8a779f0_eth_serdes_write32(channel->addr, 0x03d0, 0x380, 0x0000); in r8a779f0_eth_serdes_hw_init_late()
343 val = r8a779f0_eth_serdes_read32(channel->addr, 0x00c0, 0x180); in r8a779f0_eth_serdes_hw_init_late()
344 r8a779f0_eth_serdes_write32(channel->addr, 0x00c0, 0x180, val | BIT(8)); in r8a779f0_eth_serdes_hw_init_late()
345 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0100, 0x180, BIT(0), 1); in r8a779f0_eth_serdes_hw_init_late()
348 r8a779f0_eth_serdes_write32(channel->addr, 0x00c0, 0x180, val & ~BIT(8)); in r8a779f0_eth_serdes_hw_init_late()
349 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0100, 0x180, BIT(0), 0); in r8a779f0_eth_serdes_hw_init_late()
353 val = r8a779f0_eth_serdes_read32(channel->addr, 0x0144, 0x180); in r8a779f0_eth_serdes_hw_init_late()
354 r8a779f0_eth_serdes_write32(channel->addr, 0x0144, 0x180, val | BIT(4)); in r8a779f0_eth_serdes_hw_init_late()
355 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0180, 0x180, BIT(0), 1); in r8a779f0_eth_serdes_hw_init_late()
358 r8a779f0_eth_serdes_write32(channel->addr, 0x0144, 0x180, val & ~BIT(4)); in r8a779f0_eth_serdes_hw_init_late()
359 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x0180, 0x180, BIT(0), 0); in r8a779f0_eth_serdes_hw_init_late()
386 return 0; in r8a779f0_eth_serdes_set_mode()
398 return 0; in r8a779f0_eth_serdes_set_speed()
414 if (args->args[0] >= R8A779F0_ETH_SERDES_NUM) in r8a779f0_eth_serdes_xlate()
417 return dd->channel[args->args[0]].phy; in r8a779f0_eth_serdes_xlate()
438 dd->addr = devm_platform_ioremap_resource(pdev, 0); in r8a779f0_eth_serdes_probe()
446 for (i = 0; i < R8A779F0_ETH_SERDES_NUM; i++) { in r8a779f0_eth_serdes_probe()
467 return 0; in r8a779f0_eth_serdes_probe()