1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) 2020 Marvell International Ltd. 4 * 5 * Functions for NPI initialization, configuration, 6 * and monitoring. 7 */ 8 9 #ifndef __CVMX_HELPER_NPI_H__ 10 #define __CVMX_HELPER_NPI_H__ 11 12 /** 13 * @INTERNAL 14 * Probe a NPI interface and determine the number of ports 15 * connected to it. The NPI interface should still be down after 16 * this call. 17 * 18 * @param interface Interface to probe 19 * 20 * @return Number of ports on the interface. Zero to disable. 21 */ 22 int __cvmx_helper_npi_probe(int interface); 23 24 /** 25 * @INTERNAL 26 * Bringup and enable a NPI interface. After this call packet 27 * I/O should be fully functional. This is called with IPD 28 * enabled but PKO disabled. 29 * 30 * @param xiface Interface to bring up 31 * 32 * @return Zero on success, negative on failure 33 */ 34 int __cvmx_helper_npi_enable(int xiface); 35 36 /** 37 * Sets the number of pipe used by SLI packet output in the variable, 38 * which then later used for setting it up in HW 39 */ 40 void cvmx_npi_config_set_num_pipes(int num_pipes); 41 42 #endif 43