blob: 6fa34f07829d07360c8c86ce37bc414714d8aa6a [file] [log] [blame]
*** Variables ***
${PROMPT} H2U
*** Keywords ***
Create Platform
Execute Command using sysbus
Execute Command mach create
Execute Command machine LoadPlatformDescription @platforms/boards/arty_litex_vexriscv.repl
Execute Command sysbus LoadELF @https://dl.antmicro.com/projects/renode/arty_litex_vexriscv--firmware.elf-s_438376-e20651f6e9625812f6588ce2b79c978f2c4d7eab
*** Test Cases ***
Should Boot
Create Platform
Create Terminal Tester sysbus.uart
Execute Command showAnalyzer sysbus.uart
Start Emulation
Wait For Prompt On Uart ${PROMPT}
Provides booted-image
Should Control LEDs
Requires booted-image
${led0_tester}= Create LED Tester sysbus.cas.led0
${led1_tester}= Create LED Tester sysbus.cas.led1
${led2_tester}= Create LED Tester sysbus.cas.led2
${led3_tester}= Create LED Tester sysbus.cas.led3
Assert LED State false testerId=${led0_tester}
Assert LED State false testerId=${led1_tester}
Assert LED State false testerId=${led2_tester}
Assert LED State false testerId=${led3_tester}
Write Line To Uart debug cas leds 1
Wait For Prompt On Uart ${PROMPT}
Assert LED State true testerId=${led0_tester}
Assert LED State false testerId=${led1_tester}
Assert LED State false testerId=${led2_tester}
Assert LED State false testerId=${led3_tester}
Write Line To Uart debug cas leds 3
Wait For Prompt On Uart ${PROMPT}
Assert LED State true testerId=${led0_tester}
Assert LED State true testerId=${led1_tester}
Assert LED State false testerId=${led2_tester}
Assert LED State false testerId=${led3_tester}
Write Line To Uart debug cas leds 7
Wait For Prompt On Uart ${PROMPT}
Assert LED State true testerId=${led0_tester}
Assert LED State true testerId=${led1_tester}
Assert LED State true testerId=${led2_tester}
Assert LED State false testerId=${led3_tester}
Write Line To Uart debug cas leds 15
Wait For Prompt On Uart ${PROMPT}
Assert LED State true testerId=${led0_tester}
Assert LED State true testerId=${led1_tester}
Assert LED State true testerId=${led2_tester}
Assert LED State true testerId=${led3_tester}
Write Line To Uart debug cas leds 0
Wait For Prompt On Uart ${PROMPT}
Assert LED State false testerId=${led0_tester}
Assert LED State false testerId=${led1_tester}
Assert LED State false testerId=${led2_tester}
Assert LED State false testerId=${led3_tester}
Should Read Switches
Requires booted-image
Write Line To Uart debug cas switches
Wait For Line On Uart 0
Execute Command cas.switch0 Toggle
Write Line To Uart debug cas switches
Wait For Line On Uart 1
Execute Command cas.switch1 Toggle
Write Line To Uart debug cas switches
Wait For Line On Uart 3
Execute Command cas.switch2 Toggle
Write Line To Uart debug cas switches
Wait For Line On Uart 7
Execute Command cas.switch3 Toggle
Write Line To Uart debug cas switches
Wait For Line On Uart F
Execute Command cas.switch0 Toggle
Execute Command cas.switch1 Toggle
Execute Command cas.switch2 Toggle
Execute Command cas.switch3 Toggle
Write Line To Uart debug cas switches
Wait For Line On Uart 0
Should Read Buttons
Requires booted-image
Write Line To Uart debug cas buttons read
Wait For Line On Uart 0 0
Execute Command cas.button0 Toggle
Write Line To Uart debug cas buttons read
Wait For Line On Uart 1 1
Execute Command cas.button1 Toggle
Write Line To Uart debug cas buttons read
Wait For Line On Uart 3 3
Execute Command cas.button2 Toggle
Write Line To Uart debug cas buttons read
Wait For Line On Uart 7 7
Execute Command cas.button3 Toggle
Write Line To Uart debug cas buttons read
Wait For Line On Uart F F
Execute Command cas.button0 Toggle
Execute Command cas.button1 Toggle
Execute Command cas.button2 Toggle
Execute Command cas.button3 Toggle
Write Line To Uart debug cas buttons read
Wait For Line On Uart 0 F
Write Line To Uart debug cas buttons clear
Write Line To Uart debug cas buttons read
Wait For Line On Uart 0 0
Should Read Ethernet PHY Status
[Documentation] Reads the status of LiteX Ethernet PHY.
Create Platform
Create Terminal Tester sysbus.uart
# MDIO status: 10Mbps + link down
Execute Command eth.phy VendorSpecific1 0x0
Start Emulation
Wait For Line On Uart MDIO mode: 10Mbps / link: down
# MDIO status: 100Mbps + link up
Execute Command eth.phy VendorSpecific1 0x4400
Write Line To Uart mdio_status
Wait For Line On Uart MDIO mode: 100Mbps / link: up