Home
last modified time | relevance | path

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

12345678910>>...78

/linux/drivers/media/i2c/ccs/
H A Dccs-core.c13 * Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com>
91 static int ccs_limit_ptr(struct ccs_sensor *sensor, unsigned int limit, in ccs_limit_ptr() argument
101 if (WARN_ON(!sensor->ccs_limits) || in ccs_limit_ptr()
106 *__ptr = sensor->ccs_limits + ccs_limit_offsets[limit].lim + offset; in ccs_limit_ptr()
111 void ccs_replace_limit(struct ccs_sensor *sensor, in ccs_replace_limit() argument
114 struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); in ccs_replace_limit()
119 ret = ccs_limit_ptr(sensor, limit, offset, &ptr); in ccs_replace_limit()
131 u32 ccs_get_limit(struct ccs_sensor *sensor, unsigned int limit, in ccs_get_limit() argument
138 ret = ccs_limit_ptr(sensor, limit, offset, &ptr); in ccs_get_limit()
157 return ccs_reg_conv(sensor, ccs_limits[limit].reg, val); in ccs_get_limit()
[all …]
/linux/drivers/thermal/st/
H A Dst_thermal.c3 * ST Thermal Sensor Driver core routines
24 static int st_thermal_alloc_regfields(struct st_thermal_sensor *sensor) in st_thermal_alloc_regfields() argument
26 struct device *dev = sensor->dev; in st_thermal_alloc_regfields()
27 struct regmap *regmap = sensor->regmap; in st_thermal_alloc_regfields()
28 const struct reg_field *reg_fields = sensor->cdata->reg_fields; in st_thermal_alloc_regfields()
30 sensor->dcorrect = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
33 sensor->overflow = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
36 sensor->temp_data = devm_regmap_field_alloc(dev, regmap, in st_thermal_alloc_regfields()
39 if (IS_ERR(sensor->dcorrect) || in st_thermal_alloc_regfields()
40 IS_ERR(sensor->overflow) || in st_thermal_alloc_regfields()
[all …]
H A 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 …]
H A 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/drivers/media/i2c/
H A Dov2680.c3 * Omnivision OV2680 CMOS Image Sensor driver
7 * Based on OV5640 Sensor Driver
205 /* Sensor control register tweaks */
272 static void ov2680_power_up(struct ov2680_dev *sensor) in ov2680_power_up() argument
274 if (!sensor->pwdn_gpio) in ov2680_power_up()
277 gpiod_set_value(sensor->pwdn_gpio, 0); in ov2680_power_up()
281 static void ov2680_power_down(struct ov2680_dev *sensor) in ov2680_power_down() argument
283 if (!sensor->pwdn_gpio) in ov2680_power_down()
286 gpiod_set_value(sensor->pwdn_gpio, 1); in ov2680_power_down()
290 static void ov2680_set_bayer_order(struct ov2680_dev *sensor, in ov2680_set_bayer_order() argument
[all …]
H A Dvgxy61.c3 * Driver for VGXY61 global shutter sensor family driver
480 static s32 get_pixel_rate(struct vgxy61_dev *sensor) in get_pixel_rate() argument
482 return div64_u64((u64)sensor->data_rate_in_mbps * sensor->nb_of_lane, in get_pixel_rate()
483 get_bpp_by_code(sensor->fmt.code)); in get_pixel_rate()
497 static unsigned int get_chunk_size(struct vgxy61_dev *sensor) in get_chunk_size() argument
499 struct i2c_adapter *adapter = sensor->i2c_client->adapter; in get_chunk_size()
510 static int vgxy61_write_array(struct vgxy61_dev *sensor, u32 reg, in vgxy61_write_array() argument
513 const unsigned int chunk_size = get_chunk_size(sensor); in vgxy61_write_array()
519 ret = regmap_bulk_write(sensor->regmap, CCI_REG_ADDR(reg), in vgxy61_write_array()
531 static int vgxy61_poll_reg(struct vgxy61_dev *sensor, u32 reg, u8 poll_val, in vgxy61_poll_reg() argument
[all …]
H A Dimx296.c3 * Driver for IMX296 CMOS Image Sensor from Sony
217 static int imx296_read(struct imx296 *sensor, u32 addr) in imx296_read() argument
222 ret = regmap_raw_read(sensor->regmap, addr & IMX296_REG_ADDR_MASK, data, in imx296_read()
230 static int imx296_write(struct imx296 *sensor, u32 addr, u32 value, int *err) in imx296_write() argument
238 ret = regmap_raw_write(sensor->regmap, addr & IMX296_REG_ADDR_MASK, in imx296_write()
241 dev_err(sensor->dev, "%u-bit write to 0x%04x failed: %d\n", in imx296_write()
251 static int imx296_power_on(struct imx296 *sensor) in imx296_power_on() argument
255 ret = regulator_bulk_enable(ARRAY_SIZE(sensor->supplies), in imx296_power_on()
256 sensor->supplies); in imx296_power_on()
262 ret = gpiod_direction_output(sensor->reset, 0); in imx296_power_on()
[all …]
H A 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
132 return &sensor->format; in __s5k6a3_get_format()
139 struct s5k6a3 *sensor = sd_to_s5k6a3(sd); in s5k6a3_set_fmt() local
144 mf = __s5k6a3_get_format(sensor, sd_state, fmt->pad, fmt->which); in s5k6a3_set_fmt()
[all …]
H A 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 …]
H A DKconfig29 bool "Camera sensor devices"
48 This is a Video4Linux2 sensor-level driver for the Allied Vision
55 tristate "ON Semiconductor AR0521 sensor support"
57 This is a Video4Linux2 sensor driver for the ON Semiconductor
64 tristate "GalaxyCore GC0308 sensor support"
67 This is a Video4Linux2 sensor driver for the GalaxyCore
74 tristate "GalaxyCore gc05a2 sensor support"
77 This is a Video4Linux2 sensor driver for the GalaxyCore gc05a2
84 tristate "GalaxyCore gc08a3 sensor support"
87 This is a Video4Linux2 sensor driver for the GalaxyCore gc08a3
[all …]
H A Dmt9m114.c3 * mt9m114.c onsemi MT9M114 sensor driver
52 /* Sensor Core registers */
472 mt9m114_default_format_info(struct mt9m114 *sensor) in mt9m114_default_format_info() argument
474 if (sensor->bus_cfg.bus_type == V4L2_MBUS_CSI2_DPHY) in mt9m114_default_format_info()
481 mt9m114_format_info(struct mt9m114 *sensor, unsigned int pad, u32 code) in mt9m114_format_info() argument
492 if (sensor->bus_cfg.bus_type == V4L2_MBUS_CSI2_DPHY) in mt9m114_format_info()
505 return mt9m114_default_format_info(sensor); in mt9m114_format_info()
521 /* Sensor optimization */
656 static int mt9m114_poll_command(struct mt9m114 *sensor, u32 command) in mt9m114_poll_command() argument
663 ret = cci_read(sensor->regmap, MT9M114_COMMAND_REGISTER, &value, in mt9m114_poll_command()
[all …]
H A 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 …]
H A Dimx415.c3 * Driver for the Sony IMX415 CMOS Image Sensor.
703 static int imx415_set_testpattern(struct imx415 *sensor, int val) in imx415_set_testpattern() argument
708 cci_write(sensor->regmap, IMX415_BLKLEVEL, 0x00, &ret); in imx415_set_testpattern()
709 cci_write(sensor->regmap, IMX415_TPG_EN_DUOUT, 0x01, &ret); in imx415_set_testpattern()
710 cci_write(sensor->regmap, IMX415_TPG_PATSEL_DUOUT, in imx415_set_testpattern()
712 cci_write(sensor->regmap, IMX415_TPG_COLORWIDTH, 0x01, &ret); in imx415_set_testpattern()
713 cci_write(sensor->regmap, IMX415_TESTCLKEN_MIPI, 0x20, &ret); in imx415_set_testpattern()
714 cci_write(sensor->regmap, IMX415_DIG_CLP_MODE, 0x00, &ret); in imx415_set_testpattern()
715 cci_write(sensor->regmap, IMX415_WRJ_OPEN, 0x00, &ret); in imx415_set_testpattern()
717 cci_write(sensor->regmap, IMX415_BLKLEVEL, in imx415_set_testpattern()
[all …]
/linux/drivers/media/pci/intel/
H A Dipu-bridge.c45 * Do not add an entry for a sensor that is not actually supported.
132 /* camera sensor depends on IVSC in DSDT if exist */ in ipu_bridge_get_ivsc_acpi_dev()
182 static int ipu_bridge_check_ivsc_dev(struct ipu_sensor *sensor, in ipu_bridge_check_ivsc_dev() argument
197 sensor->csi_dev = csi_dev; in ipu_bridge_check_ivsc_dev()
198 sensor->ivsc_adev = adev; in ipu_bridge_check_ivsc_dev()
296 int ipu_bridge_parse_ssdb(struct acpi_device *adev, struct ipu_sensor *sensor) in ipu_bridge_parse_ssdb() argument
315 sensor->link = ssdb.link; in ipu_bridge_parse_ssdb()
316 sensor->lanes = ssdb.lanes; in ipu_bridge_parse_ssdb()
317 sensor->mclkspeed = ssdb.mclkspeed; in ipu_bridge_parse_ssdb()
318 sensor->rotation = ipu_bridge_parse_rotation(adev, &ssdb); in ipu_bridge_parse_ssdb()
[all …]
/linux/drivers/thermal/
H A 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/drivers/input/rmi4/
H A 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 …]
H A 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/drivers/hid/amd-sfh-hid/hid_descriptor/
H A 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/drivers/hwmon/
H A 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/drivers/iio/chemical/
H A DKconfig9 tristate "Aosong AGS02MA TVOC sensor driver"
14 Organic Compounds) sensor.
29 * pH SM sensor
30 * EC SM sensor
31 * ORP SM sensor
34 module will be called atlas-ph-sensor.
42 * CO2 EZO Sensor
45 module will be called atlas-ezo-sensor.
48 tristate "Bosch Sensortec BME680 sensor driver"
54 Say yes here to build support for Bosch Sensortec BME680 sensor with
[all …]
/linux/drivers/iio/temperature/
H A 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 …]
H A Dltc2983.c3 * Analog Devices LTC2983 Multi-Sensor Digital Temperature Measurement System
192 container_of(_sensor, struct ltc2983_thermocouple, sensor)
195 container_of(_sensor, struct ltc2983_rtd, sensor)
198 container_of(_sensor, struct ltc2983_thermistor, sensor)
201 container_of(_sensor, struct ltc2983_diode, sensor)
204 container_of(_sensor, struct ltc2983_rsense, sensor)
207 container_of(_sensor, struct ltc2983_adc, sensor)
210 container_of(_sensor, struct ltc2983_temp, sensor)
245 const struct ltc2983_sensor *sensor);
246 /* specifies the sensor channel */
[all …]
/linux/Documentation/hwmon/
H A Docc.rst16 sensor data from the processor and the system. The OCC can provide the raw
17 sensor data as well as perform thermal and power management on the system.
32 The OCC sensor ID is an integer that represents the unique identifier of the
33 sensor with respect to the OCC. For example, a temperature sensor for the third
34 DIMM slot in the system may have a sensor ID of 7. This mapping is unavailable
35 to the device driver, which must therefore export the sensor ID as-is.
37 Some entries are only present with certain OCC sensor versions or only on
42 OCC sensor ID.
44 [with temperature sensor version 1]
50 [with temperature sensor version >= 2]
[all …]
/linux/drivers/iio/imu/st_lsm6dsx/
H A Dst_lsm6dsx_shub.c5 * slave devices using accelerometer sensor as trigger for i2c
158 struct st_lsm6dsx_sensor *sensor; in st_lsm6dsx_shub_wait_complete() local
161 sensor = iio_priv(hw->iio_devs[ST_LSM6DSX_ID_ACC]); in st_lsm6dsx_shub_wait_complete()
162 odr = (hw->enable_mask & BIT(ST_LSM6DSX_ID_ACC)) ? sensor->odr : 12500; in st_lsm6dsx_shub_wait_complete()
242 static int st_lsm6dsx_shub_master_enable(struct st_lsm6dsx_sensor *sensor, in st_lsm6dsx_shub_master_enable() argument
246 struct st_lsm6dsx_hw *hw = sensor->hw; in st_lsm6dsx_shub_master_enable()
250 /* enable acc sensor as trigger */ in st_lsm6dsx_shub_master_enable()
251 err = st_lsm6dsx_sensor_set_enable(sensor, enable); in st_lsm6dsx_shub_master_enable()
283 st_lsm6dsx_shub_read(struct st_lsm6dsx_sensor *sensor, u8 addr, in st_lsm6dsx_shub_read() argument
288 struct st_lsm6dsx_hw *hw = sensor->hw; in st_lsm6dsx_shub_read()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/
H A Dbase.c70 return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, in nvkm_iccsense_ina2x9_read()
93 return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, in nvkm_iccsense_ina3221_read()
101 struct nvkm_iccsense_sensor *sensor) in nvkm_iccsense_sensor_config() argument
104 nvkm_trace(subdev, "write config of extdev %i: 0x%04x\n", sensor->id, sensor->config); in nvkm_iccsense_sensor_config()
105 nv_wr16i2cr(sensor->i2c, sensor->addr, 0x00, sensor->config); in nvkm_iccsense_sensor_config()
134 struct nvkm_iccsense_sensor *sensor, *tmps; in nvkm_iccsense_dtor() local
137 list_for_each_entry_safe(sensor, tmps, &iccsense->sensors, head) { in nvkm_iccsense_dtor()
138 list_del(&sensor->head); in nvkm_iccsense_dtor()
139 kfree(sensor); in nvkm_iccsense_dtor()
157 struct nvkm_iccsense_sensor *sensor; in nvkm_iccsense_create_sensor() local
[all …]

12345678910>>...78