Only one session can be open per service at a time. If a session is already open for a service, MCU module will wait for the thread handling the session to terminate(triggered by the session being closed by the user process), then it accepts the new session. The commands for each service are handled by separate threads.
MCU camera service "mcu::CAM"
MCU GPU service "mcu::GPU"
MCU HID service "mcu::HID"
MCU service "mcu::RTC"
Command Header | Description |
---|---|
0x003B0640 | SetInfoLEDPattern |
0x003C0040 | SetInfoLEDPatternHeader |
0x003D0000 | GetInfoLEDStatus |
0x00420040 | SetBatteryEmptyLEDPattern |
Note that using invalid input with these InfoLED/SetBatteryEmptyLEDPattern commands(especially SetInfoLEDPattern) can cause the system to be bricked(however the boot failure may not begin immediately after using the invalid parameters). For the bitmasks controlling these LEDs, bit clear = LED enable, bit set = LED disable? These notification LEDs(red LED, green LED, blue LED, ...) can only be enabled/disabled, nothing more.