StarFive VisionFive 2 User manual

VisionFive240-PinGPIOHeaderUser
Guide
StarFive

LegalStatements
PROPRIETARYNOTICE
ContactUs
StarFive

Preface
Aboutthisdocument
•
•
•
RevisionHistory
Table0-1RevisionHistory
Version Released Revision
(on page 11)
Notesandnoces
•Tip:
•Note:
•Important:
•CAUTION:
•Warning:
StarFive

Contents
1.Overview............................................................................................................................................................................. 8
2.GPIOPinout ...................................................................................................................................................................... 9
3.Preparaon........................................................................................................................................................................ 10
4.GPIOOperaons................................................................................................................................................................ 15
5.I2COperaons................................................................................................................................................................... 16
6.SPIOperaons................................................................................................................................................................... 20
7.PWMOperaons............................................................................................................................................................... 25
8.UARTOperaons............................................................................................................................................................... 27
9.PeripheralExamples...........................................................................................................................................................33
StarFive

StarFive

ListofTables
StarFive

ListofFigures
StarFive

1.Overview
•
• (on page
15) (on page 16) (on page 20) (on page 25)
(on page 27)
• (on page 33)
1.1.40-PinHeaderDenion
Figure1-140-PinDenion
1
3
5
7
9
11
17
19
23
27
31
35
13
15
21
25
29
33
37
39
2
4
6
8
10
12
18
20
24
28
32
36
14
16
22
26
30
34
38
40
5VPower
5VPower
GND
GPIO5(UARTTX)
GPIO6(UARTRX)
GPIO38
GPIO51
GND
GPIO49(SPICE0)
GPIO40
GPIO46(PWM0)
GPIO36
GND
GPIO54
GPIO50
GPIO56
GND
GND
GPIO61
GPIO44
3.3VPower
GPIO58(I2CSDA)
GPIO57(I2CSCL)
GPIO55
GND
GPIO42
3.3VPower
GPIO52(SPIMOSI)
GPIO48(SPISCLK)
GPIO45
GPIO39
GPIO63
GPIO43
GPIO47
GPIO53(SPIMISO)
GND
GPIO37
GPIO59(PWM1)
GPIO60
GND
StarFive

2.GPIOPinout
Table2-1GPIOAssignments
Sys dts GPIONum PinName PinNum PinNum PinName GPIONum dts Sys
Note:
•dts jh7110-visionfive-v2.dtsi
•Sys /sys/class/gpio
StarFive

3.Preparaon
3.1.PreparingHardware
Table3-1HardwarePreparaon
Type M/O*Item Notes
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
StarFive

3.2.PreparingSoware
3.2.1.GitHubRepository
Note:
Table3-2GitHubRepositoryAddresses
Type Repository Branch
•
•
•
3.2.2.FlashingDebianOStoaMicro-SDCard
Flashing OS to a Micro-SD Card VisionFive 2 Single Board Computer Quick Start
Guide
3.2.3.GenerangDTB
make <Configuration_File> ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu-
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv dtbs
Tip:
crossbuild-essenal-riscv64
sudo apt-get install crossbuild-essential-riscv64
Tip:
<Conguraon_File>starfive_jh7110_defconfigstarfive_visionfive2_defconfig
make starfive_jh7110_defconfig ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu-
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv dtbs
StarFive

•jh7110-visionfive-v2.dtb
•jh7110-visionfive-v2-ac108.dtb
•jh7110-visionfive-v2-wm8960.dtb
Tip:
3.2.4.ReplacingDTB
Figure3-1IdenedDirectories
/dev/sdb3 30G 21G 8.1G 73% /media/<UserName>/root
3.2.4.1.Method1:DirectlyReplacingDTBFile
Note:
•<DTB_File>
◦jh7110-visionfive-v2.dtb
◦jh7110-visionfive-v2-ac108.dtb
◦jh7110-visionfive-v2-wm8960.dtb
Tip:
•<Mount_Directory>/media/<UserName>
•<Kernel_Version>5.15.0-starfive
ExampleCommand:
sudo cp arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtb
/media/<UserName>/root/usr/lib/linux-image-5.15.0-starfive/starfive/
3.2.4.2.Method2:AddingStartupItem
sudo cp arch/riscv/boot/dts/starfive/<DTB_File> <Mount_Direcotry>/
root/usr/lib/linux-image-<Kernel_Version>/starfive/
Tip:
◦<DTB_File>
▪jh7110-visionfive-v2.dtb
▪jh7110-visionfive-v2-ac108.dtb
▪jh7110-visionfive-v2-wm8960.dtb
StarFive

Tip:
◦<Mount_Directory>/media/<UserName>
◦<Kernel_Version>5.15.0-starfive
ExampleCommand:
sudo cp
arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v2.dtb /
media/<UserName>/root/usr/lib/linux-image-5.15.0-starfive/starfive/
cd <Mount_Direcotry>/__boot
Tip:
<Mount_Directory> /media/UserName
extlinux.conf
sudo gedit extlinux.conf
slabel l1
menu label Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized)
linux /boot/vmlinuz-<Kernel_Version>
initrd /boot/initrd.img-<Kernel_Version>
fdt /usr/lib/linux-image-<Kernel_Version>/starfive/<DTB_File>
append root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait
stmmaceth=chain_mode:1 selinux=0
label l1r
menu label Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized)(rescue target)
linux /boot/vmlinuz-<Kernel_Version>
initrd /boot/initrd.img-<Kernel_Version>
fdt /usr/lib/linux-image-<Kernel_Version>/starfive/uart_test.dtb
append root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait
stmmaceth=chain_mode:1 selinux=0 single
Tip:
◦<DTB_File>
▪jh7110-visionfive-v2.dtb
▪jh7110-visionfive-v2-ac108.dtb
▪jh7110-visionfive-v2-wm8960.dtb
Tip:
◦<Kernel_Version>5.15.0-starfive
◦Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized)
StarFive

DebianGNU/Linux
bookworm/sid5.15.0-starve(customized)
Tip:
StarFive

4.GPIOOperaons
4.1.ConguringGPIO
cd /sys/class/gpio
echo 44 > export
cd gpio44
Note:
44 (on page 9)
echo in > direction
echo out > direction
echo 1 > value
Tip:
echo 0 > value
Tip:
3.3VPower
cat value
GND
cat value
StarFive

5.I2COperaons
5.1.ConguringI2CGPIO
• (on page 16)
• (on page 17)
5.1.1.HardwareSetup
Table5-1ConnectSenseHat(B)tothe40-PinHeader
40-PinGPIOHeader
SenseHAT(B)
PinNumber PinName
Figure5-1ConnectSenseHat(B)tothe40-PinGPIOHeader
1
3
5
7
9
11
13
15
2
4
6
8
10
12
14
16
5VPower
5VPower
GND
GPIO5(UARTTX)
GPIO6(UARTRX)
GPIO38
GND
GPIO21
3.3VPower
GPIO58(I2CSDA)
GPIO57(I2CSCL)
GPIO55
GND
GPIO42
GPIO43
GPIO20
3V3
SDA
SCL
GND
SenseHat(B)
StarFive

5.1.2.ConguringdtsFile
jh7110-visionfive-v2.dtsi/linux/arch/riscv/boot/dts/starfive
Figure5-2ExampleFileContent
Note:
PinName
(on page 9)
•
•
5.2.DebuggingI2CGPIO
i2cdetect -l
Result:
Figure5-3ExampleOutput
i2cdetect -y -r 0
StarFive

Tip:
Result:
Figure5-4ExampleOutput
0x290x480x5c0x680x70
i2cget -f -y 0 0x5c 0x0f
Tip:
◦0
◦0x5c
◦0x0f
Result:
Figure5-5ExampleOutput
0xb1
i2cset -y 0 0x5c 0x11 0x10
Tip:
◦0
◦0x5c
◦0x11
◦0x10
i2cdump -y 0 0x5c
StarFive

6.SPIOperaons
6.1.ConguringSPIGPIO
jh7110-visionfive-v2.dtsi/linux/arch/riscv/boot/dts/starfive
6.1.1.ModifyPins
(on page 9)
jh7110-visionfive-v2.dtsi
Figure6-1ModifyPins
6.2.DebuggingSPIGPIO
StarFive
Other manuals for VisionFive 2
4
Table of contents
Other StarFive Single Board Computer manuals