bdk.md
1 # Cavium's BDK 2 3 ## BDK 4 A part of Cavium's BDK can be found in `src/vendorcode/cavium/bdk`. 5 It does the **DRAM init** in romstage and the **PCIe**, **QLM**, **SLI**, 6 **PHY**, **BGX**, **SATA** init in ramstage. 7 8 ## Devicetree 9 The BDK does use it's own devicetree, as coreboot's devicetree isn't 10 compatible. The devicetree stores key-value pairs (see **bdk-devicetree.h** 11 for implementation details), where the key and the value are stored as strings. 12 13 The key-value pairs must be advertised in romstage and ramstage using the 14 `bdk_config_set_fdt()` method. 15 16 The tool `util/cavium/devicetree_convert.py` can be used to convert a 17 devicetree to a key-value array. 18 19 ## Modifications 20 21 * The BDK has been modified to compile under coreboot's toolchain. 22 * Removed FDT devicetree support. 23 * Dropped files that aren't required for SoC bringup 24 * Added Kconfig values for verbose console output 25 26 ## Debugging 27 28 You can enable verbose console output in *menuconfig*: 29 30 Go to **Chipset**, **BDK** and enable one or multiple stages.