[linux-dvb] cx18 - dmesg errors and ir transmit

Brandon Jenkins bcjenkins at tvwhere.com
Tue Jun 17 15:17:34 CEST 2008


On Jun 15, 2008, at 9:17 PM, Andy Walls wrote:

> On Mon, 2008-06-16 at 01:43 +0200, hermann pitton wrote:
>> Hi,
>>
>> Am Sonntag, den 15.06.2008, 18:04 -0400 schrieb Andy Walls:
>>> On Sun, 2008-06-15 at 08:05 -0400, Brandon Jenkins wrote:
>
>>>> Also, I have noticed a new message in dmesg indicating that ir
>>>> transmitters may now be accessible? Is there anything I need to  
>>>> do to
>>>> make use of them?
>>>>
>>>> tveeprom 2-0050: has no radio, has IR receiver, has IR transmitter
>>>
>>> The IR on the HVR-1600 (a Zilog Z8F0811 microcontroller) is very  
>>> much
>>> like that of the PVR-150.  From what I can tell, it even appears  
>>> to be
>>> at the same i2c address.
>>>
>>> This previous message also indicates the PVR-150/500 IR is very  
>>> similar
>>> to the HVR-1600:
>>> http://www.linuxtv.org/pipermail/linux-dvb/2008-February/023532.html
>>>
>>>
>>> Right now the cx18 driver has omitted some code present in ivtv  
>>> related
>>> to explicit reset of the IR microcontroller.  It shouldn't be hard  
>>> to
>>> add back that reset code,  if needed.
>>>
>>> I haven't had a chance to try the IR blaster out yet (it was on my  
>>> todo
>>> list before Feb 2009).  "Mark's brain dump" has a modified lirc  
>>> package
>>> for the PVR-150 IR blaster:
>>>
>>> http://www.blushingpenguin.com/mark/blog/?p=24
>>> http://charles.hopto.org/blog/?p=24
>>>
>>> It's probably a good starting point.  There are likely to be  
>>> differences
>>> though, as the cx23418 has 2 I2C buses where the cx23416 only has  
>>> 1 I2C
>>> bus.
>>>
>>> It looks like you're blazing a trail, as I can't find any  
>>> documentation
>>> on the 'net by anyone who has done this with a HVR-1600.  If  
>>> lirc_i2c,
>>> available with the normal lirc distribution for IR receive, can  
>>> detect
>>> the Z8F0811, you've probably got a good start.
>>>
>>> Regards,
>>> Andy
>>>
>>>> Thanks!
>>>>
>>>> Brandon
>>>
>>
>> just a note, have been there already coming from other stuff to it,
>> but don't remember the details off hand.
>>
>> http://marc.info/?l=linux-video&m=119705840327989&w=2
>>
>> and following.
>
> Hermann,
>
> Thanks.  More information is always good.
>
>
> Hermann and Brandon,
>
> I have done some research, (at least one version of) the PVR-150 and  
> the
> HVR-1600 both appear to use the Zilog Z8F0811 microcontroller.  The
> lirc_pvr150 module probably has a good chance of working for IR Tx  
> with
> the HVR-1600.
>
> I have just examined the lirc_pvr150 code, the kernel i2c-core, the  
> cx18
> and ivtv code.  Changes will be needed in:
>
> 1. lirc_pvr150.c
> 	- add request_module("cx18") near the end
>
> 	- change the explicit call to ivtv_reset_ir_gpio() to a
> 		cx18 equivalent or somehow change to an ioctl()
> 		so that the code is more flexible.
> 	(Note that the cx18 i2c_adapter callback data has a
> 	 different structure than ivtv to include not only the
> 	 card handle (struct ivtv/cx18 *), but also the i2c bus index)
> 	(Note that this module directly calls an ivtv module function:
> 	 not a very clean interface.)
>
> 	- change the struct ivtv declaration to a struct cx18
>
> 	- maybe some other stuff that all looks straightforward
> 	
> 2. cx18 driver:
> 	- port the ivtv_reset_ir_gpio() to cx18-gpio.c but using the
> 		struct cx18_i2c_callback_data * as the input argument.
>
> 	- add back the (private) ioctl() that also resets the IR chip
>
> 	- perhaps modify the cx18's "read/modify/write" strategy for i2c
> 		bus registers to "read mirrored copy/modify/write" to
> 		avoid PCI bus read aborts from trashing CX23418 I2C
> 		registers
>
> I'll add the reset code to the cx18-i2c repository I have at  
> linuxtv.org
> when I get the chance.
>
> I am at a loss to describe the lirc_pvr150.c code.  I don't quite
> understand all the firmware "magic" going on in the code.  The scripts
> in lirc/tools/pvr150 help a little.  I'd want to make as few changes  
> as
> possible to lirc_pvr150.c and hope it works.
>
>
>> I was under the impression we have already duplicate code?
>
> Almost duplicate.  In the initial port from ivtv to cx18, Hans left  
> out
> the CX23415 decoder code and the (ugly?) things which may not have  
> been
> needed or used.  We'll add those back in as needed.
>
> It already appears necessary to add Zilog IR chip reset (and GPIO  
> audio
> mux switching) back into the cx18 driver.  But I'd like a cleaner
> interface to the IR chip reset functions in the long run.
>
> -Andy
>
>> Cheers,
>> Hermann
>
>
Andy,

Thank you for taking an interest. I am not quite sure what you said  
above, but if you need someone to test I am willing to do so. While I  
was trying to figure out how to make this work; I did find the  
lirc_pvr150 code, but got lost when trying to make it work with the  
cx18. I do have the firmware downloaded as well.

I can set up a HG clone of which ever branch of yours you'd like me to  
use. The only drivers I compile are for the cx18 and for the HD-PVR,  
which I can merge into your branch.

Regards,

Brandon



More information about the linux-dvb mailing list