2018-02-07 13:45:55 +01:00
2020-11-18 13:16:40 +00:00
2020-11-18 13:16:40 +00:00
2020-11-18 13:16:40 +00:00
2025-12-02 18:05:27 +08:00
2023-04-18 13:51:58 +00:00
2025-11-27 10:33:12 +08:00
2019-09-02 11:39:48 +00:00
2025-11-27 10:33:12 +08:00
2025-11-27 10:33:12 +08:00
2025-12-02 18:04:52 +08:00
2020-01-11 22:00:36 +00:00
2019-03-14 17:13:45 +00:00
2020-08-04 18:11:25 +00:00
2019-06-15 09:35:02 +02:00
2020-08-04 18:11:25 +00:00
2019-03-15 12:52:08 +00:00
2025-04-28 11:00:35 +08:00

Kasli-I2C

A collection of Python scripts for interacting with Kasli(-SoC) and other Sinara hardware over I2C, primarily for flashing firmware.

To run these scripts, no firmware is necessary on the Kasli(-SoC). The scripts interface directly with the I2C bus through USB (FTDI bridge).

Only power and USB connection need to be provided.

Flashing firmware on compatible boards

The flash_<device>.py scripts are used to flash the firmware on compatible Sinara cards.

The currently supported and used in production compatible cards are:

  • Fastino
  • Urukul - hardware revision v1.6 or higher (ICE40-based)

The phaser script has functionality limited only to EUI48 updates. For flashing firmware, use the JTAG method.

Usage

python flash_<device>.py <kasli-number> <eem-slot> <action>

Arguments

  • <device>: The type of card to flash. One of:
    • flash_fastino.py
    • flash_urukul.py
  • <kasli-number>: The number # of the Kasli board. Usually 0 if there is only one connected.
  • <eem-slot>: The EEM slot where the device is installed (e.g., EEM0, EEM1, etc.). The slot must correspond to EEM0 on the card to be flashed.
  • <action>:
    • eeprom <EUI48>: Updates the EUI48 value on the EEPROM.
    • read <dump-file>: Reads the flash content into a file. Must be followed by a file path.
    • write <firmware-file>: Writes the firmware file to the flash. Must be followed by a file path.

Example

python flash_fastino.py 0 EEM1 write fastino_firmware.bin

Other Kasli tools

kasli_get_mac.py

Reads and prints the MAC address (EUI-48) from the Kasli EEPROM.

Usage

python kasli_get_mac.py [-s <kasli-number>]
  • -s <kasli-number>: (Optional) Number of the Kasli FTDI device. If not provided, it will try to connect to the first one found.

Example

python3 kasli_get_mac.py
Description
Utilities to access the Sinara I2C tree via Kasli, including Sinara EEPROM deployment, firmware flashing for Fastino, Banker
Readme 196 KiB
Languages
Python 98.1%
Shell 1.9%