Lines Matching full:interface

47 void __cvmx_interrupt_gmxx_enable(int interface);
53 * @interface: Interface to probe
57 int __cvmx_helper_rgmii_probe(int interface) in __cvmx_helper_rgmii_probe() argument
61 mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface)); in __cvmx_helper_rgmii_probe()
67 "SPI interface\n"); in __cvmx_helper_rgmii_probe()
97 * Put an RGMII interface in loopback mode. Internal packets sent
105 int interface = (port >> 4) & 1; in cvmx_helper_rgmii_internal_loopback() local
114 cvmx_write_csr(CVMX_GMXX_TXX_CLK(index, interface), 1); in cvmx_helper_rgmii_internal_loopback()
115 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 0x200); in cvmx_helper_rgmii_internal_loopback()
116 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0x2000); in cvmx_helper_rgmii_internal_loopback()
117 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmx_cfg.u64); in cvmx_helper_rgmii_internal_loopback()
118 tmp = cvmx_read_csr(CVMX_ASXX_PRT_LOOP(interface)); in cvmx_helper_rgmii_internal_loopback()
119 cvmx_write_csr(CVMX_ASXX_PRT_LOOP(interface), (1 << index) | tmp); in cvmx_helper_rgmii_internal_loopback()
120 tmp = cvmx_read_csr(CVMX_ASXX_TX_PRT_EN(interface)); in cvmx_helper_rgmii_internal_loopback()
121 cvmx_write_csr(CVMX_ASXX_TX_PRT_EN(interface), (1 << index) | tmp); in cvmx_helper_rgmii_internal_loopback()
122 tmp = cvmx_read_csr(CVMX_ASXX_RX_PRT_EN(interface)); in cvmx_helper_rgmii_internal_loopback()
123 cvmx_write_csr(CVMX_ASXX_RX_PRT_EN(interface), (1 << index) | tmp); in cvmx_helper_rgmii_internal_loopback()
125 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmx_cfg.u64); in cvmx_helper_rgmii_internal_loopback()
131 * @interface: Interface to setup
138 static int __cvmx_helper_errata_asx_pass1(int interface, int port, in __cvmx_helper_errata_asx_pass1() argument
143 cvmx_write_csr(CVMX_ASXX_TX_HI_WATERX(port, interface), 12); in __cvmx_helper_errata_asx_pass1()
145 cvmx_write_csr(CVMX_ASXX_TX_HI_WATERX(port, interface), 11); in __cvmx_helper_errata_asx_pass1()
147 cvmx_write_csr(CVMX_ASXX_TX_HI_WATERX(port, interface), 10); in __cvmx_helper_errata_asx_pass1()
149 cvmx_write_csr(CVMX_ASXX_TX_HI_WATERX(port, interface), 9); in __cvmx_helper_errata_asx_pass1()
158 * to get RGMII to function on the supplied interface.
160 * @interface: PKO Interface to configure (0 or 1)
164 int __cvmx_helper_rgmii_enable(int interface) in __cvmx_helper_rgmii_enable() argument
166 int num_ports = cvmx_helper_ports_on_interface(interface); in __cvmx_helper_rgmii_enable()
173 mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface)); in __cvmx_helper_rgmii_enable()
185 cvmx_write_csr(CVMX_ASXX_TX_PRT_EN(interface), asx_tx.u64); in __cvmx_helper_rgmii_enable()
189 cvmx_write_csr(CVMX_ASXX_RX_PRT_EN(interface), asx_rx.u64); in __cvmx_helper_rgmii_enable()
197 __cvmx_helper_errata_asx_pass1(interface, port, in __cvmx_helper_rgmii_enable()
209 (port, interface)); in __cvmx_helper_rgmii_enable()
212 cvmx_write_csr(CVMX_GMXX_RXX_FRM_CTL(port, interface), in __cvmx_helper_rgmii_enable()
223 cvmx_write_csr(CVMX_GMXX_TXX_PAUSE_PKT_TIME(port, interface), in __cvmx_helper_rgmii_enable()
226 (port, interface), 19000); in __cvmx_helper_rgmii_enable()
229 cvmx_write_csr(CVMX_ASXX_TX_CLK_SETX(port, interface), in __cvmx_helper_rgmii_enable()
231 cvmx_write_csr(CVMX_ASXX_RX_CLK_SETX(port, interface), in __cvmx_helper_rgmii_enable()
234 cvmx_write_csr(CVMX_ASXX_TX_CLK_SETX(port, interface), in __cvmx_helper_rgmii_enable()
236 cvmx_write_csr(CVMX_ASXX_RX_CLK_SETX(port, interface), in __cvmx_helper_rgmii_enable()
241 __cvmx_helper_setup_gmx(interface, num_ports); in __cvmx_helper_rgmii_enable()
247 (interface, port)); in __cvmx_helper_rgmii_enable()
249 cvmx_read_csr(CVMX_GMXX_PRTX_CFG(port, interface)); in __cvmx_helper_rgmii_enable()
251 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(port, interface), in __cvmx_helper_rgmii_enable()
254 __cvmx_interrupt_asxx_enable(interface); in __cvmx_helper_rgmii_enable()
255 __cvmx_interrupt_gmxx_enable(interface); in __cvmx_helper_rgmii_enable()
272 int interface = cvmx_helper_get_interface_num(ipd_port); in __cvmx_helper_rgmii_link_get() local
276 asxx_prt_loop.u64 = cvmx_read_csr(CVMX_ASXX_PRT_LOOP(interface)); in __cvmx_helper_rgmii_link_get()
305 int interface = cvmx_helper_get_interface_num(ipd_port); in __cvmx_helper_rgmii_link_set() local
321 cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_rgmii_link_set()
325 cvmx_write_csr(CVMX_ASXX_RX_PRT_EN(interface), in __cvmx_helper_rgmii_link_set()
326 cvmx_read_csr(CVMX_ASXX_RX_PRT_EN(interface)) & in __cvmx_helper_rgmii_link_set()
343 gmx_tx_ovr_bp.u64 = cvmx_read_csr(CVMX_GMXX_TX_OVR_BP(interface)); in __cvmx_helper_rgmii_link_set()
347 cvmx_write_csr(CVMX_GMXX_TX_OVR_BP(interface), gmx_tx_ovr_bp.u64); in __cvmx_helper_rgmii_link_set()
348 cvmx_read_csr(CVMX_GMXX_TX_OVR_BP(interface)); in __cvmx_helper_rgmii_link_set()
358 interface * 0x800 + index * 0x100 + 0x880); in __cvmx_helper_rgmii_link_set()
366 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), new_gmx_cfg.u64); in __cvmx_helper_rgmii_link_set()
367 cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_rgmii_link_set()
393 cvmx_write_csr(CVMX_GMXX_TXX_CLK(index, interface), 50); in __cvmx_helper_rgmii_link_set()
394 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 0x40); in __cvmx_helper_rgmii_link_set()
395 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0); in __cvmx_helper_rgmii_link_set()
397 cvmx_write_csr(CVMX_GMXX_TXX_CLK(index, interface), 5); in __cvmx_helper_rgmii_link_set()
398 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 0x40); in __cvmx_helper_rgmii_link_set()
399 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0); in __cvmx_helper_rgmii_link_set()
401 cvmx_write_csr(CVMX_GMXX_TXX_CLK(index, interface), 1); in __cvmx_helper_rgmii_link_set()
402 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 0x200); in __cvmx_helper_rgmii_link_set()
403 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0x2000); in __cvmx_helper_rgmii_link_set()
409 mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface)); in __cvmx_helper_rgmii_link_set()
426 (index, interface), 1); in __cvmx_helper_rgmii_link_set()
432 cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_rgmii_link_set()
435 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), new_gmx_cfg.u64); in __cvmx_helper_rgmii_link_set()
438 cvmx_write_csr(CVMX_ASXX_RX_PRT_EN(interface), in __cvmx_helper_rgmii_link_set()
439 cvmx_read_csr(CVMX_ASXX_RX_PRT_EN(interface)) | (1 << in __cvmx_helper_rgmii_link_set()
451 cvmx_write_csr(CVMX_GMXX_TX_OVR_BP(interface), gmx_tx_ovr_bp_save.u64); in __cvmx_helper_rgmii_link_set()
455 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), new_gmx_cfg.u64); in __cvmx_helper_rgmii_link_set()
476 int interface = cvmx_helper_get_interface_num(ipd_port); in __cvmx_helper_rgmii_configure_loopback() local
483 gmx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_rgmii_configure_loopback()
492 cvmx_write_csr(CVMX_GMXX_TXX_CLK(index, interface), 1); in __cvmx_helper_rgmii_configure_loopback()
493 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 0x200); in __cvmx_helper_rgmii_configure_loopback()
494 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0x2000); in __cvmx_helper_rgmii_configure_loopback()
496 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmx_cfg.u64); in __cvmx_helper_rgmii_configure_loopback()
499 asxx_prt_loop.u64 = cvmx_read_csr(CVMX_ASXX_PRT_LOOP(interface)); in __cvmx_helper_rgmii_configure_loopback()
508 cvmx_write_csr(CVMX_ASXX_PRT_LOOP(interface), asxx_prt_loop.u64); in __cvmx_helper_rgmii_configure_loopback()
513 tmp = cvmx_read_csr(CVMX_ASXX_TX_PRT_EN(interface)); in __cvmx_helper_rgmii_configure_loopback()
514 cvmx_write_csr(CVMX_ASXX_TX_PRT_EN(interface), in __cvmx_helper_rgmii_configure_loopback()
516 tmp = cvmx_read_csr(CVMX_ASXX_RX_PRT_EN(interface)); in __cvmx_helper_rgmii_configure_loopback()
517 cvmx_write_csr(CVMX_ASXX_RX_PRT_EN(interface), in __cvmx_helper_rgmii_configure_loopback()
524 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmx_cfg.u64); in __cvmx_helper_rgmii_configure_loopback()