| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Support for Intel Camera Imaging ISP subsystem. |
| * Copyright (c) 2015, Intel Corporation. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms and conditions of the GNU General Public License, |
| * version 2, as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| */ |
| |
| #ifndef __CSI_RX_PUBLIC_H_INCLUDED__ |
| #define __CSI_RX_PUBLIC_H_INCLUDED__ |
| |
| #ifdef ISP2401 |
| /***************************************************** |
| * |
| * Native command interface (NCI). |
| * |
| *****************************************************/ |
| /** |
| * @brief Get the csi rx frontend state. |
| * Get the state of the csi rx frontend regiester-set. |
| * |
| * @param[in] id The global unique ID of the csi rx fe controller. |
| * @param[out] state Point to the register-state. |
| */ |
| void csi_rx_fe_ctrl_get_state( |
| const csi_rx_frontend_ID_t ID, |
| csi_rx_fe_ctrl_state_t *state); |
| /** |
| * @brief Dump the csi rx frontend state. |
| * Dump the state of the csi rx frontend regiester-set. |
| * |
| * @param[in] id The global unique ID of the csi rx fe controller. |
| * @param[in] state Point to the register-state. |
| */ |
| void csi_rx_fe_ctrl_dump_state( |
| const csi_rx_frontend_ID_t ID, |
| csi_rx_fe_ctrl_state_t *state); |
| /** |
| * @brief Get the state of the csi rx fe dlane. |
| * Get the state of the register set per dlane process. |
| * |
| * @param[in] id The global unique ID of the input-buffer controller. |
| * @param[in] lane The lane ID. |
| * @param[out] state Point to the dlane state. |
| */ |
| void csi_rx_fe_ctrl_get_dlane_state( |
| const csi_rx_frontend_ID_t ID, |
| const u32 lane, |
| csi_rx_fe_ctrl_lane_t *dlane_state); |
| /** |
| * @brief Get the csi rx backend state. |
| * Get the state of the csi rx backend regiester-set. |
| * |
| * @param[in] id The global unique ID of the csi rx be controller. |
| * @param[out] state Point to the register-state. |
| */ |
| void csi_rx_be_ctrl_get_state( |
| const csi_rx_backend_ID_t ID, |
| csi_rx_be_ctrl_state_t *state); |
| /** |
| * @brief Dump the csi rx backend state. |
| * Dump the state of the csi rx backend regiester-set. |
| * |
| * @param[in] id The global unique ID of the csi rx be controller. |
| * @param[in] state Point to the register-state. |
| */ |
| void csi_rx_be_ctrl_dump_state( |
| const csi_rx_backend_ID_t ID, |
| csi_rx_be_ctrl_state_t *state); |
| /* end of NCI */ |
| |
| /***************************************************** |
| * |
| * Device level interface (DLI). |
| * |
| *****************************************************/ |
| /** |
| * @brief Load the register value. |
| * Load the value of the register of the csi rx fe. |
| * |
| * @param[in] ID The global unique ID for the ibuf-controller instance. |
| * @param[in] reg The offset address of the register. |
| * |
| * @return the value of the register. |
| */ |
| hrt_data csi_rx_fe_ctrl_reg_load( |
| const csi_rx_frontend_ID_t ID, |
| const hrt_address reg); |
| /** |
| * @brief Store a value to the register. |
| * Store a value to the registe of the csi rx fe. |
| * |
| * @param[in] ID The global unique ID for the ibuf-controller instance. |
| * @param[in] reg The offset address of the register. |
| * @param[in] value The value to be stored. |
| * |
| */ |
| void csi_rx_fe_ctrl_reg_store( |
| const csi_rx_frontend_ID_t ID, |
| const hrt_address reg, |
| const hrt_data value); |
| /** |
| * @brief Load the register value. |
| * Load the value of the register of the csirx be. |
| * |
| * @param[in] ID The global unique ID for the ibuf-controller instance. |
| * @param[in] reg The offset address of the register. |
| * |
| * @return the value of the register. |
| */ |
| hrt_data csi_rx_be_ctrl_reg_load( |
| const csi_rx_backend_ID_t ID, |
| const hrt_address reg); |
| /** |
| * @brief Store a value to the register. |
| * Store a value to the registe of the csi rx be. |
| * |
| * @param[in] ID The global unique ID for the ibuf-controller instance. |
| * @param[in] reg The offset address of the register. |
| * @param[in] value The value to be stored. |
| * |
| */ |
| void csi_rx_be_ctrl_reg_store( |
| const csi_rx_backend_ID_t ID, |
| const hrt_address reg, |
| const hrt_data value); |
| /* end of DLI */ |
| #endif /* ISP2401 */ |
| #endif /* __CSI_RX_PUBLIC_H_INCLUDED__ */ |