I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods

Click Here!
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / MISC Areas / Mattel JuiceBox
SD/xD cart with IO
SD/xD cart with IO

New MessageSD/xD cart with IO (modified 0 times) EmbeddedEngineering
Profile
Hey all,

I'm going to make some SD/xD/NAND carts (yes, I have a supply of both types of sockets ) and I'm thinking of doing a little extra IO on them. So here's a couple questions on the GPIO and NAND usage in the JB...

1) Does anyone know for sure if the state of pins 20 and 22 on the cartridge port are checked other than a single time during a cold start? (What I'm thinking is to just hook these up to weak pullups and let the CPU drive them *after* the OTP boot code has executed and control has handed off to the xD/NAND image.)

2) Has anyone tried using a 16Mx8 NAND flash device? (The only reason I ask is because I have a lot of them from back in the day and I'm planning on dual footprinting the PCB for either xD or NAND in the old Samsung TSOP-48 footprint. Specifically I have a bunch of KM29U128T's and K9F2808U0M's... Then there's some TC58256FT's and TC58128FT's, but I don't remember if they're the same footprint as the Samsung parts or not.)

My plan is to just stick a little CPLD on the cart and use GPC9 and GPC10 as control signals. Something like:

11 = SD (default)
01 = RS-232 (serial 1)
10 = CPLD
00 = [reserved for expansion]

...and then just use SPI over the 'MMC' pins to read/write the bits in the CPLD (which in turn get latched to the CPLD pins).

Basically the CPLD muxes/steers the GPIO's as necessary (or not). (So while you can use SD + xD without doing anything special, if you choose "serial" we steal "CLE" from the xD interface for SIOTxD and if you choose "CPLD" the SD clock is gated, etc.)

Now getting *at* the 'expansion IO' signals from the CPLD is a little rough in the case of an xD/SD stuffed card, but there's always a way. With an on-cart NAND there's room for a little header were the xD card would normally sit.

Any input would be appreciated.

Thanks!

10-18-2006 21:02:36

New MessageRE:SD/xD cart with IO (modified 1 times) jbfan
Profile

Does anyone know for sure if the state of pins 20 and 22 on the cartridge port are checked other than a single time during a cold start?
Not easy to say for sure but seeing as the cartridge is "locked" in by the power switch it is unlikely that the code would need to check twice.
The Mp3 code is a separate program (Linux) so it may re-do the cartridge discovery.

My plan is to just stick a little CPLD on the cart and use GPC9 and GPC10 as control signals...
You could avoid the complexity of a CPLD by using the other "unused" GPIO pins in addition to GPC9/10. I have successfully used the following combination;
  • GPC2 - xD (shows up as cartridge 1 in the mem test)
  • GPC11 - MMC (as used in the Mp3 cart.)
  • GPC9 - UART1
    This leaves GPC10 and GPB7 (nGCS2) for other enables.
    You do need to be able to tolerate GPC2/11 and GPB7 (not sure about GPC9/10) toggling during boot as the ROM tries to detect what devices are on the cartridge.

    Now getting *at* the 'expansion IO' signals from the CPLD is a little rough...
    Yes, space is an issue. I ended up sticking a 10 pin socket to the top of the xD socket for serial experiments.
    This only implemented RX, TX, CTS, RTS, GPC9, and 3.3/GND - good luck trying to get the data bus and control signals out.

    -J

  • 10-19-2006 01:36:59

    New MessageRE:SD/xD cart with IO (modified 0 times) bkgoodman
    Profile
    Would you care to share your source for the xD sockets? :-O
    ---------
    Brad Goodman
    [myfirstname]@bradgoodman.com
    10-19-2006 07:06:01

    New MessageRE:SD/xD cart with IO (modified 0 times) WestfW
    Profile

    I have successfully used the following combination;
    # GPC2 - xD (shows up as cartridge 1 in the mem test)
    # GPC11 - MMC (as used in the Mp3 cart.)

    Will it boot from "cartridge 1"? Or do you still need to redirect
    the MMC from "standard" locaions to get a bootable xD on the same
    card?
    10-19-2006 09:19:58

    New MessageRE:SD/xD cart with IO (modified 0 times) jbfan
    Profile

    Will it boot from "cartridge 1"? Or do you still need to redirect
    the MMC from "standard" locaions to get a bootable xD on the same
    card?
    Good point, forgot about that issue.

    Yes, the JB will boot from xD/NAND with an MMC in the standard location.

    The requirement is that the MMC needs to contain one of the following;

  • An unrecognizable (non FAT) format; ext2, ext3, etc.
    -OR-
  • FAT12/16 formated but without any .jpb or .mp3 files in the root (/) directory.

    -J

  • 10-19-2006 10:24:53

    New MessageRE:SD/xD cart with IO (modified 0 times) EmbeddedEngineering
    Profile

    Would you care to share your source for the xD sockets? :-O

    I do a lot of product design for stuff that winds up being built over in China, so one of the factories I work with hooked me up. The minimum order quantity is 1K pcs, so if I end up buying a flat I'll have plenty of spares. Right now I just sampled in ~25 pcs to experiment with.

    10-19-2006 17:01:47

    New MessageRE:SD/xD cart with IO (modified 0 times) WestfW
    Profile
    I just noticed that PCI-express connectors have the same 1mm pin pitch as xD cards. I haven't had an xD card and a PCI-express system in the same place since then to see how the physical fit works out, though. Alas, pci-express
    motherboards are not yet appearing in the company e-waste dumpsters.
    10-19-2006 17:28:52

    New MessageOOPS, Nevermind (modified 0 times) jbfan
    Profile
    WestfW:

    The requirement is that the MMC needs to contain one of the following;
    # An unrecognizable (non FAT) format; ext2, ext3, etc.
    -OR-
    # FAT12/16 formated but without any .jpb or .mp3 files in the root (/) directory.
    Sorry, this is totally wrong. ;-(Could have sworn it worked the last time I tried it.)
    The JB just goes into "demo" mode if either of the above is true, it doesn't boot from the NAND.

    Moving the MMC chip enable to another GPIO on the JB connector should make it boot from NAND/xD no matter what is on the MMC/SD card.

    EmbeddedEngineering: RE 16Mx8 NAND
    You should check the datasheets against the Matrix OTP ROM. A quick look at the KM29U128T shows that it has an extra pin (Spare area Enable) that may not be supported by the JB.

    -J

    10-19-2006 20:20:57

    New MessageRE:SD/xD cart with IO (modified 0 times) EmbeddedEngineering
    Profile

    You could avoid the complexity of a CPLD by using the other "unused" GPIO pins in addition to GPC9/10. I have successfully used the following combination;
    # GPC2 - xD (shows up as cartridge 1 in the mem test)
    # GPC11 - MMC (as used in the Mp3 cart.)
    # GPC9 - UART1
    This leaves GPC10 and GPB7 (nGCS2) for other enables.
    You do need to be able to tolerate GPC2/11 and GPB7 (not sure about GPC9/10) toggling during boot as the ROM tries to detect what devices are on the cartridge.

    I'm not too concerned about the CPLD-- they're only about a buck and the 'programmability' might make things pretty flexible. I'm more concerned about board space at the moment... I think what I'll do is just make it a stuffing option. Either some zero ohm resistors to jumper around it, or maybe just put traces on the board with the option to cut them open if the CPLD is needed/wanted.

    I'll see if I can fit a VQFP package CPLD and a TSSOP packaged RS232 level translator one the fab along with a dual footprinted xD/TSOP48 and the SD socket. Still waiting for my eBay'd MP3 kit to arrive so I can borrow the PCB outline for the mechanicals...

    Thanks!

    10-20-2006 11:32:23

    New MessageRE:SD/xD cart with IO (modified 0 times) EmbeddedEngineering
    Profile

    EmbeddedEngineering: RE 16Mx8 NAND
    You should check the datasheets against the Matrix OTP ROM. A quick look at the KM29U128T shows that it has an extra pin (Spare area Enable) that may not be supported by the JB.

    Ahh, interesting. I think it's OK. According to the K9F2808U0M's datasheet:

    "1. Changed device name
    - KM29U128AT -> K9F2808U0A-YCB0
    - KM29U128AIT -> K9F2808U0A-YIB0"

    and then...

    "1. Changed SE pin description
    - SE is recommended to coupled to GND or Vcc and should not be
    toggled during reading or programming."

    It's not even listed on the Pin Description table anymore, although it does still appear on the pinout. I don't remember that we had to do anything special back when we were using them in MP3 players. I think the only pinout incompatibility was with Hitachi NAND. I did finally look up the Toshiba TC58128FT and TC58256FT's-- they should drop in on Samsung footprints.

    (...and IIRC, Sandisk branded parts from the same era should work too; they were sharing foundry output and just packaging differently at the time).

    -CC

    10-20-2006 11:45:29

    New MessageRE:SD/xD cart with IO (modified 0 times) emeb
    Profile
    Hey - sounds like a useful gizmo. Any thoughts on selling these or are they just for your own use?
    10-21-2006 07:41:18

    New MessageRE:SD/xD cart with IO (modified 0 times) bkgoodman
    Profile

    I'll see if I can fit a VQFP package CPLD and a TSSOP packaged RS232 level translator one the fab along with a dual footprinted xD/TSOP48 and the SD socket. Still waiting for my eBay'd MP3 kit to arrive so I can borrow the PCB outline for the mechanicals...

    There's a drawing on the Wiki - and an Eagle library too.

    10-21-2006 10:10:18

    New MessageRE:SD/xD cart with IO (modified 0 times) EmbeddedEngineering
    Profile

    Hey - sounds like a useful gizmo. Any thoughts on selling these or are they just for your own use?

    Yeah, I certainly won't need more than a couple, so as long as things work OK I'll probably unload the balance.

    I must confess I'm not a Linux guy (I do tons of ARM stuff, but its usually straight on the iron or with something like Fusion or ThreadX running on it) so maybe I'll offer up a couple carts for free for anyone that can do some testing on a Linux build and/or make me a CD with the requisite tools and build environment.

    -CC

    10-22-2006 22:44:30

    New MessageRE:SD/xD cart with IO (modified 0 times) EmbeddedEngineering
    Profile

    There's a drawing on the Wiki - and an Eagle library too.

    Thanks-- I checked that out when I was first reading up on the JB. I'm an OrCAD guy, but I did swipe the edge connector dimensions. I always lean towards "trust, but verify" when it comes to dimensions and connector pitch. :)

    10-22-2006 23:13:56

    Reply to Thread | Printer |
    All times are PSTPowered by UltraBoard v1.62



    Copyright © 2000, Netmake Inc. All Rights Reserved.
    See Terms and Conditions for more information.




    i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3