Jump to content

orang pi one enable spi


renky

Recommended Posts

orange pi one

armbian buster

purged non free software

 

I installed flashrom.

In sudo armbian-config -> system settings -> toogle hardware I

marked spi-spidev. Saved. Restarted computer.

 

/dev/spi* displays nothing.

How can I enable spi in armbian?

Thank you.

Link to comment
Share on other sites

On 1/30/2020 at 12:17 PM, renky said:

How can I enable spi in armbian?

you need the following in /boot/armbianEnv.txt and running a CURRENT or DEV kernel (not Legacy) :

overlays=spi-spidev
param_spidev_spi_bus=0

EDIT : Fix my own typo : should be "param_spidev_spi_bus=0" instead of "param_spinor_spi_bus=0"

Link to comment
Share on other sites

Quote

running a CURRENT

 

I installed newest armbian buster having version

5.4.14-sunxi.

Is that current or not legacy?

 

Armbianenvtxt is

verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=
rootfstype=ext4
overlays=spi-spidev
param_spinor_spi_bus=0
usbstoragequirks=

 

It does not work.

Command

sudo ls -l /dev/spi*

returns

ls: cannot access '/dev/spi*': No such file or directory

 

On raspberry pi you enable spi this way

https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md

Link to comment
Share on other sites

14 minutes ago, renky said:

5.4.14-sunxi.

Is that current?

Yes !

 

14 minutes ago, renky said:

It does not work.

You need to debug more :

- check that overlay is actually loaded during the u-boot phase. (Did you rebooted since the /boot/armbianEnv.txt changes ?)

- do a "dmesg | grep -i spi" to figure out about any errors, (maybe pins are used elsewhere ?)

 

14 minutes ago, renky said:

On raspberry pi you enable spi this way

Forget about this way, it is not Armbian way ... :P

 

EDIT: Oh ! I didn't look thoroughly : You wrote "param_spinor_spi_bus=0" instead of "param_spidev_spi_bus=0" because of my own typo done previously ... :lol:

Link to comment
Share on other sites

Thank you.

After I corrected the code, it might work. Command

sudo ls -l /dev/spi*

returns

crw------- 1 root root 153, 0 jan 30 /dev/spidev0.0

 

Are there commands such that you can verify if spi has set?

mosi

miso

ceo_n

sclk

 

On a raspberry pi 0 command

sudo ls -l /dev/spi*

returns

crw-rw----1 root spi 153, 0 jan 30 /dev/spidev0.0

crw-rw----1 root spi 153, 1 jan 30 /dev/spidev0.1

 

On orange pi one it says crw. On raspberry pi 0 it says crw-rw. A raspberry pi

0 can flash the flashchip of a thinkpad t400. Can the orange pi one do it, if

the orange pi one's spi says crw and not crw-rw?

Link to comment
Share on other sites

34 minutes ago, renky said:

Are there commands such that you can verify if spi has set?

What do you mean ?

34 minutes ago, renky said:

On orange pi one it says crw. On raspberry pi 0 it says crw-rw. A raspberry pi

0 can flash the flashchip of a thinkpad t400. Can the orange pi one do it, if

the orange pi one says crw and not crw-rw?

As long as you are executing as "root", you don't need to have "crw-rw" flags ...

Link to comment
Share on other sites

Quote

What do you mean ?

 

How you can test if spi will work. On libreboot's homepage this test

command is displayed:

./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512

It should return

Calibrating delay loop... OK. No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.

 

./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512

does not work on the raspberry pi 0 and orange pi one.

It returns

No such file or directory

flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512

returns

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.

on both the raspberry pi 0 and orange pi one. Since the

raspberry pi 0 can flash the flashchip of a thinkpad t400 then

maybe the orange pi one also can flash it. Because both

return the same message from

flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512

Link to comment
Share on other sites

31 minutes ago, renky said:

How you can test if spi will work.

The simpliest way is to test MOSI/MISO with a loopback wire between those two pins and then use "spidev_test" after having it compiled :

https://github.com/torvalds/linux/blob/master/tools/spi/spidev_test.c

 

37 minutes ago, renky said:

No EEPROM/flash device found.

 

Did you properly connected a SPINOR flash chip on the proper pins or you connected some other kind of devices ?

Link to comment
Share on other sites

Quote

connected a SPINOR flash chip

 

Nothing was connected. You are supposed to run command

flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512

with nothing connected. And if it returns

Calibrating delay loop... OK. No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.

then there is a chance that spi works on the computer.

Like I wrote, on the raspberry pi 0 it returns

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
No EEPROM/flash device found

Still the raspberry pi 0 was able to flash the

flashchip.

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines