blob: fc02e435c78022403ce51476d04b7c2f0f25b647 [file] [log] [blame]
*** Variables ***
${SHELL_PROMPT} $
*** Keywords ***
Create Platform
Execute Command using sysbus
Execute Command mach create
# This line must use the "path" notation to handle paths with spaces
Execute Command machine LoadPlatformDescription "${CURDIR}${/}litex_linux_vexriscv.repl"
Execute Command set kernel @https://dl.antmicro.com/projects/renode/litex_linux_vexriscv--kernel.bin-s_4578292-f63a4736100b5ff79a8d72429c1b79718ec7a446
Execute Command set rootfs @https://dl.antmicro.com/projects/renode/litex_linux_vexriscv--rootfs.cpio-s_4163584-c44ad487ba1f73c00430a1bb108ceef84007274f
Execute Command set device_tree @https://dl.antmicro.com/projects/renode/litex_linux_vexriscv--rv32.dtb-s_2609-9a915b47b8e31d0d3f268c4a297dc0b0555e8cd0
Execute Command set emulator @https://dl.antmicro.com/projects/renode/litex_vexriscv--emulator.bin-s_9028-796a4227b806997c6629462fdf0dcae73de06929
Execute Command sysbus LoadBinary $emulator 0x20000000
Execute Command sysbus LoadBinary $kernel 0xc0000000
Execute Command sysbus LoadBinary $rootfs 0xc0800000
Execute Command sysbus LoadBinary $device_tree 0xc1000000
Execute Command cpu PC 0x20000000
*** Test Cases ***
Should Boot
Create Platform
Create Terminal Tester sysbus.uart
Execute Command showAnalyzer sysbus.uart
Start Emulation
Wait For Prompt On Uart buildroot login:
Write Line To Uart root
Wait For Line On Uart root login on 'console'
Write Line To Uart export PS1="$ "
Provides booted-image
Should Control LED
Requires booted-image
Create LED Tester sysbus.gpio_out.led
Assert LED State false
Write Line To Uart cd /sys/class/gpio
Wait For Prompt On Uart ${SHELL_PROMPT}
Write Line To Uart echo 508 > export
Wait For Prompt On Uart ${SHELL_PROMPT}
Write Line To Uart cd gpio508
Wait For Prompt On Uart ${SHELL_PROMPT}
Assert LED State false
Write Line To Uart echo 1 > value
Wait For Prompt On Uart ${SHELL_PROMPT}
Assert LED State true
Write Line To Uart echo 0 > value
Wait For Prompt On Uart ${SHELL_PROMPT}
Assert LED State false
Should Read Button
Requires booted-image
Write Line To Uart cd /sys/class/gpio
Wait For Prompt On Uart ${SHELL_PROMPT}
Write Line To Uart echo 504 > export
Wait For Prompt On Uart ${SHELL_PROMPT}
Write Line To Uart cd gpio504
Wait For Prompt On Uart ${SHELL_PROMPT}
Write Line To Uart cat value
Wait For Line On Uart 0
Wait For Prompt On Uart ${SHELL_PROMPT}
Execute Command gpio_in.button Toggle
Write Line To Uart cat value
Wait For Line On Uart 1
Wait For Prompt On Uart ${SHELL_PROMPT}
Execute Command gpio_in.button Toggle
Write Line To Uart cat value
Wait For Line On Uart 0
Wait For Prompt On Uart ${SHELL_PROMPT}
Should Handle SPI
Requires booted-image
Write Line To Uart spidev_test -D /dev/spidev0.0 --speed 1000000
Wait For Line On Uart spi mode: 0x0
Wait For Line On Uart bits per word: 8
Wait For Line On Uart max speed: 1000000 Hz (1000 KHz)
Wait For Line On Uart 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
Should Handle I2C
Requires booted-image
Write Line To Uart i2cdetect -y 0
Wait For Line On Uart 00:${SPACE*10}-- -- UU -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Wait For Line On Uart 70: -- -- -- -- -- -- -- --
Write Line To Uart cd /sys/class/i2c-dev/i2c-0/device/0-0005/iio:device0
Write Line To Uart cat in_temp_raw
Wait For Line On Uart 4368
Wait For Prompt On Uart ${SHELL_PROMPT}
Execute Command i2c.si7021 Temperature 36
Write Line To Uart cat in_temp_raw
Wait For Line On Uart 7724
Wait For Prompt On Uart ${SHELL_PROMPT}