coreboot-kgpe-d16/Documentation/vendorcode/cavium/bdk.md
Patrick Rudolph 8c986ab263 Documentation: Add cavium SoC and mainboard
* Add documentation for CN81XX SoC
* Add documentation for CN81XX EVB SFF mainboard
* Add documentation for BDK
* Add documentation for BOOTROM and BOOTBLOCK behaviour
* Alphabetically sort vendors

Change-Id: Ibfcd42788e31f684baed658dc3c4dfe1b8e4f354
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/27150
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
2018-06-19 18:09:04 +00:00

1 KiB

Cavium's BDK

BDK

A part of Cavium's BDK can be found in '''src/vendorcode/cavium/bdk'''. It does the DRAM init in romstage and the PCIe, QLM, SLI, PHY, BGX, SATA init in ramstage.

Devicetree

The BDK does use it's own devicetree, as coreboot's devicetree isn't compatible. The devicetree stores key-value pairs (see bdk-devicetree.h for implementation details), where the key and the value are stored as strings.

The key-value pairs must be advertised in romstage and ramstage using the '''bdk_config_set_fdt()''' method.

The tool '''util/cavium/devicetree_convert.py''' can be used to convert a devicetree to a key-value array.

Modifications

  • The BDK has been modified to compile under coreboot's toolchain.
  • Removed FDT devicetree support.
  • Dropped files that aren't required for SoC bringup
  • Added Kconfig values for verbose console output

Debugging

You can enable verbose console output in menuconfig:

Go to Chipset, BDK and enable one or multiple stages.