HID: amd_sfh: Add support for light color temperature

In most cases, ambient color sensors also support light color temperature.
As a result, add support of light color temperature.

Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Link: https://lore.kernel.org/r/20230919081054.2050714-5-Basavaraj.Natikar@amd.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Basavaraj Natikar
2023-09-19 13:40:49 +05:30
committed by Jonathan Cameron
parent 5f05285df6
commit 908fee511c
3 changed files with 12 additions and 0 deletions

View File

@@ -257,6 +257,10 @@ static u8 get_input_report(u8 current_index, int sensor_idx, int report_id,
else
als_input.illuminance_value =
(int)sensor_virt_addr[0] / AMD_SFH_FW_MULTIPLIER;
if (sensor_idx == ACS_IDX)
als_input.light_color_temp = sensor_virt_addr[1];
report_size = sizeof(als_input);
memcpy(input_report, &als_input, sizeof(als_input));
break;

View File

@@ -99,6 +99,7 @@ struct als_input_report {
struct common_input_property common_property;
/* values specific to this sensor */
int illuminance_value;
int light_color_temp;
} __packed;
struct hpd_feature_report {

View File

@@ -641,6 +641,13 @@ static const u8 als_report_descriptor[] = {
0x75, 32, /* HID report size(32) */
0x95, 1, /* HID report count (1) */
0X81, 0x02, /* HID Input (Data_Arr_Abs) */
0x0A, 0xD2, 0x04, /* HID usage sensor data light temperature */
0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */
0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */
0x55, 0x0, /* HID unit exponent(0x0) */
0x75, 32, /* HID report size(32) */
0x95, 1, /* HID report count (1) */
0X81, 0x02, /* HID Input (Data_Arr_Abs) */
0xC0 /* HID end collection */
};