/
usr
/
src
/
kernels
/
4.18.0-553.121.1.el8_10.x86_64
/
include
/
media
/
i2c
/
/usr/src/kernels/4.18.0-553.121.1.el8_10.x86_64/include/media/i2c
mkdir
upload
Name
Size
Mode
Actions
ad9389b.h
789
0644
edit
dl
rm
adp1653.h
4101
0644
edit
dl
rm
adv7183.h
1611
0644
edit
dl
rm
adv7343.h
1988
0644
edit
dl
rm
adv7393.h
883
0644
edit
dl
rm
adv7511.h
547
0644
edit
dl
rm
adv7604.h
4062
0644
edit
dl
rm
adv7842.h
5556
0644
edit
dl
rm
ak881x.h
665
0644
edit
dl
rm
bt819.h
1171
0644
edit
dl
rm
cs53l32a.h
1196
0644
edit
dl
rm
cs5345.h
1210
0644
edit
dl
rm
ir-kbd-i2c.h
1508
0644
edit
dl
rm
lm3560.h
2554
0644
edit
dl
rm
lm3646.h
2582
0644
edit
dl
rm
m5mols.h
1077
0644
edit
dl
rm
m52790.h
2726
0644
edit
dl
rm
mt9m032.h
872
0644
edit
dl
rm
mt9p031.h
310
0644
edit
dl
rm
mt9t001.h
180
0644
edit
dl
rm
mt9t112.h
586
0644
edit
dl
rm
mt9v011.h
384
0644
edit
dl
rm
mt9v022.h
362
0644
edit
dl
rm
mt9v032.h
202
0644
edit
dl
rm
noon010pc30.h
727
0644
edit
dl
rm
ov772x.h
1541
0644
edit
dl
rm
ov2659.h
1111
0644
edit
dl
rm
ov7670.h
615
0644
edit
dl
rm
ov9650.h
874
0644
edit
dl
rm
rj54n1cb0c.h
425
0644
edit
dl
rm
s5c73m3.h
1582
0644
edit
dl
rm
s5k4ecgx.h
892
0644
edit
dl
rm
s5k6aa.h
1437
0644
edit
dl
rm
saa6588.h
1338
0644
edit
dl
rm
saa7115.h
4789
0644
edit
dl
rm
saa7127.h
1271
0644
edit
dl
rm
smiapp.h
2155
0644
edit
dl
rm
sr030pc30.h
628
0644
edit
dl
rm
tc358743.h
3322
0644
edit
dl
rm
tda1997x.h
1078
0644
edit
dl
rm
ths7303.h
602
0644
edit
dl
rm
tvaudio.h
1964
0644
edit
dl
rm
tvp514x.h
2628
0644
edit
dl
rm
tvp7002.h
1919
0644
edit
dl
rm
tw9910.h
1071
0644
edit
dl
rm
uda1342.h
307
0644
edit
dl
rm
upd64031a.h
1136
0644
edit
dl
rm
upd64083.h
2069
0644
edit
dl
rm
wm8775.h
1391
0644
edit
dl
rm
Edit:
/usr/src/kernels/4.18.0-553.121.1.el8_10.x86_64/include/media/i2c/adp1653.h
(4101B)
/* * include/media/i2c/adp1653.h * * Copyright (C) 2008--2011 Nokia Corporation * * Contact: Sakari Ailus <sakari.ailus@iki.fi> * * Contributors: * Sakari Ailus <sakari.ailus@iki.fi> * Tuukka Toivonen <tuukkat76@gmail.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * */ #ifndef ADP1653_H #define ADP1653_H #include <linux/i2c.h> #include <linux/mutex.h> #include <linux/videodev2.h> #include <media/v4l2-ctrls.h> #include <media/v4l2-subdev.h> #define ADP1653_NAME "adp1653" #define ADP1653_I2C_ADDR (0x60 >> 1) /* Register definitions */ #define ADP1653_REG_OUT_SEL 0x00 #define ADP1653_REG_OUT_SEL_HPLED_TORCH_MIN 0x01 #define ADP1653_REG_OUT_SEL_HPLED_TORCH_MAX 0x0b #define ADP1653_REG_OUT_SEL_HPLED_FLASH_MIN 0x0c #define ADP1653_REG_OUT_SEL_HPLED_FLASH_MAX 0x1f #define ADP1653_REG_OUT_SEL_HPLED_SHIFT 3 #define ADP1653_REG_OUT_SEL_ILED_MAX 0x07 #define ADP1653_REG_OUT_SEL_ILED_SHIFT 0 #define ADP1653_REG_CONFIG 0x01 #define ADP1653_REG_CONFIG_TMR_CFG (1 << 4) #define ADP1653_REG_CONFIG_TMR_SET_MAX 0x0f #define ADP1653_REG_CONFIG_TMR_SET_SHIFT 0 #define ADP1653_REG_SW_STROBE 0x02 #define ADP1653_REG_SW_STROBE_SW_STROBE (1 << 0) #define ADP1653_REG_FAULT 0x03 #define ADP1653_REG_FAULT_FLT_SCP (1 << 3) #define ADP1653_REG_FAULT_FLT_OT (1 << 2) #define ADP1653_REG_FAULT_FLT_TMR (1 << 1) #define ADP1653_REG_FAULT_FLT_OV (1 << 0) #define ADP1653_INDICATOR_INTENSITY_MIN 0 #define ADP1653_INDICATOR_INTENSITY_STEP 2500 #define ADP1653_INDICATOR_INTENSITY_MAX \ (ADP1653_REG_OUT_SEL_ILED_MAX * ADP1653_INDICATOR_INTENSITY_STEP) #define ADP1653_INDICATOR_INTENSITY_uA_TO_REG(a) \ ((a) / ADP1653_INDICATOR_INTENSITY_STEP) #define ADP1653_INDICATOR_INTENSITY_REG_TO_uA(a) \ ((a) * ADP1653_INDICATOR_INTENSITY_STEP) #define ADP1653_FLASH_INTENSITY_BASE 35 #define ADP1653_FLASH_INTENSITY_STEP 15 #define ADP1653_FLASH_INTENSITY_MIN \ (ADP1653_FLASH_INTENSITY_BASE \ + ADP1653_REG_OUT_SEL_HPLED_FLASH_MIN * ADP1653_FLASH_INTENSITY_STEP) #define ADP1653_FLASH_INTENSITY_MAX \ (ADP1653_FLASH_INTENSITY_MIN + \ (ADP1653_REG_OUT_SEL_HPLED_FLASH_MAX - \ ADP1653_REG_OUT_SEL_HPLED_FLASH_MIN + 1) * \ ADP1653_FLASH_INTENSITY_STEP) #define ADP1653_FLASH_INTENSITY_mA_TO_REG(a) \ ((a) < ADP1653_FLASH_INTENSITY_BASE ? 0 : \ (((a) - ADP1653_FLASH_INTENSITY_BASE) / ADP1653_FLASH_INTENSITY_STEP)) #define ADP1653_FLASH_INTENSITY_REG_TO_mA(a) \ ((a) * ADP1653_FLASH_INTENSITY_STEP + ADP1653_FLASH_INTENSITY_BASE) #define ADP1653_TORCH_INTENSITY_MIN \ (ADP1653_FLASH_INTENSITY_BASE \ + ADP1653_REG_OUT_SEL_HPLED_TORCH_MIN * ADP1653_FLASH_INTENSITY_STEP) #define ADP1653_TORCH_INTENSITY_MAX \ (ADP1653_TORCH_INTENSITY_MIN + \ (ADP1653_REG_OUT_SEL_HPLED_TORCH_MAX - \ ADP1653_REG_OUT_SEL_HPLED_TORCH_MIN + 1) * \ ADP1653_FLASH_INTENSITY_STEP) struct adp1653_platform_data { int (*power)(struct v4l2_subdev *sd, int on); u32 max_flash_timeout; /* flash light timeout in us */ u32 max_flash_intensity; /* led intensity, flash mode, mA */ u32 max_torch_intensity; /* led intensity, torch mode, mA */ u32 max_indicator_intensity; /* indicator led intensity, uA */ struct gpio_desc *enable_gpio; /* for device-tree based boot */ }; #define to_adp1653_flash(sd) container_of(sd, struct adp1653_flash, subdev) struct adp1653_flash { struct v4l2_subdev subdev; struct adp1653_platform_data *platform_data; struct v4l2_ctrl_handler ctrls; struct v4l2_ctrl *led_mode; struct v4l2_ctrl *flash_timeout; struct v4l2_ctrl *flash_intensity; struct v4l2_ctrl *torch_intensity; struct v4l2_ctrl *indicator_intensity; struct mutex power_lock; int power_count; int fault; }; #endif /* ADP1653_H */
Save
cmd:
run