Lines Matching refs:interface
43 void __cvmx_interrupt_gmxx_enable(int interface);
55 static int __cvmx_helper_sgmii_hardware_init_one_time(int interface, int index) in __cvmx_helper_sgmii_hardware_init_one_time() argument
63 gmxx_prtx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_sgmii_hardware_init_one_time()
65 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmxx_prtx_cfg.u64); in __cvmx_helper_sgmii_hardware_init_one_time()
73 cvmx_read_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface)); in __cvmx_helper_sgmii_hardware_init_one_time()
75 cvmx_read_csr(CVMX_PCSX_LINKX_TIMER_COUNT_REG(index, interface)); in __cvmx_helper_sgmii_hardware_init_one_time()
85 cvmx_write_csr(CVMX_PCSX_LINKX_TIMER_COUNT_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_one_time()
101 cvmx_read_csr(CVMX_PCSX_ANX_ADV_REG(index, interface)); in __cvmx_helper_sgmii_hardware_init_one_time()
106 cvmx_write_csr(CVMX_PCSX_ANX_ADV_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_one_time()
111 cvmx_read_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface)); in __cvmx_helper_sgmii_hardware_init_one_time()
117 (index, interface)); in __cvmx_helper_sgmii_hardware_init_one_time()
122 (index, interface), in __cvmx_helper_sgmii_hardware_init_one_time()
140 static int __cvmx_helper_sgmii_hardware_init_link(int interface, int index) in __cvmx_helper_sgmii_hardware_init_link() argument
153 cvmx_read_csr(CVMX_PCSX_MRX_CONTROL_REG(index, interface)); in __cvmx_helper_sgmii_hardware_init_link()
156 cvmx_write_csr(CVMX_PCSX_MRX_CONTROL_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_link()
159 (CVMX_PCSX_MRX_CONTROL_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_link()
163 interface, index); in __cvmx_helper_sgmii_hardware_init_link()
175 cvmx_write_csr(CVMX_PCSX_MRX_CONTROL_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_link()
185 CVMX_WAIT_FOR_FIELD64(CVMX_PCSX_MRX_STATUS_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_link()
204 static int __cvmx_helper_sgmii_hardware_init_link_speed(int interface, in __cvmx_helper_sgmii_hardware_init_link_speed() argument
214 gmxx_prtx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_sgmii_hardware_init_link_speed()
217 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmxx_prtx_cfg.u64); in __cvmx_helper_sgmii_hardware_init_link_speed()
221 (CVMX_GMXX_PRTX_CFG(index, interface), union cvmx_gmxx_prtx_cfg, in __cvmx_helper_sgmii_hardware_init_link_speed()
223 || CVMX_WAIT_FOR_FIELD64(CVMX_GMXX_PRTX_CFG(index, interface), in __cvmx_helper_sgmii_hardware_init_link_speed()
228 interface, index); in __cvmx_helper_sgmii_hardware_init_link_speed()
233 gmxx_prtx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_sgmii_hardware_init_link_speed()
240 cvmx_read_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface)); in __cvmx_helper_sgmii_hardware_init_link_speed()
260 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 64); in __cvmx_helper_sgmii_hardware_init_link_speed()
261 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0); in __cvmx_helper_sgmii_hardware_init_link_speed()
268 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 64); in __cvmx_helper_sgmii_hardware_init_link_speed()
269 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 0); in __cvmx_helper_sgmii_hardware_init_link_speed()
276 cvmx_write_csr(CVMX_GMXX_TXX_SLOT(index, interface), 512); in __cvmx_helper_sgmii_hardware_init_link_speed()
277 cvmx_write_csr(CVMX_GMXX_TXX_BURST(index, interface), 8192); in __cvmx_helper_sgmii_hardware_init_link_speed()
284 cvmx_write_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface), in __cvmx_helper_sgmii_hardware_init_link_speed()
288 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmxx_prtx_cfg.u64); in __cvmx_helper_sgmii_hardware_init_link_speed()
291 gmxx_prtx_cfg.u64 = cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_sgmii_hardware_init_link_speed()
295 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), gmxx_prtx_cfg.u64); in __cvmx_helper_sgmii_hardware_init_link_speed()
310 static int __cvmx_helper_sgmii_hardware_init(int interface, int num_ports) in __cvmx_helper_sgmii_hardware_init() argument
314 __cvmx_helper_setup_gmx(interface, num_ports); in __cvmx_helper_sgmii_hardware_init()
317 int ipd_port = cvmx_helper_get_ipd_port(interface, index); in __cvmx_helper_sgmii_hardware_init()
318 __cvmx_helper_sgmii_hardware_init_one_time(interface, index); in __cvmx_helper_sgmii_hardware_init()
332 int __cvmx_helper_sgmii_enumerate(int interface) in __cvmx_helper_sgmii_enumerate() argument
345 int __cvmx_helper_sgmii_probe(int interface) in __cvmx_helper_sgmii_probe() argument
354 mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface)); in __cvmx_helper_sgmii_probe()
356 cvmx_write_csr(CVMX_GMXX_INF_MODE(interface), mode.u64); in __cvmx_helper_sgmii_probe()
357 return __cvmx_helper_sgmii_enumerate(interface); in __cvmx_helper_sgmii_probe()
369 int __cvmx_helper_sgmii_enable(int interface) in __cvmx_helper_sgmii_enable() argument
371 int num_ports = cvmx_helper_ports_on_interface(interface); in __cvmx_helper_sgmii_enable()
374 __cvmx_helper_sgmii_hardware_init(interface, num_ports); in __cvmx_helper_sgmii_enable()
379 cvmx_read_csr(CVMX_GMXX_PRTX_CFG(index, interface)); in __cvmx_helper_sgmii_enable()
381 cvmx_write_csr(CVMX_GMXX_PRTX_CFG(index, interface), in __cvmx_helper_sgmii_enable()
383 __cvmx_interrupt_pcsx_intx_en_reg_enable(index, interface); in __cvmx_helper_sgmii_enable()
385 __cvmx_interrupt_pcsxx_int_en_reg_enable(interface); in __cvmx_helper_sgmii_enable()
386 __cvmx_interrupt_gmxx_enable(interface); in __cvmx_helper_sgmii_enable()
404 int interface = cvmx_helper_get_interface_num(ipd_port); in __cvmx_helper_sgmii_link_get() local
419 cvmx_read_csr(CVMX_PCSX_MRX_CONTROL_REG(index, interface)); in __cvmx_helper_sgmii_link_get()
429 cvmx_read_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface)); in __cvmx_helper_sgmii_link_get()
436 cvmx_read_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface)); in __cvmx_helper_sgmii_link_get()
448 (index, interface)); in __cvmx_helper_sgmii_link_get()
451 (interface, index) != 0) in __cvmx_helper_sgmii_link_get()
458 (index, interface)); in __cvmx_helper_sgmii_link_get()
513 int interface = cvmx_helper_get_interface_num(ipd_port); in __cvmx_helper_sgmii_link_set() local
515 __cvmx_helper_sgmii_hardware_init_link(interface, index); in __cvmx_helper_sgmii_link_set()
516 return __cvmx_helper_sgmii_hardware_init_link_speed(interface, index, in __cvmx_helper_sgmii_link_set()
537 int interface = cvmx_helper_get_interface_num(ipd_port); in __cvmx_helper_sgmii_configure_loopback() local
543 cvmx_read_csr(CVMX_PCSX_MRX_CONTROL_REG(index, interface)); in __cvmx_helper_sgmii_configure_loopback()
545 cvmx_write_csr(CVMX_PCSX_MRX_CONTROL_REG(index, interface), in __cvmx_helper_sgmii_configure_loopback()
549 cvmx_read_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface)); in __cvmx_helper_sgmii_configure_loopback()
551 cvmx_write_csr(CVMX_PCSX_MISCX_CTL_REG(index, interface), in __cvmx_helper_sgmii_configure_loopback()
554 __cvmx_helper_sgmii_hardware_init_link(interface, index); in __cvmx_helper_sgmii_configure_loopback()