Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add missing SPI flash chips #48

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

add missing SPI flash chips #48

wants to merge 1 commit into from

Conversation

Wolfvak
Copy link
Member

@Wolfvak Wolfvak commented May 14, 2021

Ok, so everyone has already seen the "unknown SPI flash chip" error or whatever, the flash chips are fairly obscure and there's basically no data available on them, other than what nocash has already figured out

We can assume they're designed to be NDS-compatible, so they need to expose at least 128KB worth of data - this doesn't mean much, because the "5A32" chip in old3DS consoles (at least mine, an XL) does expose and wraparound every 128K, but it doesn't allow writing to anything except the first 4K and the last 3.25K of the 128K area.

Right now it's been added as a very simple 4K chip, but this might need to change, either to write a driver that allows us to expose this highly specific and non-standard information, or to just say it has 128K worth of memory and hope nobody tries to write to the remaining 94.33% area that's not writable.

I need more data to try and add as many chips as possible - if you can boot this branch and it doesn't detect the chip in your system, please send us the JEDEC ID it displays and as much info as possible.

More info available on https://problemkaputt.de/gbatek.htm#dsfirmwareserialflashmemory

also increase the max freq to 25MHz
@Wolfvak Wolfvak added driver enhancement New feature or request help wanted Extra attention is needed ctr Issue affects old3DS and 2DS ktr Issue affects new3DS and new2DS labels May 14, 2021
@ParzivalWolfram
Copy link
Member

ParzivalWolfram commented May 14, 2021

How would you retrieve the JEDEC ID if it's unrecognized?

@Wolfvak
Copy link
Member Author

Wolfvak commented May 14, 2021

I'll spit out a message on boot, "spi-nor: unrecognized JEDEC id bytes aa bb cc ...", the "aa", "bb" and "cc" parts are the ones I'm interested in (plus the info of what console they're in, of course)

You can use something like dmesg | grep nor, that should give you the message right away.

@ParzivalWolfram
Copy link
Member

JEDEC bytes 62 62 0c 62 62 0c, RED-001, SoC manufacture date 2014/11/02. (Note: I dunno what caused it, but the sotkeyb on the bottom screen never initialized. Might be this branch, or maybe I need to redo the loader bits.)

@Wolfvak
Copy link
Member Author

Wolfvak commented May 15, 2021

Ok, according to gbatek your chip is a "32B", "3XH"... thing
It seems to follow the same scheme as "5A32", so it's as easy as adding the ID.

About the lower screen thing, it might be a situation similar to what godmode9 went through for years. Try getting the latest firm_linux_loader, it might fix it.

@ParzivalWolfram
Copy link
Member

ParzivalWolfram commented May 15, 2021 via email

@knuxify
Copy link

knuxify commented Apr 30, 2022

European New 3DS XL, purchesed in 2015 (might look at the motherboard later), reports 20 58 0c 00 00 00. (That's without the branch - I'm assuming that's the chip that was added here, so this probably isn't of much use :p)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ctr Issue affects old3DS and 2DS driver enhancement New feature or request help wanted Extra attention is needed ktr Issue affects new3DS and new2DS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants