From: Stefan Ringel <stefan.ringel@arcor.de>
To: Andy Walls <awalls@md.metrocast.net>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
Dmitri Belimov <d.belimov@gmail.com>,
Felipe Sanches <juca@members.fsf.org>,
Bee Hock Goh <beehock@gmail.com>,
Luis Henrique Fagundes <lhfagundes@hacklab.com.br>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Jarod Wilson <jarod@redhat.com>
Subject: Re: tm6000 and IR
Date: Sat, 18 Dec 2010 16:55:47 +0100 [thread overview]
Message-ID: <4D0CD983.9010701@arcor.de> (raw)
In-Reply-To: <1292680595.2061.37.camel@morgan.silverblock.net>
Am 18.12.2010 14:56, schrieb Andy Walls:
> On Fri, 2010-12-17 at 22:24 -0200, Mauro Carvalho Chehab wrote:
>
>
>> Despite all discussions, we didn't reach an agreement yet.
>>
>> There are some points to consider whatever solution we do:
>>
>> 1) A keycode table should be able to work with a generic raw decoder. So, on all
>> drivers, the bit order and the number of bits for a given protocol should be the same;
>>
>> 2) we should avoid to cause regressions on the existing definitions.
>>
>> That's said, suggestions to meet the needs are welcome.
> Just to throw out some ideas:
>
> It appears to me that what you are looking at are communications
> protocols with
>
> a. a common Physical layer (PHY): a pulse distance protocol with a
> common carrier freq, bit symbol encoding, leader pulse, trailer pulse,
> and repeat sequence. The number of bits (and the leader pulse length?)
> is allowed to vary.
>
> b. differing Data Link layers (LL): the data link address can be
> different lengths and in different places; so can the data payload, so
> can the checks on address and data payload.
>
> For the end user, I would present each PHY/LL combination a different
> protocol. How the kernel implements it internally doesn't matter much.
> It could be one raw decoder handling all the PHY/LL combinations that it
> can, or one PHY decoder and several LL decoders.
>
> The keytables should probably be working on cooked LL output from the
> raw decoder. I think that will handle a lot of the issues you mention.
> The output from a LL could include
>
> destination address (from the transmitted code),
> source address (useful if different remotes can be detected),
> payload length,
> payload, and
> maybe button up/down.
>
> The LL could swallow the automatic repeats, since they are just part of
> the button up/down scheme.
>
> Aside from backward compatibility with existing keytables, I don't see
> much point in a decoder trying to flip bits from the PHY layer around to
> present a pseudo-PHY layer output. Don't keytables get updated with the
> kernel release anyway, or did they all move to userspace utils?
>
>
> Anyway, just some thoughts.
>
> Regards,
> Andy
>
>
>> Thanks,
>> Mauro
>
TM5600, TM6000 and TM6010 IR
==========================
It give two ways to receive data
1. over the control pipe (ep0)
- polling must stop if it loads firmware
- data length are a byte (command)
2. over interrupt pipe (only TM6010)
- data length are two bytes (address << 8 | command)
It has any control registers to configure IR (protocol ...)
TM6010_REQ07_RD8_IR
??, we use 0x2f
TM6010_REQ07_RD8_IR_BSIZE
??
TM6010_REQ07_RD8_IR_WAKEUP_SEL
command mask, I think, we use here 0xff
TM6010_REQ07_RD8_IR_WAKEUP_ADD
address mask, we use 0xff
TM6010_REQ07_RD8_IR_LEADER1
TM6010_REQ07_RD8_IR_LEADER0
is a 16bit register
for NEC 0xaa30
TM6010_REQ07_RD8_IR_PULSE_CNT1
TM6010_REQ07_RD8_IR_PULSE_CNT0
is a 16bit register
for NEC 0x20d0
Stefan Ringel
next prev parent reply other threads:[~2010-12-18 15:55 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-07 5:28 [RFC PATCH] Audio standards on tm6000 Mauro Carvalho Chehab
2010-10-08 19:03 ` Dmitri Belimov
2010-10-08 11:52 ` Mauro Carvalho Chehab
2010-10-12 18:28 ` Dmitri Belimov
2010-10-12 16:54 ` Stefan Ringel
2010-10-13 14:13 ` Dmitri Belimov
[not found] ` <20101129174412.08f2001c@glory.local>
[not found] ` <4CF51C9E.6040600@arcor.de>
[not found] ` <20101201144704.43b58f2c@glory.local>
[not found] ` <4CF67AB9.6020006@arcor.de>
[not found] ` <20101202134128.615bbfa0@glory.local>
[not found] ` <4CF71CF6.7080603@redhat.com>
[not found] ` <20101206010934.55d07569@glory.local>
[not found] ` <4CFBF62D.7010301@arcor.de>
[not found] ` <20101206190230.2259d7ab@glory.local>
[not found] ` <4CFEA3D2.4050309@arcor.de>
[not found] ` <20101208125539.739e2ed2@glory.local>
[not found] ` <4CFFAD1E.7040004@arcor.de>
2010-12-14 3:23 ` tm6000 and IR Dmitri Belimov
2010-12-14 16:27 ` Stefan Ringel
2010-12-15 7:46 ` Dmitri Belimov
2010-12-15 15:52 ` Stefan Ringel
2010-12-16 3:26 ` Dmitri Belimov
2010-12-16 9:38 ` Dmitri Belimov
2010-12-16 17:12 ` Stefan Ringel
2010-12-17 1:46 ` Dmitri Belimov
2010-12-17 5:18 ` Stefan Ringel
2010-12-17 7:08 ` Dmitri Belimov
2010-12-18 0:24 ` Mauro Carvalho Chehab
2010-12-18 13:56 ` Andy Walls
2010-12-18 15:55 ` Stefan Ringel [this message]
2010-12-20 5:41 ` Dmitri Belimov
2010-12-21 22:36 ` Jarod Wilson
2010-12-22 8:57 ` [PATCH] Rework and fix IR Dmitri Belimov
2011-01-13 3:46 ` [PATCH] tm6000: rework init code Dmitri Belimov
2011-01-20 6:05 ` [PATCH] tm6000: add/rework reg.defines Dmitri Belimov
2011-01-20 19:25 ` Stefan Ringel
2011-01-20 23:20 ` Dmitri Belimov
2011-02-17 5:12 ` tm6000 and radio Dmitri Belimov
2011-02-17 20:58 ` Mauro Carvalho Chehab
2011-02-18 1:11 ` [PATCH] tm6000: add radio Dmitri Belimov
2011-03-01 4:55 ` [PATCH] tm6000: add audio conf for new cards Dmitri Belimov
2011-03-18 0:08 ` [PATCH] tm6000: fix s-video input Dmitri Belimov
2011-03-19 6:46 ` Stefan Ringel
2011-03-23 2:49 ` Dmitri Belimov
2011-04-19 5:29 ` [PATCH v1] tm6000: rework standards Dmitri Belimov
2011-04-19 6:42 ` Stefan Ringel
2011-05-04 16:18 ` Stefan Ringel
-- strict thread matches above, loose matches on Subject: below --
2010-06-04 21:03 tm6000 and ir Stefan Ringel
2010-06-06 15:27 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D0CD983.9010701@arcor.de \
--to=stefan.ringel@arcor.de \
--cc=awalls@md.metrocast.net \
--cc=beehock@gmail.com \
--cc=d.belimov@gmail.com \
--cc=jarod@redhat.com \
--cc=juca@members.fsf.org \
--cc=lhfagundes@hacklab.com.br \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).