Uh oh!
There was an error while loading. Please reload this page.
amlogic: remote: Add support for Sony SIRC 12/15/20 - #3
Merged
Conversation
Loading
Uh oh!
There was an error while loading. Please reload this page.
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contrary to most IR RC protocols, the Sony SIRC frames end with a data
bit, not with a trailer pulse, which triggers the following bugs in the
hardware IR decoder because it relies on pulse intervals instead of
pulse widths:
The last data bit (msb) cannot be read properly. It can only be
dropped, in which case it is always returned as 0, or forcibly read
by using an abnormally long maximum frame duration and ignoring the
logic 1 timings, in which case it is stuck to 1. This implementation
chooses to drop the msb because it is part of the device ID, so this
limitation is very unlikely to cause any trouble.
The repeat maximum frame interval in AO_MF_IR_DEC_REG3 is ignored.
Consequently, if the same RC key is pressed twice in a row, the
decoder reports the second key press as a repeat event, even if there
is a very long time between the key presses. This implementation
works around this bug by considering reported repeat events as actual
normal events if they occur more than a given time after the previous
event.
In order to support the SIRC protocol without any limitation, a software
decoder would have to be used with the general time measurement mode. To
this end, an equivalent of
drivers/amlogic/input/remote/remote_decoder_xmp.c for SIRC could be
derived from drivers/media/rc/ir-sony-decoder.c.