summaryrefslogtreecommitdiffstats
path: root/README.md
blob: ab08cd1bba01f7636a3eb286d72e22061a9e17db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# BCM5719 Firmware Reimplementation

## Introduction
This library contains a clean-room reimplementation of the BCM5719 firmware based on the [Ortega](https://github.com/hlandau/ortega/blob/master/rtg-spec.md) specification.

The firmware has been tested on the [Talos II](https://wiki.raptorcs.com/wiki/Talos_II) by [Raptor Computer Systems](https://www.raptorcs.com/).

**Note: This firmware is currently in development. Flashing the firmware to a network card can result in a bricked device when either an external programmer is required, or the external flash must be temporarily disabled during boot-up.**

## Requirements
This repository depends on a number of external tools
- Customized LLVM/Clang compiler for MIPS firmware
- CMake 3.5.1+
- Linux (utilities)
- Clang Format (optional)
- Flexelint/PCLint+ (optional)
- IPXact generator (optional)

## Status
  - Libraries:
    - MII Library: Done
    - NVRAM Library: Done   
  - Stage1
    - Implementation: Functional
    - Testing: Minimal, WIP
  - Stage2
    - Implementation: Merged with Stage1, functional
    - VPD: Not started
    - WOL: Not started
  - APE
    - Implementation in progress
  - Utilities
    - Firmware tool: Functional
    - Register tool: Functional
    - APE Tool: In progress

## Compiling
To compile the firmware, the following command sequence can be used:
```bash
mkdir build
cd build
cmake .. -G Ninja
cmake --build .
```

OpenPOWER on IntegriCloud