Lines Matching full:isp
3 * isp.h
5 * TI OMAP3 ISP - Core
37 * terminating token for ISP
85 /* ISP: OMAP 34xx ES 1.0 */
98 * struct isp_res_mapping - Map ISP io resources to ISP revision.
100 * @offset: register offsets of various ISP sub-blocks
110 * struct isp_reg - Structure for ISP register values.
126 struct isp_device *isp; member
137 * struct isp_device - ISP device structure.
138 * @dev: Device pointer specific to the OMAP3 ISP.
139 * @revision: Stores current ISP module revision.
141 * @mmio_base: Array with kernel base addresses for ioremapped ISP register
143 * @mmio_hist_base_phys: Physical L4 bus address for ISP hist block register
150 * @isp_mutex: Mutex for serializing requests to ISP.
154 * @ref_count: Reference count for handling multiple ISP requests.
159 * @xclks: External clocks provided by the ISP
160 * @irq: Currently attached ISP ISR callbacks information structure.
161 * @isp_af: Pointer to current settings for ISP AutoFocus SCM.
162 * @isp_hist: Pointer to current settings for ISP Histogram SCM.
163 * @isp_h3a: Pointer to current settings for ISP Auto Exposure and
165 * @isp_res: Pointer to current settings for ISP Resizer.
166 * @isp_prev: Pointer to current settings for ISP Preview.
167 * @isp_ccdc: Pointer to current settings for ISP CCDC.
168 * @platform_cb: ISP driver callback function pointers for platform code
170 * This structure is used to store the OMAP ISP Information.
190 /* ISP Obj */
205 /* ISP modules */
242 void omap3isp_hist_dma_done(struct isp_device *isp);
244 void omap3isp_flush(struct isp_device *isp);
255 void omap3isp_configure_bridge(struct isp_device *isp,
260 struct isp_device *omap3isp_get(struct isp_device *isp);
261 void omap3isp_put(struct isp_device *isp);
263 void omap3isp_print_status(struct isp_device *isp);
265 void omap3isp_sbl_enable(struct isp_device *isp, enum isp_sbl_resource res);
266 void omap3isp_sbl_disable(struct isp_device *isp, enum isp_sbl_resource res);
268 void omap3isp_subclk_enable(struct isp_device *isp,
270 void omap3isp_subclk_disable(struct isp_device *isp,
278 * isp_reg_readl - Read value of an OMAP3 ISP register
279 * @isp: Device pointer specific to the OMAP3 ISP.
286 u32 isp_reg_readl(struct isp_device *isp, enum isp_mem_resources isp_mmio_range, in isp_reg_readl() argument
289 return __raw_readl(isp->mmio_base[isp_mmio_range] + reg_offset); in isp_reg_readl()
293 * isp_reg_writel - Write value to an OMAP3 ISP register
294 * @isp: Device pointer specific to the OMAP3 ISP.
300 void isp_reg_writel(struct isp_device *isp, u32 reg_value, in isp_reg_writel() argument
303 __raw_writel(reg_value, isp->mmio_base[isp_mmio_range] + reg_offset); in isp_reg_writel()
307 * isp_reg_clr - Clear individual bits in an OMAP3 ISP register
308 * @isp: Device pointer specific to the OMAP3 ISP.
314 void isp_reg_clr(struct isp_device *isp, enum isp_mem_resources mmio_range, in isp_reg_clr() argument
317 u32 v = isp_reg_readl(isp, mmio_range, reg); in isp_reg_clr()
319 isp_reg_writel(isp, v & ~clr_bits, mmio_range, reg); in isp_reg_clr()
323 * isp_reg_set - Set individual bits in an OMAP3 ISP register
324 * @isp: Device pointer specific to the OMAP3 ISP.
330 void isp_reg_set(struct isp_device *isp, enum isp_mem_resources mmio_range, in isp_reg_set() argument
333 u32 v = isp_reg_readl(isp, mmio_range, reg); in isp_reg_set()
335 isp_reg_writel(isp, v | set_bits, mmio_range, reg); in isp_reg_set()
339 * isp_reg_clr_set - Clear and set invidial bits in an OMAP3 ISP register
340 * @isp: Device pointer specific to the OMAP3 ISP.
349 void isp_reg_clr_set(struct isp_device *isp, enum isp_mem_resources mmio_range, in isp_reg_clr_set() argument
352 u32 v = isp_reg_readl(isp, mmio_range, reg); in isp_reg_clr_set()
354 isp_reg_writel(isp, (v & ~clr_bits) | set_bits, mmio_range, reg); in isp_reg_clr_set()