diff options
Diffstat (limited to 'Documentation/vendorcode/cavium/bdk.md')
-rw-r--r-- | Documentation/vendorcode/cavium/bdk.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Documentation/vendorcode/cavium/bdk.md b/Documentation/vendorcode/cavium/bdk.md new file mode 100644 index 0000000000..5763ece254 --- /dev/null +++ b/Documentation/vendorcode/cavium/bdk.md @@ -0,0 +1,30 @@ +# 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. |