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

SPI flash HOLD pin #14

Open
osresearch opened this issue Aug 29, 2020 · 4 comments
Open

SPI flash HOLD pin #14

osresearch opened this issue Aug 29, 2020 · 4 comments

Comments

@osresearch
Copy link
Owner

osresearch commented Aug 29, 2020

image

In #10 @Jerome-PS points out that that the SPI flash HOLD pin needs to be driven high oe else the flash doesn't operate. This might be why the small remotes are somewhat flaky with their flash chips. Marco's reverse engineered schematic above doesn't have this pin marked, although it was generated from one of the SiLabs modules, while the 2-pin remotes are custom by Ikea.

@osresearch
Copy link
Owner Author

Is there a way to detect which board the firmware is running on? If so then PF3 could be a GPIO for the Gecko boards, but dedicated SPI pin for the two button remotes.

@Jerome-PS
Copy link

Jerome-PS commented Aug 29, 2020

Actually PF3 is not only SPI FLASH HOLD, but also SPI FLASH VCC for the remote (I supposed it is in order to be able to save its power when the remote is sleeping, since it operates on battery).
Also on the remote, the resistor in series with SPI_MISO is marked R5.

Also I could not at all format the FLASH without driving PF3 high. I could barely read 2 bytes of the identifier (power flowing through CS, SCK and MOSI's protection diodes), after that MISO always stayed at 0...

@osresearch
Copy link
Owner Author

That's the same behaviour I saw with the two button remotes -- the flash was almost functional for reporting its ID, but would never format or read correctly. Thanks for tracking down the HOLD/VCC wiring!

@Jerome-PS
Copy link

Is there a way to detect which board the firmware is running on? If so then PF3 could be a GPIO for the Gecko boards, but dedicated SPI pin for the two button remotes.

Well, one not very efficient way could be to try and talk with the SPI FLASH and if it does not respond, activate PF3 and try again...
I don't know where the LED(s) is(are) on other boards, but maybe it could be detected too? Although it could cause problems depending on what is connected to the pin by the user...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants