/
usr
/
src
/
linux-headers-5.15.0-190
/
include
/
media
/
i2c
/
/usr/src/linux-headers-5.15.0-190/include/media/i2c
mkdir
upload
Name
Size
Mode
Actions
ad9389b.h
789
0644
edit
dl
rm
adp1653.h
3703
0644
edit
dl
rm
adv7183.h
1216
0644
edit
dl
rm
adv7343.h
1995
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
519
0644
edit
dl
rm
bt819.h
515
0644
edit
dl
rm
cs53l32a.h
540
0644
edit
dl
rm
cs5345.h
554
0644
edit
dl
rm
ir-kbd-i2c.h
1508
0644
edit
dl
rm
lm3560.h
2185
0644
edit
dl
rm
lm3646.h
2436
0644
edit
dl
rm
m5mols.h
870
0644
edit
dl
rm
m52790.h
2070
0644
edit
dl
rm
mt9m032.h
474
0644
edit
dl
rm
mt9p031.h
310
0644
edit
dl
rm
mt9t001.h
180
0644
edit
dl
rm
mt9t112.h
593
0644
edit
dl
rm
mt9v011.h
238
0644
edit
dl
rm
mt9v022.h
216
0644
edit
dl
rm
mt9v032.h
202
0644
edit
dl
rm
noon010pc30.h
572
0644
edit
dl
rm
ov772x.h
1402
0644
edit
dl
rm
ov2659.h
1111
0644
edit
dl
rm
ov7670.h
559
0644
edit
dl
rm
ov9650.h
728
0644
edit
dl
rm
rj54n1cb0c.h
279
0644
edit
dl
rm
s5c73m3.h
1608
0644
edit
dl
rm
s5k4ecgx.h
683
0644
edit
dl
rm
s5k6aa.h
1256
0644
edit
dl
rm
saa6588.h
682
0644
edit
dl
rm
saa7115.h
4133
0644
edit
dl
rm
saa7127.h
615
0644
edit
dl
rm
sr030pc30.h
421
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
1308
0644
edit
dl
rm
tvp514x.h
2164
0644
edit
dl
rm
tvp7002.h
1463
0644
edit
dl
rm
tw9910.h
876
0644
edit
dl
rm
uda1342.h
307
0644
edit
dl
rm
upd64031a.h
680
0644
edit
dl
rm
upd64083.h
1613
0644
edit
dl
rm
wm8775.h
735
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-190/include/media/i2c/adp1653.h
(3703B)
/* SPDX-License-Identifier: GPL-2.0-only */ /* * 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> */ #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