root/drivers/staging/most/dim2/errors.h
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * errors.h - Definitions of errors for DIM2 HAL API
 * (MediaLB, Device Interface Macro IP, OS62420)
 *
 * Copyright (C) 2015, Microchip Technology Germany II GmbH & Co. KG
 */

#ifndef _MOST_DIM_ERRORS_H
#define _MOST_DIM_ERRORS_H

/**
 * MOST DIM errors.
 */
enum dim_errors_t {
        /** Not an error */
        DIM_NO_ERROR = 0,

        /** Bad base address for DIM2 IP */
        DIM_INIT_ERR_DIM_ADDR = 0x10,

        /**< Bad MediaLB clock */
        DIM_INIT_ERR_MLB_CLOCK,

        /** Bad channel address */
        DIM_INIT_ERR_CHANNEL_ADDRESS,

        /** Out of DBR memory */
        DIM_INIT_ERR_OUT_OF_MEMORY,

        /** DIM API is called while DIM is not initialized successfully */
        DIM_ERR_DRIVER_NOT_INITIALIZED = 0x20,

        /**
         * Configuration does not respect hardware limitations
         * for isochronous or synchronous channels
         */
        DIM_ERR_BAD_CONFIG,

        /**
         * Buffer size does not respect hardware limitations
         * for isochronous or synchronous channels
         */
        DIM_ERR_BAD_BUFFER_SIZE,

        DIM_ERR_UNDERFLOW,

        DIM_ERR_OVERFLOW,
};

#endif /* _MOST_DIM_ERRORS_H */