1 /* 2 * Support for Intel Camera Imaging ISP subsystem. 3 * Copyright (c) 2015, Intel Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 */ 14 15 #ifndef __GP_DEVICE_PUBLIC_H_INCLUDED__ 16 #define __GP_DEVICE_PUBLIC_H_INCLUDED__ 17 18 #include "system_local.h" 19 20 typedef struct gp_device_state_s gp_device_state_t; 21 22 /*! Read the state of GP_DEVICE[ID] 23 24 \param ID[in] GP_DEVICE identifier 25 \param state[out] gp device state structure 26 27 \return none, state = GP_DEVICE[ID].state 28 */ 29 void gp_device_get_state( 30 const gp_device_ID_t ID, 31 gp_device_state_t *state); 32 33 /*! Write to a control register of GP_DEVICE[ID] 34 35 \param ID[in] GP_DEVICE identifier 36 \param reg_addr[in] register byte address 37 \param value[in] The data to be written 38 39 \return none, GP_DEVICE[ID].ctrl[reg] = value 40 */ 41 STORAGE_CLASS_GP_DEVICE_H void gp_device_reg_store( 42 const gp_device_ID_t ID, 43 const unsigned int reg_addr, 44 const hrt_data value); 45 46 /*! Read from a control register of GP_DEVICE[ID] 47 48 \param ID[in] GP_DEVICE identifier 49 \param reg_addr[in] register byte address 50 \param value[in] The data to be written 51 52 \return GP_DEVICE[ID].ctrl[reg] 53 */ 54 STORAGE_CLASS_GP_DEVICE_H hrt_data gp_device_reg_load( 55 const gp_device_ID_t ID, 56 const hrt_address reg_addr); 57 58 #endif /* __GP_DEVICE_PUBLIC_H_INCLUDED__ */ 59