19d4fa1a1SMauro Carvalho Chehab /* 29d4fa1a1SMauro Carvalho Chehab * Support for Intel Camera Imaging ISP subsystem. 39d4fa1a1SMauro Carvalho Chehab * Copyright (c) 2015, Intel Corporation. 49d4fa1a1SMauro Carvalho Chehab * 59d4fa1a1SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify it 69d4fa1a1SMauro Carvalho Chehab * under the terms and conditions of the GNU General Public License, 79d4fa1a1SMauro Carvalho Chehab * version 2, as published by the Free Software Foundation. 89d4fa1a1SMauro Carvalho Chehab * 99d4fa1a1SMauro Carvalho Chehab * This program is distributed in the hope it will be useful, but WITHOUT 109d4fa1a1SMauro Carvalho Chehab * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 119d4fa1a1SMauro Carvalho Chehab * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 129d4fa1a1SMauro Carvalho Chehab * more details. 139d4fa1a1SMauro Carvalho Chehab */ 149d4fa1a1SMauro Carvalho Chehab 159d4fa1a1SMauro Carvalho Chehab #ifndef __CSI_RX_PUBLIC_H_INCLUDED__ 169d4fa1a1SMauro Carvalho Chehab #define __CSI_RX_PUBLIC_H_INCLUDED__ 179d4fa1a1SMauro Carvalho Chehab 189d4fa1a1SMauro Carvalho Chehab #ifdef USE_INPUT_SYSTEM_VERSION_2401 199d4fa1a1SMauro Carvalho Chehab /***************************************************** 209d4fa1a1SMauro Carvalho Chehab * 219d4fa1a1SMauro Carvalho Chehab * Native command interface (NCI). 229d4fa1a1SMauro Carvalho Chehab * 239d4fa1a1SMauro Carvalho Chehab *****************************************************/ 249d4fa1a1SMauro Carvalho Chehab /** 259d4fa1a1SMauro Carvalho Chehab * @brief Get the csi rx frontend state. 269d4fa1a1SMauro Carvalho Chehab * Get the state of the csi rx frontend regiester-set. 279d4fa1a1SMauro Carvalho Chehab * 289d4fa1a1SMauro Carvalho Chehab * @param[in] id The global unique ID of the csi rx fe controller. 299d4fa1a1SMauro Carvalho Chehab * @param[out] state Point to the register-state. 309d4fa1a1SMauro Carvalho Chehab */ 319d4fa1a1SMauro Carvalho Chehab void csi_rx_fe_ctrl_get_state( 329d4fa1a1SMauro Carvalho Chehab const csi_rx_frontend_ID_t ID, 339d4fa1a1SMauro Carvalho Chehab csi_rx_fe_ctrl_state_t *state); 349d4fa1a1SMauro Carvalho Chehab /** 359d4fa1a1SMauro Carvalho Chehab * @brief Dump the csi rx frontend state. 369d4fa1a1SMauro Carvalho Chehab * Dump the state of the csi rx frontend regiester-set. 379d4fa1a1SMauro Carvalho Chehab * 389d4fa1a1SMauro Carvalho Chehab * @param[in] id The global unique ID of the csi rx fe controller. 399d4fa1a1SMauro Carvalho Chehab * @param[in] state Point to the register-state. 409d4fa1a1SMauro Carvalho Chehab */ 419d4fa1a1SMauro Carvalho Chehab void csi_rx_fe_ctrl_dump_state( 429d4fa1a1SMauro Carvalho Chehab const csi_rx_frontend_ID_t ID, 439d4fa1a1SMauro Carvalho Chehab csi_rx_fe_ctrl_state_t *state); 449d4fa1a1SMauro Carvalho Chehab /** 459d4fa1a1SMauro Carvalho Chehab * @brief Get the state of the csi rx fe dlane. 469d4fa1a1SMauro Carvalho Chehab * Get the state of the register set per dlane process. 479d4fa1a1SMauro Carvalho Chehab * 489d4fa1a1SMauro Carvalho Chehab * @param[in] id The global unique ID of the input-buffer controller. 499d4fa1a1SMauro Carvalho Chehab * @param[in] lane The lane ID. 509d4fa1a1SMauro Carvalho Chehab * @param[out] state Point to the dlane state. 519d4fa1a1SMauro Carvalho Chehab */ 529d4fa1a1SMauro Carvalho Chehab void csi_rx_fe_ctrl_get_dlane_state( 539d4fa1a1SMauro Carvalho Chehab const csi_rx_frontend_ID_t ID, 549d4fa1a1SMauro Carvalho Chehab const u32 lane, 559d4fa1a1SMauro Carvalho Chehab csi_rx_fe_ctrl_lane_t *dlane_state); 569d4fa1a1SMauro Carvalho Chehab /** 579d4fa1a1SMauro Carvalho Chehab * @brief Get the csi rx backend state. 589d4fa1a1SMauro Carvalho Chehab * Get the state of the csi rx backend regiester-set. 599d4fa1a1SMauro Carvalho Chehab * 609d4fa1a1SMauro Carvalho Chehab * @param[in] id The global unique ID of the csi rx be controller. 619d4fa1a1SMauro Carvalho Chehab * @param[out] state Point to the register-state. 629d4fa1a1SMauro Carvalho Chehab */ 639d4fa1a1SMauro Carvalho Chehab void csi_rx_be_ctrl_get_state( 649d4fa1a1SMauro Carvalho Chehab const csi_rx_backend_ID_t ID, 659d4fa1a1SMauro Carvalho Chehab csi_rx_be_ctrl_state_t *state); 669d4fa1a1SMauro Carvalho Chehab /** 679d4fa1a1SMauro Carvalho Chehab * @brief Dump the csi rx backend state. 689d4fa1a1SMauro Carvalho Chehab * Dump the state of the csi rx backend regiester-set. 699d4fa1a1SMauro Carvalho Chehab * 709d4fa1a1SMauro Carvalho Chehab * @param[in] id The global unique ID of the csi rx be controller. 719d4fa1a1SMauro Carvalho Chehab * @param[in] state Point to the register-state. 729d4fa1a1SMauro Carvalho Chehab */ 739d4fa1a1SMauro Carvalho Chehab void csi_rx_be_ctrl_dump_state( 749d4fa1a1SMauro Carvalho Chehab const csi_rx_backend_ID_t ID, 759d4fa1a1SMauro Carvalho Chehab csi_rx_be_ctrl_state_t *state); 769d4fa1a1SMauro Carvalho Chehab /* end of NCI */ 779d4fa1a1SMauro Carvalho Chehab 789d4fa1a1SMauro Carvalho Chehab /***************************************************** 799d4fa1a1SMauro Carvalho Chehab * 809d4fa1a1SMauro Carvalho Chehab * Device level interface (DLI). 819d4fa1a1SMauro Carvalho Chehab * 829d4fa1a1SMauro Carvalho Chehab *****************************************************/ 839d4fa1a1SMauro Carvalho Chehab /** 849d4fa1a1SMauro Carvalho Chehab * @brief Load the register value. 859d4fa1a1SMauro Carvalho Chehab * Load the value of the register of the csi rx fe. 869d4fa1a1SMauro Carvalho Chehab * 879d4fa1a1SMauro Carvalho Chehab * @param[in] ID The global unique ID for the ibuf-controller instance. 889d4fa1a1SMauro Carvalho Chehab * @param[in] reg The offset address of the register. 899d4fa1a1SMauro Carvalho Chehab * 909d4fa1a1SMauro Carvalho Chehab * @return the value of the register. 919d4fa1a1SMauro Carvalho Chehab */ 929d4fa1a1SMauro Carvalho Chehab hrt_data csi_rx_fe_ctrl_reg_load( 939d4fa1a1SMauro Carvalho Chehab const csi_rx_frontend_ID_t ID, 949d4fa1a1SMauro Carvalho Chehab const hrt_address reg); 959d4fa1a1SMauro Carvalho Chehab /** 969d4fa1a1SMauro Carvalho Chehab * @brief Store a value to the register. 979d4fa1a1SMauro Carvalho Chehab * Store a value to the registe of the csi rx fe. 989d4fa1a1SMauro Carvalho Chehab * 999d4fa1a1SMauro Carvalho Chehab * @param[in] ID The global unique ID for the ibuf-controller instance. 1009d4fa1a1SMauro Carvalho Chehab * @param[in] reg The offset address of the register. 1019d4fa1a1SMauro Carvalho Chehab * @param[in] value The value to be stored. 1029d4fa1a1SMauro Carvalho Chehab * 1039d4fa1a1SMauro Carvalho Chehab */ 1049d4fa1a1SMauro Carvalho Chehab void csi_rx_fe_ctrl_reg_store( 1059d4fa1a1SMauro Carvalho Chehab const csi_rx_frontend_ID_t ID, 1069d4fa1a1SMauro Carvalho Chehab const hrt_address reg, 1079d4fa1a1SMauro Carvalho Chehab const hrt_data value); 1089d4fa1a1SMauro Carvalho Chehab /** 1099d4fa1a1SMauro Carvalho Chehab * @brief Load the register value. 1109d4fa1a1SMauro Carvalho Chehab * Load the value of the register of the csirx be. 1119d4fa1a1SMauro Carvalho Chehab * 1129d4fa1a1SMauro Carvalho Chehab * @param[in] ID The global unique ID for the ibuf-controller instance. 1139d4fa1a1SMauro Carvalho Chehab * @param[in] reg The offset address of the register. 1149d4fa1a1SMauro Carvalho Chehab * 1159d4fa1a1SMauro Carvalho Chehab * @return the value of the register. 1169d4fa1a1SMauro Carvalho Chehab */ 1179d4fa1a1SMauro Carvalho Chehab hrt_data csi_rx_be_ctrl_reg_load( 1189d4fa1a1SMauro Carvalho Chehab const csi_rx_backend_ID_t ID, 1199d4fa1a1SMauro Carvalho Chehab const hrt_address reg); 1209d4fa1a1SMauro Carvalho Chehab /** 1219d4fa1a1SMauro Carvalho Chehab * @brief Store a value to the register. 1229d4fa1a1SMauro Carvalho Chehab * Store a value to the registe of the csi rx be. 1239d4fa1a1SMauro Carvalho Chehab * 1249d4fa1a1SMauro Carvalho Chehab * @param[in] ID The global unique ID for the ibuf-controller instance. 1259d4fa1a1SMauro Carvalho Chehab * @param[in] reg The offset address of the register. 1269d4fa1a1SMauro Carvalho Chehab * @param[in] value The value to be stored. 1279d4fa1a1SMauro Carvalho Chehab * 1289d4fa1a1SMauro Carvalho Chehab */ 1299d4fa1a1SMauro Carvalho Chehab void csi_rx_be_ctrl_reg_store( 1309d4fa1a1SMauro Carvalho Chehab const csi_rx_backend_ID_t ID, 1319d4fa1a1SMauro Carvalho Chehab const hrt_address reg, 1329d4fa1a1SMauro Carvalho Chehab const hrt_data value); 1339d4fa1a1SMauro Carvalho Chehab /* end of DLI */ 1349d4fa1a1SMauro Carvalho Chehab #endif /* USE_INPUT_SYSTEM_VERSION_2401 */ 1359d4fa1a1SMauro Carvalho Chehab #endif /* __CSI_RX_PUBLIC_H_INCLUDED__ */ 136