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

lm3646.h (2436B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * include/media/i2c/lm3646.h
      4 *
      5 * Copyright (C) 2014 Texas Instruments
      6 *
      7 * Contact: Daniel Jeong <gshark.jeong@gmail.com>
      8 *			Ldd-Mlp <ldd-mlp@list.ti.com>
      9 */
     10
     11#ifndef __LM3646_H__
     12#define __LM3646_H__
     13
     14#include <media/v4l2-subdev.h>
     15
     16#define LM3646_NAME	"lm3646"
     17#define LM3646_I2C_ADDR_REV1	(0x67)
     18#define LM3646_I2C_ADDR_REV0	(0x63)
     19
     20/*  TOTAL FLASH Brightness Max
     21 *	min 93350uA, step 93750uA, max 1499600uA
     22 */
     23#define LM3646_TOTAL_FLASH_BRT_MIN 93350
     24#define LM3646_TOTAL_FLASH_BRT_STEP 93750
     25#define LM3646_TOTAL_FLASH_BRT_MAX 1499600
     26#define LM3646_TOTAL_FLASH_BRT_uA_TO_REG(a)	\
     27	((a) < LM3646_TOTAL_FLASH_BRT_MIN ? 0 :	\
     28	 ((((a) - LM3646_TOTAL_FLASH_BRT_MIN) / LM3646_TOTAL_FLASH_BRT_STEP)))
     29
     30/*  TOTAL TORCH Brightness Max
     31 *	min 23040uA, step 23430uA, max 187100uA
     32 */
     33#define LM3646_TOTAL_TORCH_BRT_MIN 23040
     34#define LM3646_TOTAL_TORCH_BRT_STEP 23430
     35#define LM3646_TOTAL_TORCH_BRT_MAX 187100
     36#define LM3646_TOTAL_TORCH_BRT_uA_TO_REG(a)	\
     37	((a) < LM3646_TOTAL_TORCH_BRT_MIN ? 0 :	\
     38	 ((((a) - LM3646_TOTAL_TORCH_BRT_MIN) / LM3646_TOTAL_TORCH_BRT_STEP)))
     39
     40/*  LED1 FLASH Brightness
     41 *	min 23040uA, step 11718uA, max 1499600uA
     42 */
     43#define LM3646_LED1_FLASH_BRT_MIN 23040
     44#define LM3646_LED1_FLASH_BRT_STEP 11718
     45#define LM3646_LED1_FLASH_BRT_MAX 1499600
     46#define LM3646_LED1_FLASH_BRT_uA_TO_REG(a)	\
     47	((a) <= LM3646_LED1_FLASH_BRT_MIN ? 0 :	\
     48	 ((((a) - LM3646_LED1_FLASH_BRT_MIN) / LM3646_LED1_FLASH_BRT_STEP))+1)
     49
     50/*  LED1 TORCH Brightness
     51 *	min 2530uA, step 1460uA, max 187100uA
     52 */
     53#define LM3646_LED1_TORCH_BRT_MIN 2530
     54#define LM3646_LED1_TORCH_BRT_STEP 1460
     55#define LM3646_LED1_TORCH_BRT_MAX 187100
     56#define LM3646_LED1_TORCH_BRT_uA_TO_REG(a)	\
     57	((a) <= LM3646_LED1_TORCH_BRT_MIN ? 0 :	\
     58	 ((((a) - LM3646_LED1_TORCH_BRT_MIN) / LM3646_LED1_TORCH_BRT_STEP))+1)
     59
     60/*  FLASH TIMEOUT DURATION
     61 *	min 50ms, step 50ms, max 400ms
     62 */
     63#define LM3646_FLASH_TOUT_MIN 50
     64#define LM3646_FLASH_TOUT_STEP 50
     65#define LM3646_FLASH_TOUT_MAX 400
     66#define LM3646_FLASH_TOUT_ms_TO_REG(a)	\
     67	((a) <= LM3646_FLASH_TOUT_MIN ? 0 :	\
     68	 (((a) - LM3646_FLASH_TOUT_MIN) / LM3646_FLASH_TOUT_STEP))
     69
     70/* struct lm3646_platform_data
     71 *
     72 * @flash_timeout: flash timeout
     73 * @led1_flash_brt: led1 flash mode brightness, uA
     74 * @led1_torch_brt: led1 torch mode brightness, uA
     75 */
     76struct lm3646_platform_data {
     77
     78	u32 flash_timeout;
     79
     80	u32 led1_flash_brt;
     81	u32 led1_torch_brt;
     82};
     83
     84#endif /* __LM3646_H__ */