Home
last modified time | relevance | path

Searched full:sensor (Results 1 – 25 of 3677) sorted by relevance

12345678910>>...148

/kernel/linux/linux-5.10/drivers/thermal/st/
Dst_thermal.c3 * ST Thermal Sensor Driver core routines
23 static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) in st_thermal_alloc_regfields() argument
25 struct device *dev = sensor->dev; in st_thermal_alloc_regfields()
26 struct regmap *regmap = sensor->regmap; in st_thermal_alloc_regfields()
27 const struct reg_field *reg_fields = sensor->cdata->reg_fields; in st_thermal_alloc_regfields()
29 sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
32 sensor->overflow = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
35 sensor->temp_data = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
38 if (IS_ERR(sensor->dcorrect) || in st_thermal_alloc_regfields()
39 IS_ERR(sensor->overflow) || in st_thermal_alloc_regfields()
[all …]
Dstm_thermal.c102 static int stm_enable_irq(struct stm_thermal_sensor *sensor) in stm_enable_irq() argument
106 dev_dbg(sensor->dev, "low:%d high:%d\n", sensor->low_temp_enabled, in stm_enable_irq()
107 sensor->high_temp_enabled); in stm_enable_irq()
110 value = readl_relaxed(sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq()
113 if (sensor->low_temp_enabled) in stm_enable_irq()
116 if (sensor->high_temp_enabled) in stm_enable_irq()
120 writel_relaxed(value, sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq()
127 struct stm_thermal_sensor *sensor = sdata; in stm_thermal_irq_handler() local
129 dev_dbg(sensor->dev, "sr:%d\n", in stm_thermal_irq_handler()
130 readl_relaxed(sensor->base + DTS_SR_OFFSET)); in stm_thermal_irq_handler()
[all …]
Dst_thermal_memmap.c3 * ST Thermal Sensor Driver for memory mapped sensors.
19 /* Power control bits for the memory mapped thermal sensor */
25 * According to the STIH416 MPE temp sensor data sheet -
28 * sensor. regmap_update_bits() will be used to update the register.
39 struct st_thermal_sensor *sensor = sdata; in st_mmap_thermal_trip_handler() local
41 thermal_zone_device_update(sensor->thermal_dev, in st_mmap_thermal_trip_handler()
48 static int st_mmap_power_ctrl(struct st_thermal_sensor *sensor, in st_mmap_power_ctrl() argument
54 return regmap_update_bits(sensor->regmap, STIH416_MPE_CONF, mask, val); in st_mmap_power_ctrl()
57 static int st_mmap_alloc_regfields(struct st_thermal_sensor *sensor) in st_mmap_alloc_regfields() argument
59 struct device *dev = sensor->dev; in st_mmap_alloc_regfields()
[all …]
/kernel/linux/linux-6.6/drivers/thermal/st/
Dst_thermal.c3 * ST Thermal Sensor Driver core routines
23 static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) in st_thermal_alloc_regfields() argument
25 struct device *dev = sensor->dev; in st_thermal_alloc_regfields()
26 struct regmap *regmap = sensor->regmap; in st_thermal_alloc_regfields()
27 const struct reg_field *reg_fields = sensor->cdata->reg_fields; in st_thermal_alloc_regfields()
29 sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
32 sensor->overflow = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
35 sensor->temp_data = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
38 if (IS_ERR(sensor->dcorrect) || in st_thermal_alloc_regfields()
39 IS_ERR(sensor->overflow) || in st_thermal_alloc_regfields()
[all …]
Dstm_thermal.c99 static int stm_enable_irq(struct stm_thermal_sensor *sensor) in stm_enable_irq() argument
103 dev_dbg(sensor->dev, "low:%d high:%d\n", sensor->low_temp_enabled, in stm_enable_irq()
104 sensor->high_temp_enabled); in stm_enable_irq()
107 value = readl_relaxed(sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq()
110 if (sensor->low_temp_enabled) in stm_enable_irq()
113 if (sensor->high_temp_enabled) in stm_enable_irq()
117 writel_relaxed(value, sensor->base + DTS_ITENR_OFFSET); in stm_enable_irq()
124 struct stm_thermal_sensor *sensor = sdata; in stm_thermal_irq_handler() local
126 dev_dbg(sensor->dev, "sr:%d\n", in stm_thermal_irq_handler()
127 readl_relaxed(sensor->base + DTS_SR_OFFSET)); in stm_thermal_irq_handler()
[all …]
Dst_thermal_memmap.c3 * ST Thermal Sensor Driver for memory mapped sensors.
19 /* Power control bits for the memory mapped thermal sensor */
25 * According to the STIH416 MPE temp sensor data sheet -
28 * sensor. regmap_update_bits() will be used to update the register.
39 struct st_thermal_sensor *sensor = sdata; in st_mmap_thermal_trip_handler() local
41 thermal_zone_device_update(sensor->thermal_dev, in st_mmap_thermal_trip_handler()
48 static int st_mmap_power_ctrl(struct st_thermal_sensor *sensor, in st_mmap_power_ctrl() argument
54 return regmap_update_bits(sensor->regmap, STIH416_MPE_CONF, mask, val); in st_mmap_power_ctrl()
57 static int st_mmap_alloc_regfields(struct st_thermal_sensor *sensor) in st_mmap_alloc_regfields() argument
59 struct device *dev = sensor->dev; in st_mmap_alloc_regfields()
[all …]
/kernel/linux/linux-5.10/drivers/media/i2c/smiapp/
Dsmiapp-core.c12 * Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com>
60 static u32 smiapp_get_limit(struct smiapp_sensor *sensor, in smiapp_get_limit() argument
66 return sensor->limits[limit]; in smiapp_get_limit()
69 #define SMIA_LIM(sensor, limit) \ argument
70 smiapp_get_limit(sensor, SMIAPP_LIMIT_##limit)
72 static int smiapp_read_all_smia_limits(struct smiapp_sensor *sensor) in smiapp_read_all_smia_limits() argument
74 struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); in smiapp_read_all_smia_limits()
82 sensor, smiapp_reg_limits[i].addr, &val); in smiapp_read_all_smia_limits()
86 sensor->limits[i] = val; in smiapp_read_all_smia_limits()
93 if (SMIA_LIM(sensor, SCALER_N_MIN) == 0) in smiapp_read_all_smia_limits()
[all …]
/kernel/linux/linux-6.6/drivers/media/i2c/ccs/
Dccs-core.c13 * Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com>
90 static int ccs_limit_ptr(struct ccs_sensor *sensor, unsigned int limit, in ccs_limit_ptr() argument
100 if (WARN_ON(!sensor->ccs_limits) || in ccs_limit_ptr()
105 *__ptr = sensor->ccs_limits + ccs_limit_offsets[limit].lim + offset; in ccs_limit_ptr()
110 void ccs_replace_limit(struct ccs_sensor *sensor, in ccs_replace_limit() argument
113 struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); in ccs_replace_limit()
118 ret = ccs_limit_ptr(sensor, limit, offset, &ptr); in ccs_replace_limit()
130 u32 ccs_get_limit(struct ccs_sensor *sensor, unsigned int limit, in ccs_get_limit() argument
137 ret = ccs_limit_ptr(sensor, limit, offset, &ptr); in ccs_get_limit()
156 return ccs_reg_conv(sensor, ccs_limits[limit].reg, val); in ccs_get_limit()
[all …]
/kernel/linux/linux-6.6/drivers/media/i2c/
Dov2680.c3 * Omnivision OV2680 CMOS Image Sensor driver
7 * Based on OV5640 Sensor Driver
206 /* Sensor control register tweaks */
273 static void ov2680_power_up(struct ov2680_dev *sensor) in ov2680_power_up() argument
275 if (!sensor->pwdn_gpio) in ov2680_power_up()
278 gpiod_set_value(sensor->pwdn_gpio, 0); in ov2680_power_up()
282 static void ov2680_power_down(struct ov2680_dev *sensor) in ov2680_power_down() argument
284 if (!sensor->pwdn_gpio) in ov2680_power_down()
287 gpiod_set_value(sensor->pwdn_gpio, 1); in ov2680_power_down()
291 static void ov2680_set_bayer_order(struct ov2680_dev *sensor, in ov2680_set_bayer_order() argument
[all …]
Dst-vgxy61.c3 * Driver for VGXY61 global shutter sensor family driver
482 static s32 get_pixel_rate(struct vgxy61_dev *sensor) in get_pixel_rate() argument
484 return div64_u64((u64)sensor->data_rate_in_mbps * sensor->nb_of_lane, in get_pixel_rate()
485 get_bpp_by_code(sensor->fmt.code)); in get_pixel_rate()
499 static unsigned int get_chunk_size(struct vgxy61_dev *sensor) in get_chunk_size() argument
501 struct i2c_adapter *adapter = sensor->i2c_client->adapter; in get_chunk_size()
512 static int vgxy61_read_multiple(struct vgxy61_dev *sensor, u32 reg, in vgxy61_read_multiple() argument
515 struct i2c_client *client = sensor->i2c_client; in vgxy61_read_multiple()
546 static inline int vgxy61_read_reg(struct vgxy61_dev *sensor, u32 reg) in vgxy61_read_reg() argument
548 return vgxy61_read_multiple(sensor, reg & VGXY61_REG_ADDR_MASK, in vgxy61_read_reg()
[all …]
Dimx296.c3 * Driver for IMX296 CMOS Image Sensor from Sony
219 static int imx296_read(struct imx296 *sensor, u32 addr) in imx296_read() argument
224 ret = regmap_raw_read(sensor->regmap, addr & IMX296_REG_ADDR_MASK, data, in imx296_read()
232 static int imx296_write(struct imx296 *sensor, u32 addr, u32 value, int *err) in imx296_write() argument
240 ret = regmap_raw_write(sensor->regmap, addr & IMX296_REG_ADDR_MASK, in imx296_write()
243 dev_err(sensor->dev, "%u-bit write to 0x%04x failed: %d\n", in imx296_write()
253 static int imx296_power_on(struct imx296 *sensor) in imx296_power_on() argument
257 ret = regulator_bulk_enable(ARRAY_SIZE(sensor->supplies), in imx296_power_on()
258 sensor->supplies); in imx296_power_on()
264 ret = gpiod_direction_output(sensor->reset, 0); in imx296_power_on()
[all …]
Dimx415.c3 * Driver for the Sony IMX415 CMOS Image Sensor.
465 static int imx415_read(struct imx415 *sensor, u32 addr) in imx415_read() argument
470 ret = regmap_raw_read(sensor->regmap, addr & IMX415_REG_ADDR_MASK, data, in imx415_read()
478 static int imx415_write(struct imx415 *sensor, u32 addr, u32 value) in imx415_write() argument
483 ret = regmap_raw_write(sensor->regmap, addr & IMX415_REG_ADDR_MASK, in imx415_write()
486 dev_err_ratelimited(sensor->dev, in imx415_write()
494 static int imx415_set_testpattern(struct imx415 *sensor, int val) in imx415_set_testpattern() argument
499 ret = imx415_write(sensor, IMX415_BLKLEVEL, 0x00); in imx415_set_testpattern()
502 ret = imx415_write(sensor, IMX415_TPG_EN_DUOUT, 0x01); in imx415_set_testpattern()
505 ret = imx415_write(sensor, IMX415_TPG_PATSEL_DUOUT, val - 1); in imx415_set_testpattern()
[all …]
Ds5k6a3.c3 * Samsung S5K6A3 image sensor driver
45 * struct s5k6a3 - fimc-is sensor data structure
47 * @subdev: the image sensor's v4l2 subdev
49 * @supplies: image sensor's voltage regulator supplies
50 * @gpio_reset: GPIO connected to the sensor's reset pin
52 * @format: media bus format at the sensor's source pad
126 struct s5k6a3 *sensor, struct v4l2_subdev_state *sd_state, in __s5k6a3_get_format() argument
130 return sd_state ? v4l2_subdev_get_try_format(&sensor->subdev, in __s5k6a3_get_format()
133 return &sensor->format; in __s5k6a3_get_format()
140 struct s5k6a3 *sensor = sd_to_s5k6a3(sd); in s5k6a3_set_fmt() local
[all …]
Dar0521.c161 static int ar0521_code_to_bpp(struct ar0521_dev *sensor) in ar0521_code_to_bpp() argument
163 switch (sensor->fmt.code) { in ar0521_code_to_bpp()
172 static int ar0521_write_regs(struct ar0521_dev *sensor, const __be16 *data, in ar0521_write_regs() argument
175 struct i2c_client *client = sensor->i2c_client; in ar0521_write_regs()
187 v4l2_err(&sensor->sd, "%s: I2C write error\n", __func__); in ar0521_write_regs()
194 static int ar0521_write_reg(struct ar0521_dev *sensor, u16 reg, u16 val) in ar0521_write_reg() argument
198 return ar0521_write_regs(sensor, buf, 2); in ar0521_write_reg()
201 static int ar0521_set_geometry(struct ar0521_dev *sensor) in ar0521_set_geometry() argument
204 u16 x = clamp((AR0521_WIDTH_MAX - sensor->fmt.width) / 2, in ar0521_set_geometry()
206 u16 y = clamp(((AR0521_HEIGHT_MAX - sensor->fmt.height) / 2) & ~1, in ar0521_set_geometry()
[all …]
/kernel/linux/linux-5.10/drivers/media/i2c/
Dov2680.c3 * Omnivision OV2680 CMOS Image Sensor driver
7 * Based on OV5640 Sensor Driver
180 static struct device *ov2680_to_dev(struct ov2680_dev *sensor) in ov2680_to_dev() argument
182 return &sensor->i2c_client->dev; in ov2680_to_dev()
191 static int __ov2680_write_reg(struct ov2680_dev *sensor, u16 reg, in __ov2680_write_reg() argument
194 struct i2c_client *client = sensor->i2c_client; in __ov2680_write_reg()
221 static int __ov2680_read_reg(struct ov2680_dev *sensor, u16 reg, in __ov2680_read_reg() argument
224 struct i2c_client *client = sensor->i2c_client; in __ov2680_read_reg()
263 static int ov2680_mod_reg(struct ov2680_dev *sensor, u16 reg, u8 mask, u8 val) in ov2680_mod_reg() argument
268 ret = ov2680_read_reg(sensor, reg, &readval); in ov2680_mod_reg()
[all …]
Ds5k6a3.c3 * Samsung S5K6A3 image sensor driver
45 * struct s5k6a3 - fimc-is sensor data structure
47 * @subdev: the image sensor's v4l2 subdev
49 * @supplies: image sensor's voltage regulator supplies
50 * @gpio_reset: GPIO connected to the sensor's reset pin
52 * @format: media bus format at the sensor's source pad
126 struct s5k6a3 *sensor, struct v4l2_subdev_pad_config *cfg, in __s5k6a3_get_format() argument
130 return cfg ? v4l2_subdev_get_try_format(&sensor->subdev, cfg, pad) : NULL; in __s5k6a3_get_format()
132 return &sensor->format; in __s5k6a3_get_format()
139 struct s5k6a3 *sensor = sd_to_s5k6a3(sd); in s5k6a3_set_fmt() local
[all …]
Dmt9m032.c3 * Driver for MT9M032 CMOS Image Sensor from Micron
125 * for this sensor.
155 #define to_dev(sensor) \ argument
156 (&((struct i2c_client *)v4l2_get_subdevdata(&(sensor)->subdev))->dev)
168 static u32 mt9m032_row_time(struct mt9m032 *sensor, unsigned int width) in mt9m032_row_time() argument
174 ns = div_u64(1000000000ULL * effective_width, sensor->pix_clock); in mt9m032_row_time()
175 dev_dbg(to_dev(sensor), "MT9M032 line time: %u ns\n", ns); in mt9m032_row_time()
179 static int mt9m032_update_timing(struct mt9m032 *sensor, in mt9m032_update_timing() argument
182 struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev); in mt9m032_update_timing()
183 struct v4l2_rect *crop = &sensor->crop; in mt9m032_update_timing()
[all …]
/kernel/linux/linux-6.6/drivers/media/pci/intel/
Dipu-bridge.c44 * Do not add an entry for a sensor that is not actually supported.
111 /* camera sensor depends on IVSC in DSDT if exist */ in ipu_bridge_get_ivsc_acpi_dev()
161 static int ipu_bridge_check_ivsc_dev(struct ipu_sensor *sensor, in ipu_bridge_check_ivsc_dev() argument
176 sensor->csi_dev = csi_dev; in ipu_bridge_check_ivsc_dev()
177 sensor->ivsc_adev = adev; in ipu_bridge_check_ivsc_dev()
275 int ipu_bridge_parse_ssdb(struct acpi_device *adev, struct ipu_sensor *sensor) in ipu_bridge_parse_ssdb() argument
294 sensor->link = ssdb.link; in ipu_bridge_parse_ssdb()
295 sensor->lanes = ssdb.lanes; in ipu_bridge_parse_ssdb()
296 sensor->mclkspeed = ssdb.mclkspeed; in ipu_bridge_parse_ssdb()
297 sensor->rotation = ipu_bridge_parse_rotation(adev, &ssdb); in ipu_bridge_parse_ssdb()
[all …]
/kernel/linux/linux-6.6/drivers/iio/light/
DKconfig11 tristate "ACPI Ambient Light Sensor"
18 Ambient Light Sensor.
24 tristate "ADJD-S311-CR999 digital color sensor"
30 digital color light sensor.
36 tristate "ADUX1020 photometric sensor"
41 ADUX1020 photometric sensor.
47 tristate "AL3010 ambient light sensor"
51 ambient light sensor.
57 tristate "AL3320A ambient light sensor"
61 ambient light sensor.
[all …]
/kernel/linux/linux-6.6/drivers/iio/common/scmi_sensors/
Dscmi_iio.c4 * System Control and Management Interface(SCMI) based IIO sensor driver
44 struct scmi_iio_priv *sensor; in scmi_iio_sensor_update_cb() local
52 sensor = container_of(nb, struct scmi_iio_priv, sensor_update_nb); in scmi_iio_sensor_update_cb()
55 sensor->iio_buf[i] = sensor_update->readings[i].value; in scmi_iio_sensor_update_cb()
57 if (!sensor->sensor_info->timestamped) { in scmi_iio_sensor_update_cb()
71 tstamp_scale = sensor->sensor_info->tstamp_scale + in scmi_iio_sensor_update_cb()
81 scmi_iio_dev = sensor->indio_dev; in scmi_iio_sensor_update_cb()
82 iio_push_to_buffers_with_timestamp(scmi_iio_dev, sensor->iio_buf, in scmi_iio_sensor_update_cb()
89 struct scmi_iio_priv *sensor = iio_priv(iio_dev); in scmi_iio_buffer_preenable() local
93 if (sensor->sensor_info->timestamped) in scmi_iio_buffer_preenable()
[all …]
/kernel/linux/linux-5.10/drivers/iio/light/
DKconfig11 tristate "ACPI Ambient Light Sensor"
18 Ambient Light Sensor.
24 tristate "ADJD-S311-CR999 digital color sensor"
30 digital color light sensor.
36 tristate "ADUX1020 photometric sensor"
41 ADUX1020 photometric sensor.
47 tristate "AL3010 ambient light sensor"
51 ambient light sensor.
57 tristate "AL3320A ambient light sensor"
61 ambient light sensor.
[all …]
/kernel/linux/linux-5.10/drivers/thermal/
Dhisi_thermal.c2 * Hisilicon thermal sensor driver
77 int (*get_temp)(struct hisi_thermal_sensor *sensor);
78 int (*enable_sensor)(struct hisi_thermal_sensor *sensor);
79 int (*disable_sensor)(struct hisi_thermal_sensor *sensor);
80 int (*irq_handler)(struct hisi_thermal_sensor *sensor);
86 struct hisi_thermal_sensor *sensor; member
252 * Temperature configuration register - Sensor selection
256 * 0x0: local sensor (default)
257 * 0x1: remote sensor 1 (ACPU cluster 1)
258 * 0x2: remote sensor 2 (ACPU cluster 0)
[all …]
/kernel/linux/linux-6.6/drivers/thermal/
Dhisi_thermal.c3 * HiSilicon thermal sensor driver
68 int (*get_temp)(struct hisi_thermal_sensor *sensor);
69 int (*enable_sensor)(struct hisi_thermal_sensor *sensor);
70 int (*disable_sensor)(struct hisi_thermal_sensor *sensor);
71 int (*irq_handler)(struct hisi_thermal_sensor *sensor);
77 struct hisi_thermal_sensor *sensor; member
243 * Temperature configuration register - Sensor selection
247 * 0x0: local sensor (default)
248 * 0x1: remote sensor 1 (ACPU cluster 1)
249 * 0x2: remote sensor 2 (ACPU cluster 0)
[all …]
/kernel/linux/linux-6.6/drivers/input/rmi4/
Drmi_2d_sensor.c22 void rmi_2d_sensor_abs_process(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_process() argument
26 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_process()
33 obj->x = sensor->max_x - obj->x; in rmi_2d_sensor_abs_process()
36 obj->y = sensor->max_y - obj->y; in rmi_2d_sensor_abs_process()
56 obj->x = min(sensor->max_x, obj->x); in rmi_2d_sensor_abs_process()
59 obj->y = min(sensor->max_y, obj->y); in rmi_2d_sensor_abs_process()
61 sensor->tracking_pos[slot].x = obj->x; in rmi_2d_sensor_abs_process()
62 sensor->tracking_pos[slot].y = obj->y; in rmi_2d_sensor_abs_process()
66 void rmi_2d_sensor_abs_report(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_report() argument
70 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_report()
[all …]
/kernel/linux/linux-5.10/drivers/input/rmi4/
Drmi_2d_sensor.c22 void rmi_2d_sensor_abs_process(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_process() argument
26 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_process()
33 obj->x = sensor->max_x - obj->x; in rmi_2d_sensor_abs_process()
36 obj->y = sensor->max_y - obj->y; in rmi_2d_sensor_abs_process()
56 obj->x = min(sensor->max_x, obj->x); in rmi_2d_sensor_abs_process()
59 obj->y = min(sensor->max_y, obj->y); in rmi_2d_sensor_abs_process()
61 sensor->tracking_pos[slot].x = obj->x; in rmi_2d_sensor_abs_process()
62 sensor->tracking_pos[slot].y = obj->y; in rmi_2d_sensor_abs_process()
66 void rmi_2d_sensor_abs_report(struct rmi_2d_sensor *sensor, in rmi_2d_sensor_abs_report() argument
70 struct rmi_2d_axis_alignment *axis_align = &sensor->axis_align; in rmi_2d_sensor_abs_report()
[all …]

12345678910>>...148