cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

solo6x10-tw28.h (1894B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Copyright (C) 2010-2013 Bluecherry, LLC <https://www.bluecherrydvr.com>
      4 *
      5 * Original author:
      6 * Ben Collins <bcollins@ubuntu.com>
      7 *
      8 * Additional work by:
      9 * John Brooks <john.brooks@bluecherry.net>
     10 */
     11
     12#ifndef __SOLO6X10_TW28_H
     13#define __SOLO6X10_TW28_H
     14
     15#include "solo6x10.h"
     16
     17#define TW_NUM_CHIP				4
     18#define TW_BASE_ADDR				0x28
     19#define TW_CHIP_OFFSET_ADDR(n)			(TW_BASE_ADDR + (n))
     20
     21/* tw2815 */
     22#define TW_AV_STAT_ADDR				0x5a
     23#define TW_HUE_ADDR(n)				(0x07 | ((n) << 4))
     24#define TW_SATURATION_ADDR(n)			(0x08 | ((n) << 4))
     25#define TW_CONTRAST_ADDR(n)			(0x09 | ((n) << 4))
     26#define TW_BRIGHTNESS_ADDR(n)			(0x0a | ((n) << 4))
     27#define TW_AUDIO_OUTPUT_VOL_ADDR		0x70
     28#define TW_AUDIO_INPUT_GAIN_ADDR(n)		(0x60 + ((n > 1) ? 1 : 0))
     29
     30/* tw286x */
     31#define TW286x_AV_STAT_ADDR			0xfd
     32#define TW286x_HUE_ADDR(n)			(0x06 | ((n) << 4))
     33#define TW286x_SATURATIONU_ADDR(n)		(0x04 | ((n) << 4))
     34#define TW286x_SATURATIONV_ADDR(n)		(0x05 | ((n) << 4))
     35#define TW286x_CONTRAST_ADDR(n)			(0x02 | ((n) << 4))
     36#define TW286x_BRIGHTNESS_ADDR(n)		(0x01 | ((n) << 4))
     37#define TW286x_SHARPNESS(n)			(0x03 | ((n) << 4))
     38#define TW286x_AUDIO_OUTPUT_VOL_ADDR		0xdf
     39#define TW286x_AUDIO_INPUT_GAIN_ADDR(n)		(0xD0 + ((n > 1) ? 1 : 0))
     40
     41int solo_tw28_init(struct solo_dev *solo_dev);
     42
     43int tw28_set_ctrl_val(struct solo_dev *solo_dev, u32 ctrl, u8 ch, s32 val);
     44int tw28_get_ctrl_val(struct solo_dev *solo_dev, u32 ctrl, u8 ch, s32 *val);
     45bool tw28_has_sharpness(struct solo_dev *solo_dev, u8 ch);
     46
     47u8 tw28_get_audio_gain(struct solo_dev *solo_dev, u8 ch);
     48void tw28_set_audio_gain(struct solo_dev *solo_dev, u8 ch, u8 val);
     49int tw28_get_video_status(struct solo_dev *solo_dev, u8 ch);
     50
     51#if 0
     52unsigned int tw2815_get_audio_status(struct SOLO *solo);
     53void tw2815_Set_AudioOutVol(struct SOLO *solo, unsigned int u_val);
     54#endif
     55
     56#endif /* __SOLO6X10_TW28_H */