*
* Returns Zero on success, negative of failure.
*/
-int cvmx_spi_start_interface(int interface, cvmx_spi_mode_t mode, int timeout,
+int cvmx_spi_start_interface(int interface, enum cvmx_spi_mode mode, int timeout,
int num_ports)
{
int res = -1;
*
* Returns Zero on success, negative of failure.
*/
-int cvmx_spi_restart_interface(int interface, cvmx_spi_mode_t mode, int timeout)
+int cvmx_spi_restart_interface(int interface, enum cvmx_spi_mode mode, int timeout)
{
int res = -1;
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-int cvmx_spi_reset_cb(int interface, cvmx_spi_mode_t mode)
+int cvmx_spi_reset_cb(int interface, enum cvmx_spi_mode mode)
{
union cvmx_spxx_dbg_deskew_ctl spxx_dbg_deskew_ctl;
union cvmx_spxx_clk_ctl spxx_clk_ctl;
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-int cvmx_spi_calendar_setup_cb(int interface, cvmx_spi_mode_t mode,
+int cvmx_spi_calendar_setup_cb(int interface, enum cvmx_spi_mode mode,
int num_ports)
{
int port;
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-int cvmx_spi_clock_detect_cb(int interface, cvmx_spi_mode_t mode, int timeout)
+int cvmx_spi_clock_detect_cb(int interface, enum cvmx_spi_mode mode, int timeout)
{
int clock_transitions;
union cvmx_spxx_clk_stat stat;
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-int cvmx_spi_training_cb(int interface, cvmx_spi_mode_t mode, int timeout)
+int cvmx_spi_training_cb(int interface, enum cvmx_spi_mode mode, int timeout)
{
union cvmx_spxx_trn4_ctl spxx_trn4_ctl;
union cvmx_spxx_clk_stat stat;
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-int cvmx_spi_calendar_sync_cb(int interface, cvmx_spi_mode_t mode, int timeout)
+int cvmx_spi_calendar_sync_cb(int interface, enum cvmx_spi_mode mode, int timeout)
{
uint64_t MS = cvmx_sysinfo_get()->cpu_clock_hz / 1000;
if (mode & CVMX_SPI_MODE_RX_HALFPLEX) {
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-int cvmx_spi_interface_up_cb(int interface, cvmx_spi_mode_t mode)
+int cvmx_spi_interface_up_cb(int interface, enum cvmx_spi_mode mode)
{
union cvmx_gmxx_rxx_frm_min gmxx_rxx_frm_min;
union cvmx_gmxx_rxx_frm_max gmxx_rxx_frm_max;
/* CSR typedefs have been moved to cvmx-csr-*.h */
-typedef enum {
+enum cvmx_spi_mode {
CVMX_SPI_MODE_UNKNOWN = 0,
CVMX_SPI_MODE_TX_HALFPLEX = 1,
CVMX_SPI_MODE_RX_HALFPLEX = 2,
CVMX_SPI_MODE_DUPLEX = 3
-} cvmx_spi_mode_t;
+};
/** Callbacks structure to customize SPI4 initialization sequence */
typedef struct {
/** Called to reset SPI4 DLL */
- int (*reset_cb) (int interface, cvmx_spi_mode_t mode);
+ int (*reset_cb)(int interface, enum cvmx_spi_mode mode);
/** Called to setup calendar */
- int (*calendar_setup_cb) (int interface, cvmx_spi_mode_t mode,
- int num_ports);
+ int (*calendar_setup_cb)(int interface, enum cvmx_spi_mode mode,
+ int num_ports);
/** Called for Tx and Rx clock detection */
- int (*clock_detect_cb) (int interface, cvmx_spi_mode_t mode,
- int timeout);
+ int (*clock_detect_cb)(int interface, enum cvmx_spi_mode mode,
+ int timeout);
/** Called to perform link training */
- int (*training_cb) (int interface, cvmx_spi_mode_t mode, int timeout);
+ int (*training_cb)(int interface, enum cvmx_spi_mode mode, int timeout);
/** Called for calendar data synchronization */
- int (*calendar_sync_cb) (int interface, cvmx_spi_mode_t mode,
- int timeout);
+ int (*calendar_sync_cb)(int interface, enum cvmx_spi_mode mode,
+ int timeout);
/** Called when interface is up */
- int (*interface_up_cb) (int interface, cvmx_spi_mode_t mode);
+ int (*interface_up_cb)(int interface, enum cvmx_spi_mode mode);
} cvmx_spi_callbacks_t;
*
* Returns Zero on success, negative of failure.
*/
-extern int cvmx_spi_start_interface(int interface, cvmx_spi_mode_t mode,
+extern int cvmx_spi_start_interface(int interface, enum cvmx_spi_mode mode,
int timeout, int num_ports);
/**
* @timeout: Timeout to wait for clock synchronization in seconds
* Returns Zero on success, negative of failure.
*/
-extern int cvmx_spi_restart_interface(int interface, cvmx_spi_mode_t mode,
+extern int cvmx_spi_restart_interface(int interface, enum cvmx_spi_mode mode,
int timeout);
/**
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-extern int cvmx_spi_reset_cb(int interface, cvmx_spi_mode_t mode);
+extern int cvmx_spi_reset_cb(int interface, enum cvmx_spi_mode mode);
/**
* Callback to setup calendar and miscellaneous settings before clock
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-extern int cvmx_spi_calendar_setup_cb(int interface, cvmx_spi_mode_t mode,
+extern int cvmx_spi_calendar_setup_cb(int interface, enum cvmx_spi_mode mode,
int num_ports);
/**
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-extern int cvmx_spi_clock_detect_cb(int interface, cvmx_spi_mode_t mode,
+extern int cvmx_spi_clock_detect_cb(int interface, enum cvmx_spi_mode mode,
int timeout);
/**
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-extern int cvmx_spi_training_cb(int interface, cvmx_spi_mode_t mode,
+extern int cvmx_spi_training_cb(int interface, enum cvmx_spi_mode mode,
int timeout);
/**
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-extern int cvmx_spi_calendar_sync_cb(int interface, cvmx_spi_mode_t mode,
+extern int cvmx_spi_calendar_sync_cb(int interface, enum cvmx_spi_mode mode,
int timeout);
/**
* Returns Zero on success, non-zero error code on failure (will cause
* SPI initialization to abort)
*/
-extern int cvmx_spi_interface_up_cb(int interface, cvmx_spi_mode_t mode);
+extern int cvmx_spi_interface_up_cb(int interface, enum cvmx_spi_mode mode);
#endif /* __CVMX_SPI_H__ */