linux/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.h
<<
>>
Prefs
   1/* linux/drivers/media/platform/s5p-jpeg/jpeg-hw.h
   2 *
   3 * Copyright (c) 2011 Samsung Electronics Co., Ltd.
   4 *              http://www.samsung.com
   5 *
   6 * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
   7 *
   8 * This program is free software; you can redistribute it and/or modify
   9 * it under the terms of the GNU General Public License version 2 as
  10 * published by the Free Software Foundation.
  11 */
  12#ifndef JPEG_HW_S5P_H_
  13#define JPEG_HW_S5P_H_
  14
  15#include <linux/io.h>
  16#include <linux/videodev2.h>
  17
  18#include "jpeg-regs.h"
  19
  20#define S5P_JPEG_MIN_WIDTH              32
  21#define S5P_JPEG_MIN_HEIGHT             32
  22#define S5P_JPEG_MAX_WIDTH              8192
  23#define S5P_JPEG_MAX_HEIGHT             8192
  24#define S5P_JPEG_RAW_IN_565             0
  25#define S5P_JPEG_RAW_IN_422             1
  26#define S5P_JPEG_RAW_OUT_422            0
  27#define S5P_JPEG_RAW_OUT_420            1
  28
  29void s5p_jpeg_reset(void __iomem *regs);
  30void s5p_jpeg_poweron(void __iomem *regs);
  31void s5p_jpeg_input_raw_mode(void __iomem *regs, unsigned long mode);
  32void s5p_jpeg_proc_mode(void __iomem *regs, unsigned long mode);
  33void s5p_jpeg_subsampling_mode(void __iomem *regs, unsigned int mode);
  34unsigned int s5p_jpeg_get_subsampling_mode(void __iomem *regs);
  35void s5p_jpeg_dri(void __iomem *regs, unsigned int dri);
  36void s5p_jpeg_qtbl(void __iomem *regs, unsigned int t, unsigned int n);
  37void s5p_jpeg_htbl_ac(void __iomem *regs, unsigned int t);
  38void s5p_jpeg_htbl_dc(void __iomem *regs, unsigned int t);
  39void s5p_jpeg_y(void __iomem *regs, unsigned int y);
  40void s5p_jpeg_x(void __iomem *regs, unsigned int x);
  41void s5p_jpeg_rst_int_enable(void __iomem *regs, bool enable);
  42void s5p_jpeg_data_num_int_enable(void __iomem *regs, bool enable);
  43void s5p_jpeg_final_mcu_num_int_enable(void __iomem *regs, bool enbl);
  44int s5p_jpeg_timer_stat(void __iomem *regs);
  45void s5p_jpeg_clear_timer_stat(void __iomem *regs);
  46void s5p_jpeg_enc_stream_int(void __iomem *regs, unsigned long size);
  47int s5p_jpeg_enc_stream_stat(void __iomem *regs);
  48void s5p_jpeg_clear_enc_stream_stat(void __iomem *regs);
  49void s5p_jpeg_outform_raw(void __iomem *regs, unsigned long format);
  50void s5p_jpeg_jpgadr(void __iomem *regs, unsigned long addr);
  51void s5p_jpeg_imgadr(void __iomem *regs, unsigned long addr);
  52void s5p_jpeg_coef(void __iomem *regs, unsigned int i,
  53                             unsigned int j, unsigned int coef);
  54void s5p_jpeg_start(void __iomem *regs);
  55int s5p_jpeg_result_stat_ok(void __iomem *regs);
  56int s5p_jpeg_stream_stat_ok(void __iomem *regs);
  57void s5p_jpeg_clear_int(void __iomem *regs);
  58unsigned int s5p_jpeg_compressed_size(void __iomem *regs);
  59
  60#endif /* JPEG_HW_S5P_H_ */
  61