Fwd: s3c2442 component drawing

Werner Almesberger werner at openmoko.org
Tue May 19 18:20:46 CEST 2009


Dave Ball wrote:
> Committed.

Thanks ! I've updated the exploded view.

> I wasn't sure about this. Most pins are grouped by how we intend to use  
> them - i.e. VD8/GPD0/nSPICS1 is with the LCD interface not GPD or SPI.  

Hmm yes, grouping by our use would be an interesting possibility. What
makes me a bit uncomfortable about it is that it also means that the
circuit symbol includes a priori knowledge about decisions made in the
schematics. With gta02-core being based on an existing design, this
in fact becomes a posteriori information, but it still feels a bit like
cheating :-)

How about this approach: leave them where they are, but in those cases
where a pin has more than one non-GPIO secondary function that's not in
the same block, we put a text with the pin name at the location of the
secondary function.

That way, it's clear that the respective subsystem does have this pin,
and we can then even add some further markup in the schematics to 
indicate when it's in fact being used for the secondary function and
not the primary function. (I tried to see what happens if I
deliberately make a component with two pins with the same name, but
KiCad just gets confused and produces an invalid netlist.)

For GPIOs, it may also be useful to have this sort of mapping, but it
wouldn't make sense to do this manually. We could probably just
generate a list with a script. Sort of a reduced netlist.

This is the list of pins with secondary functions in distinct blocks,
according to  grep '/[^ /]*/' s3c2442.lib

X EINT12/LCD_PWREN/GPG4 AB14 1900 -1900 300 L 50 50 7 1 B
X EINT23/NYPON/GPG15 AF18 1900 -850 300 L 50 50 4 1 B
X EINT22/YMON/GPG14 AB19 1900 -750 300 L 50 50 4 1 B
X VD23/nSS0/GPD15 AE9 1900 -700 300 L 50 50 7 1 B
X EINT21/NXPON/GPG13 AE24 1900 -650 300 L 50 50 4 1 B
X VD22/nSS1/GPD14 AE7 1900 -600 300 L 50 50 7 1 B
X EINT20/nSPICS0/GPG12 W21 1900 -550 300 L 50 50 4 1 B
X EINT15/SPICLK1/GPG7 V21 1900 -550 300 L 50 50 3 1 B
X EINT14/SPIMOSI1/GPG6 AE16 1900 -450 300 L 50 50 3 1 B
X EINT19/TCLK1/GPG11 AF16 1900 -400 300 L 50 50 12 1 B
X EINT13/SPIMISO1/GPG5 AA18 1900 -350 300 L 50 50 3 1 B
X EINT11/nSS1/GPG3 AF14 1900 -250 300 L 50 50 3 1 B
X VD18/GPD10/SPICLK1 AE3 1900 -200 300 L 50 50 7 1 B
X VD17/GPD9/SPIMOSI1 AE4 1900 -100 300 L 50 50 7 1 B
X EINT17/GPG9/nRTS1 AB21 1900 -100 300 L 50 50 5 1 B
X VD16/GPD8/SPIMOSI1 AB7 1900 0 300 L 50 50 7 1 B
X EINT18/GPG10/nCTS1 AA19 1900 0 300 L 50 50 5 1 B
X VD15/GPD7/NSS0 AE6 1900 100 300 L 50 50 7 1 B
X VD14/GPD6/NSS1 AB6 1900 200 300 L 50 50 7 1 B
X EINT10/nSS0/GPG2 AB15 1900 250 300 L 50 50 3 1 B
X VD9/GPD1/SPCLK1 AB5 1900 700 300 L 50 50 7 1 B
X VD8/GPD0/nSPICS1 AA2 1900 800 300 L 50 50 7 1 B
X CLKOUT0/nSPICS0/GPH9 AA13 1900 900 300 L 50 50 15 1 B

And these two have primary and secondary function in the same
block:

X RXD2/nCTS1/GPH7 M21 1900 -600 300 L 50 50 5 1 B
X TXD2/nRTS1/GPH6 L21 1900 -500 300 L 50 50 5 1 B

Ah, it's so good to be able to grep these files ;-))

Oh, and I think that, for consistency, we should consider GPIO
always to be the last function, even in those cases where the
pin name Samsung choose lists it as second, e.g.,

X VD17/GPD9/SPIMOSI1 AE4 1900 -100 300 L 50 50 7 1 B

What do you think ? Should be possible to just produce the text
fields in the right unit by editing the .lib and then manually
moving them to their place.

- Werner



More information about the Gta03 mailing list