cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

apds990x.h (1876B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * This file is part of the APDS990x sensor driver.
      4 * Chip is combined proximity and ambient light sensor.
      5 *
      6 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
      7 *
      8 * Contact: Samu Onkalo <samu.p.onkalo@nokia.com>
      9 */
     10
     11#ifndef __APDS990X_H__
     12#define __APDS990X_H__
     13
     14
     15#define APDS_IRLED_CURR_12mA	0x3
     16#define APDS_IRLED_CURR_25mA	0x2
     17#define APDS_IRLED_CURR_50mA	0x1
     18#define APDS_IRLED_CURR_100mA	0x0
     19
     20/**
     21 * struct apds990x_chip_factors - defines effect of the cover window
     22 * @ga: Total glass attenuation
     23 * @cf1: clear channel factor 1 for raw to lux conversion
     24 * @irf1: IR channel factor 1 for raw to lux conversion
     25 * @cf2: clear channel factor 2 for raw to lux conversion
     26 * @irf2: IR channel factor 2 for raw to lux conversion
     27 * @df: device factor for conversion formulas
     28 *
     29 * Structure for tuning ALS calculation to match with environment.
     30 * Values depend on the material above the sensor and the sensor
     31 * itself. If the GA is zero, driver will use uncovered sensor default values
     32 * format: decimal value * APDS_PARAM_SCALE except df which is plain integer.
     33 */
     34#define APDS_PARAM_SCALE 4096
     35struct apds990x_chip_factors {
     36	int ga;
     37	int cf1;
     38	int irf1;
     39	int cf2;
     40	int irf2;
     41	int df;
     42};
     43
     44/**
     45 * struct apds990x_platform_data - platform data for apsd990x.c driver
     46 * @cf: chip factor data
     47 * @pddrive: IR-led driving current
     48 * @ppcount: number of IR pulses used for proximity estimation
     49 * @setup_resources: interrupt line setup call back function
     50 * @release_resources: interrupt line release call back function
     51 *
     52 * Proximity detection result depends heavily on correct ppcount, pdrive
     53 * and cover window.
     54 *
     55 */
     56
     57struct apds990x_platform_data {
     58	struct apds990x_chip_factors cf;
     59	u8     pdrive;
     60	u8     ppcount;
     61	int    (*setup_resources)(void);
     62	int    (*release_resources)(void);
     63};
     64
     65#endif