@@ -642,4 +642,116 @@ const u8 als_report_descriptor[] = {
6426420X81 , 0x02 , /* HID Input (Data_Arr_Abs) */
6436430xC0 /* HID end collection */
644644};
645+
646+ /* BIOMETRIC PRESENCE*/
647+ static const u8 hpd_report_descriptor [] = {
648+ 0x05 , 0x20 , /* Usage page */
649+ 0x09 , 0x11 , /* BIOMETRIC PRESENCE */
650+ 0xA1 , 0x00 , /* HID Collection (Physical) */
651+
652+ //feature reports(xmit/receive)
653+ 0x85 , 5 , /* HID Report ID */
654+ 0x05 , 0x20 , /* HID usage page sensor */
655+ 0x0A , 0x09 , 0x03 , /* Sensor property and sensor connection type */
656+ 0x15 , 0 , /* HID logical MIN_8(0) */
657+ 0x25 , 2 , /* HID logical MAX_8(2) */
658+ 0x75 , 8 , /* HID report size(8) */
659+ 0x95 , 1 , /* HID report count(1) */
660+ 0xA1 , 0x02 , /* HID collection (logical) */
661+ 0x0A , 0x30 , 0x08 , /* Sensor property connection type intergated sel*/
662+ 0x0A , 0x31 , 0x08 , /* Sensor property connection type attached sel */
663+ 0x0A , 0x32 , 0x08 , /* Sensor property connection type external sel */
664+ 0xB1 , 0x00 , /* HID feature (Data_Arr_Abs) */
665+ 0xC0 , /* HID end collection */
666+ 0x0A , 0x16 , 0x03 , /* HID usage sensor property reporting state */
667+ 0x15 , 0 , /* HID logical Min_8(0) */
668+ 0x25 , 5 , /* HID logical Max_8(5) */
669+ 0x75 , 8 , /* HID report size(8) */
670+ 0x95 , 1 , /* HID report count(1) */
671+ 0xA1 , 0x02 , /* HID collection(logical) */
672+ 0x0A , 0x40 , 0x08 , /* Sensor property report state no events sel */
673+ 0x0A , 0x41 , 0x08 , /* Sensor property report state all events sel */
674+ 0x0A , 0x42 , 0x08 , /* Sensor property report state threshold events sel */
675+ 0x0A , 0x43 , 0x08 , /* Sensor property report state no events wake sel */
676+ 0x0A , 0x44 , 0x08 , /* Sensor property report state all events wake sel */
677+ 0x0A , 0x45 , 0x08 , /* Sensor property report state threshold events wake sel */
678+ 0xB1 , 0x00 , /* HID feature (Data_Arr_Abs) */
679+ 0xC0 , /* HID end collection */
680+ 0x0A , 0x19 , 0x03 , /* HID usage sensor property power state */
681+ 0x15 , 0 , /* HID logical Min_8(0) */
682+ 0x25 , 5 , /* HID logical Max_8(5) */
683+ 0x75 , 8 , /* HID report size(8) */
684+ 0x95 , 1 , /* HID report count(1) */
685+ 0xA1 , 0x02 , /* HID collection(logical) */
686+ 0x0A , 0x50 , 0x08 , /* Sensor property power state undefined sel */
687+ 0x0A , 0x51 , 0x08 , /* Sensor property power state D0 full power sel */
688+ 0x0A , 0x52 , 0x08 , /* Sensor property power state D1 low power sel */
689+ 0x0A , 0x53 , 0x08 , /* Sensor property power state D2 standby with wake sel */
690+ 0x0A , 0x54 , 0x08 , /* Sensor property power state D3 sleep with wake sel */
691+ 0x0A , 0x55 , 0x08 , /* Sensor property power state D4 power off sel */
692+ 0xB1 , 0x00 , /* HID feature (Data_Arr_Abs) */
693+ 0xC0 , /* HID end collection */
694+ 0x0A , 0x01 , 0x02 , /* HID usage sensor state */
695+ 0x15 , 0 , /* HID logical Min_8(0) */
696+ 0x25 , 6 , /* HID logical Max_8(6) */
697+ 0x75 , 8 , /* HID report size(8) */
698+ 0x95 , 1 , /* HID report count(1) */
699+ 0xA1 , 0x02 , /* HID collection(logical) */
700+ 0x0A , 0x00 , 0x08 , /* HID usage sensor state unknown sel */
701+ 0x0A , 0x01 , 0x08 , /* HID usage sensor state ready sel */
702+ 0x0A , 0x02 , 0x08 , /* HID usage sensor state not available sel */
703+ 0x0A , 0x03 , 0x08 , /* HID usage sensor state no data sel */
704+ 0x0A , 0x04 , 0x08 , /* HID usage sensor state initializing sel */
705+ 0x0A , 0x05 , 0x08 , /* HID usage sensor state access denied sel */
706+ 0x0A , 0x06 , 0x08 , /* HID usage sensor state error sel */
707+ 0xB1 , 0x00 , /* HID feature (Data_Arr_Abs) */
708+ 0xC0 , /* HID end collection */
709+ 0x0A , 0x0E , 0x03 , /* HID usage sensor property report interval */
710+ 0x15 , 0 , /* HID logical Min_8(0) */
711+ 0x27 , 0xFF , 0xFF , 0xFF , 0xFF , /* HID logical Max_32 */
712+
713+ 0x75 , 32 , /* HID report size(32) */
714+ 0x95 , 1 , /* HID report count(1) */
715+ 0x55 , 0 , /* HID unit exponent(0) */
716+ 0xB1 , 0x02 , /* HID feature (Data_Var_Abs) */
717+
718+ //input report (transmit)
719+ 0x05 , 0x20 , /* HID usage page sensors */
720+ 0x0A , 0x01 , 0x02 , /* HID usage sensor state */
721+ 0x15 , 0 , /* HID logical Min_8(0) */
722+ 0x25 , 6 , /* HID logical Max_8(6) */
723+ 0x75 , 8 , /* HID report size(8) */
724+ 0x95 , 1 , /* HID report count (1) */
725+ 0xA1 , 0x02 , /* HID end collection (logical) */
726+ 0x0A , 0x00 , 0x08 , /* HID usage sensor state unknown sel */
727+ 0x0A , 0x01 , 0x08 , /* HID usage sensor state ready sel */
728+ 0x0A , 0x02 , 0x08 , /* HID usage sensor state not available sel */
729+ 0x0A , 0x03 , 0x08 , /* HID usage sensor state no data sel */
730+ 0x0A , 0x04 , 0x08 , /* HID usage sensor state initializing sel */
731+ 0x0A , 0x05 , 0x08 , /* HID usage sensor state access denied sel */
732+ 0x0A , 0x06 , 0x08 , /* HID usage sensor state error sel */
733+ 0X81 , 0x00 , /* HID Input (Data_Arr_Abs) */
734+ 0xC0 , /* HID end collection */
735+ 0x0A , 0x02 , 0x02 , /* HID usage sensor event */
736+ 0x15 , 0 , /* HID logical Min_8(0) */
737+ 0x25 , 5 , /* HID logical Max_8(5) */
738+ 0x75 , 8 , /* HID report size(8) */
739+ 0x95 , 1 , /* HID report count (1) */
740+ 0xA1 , 0x02 , /* HID end collection (logical) */
741+ 0x0A , 0x10 , 0x08 , /* HID usage sensor event unknown sel */
742+ 0x0A , 0x11 , 0x08 , /* HID usage sensor event state changed sel */
743+ 0x0A , 0x12 , 0x08 , /* HID usage sensor event property changed sel */
744+ 0x0A , 0x13 , 0x08 , /* HID usage sensor event data updated sel */
745+ 0x0A , 0x14 , 0x08 , /* HID usage sensor event poll response sel */
746+ 0x0A , 0x15 , 0x08 , /* HID usage sensor event change sensitivity sel */
747+ 0X81 , 0x00 , /* HID Input (Data_Arr_Abs) */
748+ 0xC0 , /* HID end collection */
749+ 0x0A , 0xB1 , 0x04 , /* HID usage sensor data BIOMETRIC HUMAN PRESENCE */
750+ 0x15 , 0 , /* HID logical Min_8(0) */
751+ 0x25 , 1 , /* HID logical Max_8(1) */
752+ 0x75 , 8 , /* HID report size(8) */
753+ 0x95 , 1 , /* HID report count (1) */
754+ 0X81 , 0x02 , /* HID Input (Data_Var_Abs) */
755+ 0xC0 /* HID end collection */
756+ };
645757#endif
0 commit comments