Linux Kernel driver for Lattice MachXO2 programming/debugging
Open, NormalPublic

Description

To apply for this task please complete this mandatory coding challenge together with your application: T884
Applications without matching coding challenge completed will not be considered.

Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview


Create a Linux kernel driver to program and debug the Lattice MachXO2 used as routing fabrics in the AXIOM Beta.

The two MachXO2s are located on the AXIOM Beta Main Board and each of them has a PIC16 micro-controller attached which has full control over the JTAG interface as well as some other control lines. The PIC16s themselves are connected to the ZYNQ SoC on the MicroZed via I2C.

Currently the both MachXO2 are 'programmed' with a python script which takes some time and doesn't allow easy update and development for those relatively important FPGAs. A Linux kernel driver would not just speed up things but also allow to test and even debug new code easily.

Goals:

  • Implement some kind of 'upload' interface (JTAG, I2C, SPI)
  • Implement a debug interface (probably JTAG) to interface OpenOCD

Prerequisites:

  • Lattice FPGA Know-How
  • Micro-controller Know-How
  • Linux Kernel Know-How

Language Skills:

  • C

Useful Links:

Difficulty: Hard

Mentors: Bertl

To get in touch with any mentor check the Mentor Contact List.

Notes: If you do not have access to the required hardware platforms/dev kits, we will provide them (or remote access) to you for the duration of the project.

Related Objects

Bertl created this task.Feb 8 2017, 11:16 PM
Bertl updated the task description. (Show Details)
Bertl raised the priority of this task from to Needs Triage.
Bertl moved this task to Software Related on the Google Summer of Code 2022 board.
Bertl added a subscriber: Bertl.
sebastian updated the task description. (Show Details)Feb 9 2017, 9:33 AM
sebastian triaged this task as Normal priority.
Bertl updated the task description. (Show Details)Feb 9 2017, 5:25 PM
Bertl updated the task description. (Show Details)Jan 23 2018, 1:03 PM
Bertl changed the edit policy from "All Users" to "Administrators".
sebastian updated the task description. (Show Details)Mar 8 2018, 8:23 PM
sebastian changed the edit policy from "Administrators" to "All Users".Feb 5 2019, 9:53 AM
BAndiT1983 updated the task description. (Show Details)Feb 5 2019, 10:09 AM
Bertl updated the task description. (Show Details)Feb 6 2019, 1:14 PM
sebastian updated the task description. (Show Details)Apr 6 2019, 12:39 PM
Bertl updated the task description. (Show Details)Feb 22 2020, 3:26 PM
Bertl updated the task description. (Show Details)Feb 22 2020, 3:31 PM
Bertl updated the task description. (Show Details)Feb 22 2020, 3:34 PM
bluez_ claimed this task.Jun 8 2020, 8:31 PM
BAndiT1983 updated the task description. (Show Details)Feb 18 2021, 7:05 PM