[linux-dvb] Reading CIS via CiMax

bora.sahin at ttnet.net.tr bora.sahin at ttnet.net.tr
Fri Jan 19 17:28:39 CET 2007


I have a MIPS based SoC and my task is to interface this board to a CAM 
module, specifically to the CryptoWorks...

Before I didnt have any knowledge about this topic so I searched the internet 
how I can do that and noticed CAM modules are interfaced to the host 
microprocessor via a common interface bus -> EN 50221. This is both a 
hardware and software standard. It look likes PCMCIA but not exactly. In fact 
at the beginning I thought it is the same as with PCMCIA but a friend said 
mechanically same but as signalling different. He advised using a CI 
controller if you want to be in the safe side. Am I correct up to here?

In my SoC there is a external bus which NOR, NAND, I/O and PCMCIA devices can 
be connected. You select the device type for the bus and signalling changes. 
After the light of above infos, I found I need a CI controller chip e.g. like 
CiMax. CiMax converts SRAM-like interfaces to a common interface, which CAM 
modules can be inserted. This is the hardware part. The problem here is that 
which mode should I configure the bus: PCMCIA or I/O? I think I/O is enough?

For the software part, one should write "dvb_ca_en50221 struct functions" to 
access the CAM module. For example, at the initialization phase CIS-card 
information structure- is read.
hooks provides the necessary functionality but I am not sure how to fill that 
functions using CiMax. From the datasheet I noticed that when I want to read 
the attribute memory I have to set a register in the CiMax and then access to  
the related bus in an ordinary way. More specifically; CIS offset is 0, CiMax 
gets AD[25:15] as input that means that CIS address should be aligned to 64K 
boundary. So a readl() to this address should return a CIS tuple. If there is 
someone who used CiMax before can he/she verify me?

Thanks in advance...


More information about the linux-dvb mailing list