Difference Analysis Generated by HtmlDiff on 11/10/2004 5:09 PM  

Base file: C:\CY4632_RDK_1_3\Firmware\Source Code\RDK Bridge\rdk kbm desc.inc

Modified file: C:\CY4632_RDK_1_31\Firmware\Source Code\RDK Bridge\rdk kbm desc.inc

;****************************************************************************
;
;   file:           kbm desc.inc 
;   Description:    This file contains USB descriptor tables for A keyboard/
;                   mouse combo device.
;   Target:         Cypress CY7C63723/CY7C63743 Encore Chips
;   $Header:
;   Version:        1.3.0000
;
;****************************************************************************
; Copyright (2003), Cypress Semiconductor Corporation
; This software is owned by Cypress Semiconductor Corporation (Cypress) and  is
; protected by United States copyright laws and international treaty provisions.
; Cypress hereby grants to Licensee a personal, non-exclusive, non-transferable
; license to copy, use, modify, create derivative works of, and compile the
; Cypress Source Code and derivative works for the sole purpose of creating
; custom software in support of Licensee product ("Licensee Product") to be used
; only in conjunction with a Cypress integrated circuit. Any reproduction,
; modification, translation, compilation, or representation of this software
; except as specified above is prohibited without the express written permission
; of Cypress.
; Disclaimer: Cypress makes no warranty of any kind, express or implied, with
; regard to this material, including, but not limited to, the implied warranties
; of merchantability and fitness for a particular purpose. Cypress reserves the
; right to make changes without further notice to the materials described herein.
; Cypress does not assume any liability arising out of the application or use of
; any product or circuit described herein. Cypress’ products described herein are
; not authorized for use as components in life-support devices.
; This software is protected by and subject to worldwide patent coverage,
; including U.S. and foreign patents. Use may be limited by and subject to the
; Cypress Software License Agreement.
;
;****************************************************************************

control_read_table:
   device_desc_table:
    db  12h         ; bLength (18 bytes)
    db  01h         ; bDescriptorType (device descriptor)
    db  10h, 01h    ; bcdUSB (ver 1.1)
    db  00h         ; bDeviceClass (each interface specifies class info)
    db  00h         ; bDeviceSubClass (not specified)
    db  00h         ; bDeviceProtocol (not specified)
    db  08h         ; bMaxPacketSize0 (8 bytes)
    db  B4h, 04h    ; idVendor (Cypress vendor ID)
    db  b0h, 06h    ; idProduct ()
    db  00h, 01h    ; bcdDevice (1.00) 
    db  01h         ; iManufacturer (Cypress Semiconductor)
    db  02h         ; iProduct (Cypress Ultra Mouse)
    db  00h         ; iSerialNumber (000-000-0001)
    db  01h         ; bNumConfigurations (1)

   config_desc_table:
    db  09h         ; bLength (9 bytes)
    db  02h         ; bDescriptorType (CONFIGURATION)
    db (end_config_desc_table - config_desc_table) , 00h      
                                ; Total length of config, i/f, HID, AND  EP descriptors
    db  02h         ; bNumInterfaces (2)
    db  01h         ; bConfigurationValue (1)
    db  04h         ; iConfiguration (USB HID Compliant Mouse)
IFDEF REMOTE_WAKEUP_SUPPORT
    db  A0h         ; bmAttributes (bus powered, support remote wakeup)
ELSE
    db  80h         ; bmAttributes (bus powered, NOT_SUPPORT_REMOTE_WAKEUP)
ENDIF    ; REMOTE_WAKEUP_SUPPORT
    db  31h         ; Max power consumption (98mA) MUST be < 100mA if bus powered
    
   interface_desc1_table:
    db  09h         ; bLength (9 bytes)
    db  04h         ; bDescriptorType (INTERFACE)
    db  00h         ; bInterfaceNumber (0)
    db  00h         ; bAlternateSetting (0)
    db  01h         ; bNumEndpoints (1)
    db  03h         ; bInterfaceClass (3..defined by USB spec)
    db  01h         ; bInterfaceSubClass (1..defined by USB spec)
    db  01h         ; bInterfaceProtocol (1=kb..defined by USB spec)
    db  00h         ; iInterface (not supported)
   hid_desc1_table:
    db  09h         ; bLength (9 bytes)
    db  21h         ; bDescriptorType (HID)
    db  10h, 01h    ; bcdHID (1.00) 
    db  00h         ; bCountryCode (US)
    db  01h         ; bNumDescriptors (1)
    db  22h         ; bDescriptorType (HID)
    dwl (end_hid_report_desc1_table - hid_report_desc1_table)   ; Total len of rpt desc (2 bytes)
   endpoint_desc1_table:
    db  07h         ; bLength (7 bytes)
    db  05h         ; bDescriptorType (ENDPOINT)
    db  81h         ; bEndpointAddress (IN endpoint, endpoint 1)
    db  03h         ; bmAttributes (interrupt)
    db  NUM_EP1_BYTES, 00h   ; wMaxPacketSize 
    db 0Ah          ; bInterval (10ms)
    
   interface_desc2_table:
    db  09h         ; bLength (9 bytes)
    db  04h         ; bDescriptorType (INTERFACE)
    db  01h         ; bInterfaceNumber (0)
    db  00h         ; bAlternateSetting (0)
    db  01h         ; bNumEndpoints (1)
    db  03h         ; bInterfaceClass (3..defined by USB spec)
    db  01h         ; bInterfaceSubClass (1..defined by USB spec)
    db  02h         ; bInterfaceProtocol (2=m..defined by USB spec)
    db  00h         ; iInterface (not supported)
   hid_desc2_table:
    db  09h         ; bLength (9 bytes)
    db  21h         ; bDescriptorType (HID)
    db  10h, 01h    ; bcdHID (1.00) 
    db  00h         ; bCountryCode (US)
    db  01h         ; bNumDescriptors (1)
    db  22h         ; bDescriptorType (HID)
    dwl (end_hid_report_desc2_table - hid_report_desc2_table)   ; Total length of report descriptor (2 bytes)
   endpoint_desc2_table:
    db  07h         ; bLength (7 bytes)
    db  05h         ; bDescriptorType (ENDPOINT)
    db  82h         ; bEndpointAddress (IN endpoint, endpoint 2)
    db  03h         ; bmAttributes (interrupt)
    db  NUM_EP2_BYTES, 00h   ; wMaxPacketSize 
    db 0Ah          ; bInterval (10ms)
end_config_desc_table:




   device_status_wakeup_enabled:
    db  02h, 00h    ; remote wakeup enabled, bus powered
   device_status_wakeup_disabled:
    db  00h, 00h    ; remote wakeup disabled, bus powered

   device_configured_table:
    db  01h         ; device in configured state
   device_unconfigured_table:
    db  00h         ; device in unconfigured state

   endpoint_nostall_table:
    db  00h, 00h    ; endpoint not stalled
   endpoint_stall_table:
    db  01h, 00h    ; endpoint stalled

   interface_status_table:
    db  00h, 00h    ; default response

   interface_alternate_table:
    db  00h         ; only valid alternate setting

   interface_boot_protocol:
    db  00h
   interface_report_protocol:
    db  01h

   ilanguage_string:
    db 04h                          ; Length
    db 03h                          ; Type (3=string)
    db 09h                          ; Language:  English
    db 04h                          ; Sub-language: US

   imanufacturer_string:
    db (iproduct_string - imanufacturer_string)                    ; Length
    db 03h                          ; Type (3=string)
    dsu "Cypress"

   iproduct_string:
    db (iserialnumber_string - iproduct_string)                    ; Length
    db 03h                          ; Type (3=string)
    dsu "WirelessUSB"

   iserialnumber_string:            ; serial number
    db 10h                          ; Length 
    db 03h                          ; Type (3=string)
    dsu "0000001"

   iconfiguration_string:
    db (end_strings - iconfiguration_string)                       ; Length
    db 03h                          ; Type (3=string)
    dsu "WirelessUSB"
end_strings:

ORG     1700h

ctrl_read_hid_rpt_desc_table:

hid_report_desc1_table:   
KeyboardDesc:
KeyboardStandardKeysDesc:               
        db      05h, 01h                ;USAGE_PAGE (Generic Desktop)
        db      09h, 06h                ;USAGE (Keyboard)
        db      A1h, 01h                ;COLLECTION (Application)

        db      85h, 01h                ;  REPORT_ID (1)

        db      05h, 07h                ;  USAGE_PAGE (Keyboard)
        db      19h, E0h                ;  USAGE_MINIMUM (Keyboard LeftControl)
        db      29h, E7h                ;  USAGE_MAXIMUM (Keyboard Right GUI)
        db      15h, 00h                ;  LOGICAL_MINIMUM (0)
        db      25h, 01h                ;  LOGICAL_MAXIMUM (1)
        db      75h, 01h                ;  REPORT_SIZE (1)
        db      95h, 08h                ;  REPORT_COUNT (8)
        db      81h, 02h                ;  INPUT (Data,Var,Abs)                         ;Key Modifier Byte

        db      75h, 08h                ;  REPORT_SIZE (8)
        db      95h, 01h                ;  REPORT_COUNT (1)
        db      81h, 01h                ;  INPUT (Cnst,Ary,Abs)                         ;Reserved Byte

        db      05h, 07h                ;  USAGE_PAGE (Keyboard)
        db      19h, 00h                ;  USAGE_MINIMUM (Reserved (no event))
        db      29h, 65h                ;  USAGE_MAXIMUM (Keyboard Application)
        db      15h, 00h                ;  LOGICAL_MINIMUM (0)
        db      25h, 65h                ;  LOGICAL_MAXIMUM (101)
        db      75h, 08h                ;  REPORT_SIZE (8)
        db      95h, 05h                ;  REPORT_COUNT (5)     
        db      81h, 00h                ;  INPUT (Data,Ary,Abs)                         ;Standard Keys (5)

        db      C0h                     ;END_COLLECTION
EndKeyboardStandardKeysDesc:            

KeyboardConsumerKeysDesc:
        db      05h, 0Ch                ;USAGE_PAGE (Consumer Devices)  
        db      09h, 01h                ;USAGE (Consumer Control)       
        db      A1h, 01h                ;COLLECTION (Application)       

        db      85h, 02h                ;  REPORT_ID (2)

        db      19h, 00h                ;  USAGE_MINIMUM (Unassigned)   
        db      2Ah, 3Ch, 02h           ;  USAGE_MAXIMUM (572)    
        db      15h, 00h                ;  LOGICAL_MINIMUM (0)  
        db      26h, 3Ch, 02h           ;  LOGICAL_MAXIMUM (572)        
        db      95h, 01h                ;  REPORT_COUNT (1)     
        db      75h, 10h                ;  REPORT_SIZE (16)     
        db      81h, 00h                ;  INPUT (Data,Ary,Abs)                         ;16 bit Consumer Code

        db      75h, 08h                ;  REPORT_SIZE (8)      
        db      95h, 05h                ;  REPORT_COUNT (5)     
        db      81h, 01h                ;  INPUT (Cnst,Ary,Abs)                         ;filler

        db      C0h                     ;END_COLLECTION 
EndKeyboardConsumerKeysDesc:            

KeyboardPowerKeysDesc:
        db      05h, 01h                ;USAGE_PAGE (Generic Desktop)   
        db      09h, 80h                ;USAGE (System Control) 
        db      A1h, 01h                ;COLLECTION (Application)

        db      85h, 03h                ;  REPORT_ID (3)

        db      19h, 81h                ;  USAGE_MINIMUM (System Power Down)    
        db      29h, 83h                ;  USAGE_MAXIMUM (System Wake Up)       
        db      15h, 00h                ;  LOGICAL_MINIMUM (0)  
        db      25h, 01h                ;  LOGICAL_MAXIMUM (1)  
        db      75h, 01h                ;  REPORT_SIZE (1)      
        db      95h, 03h                ;  REPORT_COUNT (3)     
        db      81h, 02h                ;  INPUT (Data,Var,Abs)                         

        db      95h, 05h  35h                ;  REPORT_COUNT (53)     
        db      81h, 01h                ;  INPUT (Cnst,Ary,Abs)                         ;filler

        db      C0h                     ;END_COLLECTION 
EndKeyboardPowerKeysDesc:               
EndKeyboardDesc:

RadioKbdParamsDesc:
        db 06h, 01h, FFh        ;USAGE_PAGE (Vendor defined FF01 - WirelessUSB)
        db 09h, 01h             ;USAGE (KbdRadio Parameters Collection)
        db A1h, 01h             ;COLLECTION (Application)

        db 85h, 04h             ;  REPORT_ID  (4)

        db 95h, 01h             ;  REPORT_COUNT (1) - Each field is 1 REPORT_SIZE of bits
        db 75h, 08h             ;  REPORT_SIZE  (8) - Each field is 8 bits long
        db 15h, 01h             ;  LOGICAL_MINIMUM (0)
        db 25h, 0Ah             ;  LOGICAL_MAXIMUM (10)
        db 09h, 20h             ;    USAGE (Battery Level)
        db B1h, 03h             ;    INPUT (const,var,abs)

        ;db 09h, 23h             ;    USAGE (Signal Strength) // 0=Not connected
        ;db B1h, 03h             ;    INPUT (const,var,abs)

        db 25h, 4Fh             ;  LOGICAL_MAXIMUM (79)
        db 09h, 21h             ;    USAGE (Wireless Channel)
        db B1h, 03h             ;    INPUT (const,var,abs)
        db 25h, 30h             ;  LOGICAL_MAXIMUM (48)
        db 09h, 22h             ;    USAGE (Wireless PN Code)
        db B1h, 03h             ;    INPUT (const,var,abs)

        db 75h, 10h             ;  REPORT_SIZE  (16) - Each field is 16 bits long
        db 09h, 23h             ;    USAGE (Corrupt Packets)
        db B1h, 03h             ;    INPUT (const,var,abs)

        db 09h, 24h             ;    USAGE (Total Packets Xferred)
        db B1h, 03h             ;    INPUT (const,var,abs)

        db C0h                 ;END_COLLECTION

EndRadioKbdParamsDesc:
end_hid_report_desc1_table:

hid_report_desc2_table:   
MouseDesc:
        db      05h,  01h   ;USAGE_PAGE (Generic Desktop)   
        db      09h,  02h   ;USAGE (Mouse)  
        db      A1h,  01h   ;COLLECTION (Application)   
        db      09h,  01h   ;  USAGE (Pointer)  
        db      A1h,  00h   ;  COLLECTION (Physical)    

        db      85h, 01h    ;  REPORT_ID (1)

        db      95h,  03h   ;    REPORT_COUNT (3)       ; 3 buttons on LS mouse
        db      75h,  01h   ;    REPORT_SIZE (1)    
        db      05h,  09h   ;    USAGE_PAGE (Button)    
        db      19h,  01h   ;    USAGE_MINIMUM (Button 1)   
        db      29h,  03h   ;    USAGE_MAXIMUM (Button 3)   
        db      15h,  00h   ;    LOGICAL_MINIMUM (0)    
        db      25h,  01h   ;    LOGICAL_MAXIMUM (1)    
        db      81h,  02h   ;    INPUT (Data,Var,Abs)   
        db      95h,  01h   ;    REPORT_COUNT (1)   
        db      75h,  05h   ;    REPORT_SIZE (5)        ; filler for unused button bits
        db      81h,  01h   ;    INPUT (Cnst,Ary,Abs)   
        db      75h,  08h   ;    REPORT_SIZE (8)    
        db      95h,  02h   ;    REPORT_COUNT (2)   
        db      05h,  01h   ;    USAGE_PAGE (Generic Desktop)   
        db      09h,  30h   ;    USAGE (X)              ; X data byte
        db      09h,  31h   ;    USAGE (Y)              ; Y data byte
        db      15h,  80h   ;    LOGICAL_MINIMUM (-128) 
        db      25h,  7Fh   ;    LOGICAL_MAXIMUM (127)  
        db      81h,  06h   ;    INPUT (Data,Var,Rel)   
        db      C0h         ;  END_COLLECTION           ; Mouse Boot Format above this line
        db      A1h,  00h   ;  COLLECTION (Physical)    ; Extension for Wheel data below
        db      95h,  01h   ;    REPORT_COUNT (1)   
        db      75h,  08h   ;    REPORT_SIZE (8)        ; Wheel data
        db      05h,  01h   ;    USAGE_PAGE (Generic Desktop)   
        db      09h,  38h   ;    USAGE (Wheel)  
        db      15h,  81h   ;    LOGICAL_MINIMUM (-127) 
        db      25h,  7Fh   ;    LOGICAL_MAXIMUM (127)  
        db      81h,  06h   ;    INPUT (Data,Var,Rel)   
        db      C0h         ;  END_COLLECTION   
        db      C0h         ;END_COLLECTION 
EndMouseDesc:


RadioMouseParamsDesc:
        db 06h, 01h, FFh        ;USAGE_PAGE (Vendor defined FF01 - WirelessUSB)
        db 09h, 02h             ;USAGE (MouseRadio Parameters Collection)
        db A1h, 01h             ;COLLECTION (Application)

        db 85h, 04h             ;  REPORT_ID  (4)

        db 95h, 01h             ;  REPORT_COUNT (1) - Each field is 1 REPORT_SIZE of bits
        db 75h, 08h             ;  REPORT_SIZE  (8) - Each field is 8 bits long
        db 15h, 01h             ;  LOGICAL_MINIMUM (0)
        db 25h, 0Ah             ;  LOGICAL_MAXIMUM (10)
        db 09h, 20h             ;    USAGE (Battery Level)
        db B1h, 03h             ;    INPUT (const,var,abs)

        ;db 09h, 23h             ;    USAGE (Signal Strength) // 0=Not connected
        ;db B1h, 03h             ;    INPUT (const,var,abs)

        db 25h, 4Fh             ;  LOGICAL_MAXIMUM (79)
        db 09h, 21h             ;    USAGE (Wireless Channel)
        db B1h, 03h             ;    INPUT (const,var,abs)
        db 25h, 30h             ;  LOGICAL_MAXIMUM (48)
        db 09h, 22h             ;    USAGE (Wireless PN Code)
        db B1h, 03h             ;    INPUT (const,var,abs)

        db 75h, 10h             ;  REPORT_SIZE  (16) - Each field is 16 bits long
        ;db 95h, 02h             ;REPORT_COUNT (2) - Field is 2 bytes
        db 09h, 23h             ;    USAGE (Corrupt Packets)
        db B1h, 03h             ;    INPUT (const,var,abs)

        db 09h, 24h             ;    USAGE (Total Packets Xferred)
        db B1h, 03h             ;    INPUT (const,var,abs)

        db C0h                 ;END_COLLECTION
EndRadioMouseParamsDesc:
end_hid_report_desc2_table:

ctrl_read_hid_rpt_desc_table_end: