Subject: Re: Kingmax KEN0100-AF
To: <>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 01/20/2002 18:20:05
Martin Husemann wrote:
>
> What I was trying to say is: "0x4300 is always an invalid ISA io port"
> is not a correct statement (and that is how I read your message).

It would certainly be unusual!  Certainly from the point of address
allocation - where it would have to be assumed to be an alias of 0x300.
> 
> Anyway, if I understood correctly we are talking about a pcmcia card, which
> can be mapped somewhere via a cardbus controller. Whether it decodes 10 or
> 16 bits of io addresses should be in the CIS info.

If we are talking about a 16bit pcmcia card (rather than a cardbus card
- which is basically PCI) then it expects to sit on the ISA bus.  Now IF
the system is using a cardbus/pcmcia controller I don't think they do
address translation, so the ISA aliasing rules probably still apply.

None of this discussion really helps Patrick....


> CISTPL_CFTABLE_ENTRY
>  1b 0b c7 81 19 07 55 4d 5d 65 30 ff ff
> CISTPL_CFTABLE_ENTRY
>  1b 07 07 08 ca 60 00 03 1f
> CISTPL_CFTABLE_ENTRY
>  1b 07 07 08 ca 60 20 03 1f
> CISTPL_CFTABLE_ENTRY
>  1b 07 07 08 ca 60 40 03 1f
> CISTPL_CFTABLE_ENTRY
>  1b 07 07 08 ca 60 60 03 1f
> CISTPL_CFTABLE_ENTRY
>  1b 07 07 08 ca 60 00 02 1f
> CISTPL_CFTABLE_ENTRY
>  1b 07 07 08 ca 60 20 02 1f

These look like the raw CIS entries that define the allowed address
maps.  Unfortunately I can't decode these without the book - and no
longer have access to a copy :-)

Compare to these - from a Xircom ethernet/modem card under a different
OS.

dump_cis: tuple 1b, length 20, e7 c1 9d 0f 55 4d 5d 4e e0 17 17
                                     ea 60 e8 02 07 f0 bc 8e 20
dump_cis: tuple 1b, length  7, 1f 08 ea 60 e8 03 07
dump_cis: tuple 1b, length  7, 17 08 ea 60 f8 02 07
dump_cis: tuple 1b, length  7, 0f 08 ea 60 f8 03 07
dump_cis: tuple 1b, length  3, 3f 08 63

From memory: the last byte is the window size (1f => 32) the two bytes
before must be the iobase (little endian). The byte after the length is
written to a control port to select 'this configuration'. The short
entry for the Xircom card is one that lets you write the iobase to a
register somewhere.

The fact that all the entries (after the first which contains additional
info) only differ in the 'iobase' field makes be suspect that this CIS
isn't quite correct!

Does anyone have the spec?  I know you used to have to pay good money
for it - so it is unlikely to be online.

(Mind you I failed to decode the 'timing' fields of these enties by hand
with the book, dunno how anyone manages to write code to do it.  All the
CIS entries are compressed beyond belief!)

	David