1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 */ 6 7 #ifndef __ISYS_STREAM2MMIO_PUBLIC_H_INCLUDED__ 8 #define __ISYS_STREAM2MMIO_PUBLIC_H_INCLUDED__ 9 10 /***************************************************** 11 * 12 * Native command interface (NCI). 13 * 14 *****************************************************/ 15 /** 16 * @brief Get the stream2mmio-controller state. 17 * Get the state of the stream2mmio-controller regiester-set. 18 * 19 * @param[in] id The global unique ID of the steeam2mmio controller. 20 * @param[out] state Point to the register-state. 21 */ 22 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_get_state( 23 const stream2mmio_ID_t ID, 24 stream2mmio_state_t *state); 25 26 /** 27 * @brief Get the state of the stream2mmio-controller sidess. 28 * Get the state of the register set per buf-controller sidess. 29 * 30 * @param[in] id The global unique ID of the steeam2mmio controller. 31 * @param[in] sid_id The sid ID. 32 * @param[out] state Point to the sid state. 33 */ 34 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_get_sid_state( 35 const stream2mmio_ID_t ID, 36 const stream2mmio_sid_ID_t sid_id, 37 stream2mmio_sid_state_t *state); 38 /* end of NCI */ 39 40 /***************************************************** 41 * 42 * Device level interface (DLI). 43 * 44 *****************************************************/ 45 /** 46 * @brief Load the register value. 47 * Load the value of the register of the stream2mmio-controller. 48 * 49 * @param[in] ID The global unique ID for the stream2mmio-controller instance. 50 * @param[in] sid_id The SID in question. 51 * @param[in] reg_idx The offset address of the register. 52 * 53 * @return the value of the register. 54 */ 55 STORAGE_CLASS_STREAM2MMIO_H hrt_data stream2mmio_reg_load( 56 const stream2mmio_ID_t ID, 57 const stream2mmio_sid_ID_t sid_id, 58 const uint32_t reg_idx); 59 60 /** 61 * @brief Dump the SID processor state. 62 * Dump the state of the sid regiester-set. 63 * 64 * @param[in] state Pointer to the register-state. 65 */ 66 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_print_sid_state( 67 stream2mmio_sid_state_t *state); 68 /** 69 * @brief Dump the stream2mmio state. 70 * Dump the state of the ibuf-controller regiester-set. 71 * 72 * @param[in] id The global unique ID of the st2mmio 73 * @param[in] state Pointer to the register-state. 74 */ 75 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_dump_state( 76 const stream2mmio_ID_t ID, 77 stream2mmio_state_t *state); 78 /** 79 * @brief Store a value to the register. 80 * Store a value to the registe of the stream2mmio-controller. 81 * 82 * @param[in] ID The global unique ID for the stream2mmio-controller instance. 83 * @param[in] reg The offset address of the register. 84 * @param[in] value The value to be stored. 85 * 86 */ 87 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_reg_store( 88 const stream2mmio_ID_t ID, 89 const hrt_address reg, 90 const hrt_data value); 91 /* end of DLI */ 92 93 #endif /* __ISYS_STREAM2MMIO_PUBLIC_H_INCLUDED__ */ 94