/usr/src/linux-headers-5.15.0-181/include/media/i2c
NameSizeModeActions
ad9389b.h7890644editdlrm
adp1653.h37030644editdlrm
adv7183.h12160644editdlrm
adv7343.h19950644editdlrm
adv7393.h8830644editdlrm
adv7511.h5470644editdlrm
adv7604.h40620644editdlrm
adv7842.h55560644editdlrm
ak881x.h5190644editdlrm
bt819.h5150644editdlrm
cs53l32a.h5400644editdlrm
cs5345.h5540644editdlrm
ir-kbd-i2c.h15080644editdlrm
lm3560.h21850644editdlrm
lm3646.h24360644editdlrm
m5mols.h8700644editdlrm
m52790.h20700644editdlrm
mt9m032.h4740644editdlrm
mt9p031.h3100644editdlrm
mt9t001.h1800644editdlrm
mt9t112.h5930644editdlrm
mt9v011.h2380644editdlrm
mt9v022.h2160644editdlrm
mt9v032.h2020644editdlrm
noon010pc30.h5720644editdlrm
ov772x.h14020644editdlrm
ov2659.h11110644editdlrm
ov7670.h5590644editdlrm
ov9650.h7280644editdlrm
rj54n1cb0c.h2790644editdlrm
s5c73m3.h16080644editdlrm
s5k4ecgx.h6830644editdlrm
s5k6aa.h12560644editdlrm
saa6588.h6820644editdlrm
saa7115.h41330644editdlrm
saa7127.h6150644editdlrm
sr030pc30.h4210644editdlrm
tc358743.h33220644editdlrm
tda1997x.h10780644editdlrm
ths7303.h6020644editdlrm
tvaudio.h13080644editdlrm
tvp514x.h21640644editdlrm
tvp7002.h14630644editdlrm
tw9910.h8760644editdlrm
uda1342.h3070644editdlrm
upd64031a.h6800644editdlrm
upd64083.h16130644editdlrm
wm8775.h7350644editdlrm
Edit: /usr/src/linux-headers-5.15.0-181/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 * * Contributors: * Sakari Ailus * Tuukka Toivonen */ #ifndef ADP1653_H #define ADP1653_H #include #include #include #include #include #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 */