OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio

IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Pimp Your Zaurus: 1gbyte Nand Flash Upgrade, ...first seen on my Zaurus C750 ;)
ranma
post Jun 15 2008, 03:59 AM
Post #1





Group: Members
Posts: 5
Joined: 13-October 07
Member No.: 20,818



Hi all!

I recently looked into how the NAND is hooked up on the Zaurus (my C750):

CODE
          TP6
            TP5
          TP4
---------   TP3
|Xilinx | TP2
|CPLD   |   TP1
|       |
---------


TP1 => CE0
TP2 => CE1! (unused?)
TP3 => /WP
TP4 => /WE
TP5 => ALE
TP6 => CLE

I also found two nicely compatible 8GBit TSOP48 Toshiba Flash Chips in a CNMemory 2GByte CF Card.

So I soldered one of the 8GBit chips on top of the already existing 512MBit chip (all signals except CE are shared).
Soldering was a bitch though (pins did almost, but not quite reach the pins below), but with lots of solder, cursing, solderwick and patience
I eventually had all relevant pins connected. smile.gif
Since the Linux kernel unfortunately always enables/disables both CE signals I couldn't simply use the CE1 signal from the CPLD, but for now
(first tests) I hooked up CE to the Cathode of the Green EMail-LED (which is normally always off and the transistor acts as an inverter, so
'on' == low, exactly what I need) and a 10k pull-up.

The system boots fine and a hacked up 'fiddle with CEs and read IDs' kernel module finds both Chips just fine:
CODE
Trying to read id from Flash on CE0
Got maker=98 device=76
Trying to read id from Flash on CE1|GreenLED
Got maker=98 device=d3


According to drivers/mtd/nand/nand_ids.c maker 0x98 is 'Toshiba', device 0x76 is a 'NAND 64MiB 3,3V 8-bit' and
device 0xd3 is the shiny new 'NAND 1GiB 3,3V 8-bit' (Yay!).

This should actually already exercise all control signals, so the only remaining task is to modify the built-in sharp_sl nand driver to properly support two chips. smile.gif
Go to the top of the page
 
+Quote Post
Capn_Fish
post Jun 15 2008, 09:01 AM
Post #2





Group: Members
Posts: 2,350
Joined: 30-July 06
Member No.: 10,575



Very nice! Now how about 1GB RAM? That would REALLY make my day! biggrin.gif
Go to the top of the page
 
+Quote Post
ranma
post Jun 15 2008, 09:48 AM
Post #3





Group: Members
Posts: 5
Joined: 13-October 07
Member No.: 20,818



QUOTE(Capn_Fish @ Jun 15 2008, 09:01 AM) *
Very nice! Now how about 1GB RAM? That would REALLY make my day! biggrin.gif


I'm not sure the pxa would support that (and haven't looked into the datasheet). smile.gif

BTW, unit striptease:

Before mod:


After mod:


Better view of the flash stack:
Go to the top of the page
 
+Quote Post
the_oak
post Jun 16 2008, 05:23 AM
Post #4





Group: Members
Posts: 426
Joined: 10-February 04
From: Virginia, USA
Member No.: 1,794



Wow! Really nice mod. Is hacking the NAND driver a trivial matter (asking because from what I hear, Sharp did not release source files). Is hacking the driver the only thing that needs to be done to have the Zaurus see and use the new NAND storage as ROM? Would love to see a screenshot of System Properties showing all that internal memory.

If you pre-tin the new memory chip leads, would that extend them enough to make soldering less risky?
Go to the top of the page
 
+Quote Post
stupkid
post Jun 16 2008, 07:00 AM
Post #5





Group: Members
Posts: 578
Joined: 2-January 04
From: Texas USA
Member No.: 1,324



I thought long ago someone was stating that 128MB RAM was possible with the Z.
Go to the top of the page
 
+Quote Post
ranma
post Jun 16 2008, 12:34 PM
Post #6





Group: Members
Posts: 5
Joined: 13-October 07
Member No.: 20,818



QUOTE(the_oak @ Jun 16 2008, 05:23 AM) *
Wow! Really nice mod. Is hacking the NAND driver a trivial matter (asking because from what I hear, Sharp did not release source files). Is hacking the driver the only thing that needs to be done to have the Zaurus see and use the new NAND storage as ROM? Would love to see a screenshot of System Properties showing all that internal memory.


The nand driver is included in the sharp source tree (or in the cacko source tree, for that matter).
Hacking the driver shouldn't be too difficult, I hope to find the time to do that the coming weekend.
The hacked driver would expose the NAND as just another mtd partition, which can then be formatted using JFFS2.
Using a FS not specifically designed for flash would also be possible, but a big "don't do that" since ther is no wear-leveling. smile.gif
Unfortunately JFFS2 does not perform well with big filesystem sizes, maybe I'll try YAFFS instead.

QUOTE
If you pre-tin the new memory chip leads, would that extend them enough to make soldering less risky?


Maybe.
I think applying flux to the old chip leads may also help a lot. smile.gif

Interesting tidbits:
dd if=/dev/mtdblock of=/dev/null clocks in at about 2MB/s (on the 64MB flash)
This corresponds nicely to a benchmark I did on the PIO reads from the CPLD, however if I use the pxa dma engine I can read at >10MB/s.

Hooking up the chip-enable to the green led is just a temporary measure, I'm thinking of hooking it up using a transistor, with the base connected to CE0 using a resistor,
the emitter connected to CE1 an the collector connected to CE (while also leaving the pull-up in place).

This should act so that a low-level on CE1 gets only passed on to CE if CE0 is high-level and so works around the 'Sharp Kernel turns on/off both CE0 and CE1'.
Go to the top of the page
 
+Quote Post
the_oak
post Jun 16 2008, 07:25 PM
Post #7





Group: Members
Posts: 426
Joined: 10-February 04
From: Virginia, USA
Member No.: 1,794



QUOTE(stupkid @ Jun 16 2008, 11:00 AM) *
I thought long ago someone was stating that 128MB RAM was possible with the Z.


I think it was Speculatrix who (unsuccessfully) tried that. Brave soul. It would have been a success but the chip cracked, or something like that.
Go to the top of the page
 
+Quote Post
pelrun
post Jun 16 2008, 10:23 PM
Post #8





Group: Members
Posts: 369
Joined: 6-September 04
From: Brisbane, Australia
Member No.: 4,488



The RAM upgrade is hard simply because it's in a BGA package which needs hot-air rework equipment and no fear. I seem to recall Maslovsky had a few done.
Go to the top of the page
 
+Quote Post
speculatrix
post Jun 22 2008, 01:53 PM
Post #9





Group: Admin
Posts: 3,281
Joined: 29-July 04
From: Cambridge, England
Member No.: 4,149



QUOTE(the_oak @ Jun 17 2008, 04:25 AM) *
QUOTE(stupkid @ Jun 16 2008, 11:00 AM) *
I thought long ago someone was stating that 128MB RAM was possible with the Z.


I think it was Speculatrix who (unsuccessfully) tried that. Brave soul. It would have been a success but the chip cracked, or something like that.


no, I was trying to fit a bluetooth module inside my sl-6000, turned out I had the wrong type of module - there are many variants of Mitsumi devices. in the process of reassembling it I was squeezing the USB wifi module on and snapped a RAM chip. I tried to find someone who could do BGA "surgery" to remove the bust ram chip and fit a new one, and possibly populate the empty slots for more memory too.

that zaurus is still b0rked - the person capable of BGA surgery was unavailable and the RAM chips are very hard/impossible to find.
Go to the top of the page
 
+Quote Post
speculatrix
post Jun 22 2008, 01:54 PM
Post #10





Group: Admin
Posts: 3,281
Joined: 29-July 04
From: Cambridge, England
Member No.: 4,149



QUOTE(pelrun @ Jun 17 2008, 07:23 AM) *
The RAM upgrade is hard simply because it's in a BGA package which needs hot-air rework equipment and no fear. I seem to recall Maslovsky had a few done.


yes, Anton Mas. had a friend who can do BGA, but I think that friend has changed job and no longer has access to the specialised equipment.
Go to the top of the page
 
+Quote Post
the_oak
post Jul 1 2008, 06:29 PM
Post #11





Group: Members
Posts: 426
Joined: 10-February 04
From: Virginia, USA
Member No.: 1,794



QUOTE(speculatrix @ Jun 22 2008, 05:53 PM) *
QUOTE(the_oak @ Jun 17 2008, 04:25 AM) *
QUOTE(stupkid @ Jun 16 2008, 11:00 AM) *
I thought long ago someone was stating that 128MB RAM was possible with the Z.


I think it was Speculatrix who (unsuccessfully) tried that. Brave soul. It would have been a success but the chip cracked, or something like that.


no, I was trying to fit a bluetooth module inside my sl-6000, turned out I had the wrong type of module - there are many variants of Mitsumi devices. in the process of reassembling it I was squeezing the USB wifi module on and snapped a RAM chip. I tried to find someone who could do BGA "surgery" to remove the bust ram chip and fit a new one, and possibly populate the empty slots for more memory too.

that zaurus is still b0rked - the person capable of BGA surgery was unavailable and the RAM chips are very hard/impossible to find.


Speculatrix:
Did you happen to notice this thread:

http://www.oesf.org/forum/index.php?showtopic=25886

Maybe a cheap motherboard to replace borked one. Been a while since that ad, but I just now remembered seeing it.
Go to the top of the page
 
+Quote Post
speculatrix
post Jul 2 2008, 02:02 AM
Post #12





Group: Admin
Posts: 3,281
Joined: 29-July 04
From: Cambridge, England
Member No.: 4,149



QUOTE(the_oak @ Jul 2 2008, 03:29 AM) *
QUOTE(speculatrix @ Jun 22 2008, 05:53 PM) *
no, I was trying to fit a bluetooth module inside my sl-6000... snapped a RAM chip


Speculatrix:
Did you happen to notice this thread:

http://www.oesf.org/forum/index.php?showtopic=25886

Maybe a cheap motherboard to replace borked one. Been a while since that ad, but I just now remembered seeing it.


thanks, but I did buy a b0rked 6000, a guy dropped it off the roof of his house (I've never found out why he was up there with his Z!), the screen broke but the motherboard survived! I've still got problems with its LCD connector, it needs refixing. Also my batteries are shot. I recently bought a Dlink DSM-G600 wifi hard drive thing which I intend to fit in the car and use the Z as a media player using samba over wifi.
Go to the top of the page
 
+Quote Post
ranma
post Jul 12 2008, 02:21 PM
Post #13





Group: Members
Posts: 5
Joined: 13-October 07
Member No.: 20,818



QUOTE(ranma @ Jun 16 2008, 12:34 PM) *
The nand driver is included in the sharp source tree (or in the cacko source tree, for that matter).
Hacking the driver shouldn't be too difficult, I hope to find the time to do that the coming weekend.
The hacked driver would expose the NAND as just another mtd partition, which can then be formatted using JFFS2.
Using a FS not specifically designed for flash would also be possible, but a big "don't do that" since ther is no wear-leveling. smile.gif
Unfortunately JFFS2 does not perform well with big filesystem sizes, maybe I'll try YAFFS instead.


Well, it took a bit longer than expected, but it is basically working now.
I can mount jffs2 and read/write to the partition.
I get occasional crc errors though (probably because I commented out the write verification code, that is not converted yet).
For testing I only used 128MB instead of the full size:

CODE
bash-3.00# df  
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root                32768     32664       104 100% /
/dev/ram1                  108        29        79  27% /dev
/dev/loop0               26368     26368         0 100% /usr
/dev/mtdblock3           25600     21660      3940  85% /home
none                     10240        24     10216   0% /dev/shm
/dev/mtdblock4          131072     30020    101052  23% /usr/mnt.rom/cf
bash-3.00# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 006d0000 00020000 "Filesystem"
mtd1: 00700000 00004000 "smf"
mtd2: 02000000 00004000 "root"
mtd3: 01900000 00004000 "home"
mtd4: 08000000 00040000 "NAND flash partition 0"
mtd5: 20000000 00040000 "NAND flash partition 1"



QUOTE
Interesting tidbits:
dd if=/dev/mtdblock of=/dev/null clocks in at about 2MB/s (on the 64MB flash)
This corresponds nicely to a benchmark I did on the PIO reads from the CPLD, however if I use the pxa dma engine I can read at >10MB/s.


Well, slight problem with trying to use dma: Apparently I overread the part where the docs state that byte-reads are only allowed for on-chip peripherals
and all external reads have to be 8-byte aligned. sad.gif
Unfortunately the data register is not 8-byte aligned and only byte-readable.

Aligned dma copies from/to the w100 framebuffer seem to work fine though (didn't get much testing though). smile.gif
Go to the top of the page
 
+Quote Post
the_oak
post Jul 13 2008, 05:28 AM
Post #14





Group: Members
Posts: 426
Joined: 10-February 04
From: Virginia, USA
Member No.: 1,794



Keep up the good work. We'll be waiting to hear of future developments.
Go to the top of the page
 
+Quote Post
Ragnorok
post Sep 16 2008, 09:38 AM
Post #15





Group: Members
Posts: 298
Joined: 27-October 03
From: Greenfield, NH
Member No.: 781



QUOTE(pelrun @ Jun 17 2008, 06:23 AM) *
The RAM upgrade is hard simply because it's in a BGA package which needs hot-air rework equipment and no fear. I seem to recall Maslovsky had a few done.

- 'Twere he. Saint Maslovsky has a C750 w/ 128MB RAM and was working on the C1000 about the time Cacko 1.23 was released. Since then he evaporated, seemingly. Hope he's okay and all.
- I like the GB flash mod. I could fit Debian in that and not worry about stuffing it on an SD card. Nice! Now if I could just work up the courage to rip Hiro apart and go at him with heat and purpose. (owlish stare)
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 18th September 2014 - 03:41 AM