Home
last modified time | relevance | path

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

12345678910>>...90

/Linux-v6.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 …]
/Linux-v6.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 …]
/Linux-v6.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 …]
Dov5648.c966 static int ov5648_read(struct ov5648_sensor *sensor, u16 address, u8 *value) in ov5648_read() argument
969 struct i2c_client *client = sensor->i2c_client; in ov5648_read()
989 static int ov5648_write(struct ov5648_sensor *sensor, u16 address, u8 value) in ov5648_write() argument
992 struct i2c_client *client = sensor->i2c_client; in ov5648_write()
1005 static int ov5648_write_sequence(struct ov5648_sensor *sensor, in ov5648_write_sequence() argument
1013 ret = ov5648_write(sensor, sequence[i].address, in ov5648_write_sequence()
1025 static int ov5648_update_bits(struct ov5648_sensor *sensor, u16 address, in ov5648_update_bits() argument
1031 ret = ov5648_read(sensor, address, &value); in ov5648_update_bits()
1038 ret = ov5648_write(sensor, address, value); in ov5648_update_bits()
1045 /* Sensor */
[all …]
Dov5640.c481 static inline bool ov5640_is_csi2(const struct ov5640_dev *sensor) in ov5640_is_csi2() argument
483 return sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY; in ov5640_is_csi2()
487 ov5640_formats(struct ov5640_dev *sensor) in ov5640_formats() argument
489 return ov5640_is_csi2(sensor) ? ov5640_csi2_formats in ov5640_formats()
494 ov5640_code_to_pixfmt(struct ov5640_dev *sensor, u32 code) in ov5640_code_to_pixfmt() argument
496 const struct ov5640_pixfmt *formats = ov5640_formats(sensor); in ov5640_code_to_pixfmt()
507 static u32 ov5640_code_to_bpp(struct ov5640_dev *sensor, u32 code) in ov5640_code_to_bpp() argument
509 const struct ov5640_pixfmt *format = ov5640_code_to_pixfmt(sensor, in ov5640_code_to_bpp()
1141 ov5640_timings(const struct ov5640_dev *sensor, in ov5640_timings() argument
1144 if (ov5640_is_csi2(sensor)) in ov5640_timings()
[all …]
Dov8865.c809 /* Sensor */
886 /* Sensor */
1219 /* Sensor */
1348 static int ov8865_read(struct ov8865_sensor *sensor, u16 address, u8 *value) in ov8865_read() argument
1351 struct i2c_client *client = sensor->i2c_client; in ov8865_read()
1371 static int ov8865_write(struct ov8865_sensor *sensor, u16 address, u8 value) in ov8865_write() argument
1374 struct i2c_client *client = sensor->i2c_client; in ov8865_write()
1387 static int ov8865_write_sequence(struct ov8865_sensor *sensor, in ov8865_write_sequence() argument
1395 ret = ov8865_write(sensor, sequence[i].address, in ov8865_write_sequence()
1407 static int ov8865_update_bits(struct ov8865_sensor *sensor, u16 address, in ov8865_update_bits() argument
[all …]
DKconfig29 bool "Camera sensor devices"
45 tristate "ON Semiconductor AR0521 sensor support"
47 This is a Video4Linux2 sensor driver for the ON Semiconductor
54 tristate "Hynix Hi-556 sensor support"
56 This is a Video4Linux2 sensor driver for the Hynix
63 tristate "Hynix Hi-846 sensor support"
65 This is a Video4Linux2 sensor driver for the Hynix
72 tristate "Hynix Hi-847 sensor support"
74 This is a Video4Linux2 sensor driver for the Hynix
81 tristate "Sony IMX208 sensor support"
[all …]
/Linux-v6.6/drivers/media/pci/intel/
Dipu-bridge.c42 * Do not add an entry for a sensor that is not actually supported.
108 /* camera sensor depends on IVSC in DSDT if exist */ in ipu_bridge_get_ivsc_acpi_dev()
152 static int ipu_bridge_check_ivsc_dev(struct ipu_sensor *sensor, in ipu_bridge_check_ivsc_dev() argument
167 sensor->csi_dev = csi_dev; in ipu_bridge_check_ivsc_dev()
168 sensor->ivsc_adev = adev; in ipu_bridge_check_ivsc_dev()
262 int ipu_bridge_parse_ssdb(struct acpi_device *adev, struct ipu_sensor *sensor) in ipu_bridge_parse_ssdb() argument
281 sensor->link = ssdb.link; in ipu_bridge_parse_ssdb()
282 sensor->lanes = ssdb.lanes; in ipu_bridge_parse_ssdb()
283 sensor->mclkspeed = ssdb.mclkspeed; in ipu_bridge_parse_ssdb()
284 sensor->rotation = ipu_bridge_parse_rotation(adev, &ssdb); in ipu_bridge_parse_ssdb()
[all …]
/Linux-v6.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 …]
/Linux-v6.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 …]
/Linux-v6.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 …]
/Linux-v6.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 …]
Drmi_f12.c29 struct rmi_2d_sensor sensor; member
66 struct rmi_2d_sensor *sensor = &f12->sensor; in rmi_f12_read_sensor_tuning() local
67 struct rmi_function *fn = sensor->fn; in rmi_f12_read_sensor_tuning()
80 "F12 does not have the sensor tuning control register\n"); in rmi_f12_read_sensor_tuning()
100 sensor->max_x = (buf[offset + 1] << 8) | buf[offset]; in rmi_f12_read_sensor_tuning()
101 sensor->max_y = (buf[offset + 3] << 8) | buf[offset + 2]; in rmi_f12_read_sensor_tuning()
106 sensor->max_x, sensor->max_y); in rmi_f12_read_sensor_tuning()
115 /* Units 1/128 sensor pitch */ in rmi_f12_read_sensor_tuning()
131 /* Skip over sensor flags */ in rmi_f12_read_sensor_tuning()
135 sensor->x_mm = (pitch_x * rx_receivers) >> 12; in rmi_f12_read_sensor_tuning()
[all …]
Drmi_f11.c36 * The properties for a given sensor are described by its query registers. The
38 * the F11 device queries as well as the sensor query information.
40 * Similarly, each sensor has control registers that govern its behavior. The
41 * size and layout of the control registers for a given sensor can be determined
44 * And in a likewise fashion, each sensor has data registers where it reports
49 * registers in order to determine the attributes of a sensor. Then
51 * registers for sensor.
66 * Writing this to the F11 command register will cause the sensor to
181 * struct f11_2d_sensor_queries - describes sensor capabilities
185 * @nr_fingers: describes the maximum number of fingers the 2-D sensor
[all …]
/Linux-v6.6/drivers/hid/amd-sfh-hid/hid_descriptor/
Damd_sfh_hid_report_desc.h13 // Accelerometer 3D Sensor
21 0x05, 0x20, /* HID usage page sensor */
22 0x0A, 0x09, 0x03, /* Sensor property and sensor connection type */
28 0x0A, 0x30, 0x08, /* Sensor property connection type intergated sel*/
29 0x0A, 0x31, 0x08, /* Sensor property connection type attached sel */
30 0x0A, 0x32, 0x08, /* Sensor property connection type external sel */
33 0x0A, 0x16, 0x03, /* HID usage sensor property reporting state */
39 0x0A, 0x40, 0x08, /* Sensor property report state no events sel */
40 0x0A, 0x41, 0x08, /* Sensor property report state all events sel */
41 0x0A, 0x42, 0x08, /* Sensor property report state threshold events sel */
[all …]
/Linux-v6.6/drivers/hwmon/
Dscpi-hwmon.c3 * System Control and Power Interface(SCPI) based hwmon sensor driver
57 static void scpi_scale_reading(u64 *value, struct sensor_data *sensor) in scpi_scale_reading() argument
59 if (scpi_scale[sensor->info.class] != sensor->scale) { in scpi_scale_reading()
60 *value *= scpi_scale[sensor->info.class]; in scpi_scale_reading()
61 do_div(*value, sensor->scale); in scpi_scale_reading()
70 struct sensor_data *sensor = &scpi_sensors->data[zone->sensor_id]; in scpi_read_temp() local
74 ret = scpi_ops->sensor_get_value(sensor->info.sensor_id, &value); in scpi_read_temp()
78 scpi_scale_reading(&value, sensor); in scpi_read_temp()
90 struct sensor_data *sensor; in scpi_show_sensor() local
94 sensor = container_of(attr, struct sensor_data, dev_attr_input); in scpi_show_sensor()
[all …]
/Linux-v6.6/drivers/iio/pressure/
DKconfig10 tristate "Honeywell ABP pressure sensor driver"
20 tristate "Bosch Sensortec BMP180/BMP280/BMP380/BMP580 pressure sensor driver"
28 an additional humidity sensor channel.
47 tristate "ChromeOS EC Barometer Sensor"
50 Say yes here to build support for the Barometer sensor when
51 presented by the ChromeOS EC Sensor hub.
69 tristate "Infineon DPS310 pressure and temperature sensor"
73 Support for the Infineon DPS310 digital barometric pressure sensor.
86 Say yes here to build support for the HID SENSOR
90 will be called hid-sensor-press.
[all …]
/Linux-v6.6/drivers/iio/temperature/
DKconfig3 # Temperature sensor drivers
8 tristate "Azoteq IQS620AT temperature sensor"
12 temperature sensor.
18 tristate "Analog Devices Multi-Sensor Digital Temperature Measurement System"
22 Say yes here to build support for the LTC2983 Multi-Sensor
45 tristate "HID Environmental temperature sensor"
51 Say yes here to build support for the HID SENSOR
55 will be called hid-sensor-temperature.
58 tristate "MLX90614 contact-less infrared sensor"
62 MLX90614 contact-less infrared sensor connected with I2C.
[all …]

12345678910>>...90