CM119B
USB Audio Single Chip
6.6 Internal Registers
All internal registers of the CM119B can be accessed via generic HID functional calls without the need to develop
kernel mode driver. Total of 4bytes of data can be read or write from HID. Input report is for read while output report
is for write. Internal registers of the CM119B are used to control GPIO, S/PDIF output, EEPROM and MCU data access.
Host side HID or external MCU can access the CM119B internal registers. With both sides accessed to the same set of
registers, two-way communication can be achieved.
6.6.1 Access via HID Class Command
HID_IR0 to HID_IR3 are HID input reports and are used by host side receiving data to the CM119B. HID_OR0 to HID_OR3
are HID output report and are used by host side sending data to the CM119B
HID interrupt will occur when HID_IR0-3 are updated by button status MCU (and GPI in case HID_IR0[7:6]
==2’b00).
HID_IR0 (HID input report byte 0)
Offset:0x00
Bits
Read/Write
Description
Default
When HID_OR0[7]==1’b0:
HID_IR0-3 are programmed by MCU (and GPI)
0:HID_IR1 is used as GPI
7-6
R
1:HID_IR0-3 are used as generic HID registers
2:Values written to HID_IR0-3 are also mapped to MCU_CTRL,
EEPROM_DATA0-1, EEPROM_CTRL
0x0
3:Reserved
When HID_OR0[7]==1’b0:
5-4
R
Generic registers programmed by MCU When HID_OR0[7]==1’b1:
Mapped from MCU_CTRL[5:4]
0x0
0: No activity on Record-Mute button
1: Record-Mute button pressed then released
3
2
1
0
R
R
R
R
0x0
0x0
0x0
0x0
0:No activity on Playback-Mute button
1: Playback-Mute button pressed then released
0: Volume-down button released
1: Volume-down button pressed
0: Volume-up button released
1: Volume-up button pressed
HID_IR1 (HID input report byte 1)
Offset:0x01
Bits
Read/Write
Description
Default
When HID_OR0[7]==1’b0:
GPI (when HID_IR0[7:6] == 2’b00); or Generic registers programmed
by MCU (otherwise) When HID_OR0[7]==1’b1:
Mapped from EEPROM_DATA0
7-0
R
0x00
Page 20 / 29 www.cmedia.com.tw
Revised: Aug. 2013 Copyright© C-Media Electronics Inc.