Will the SMI (Secondary Memory Interface) documentation be released any time soon? For me it's become a major stumbling block on using the Compute Module for an industrial application.
Imminent? Within weeks? Within Months? Never?
Regards
Bruce.
-
- Posts: 13
- Joined: Sat Nov 15, 2014 5:28 pm
- Location: Swindon, UK
SMI Documentation ?
Any landing you can walk away from is a good landing in my book.
Re: SMI Documentation ?
What do you need it for? I've not heard of anyone else using it (that's not to say you don't have a good reason). I beleive Gert knows a bit about it so will ping him.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.
- Gert van Loo
- Posts: 2487
- Joined: Tue Aug 02, 2011 7:27 am
- Contact: Website
Re: SMI Documentation ?
Yes, I know about it.
But as I no longer work for Broadcom I do not have access to the documentation anymore.
You will need that for the details but to be honest: the last time I used the interface
the documentation of the SMI is not that great. Good for some coarse idea but lacking
details which to me were important.
But as I no longer work for Broadcom I do not have access to the documentation anymore.
You will need that for the details but to be honest: the last time I used the interface
the documentation of the SMI is not that great. Good for some coarse idea but lacking
details which to me were important.
-
- Posts: 13
- Joined: Sat Nov 15, 2014 5:28 pm
- Location: Swindon, UK
Re: SMI Documentation ?
The plan was to have a simple way to suck/spit multi-MB chunks of 16bit wide data with the least CPU overhead. Treat the SMI as DMA'able memory mapped I/O interfacing to an existing hardware solution based on an FPGA. See http://www.troika-systems.com for pics of the current system.
Any landing you can walk away from is a good landing in my book.
Re: SMI Documentation ?
The Host Interface might also do what you want. It can be configured to do DMA transfers on a single 16-bit-wide channel, and the hardware supports the scheduling of transfer blocks for you. But I'm in the same boat as Gert and James so I'm just going by my fading grey cells.....
Neil
Neil
- Gert van Loo
- Posts: 2487
- Joined: Tue Aug 02, 2011 7:27 am
- Contact: Website
Re: SMI Documentation ?
There is the tiny little 'issue' that the host port is not brought out on ANY of the versions.Neil wrote:The Host Interface might also do what you want. It can be configured to do DMA transfers on a single 16-bit-wide channel, and the hardware supports the scheduling of transfer blocks for you. But I'm in the same boat as Gert and James so I'm just going by my fading grey cells.....
Neil
Not even the computer module....
-
- Posts: 13
- Joined: Sat Nov 15, 2014 5:28 pm
- Location: Swindon, UK
Re: SMI Documentation ?
Thanks for the input.
Is there really no way to get access to this documentation - officially or otherwise? No snipets of source, no other BC product that uses the same IP? SMI could open the way to an absolute ton of CM derived products.
Is there really no way to get access to this documentation - officially or otherwise? No snipets of source, no other BC product that uses the same IP? SMI could open the way to an absolute ton of CM derived products.
Any landing you can walk away from is a good landing in my book.
Re: SMI Documentation ?
To repeat what Bruce said, are they really no plans to release any information on the SMI?
I would like to add a fast ADC (>20Msps) for SDR experimentation or even a el-cheapo scope and was hoping the SMI would be the interface to do that.
I would like to add a fast ADC (>20Msps) for SDR experimentation or even a el-cheapo scope and was hoping the SMI would be the interface to do that.
Tony
-
- Posts: 2389
- Joined: Sat Aug 18, 2012 2:33 pm
Re: SMI Documentation ?
would somebody still with broadcom be able to put together a sample app like the other hello_pi stuff, to get the community started?
Re: SMI Documentation ?
Thought I'd reply to this old thread as it is the first result on google, so other people may come here too, looking for info.
There is now an SMI driver -- see these commits:
https://github.com/raspberrypi/linux/co ... e30329c1d0
https://github.com/raspberrypi/linux/co ... c5917c580a
You can enable the SMI driver by putting into /boot/config.txt. Following this with will enable a chardev interface (/dev/smi) which allows you to shove large amounts of data in and out of the SMI. There is also an experimental NAND flash driver: which allows you to connect a NAND flash chip to the SMI pins and mount it.
There is no public documentation of the SMI peripheral, but if you check out the latter part of this header file (https://github.com/raspberrypi/linux/bl ... 2835_smi.h) you should find a decent summary of the registers and their contents.
Hope this helps.
There is now an SMI driver -- see these commits:
https://github.com/raspberrypi/linux/co ... e30329c1d0
https://github.com/raspberrypi/linux/co ... c5917c580a
You can enable the SMI driver by putting
Code: Select all
dtoverlay=smi
Code: Select all
dtoverlay=smi-dev
Code: Select all
dtoverlay=smi-nand
There is no public documentation of the SMI peripheral, but if you check out the latter part of this header file (https://github.com/raspberrypi/linux/bl ... 2835_smi.h) you should find a decent summary of the registers and their contents.
Hope this helps.
Re: SMI Documentation ?
Sorry to resurrect this old thread, but LukeW (or anyone else), do you have any info on connecting a NAND flash chip to the SMI pins for use with the smi-nand driver (e.g. pinout mapping, etc.)? Scouring the Internet has not turned up anything.
Re: SMI Documentation ?
Some details are given the the BCM2835-ARM-Peripherals file (here). I think it was on page 102 or near there that most of the GPIO alternative pin mappings are listed. ALT1 on most pins is for SMI. The https://pinout.xyz site also shows them, but you have to check each pin to find its SMI function.
Re: SMI Documentation ?
You need to dig out oldish ap notes, a quick google found some.
http://www.ti.com/lit/an/spra825/spra825.pdf
https://www.microsemi.com/document-port ... e-app-note
This one is cool- eMMC hacking
https://www.blackhat.com/docs/us-17/wed ... der-wp.pdf
Just wish there was a nice non BGA eMMC chip
Plugin eMMC?
UHS on Pi4?
https://news.samsung.com/global/emmc-to ... s-evolving
SMI is very similar to IDE/Comp0act flash.
So could a embedded flash controller be used, it would do ECC?
http://www.siliconmotion.com/A3.2_Appli ... .php?sn=35
https://www.hyperstone.com/en/F9-Hypers ... -1217.html
http://www.ti.com/lit/an/spra825/spra825.pdf
https://www.microsemi.com/document-port ... e-app-note
This one is cool- eMMC hacking
https://www.blackhat.com/docs/us-17/wed ... der-wp.pdf
Just wish there was a nice non BGA eMMC chip

Plugin eMMC?
UHS on Pi4?
https://news.samsung.com/global/emmc-to ... s-evolving
SMI is very similar to IDE/Comp0act flash.
So could a embedded flash controller be used, it would do ECC?
http://www.siliconmotion.com/A3.2_Appli ... .php?sn=35
https://www.hyperstone.com/en/F9-Hypers ... -1217.html
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges
Re: SMI Documentation ?
There is a Pi SMI driver in the linux source tree, that can give a lot of hints to how it all works.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.
Re: SMI Documentation ?
Yukimasa Sugizaki has what looks like a useful SMI diagnostic utility here, raspi-smi-util: https://github.com/Terminus-IMRC/raspi-smi-util
No documentation or comments in there but from the usage messages it can:
Get settings from SMI and print to stdout
Set settings to SMI, reading from stdin
Set addr of SMI
Write size bytes to SMI
Read size bytes from SMI
Not a bad start if it works. The code is pretty small so should be easy to follow what is going on there.
But where is the SMI pinout documentation so that I can hook up an FPGA and get something cooking with this?
No documentation or comments in there but from the usage messages it can:
Get settings from SMI and print to stdout
Set settings to SMI, reading from stdin
Set addr of SMI
Write size bytes to SMI
Read size bytes from SMI
Not a bad start if it works. The code is pretty small so should be easy to follow what is going on there.
But where is the SMI pinout documentation so that I can hook up an FPGA and get something cooking with this?
Memory in C++ is a leaky abstraction .
Re: SMI Documentation ?
LukeW,
So if I have "dtoverlay=smi" and "dtoverlay=smi-dev" in config.txt I then get a /dev/smi device.
Then what?
What pins is that device using? How are they used?
I'm getting the itch to talk to an FPGA via SMI.
So if I have "dtoverlay=smi" and "dtoverlay=smi-dev" in config.txt I then get a /dev/smi device.
Then what?
What pins is that device using? How are they used?
I'm getting the itch to talk to an FPGA via SMI.
Memory in C++ is a leaky abstraction .
Re: SMI Documentation ?
Ouch!
"dtoverlay"= smi uses GPIOs 2-25!
OK, with that and the GPIO pinout docs I think we are set to start poking at it!
"dtoverlay"= smi uses GPIOs 2-25!
OK, with that and the GPIO pinout docs I think we are set to start poking at it!
Memory in C++ is a leaky abstraction .
Re: SMI Documentation ?
Something new for me.
http://www.onfi.org/
More datasheets.
http://www.cypress.com/products/1gb-8gb ... ash-memory
Perhaps start with the 8bit wide ones.
Easy to get a few, just pull apart old USB sticks
NAND flash hat?
http://www.onfi.org/
More datasheets.
http://www.cypress.com/products/1gb-8gb ... ash-memory
Perhaps start with the 8bit wide ones.
Easy to get a few, just pull apart old USB sticks

NAND flash hat?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges
Raspberries are not Apples or Oranges