[Dev] SPI on HiKey

Kazumoto Kojima kkojima at drone.co.jp
Tue Nov 10 00:52:13 UTC 2015

Zhong Kaihua wrote:
> Clock_sys 21,which is divided from syspll, is used for both work clock and 
> bus clock on hi6220. If you refer to the docs at 
> Documentation/devicetree/bindings/spi/, you may find that some other SOCs  
> also work like that.

Thanks for your explanations! 

> BTW, we are interested in how you test SPI on Hikey board. Can you share 
> your test methods and test case to us? We are evaluating if we should 
> upsteam our DTSI patch to the mainline branch, and we do not have related 
> test environment. 

I've heard that the SPI suport is in testing with linaro folks already.
Anyway, here is a step-by-step trial with the tiny patch attatched.
I'm using uefi with the recent edk2 that enables SPI0:

commit 04ba756e8996b1bdcd10ff484779cc95352a8e4a
Author: Haojian Zhuang <haojian.zhuang at outlook.com>
Date:   Fri Oct 9 20:12:11 2015 +0800

    Merge pull request #51 from hzhuang1/unreset_spi
    HiKeyPkg: unreset SPI0

which is on hikey branch of https://github.com/96boards/edk2.git.

[On host:]
git clone https://github.com/96boards/linux.git
cd linux
git checkout hikey
git branch working-hikey
cat $SOMEWHERE/hikey-spi.patch | patch -p1
wget http://builds.96boards.org/snapshots/hikey/community/hikey/latest/kernel.config
cp kernel.conf .config
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
#Check spidev support
# Device Drivers->SPI support->[*] User mode SPI device driver support	
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
#Install it

#Get latest spidev test, for example
# https://github.com/torvalds/linux/blob/master/Documentation/spi/spidev_test.c
#and send it to the target.
[On target with the new kernel:]
[Confirm that there is f7106000.spi under /sys/devices/smb]
[Compile spidev_test.c]
$gcc -O2 -o spidev_test spidev_test.c

[Target root:]
[Loop test where connecting SDO to SDI on HiKey]
#./spidev_test -D /dev/spidev0.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D  | ...... at ....�..................�.

[Send two bytes to some device. This is the result from gyroscope of ST LSM9DS0.]
#./spidev_test -D /dev/spidev0.0 -p "\x8f\x00"
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
RX | 00 D4 __ __ __ __ __ __  | .�


-------------- next part --------------
A non-text attachment was scrubbed...
Name: hikey-spi.patch
Type: text/x-patch
Size: 1321 bytes
Desc: not available
URL: <http://lists.96boards.org/pipermail/dev/attachments/20151110/1ffc7d7b/attachment.bin>

More information about the Dev mailing list