[linux-dvb] dvb_ca_en50221.c,h - a hook needed

Manu Abraham abraham.manu at gmail.com
Wed Aug 1 20:18:01 CEST 2007


Hi,

On 8/1/07, Akiva Sadovski <akivas at scopus.net> wrote:
>
>
>
> Dear all,
>    I'm working on a driver for a SCM's CIMaX chip
> (http://www.scmmicro.com/ir/pdf/10K-Q4-04.pdf - DVB-CI
> interface). The driver is supposed to be used at our proprietary HW
> platform. I'd like to use the dvb-core as a (great) platform for the driver.
>  However, IMHO it lacks the following functionality:
>
>    before using the CIMaX chip I have to set up some registers that
> configure the voltages it uses, pin assignment etc,


use that part in the cimax driver, assigning voltages, pin assignments etc.


>    the most natural place to do it is while open()-ing the device, but the
> dvb_ca_en50221_io_open() has no hook
>    (smth like int (*slot_reset)() ) available,


To reset, use CA_RESET. Since the CiMax just follows EN50221, the
device specifies that the modules are daisy chained according to
EN50221, see page 16 of the CiMax datasheet. (Don't know whether you
have the same datasheet, what i have is Rev A, 7-Sep-01)

See also 5.4.4 en50221. Also A.2.2.1.

But i didn't really follow this part, if you mean the Hot Insertion
feature on the CIMAx, just add in flag to say ca->flags (you need to
define the flag though) and just do the code run conditionally based
on the flag, say something like DVB_CA_EN50221_HOT_INSERT to
conditionally enable the Reset code in dvb_ca_en50221.

That would help ? Is that what you were asking ?


>    and I don't want to put any chip-wide initialization code to driver's
> init function (the driver is supposed to deal with
>    with few CIMaXes)

device specific code has to go into the device specific driver alone.


Manu



More information about the linux-dvb mailing list