mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 51 franklin st fifth floor boston ma 02110 1301 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 246 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190530000436.674189849@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
65 lines
1.8 KiB
C
65 lines
1.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* This file is part of the APDS990x sensor driver.
|
|
* Chip is combined proximity and ambient light sensor.
|
|
*
|
|
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
|
*
|
|
* Contact: Samu Onkalo <samu.p.onkalo@nokia.com>
|
|
*/
|
|
|
|
#ifndef __APDS990X_H__
|
|
#define __APDS990X_H__
|
|
|
|
|
|
#define APDS_IRLED_CURR_12mA 0x3
|
|
#define APDS_IRLED_CURR_25mA 0x2
|
|
#define APDS_IRLED_CURR_50mA 0x1
|
|
#define APDS_IRLED_CURR_100mA 0x0
|
|
|
|
/**
|
|
* struct apds990x_chip_factors - defines effect of the cover window
|
|
* @ga: Total glass attenuation
|
|
* @cf1: clear channel factor 1 for raw to lux conversion
|
|
* @irf1: IR channel factor 1 for raw to lux conversion
|
|
* @cf2: clear channel factor 2 for raw to lux conversion
|
|
* @irf2: IR channel factor 2 for raw to lux conversion
|
|
* @df: device factor for conversion formulas
|
|
*
|
|
* Structure for tuning ALS calculation to match with environment.
|
|
* Values depend on the material above the sensor and the sensor
|
|
* itself. If the GA is zero, driver will use uncovered sensor default values
|
|
* format: decimal value * APDS_PARAM_SCALE except df which is plain integer.
|
|
*/
|
|
#define APDS_PARAM_SCALE 4096
|
|
struct apds990x_chip_factors {
|
|
int ga;
|
|
int cf1;
|
|
int irf1;
|
|
int cf2;
|
|
int irf2;
|
|
int df;
|
|
};
|
|
|
|
/**
|
|
* struct apds990x_platform_data - platform data for apsd990x.c driver
|
|
* @cf: chip factor data
|
|
* @pddrive: IR-led driving current
|
|
* @ppcount: number of IR pulses used for proximity estimation
|
|
* @setup_resources: interrupt line setup call back function
|
|
* @release_resources: interrupt line release call back function
|
|
*
|
|
* Proximity detection result depends heavily on correct ppcount, pdrive
|
|
* and cover window.
|
|
*
|
|
*/
|
|
|
|
struct apds990x_platform_data {
|
|
struct apds990x_chip_factors cf;
|
|
u8 pdrive;
|
|
u8 ppcount;
|
|
int (*setup_resources)(void);
|
|
int (*release_resources)(void);
|
|
};
|
|
|
|
#endif
|