Files
dts-configs/README.md
2026-02-09 14:47:08 +01:00

5.7 KiB

dts-configs

This repository contains config files for boards supported by DTS. The goal is to replace hard-coded values in the board_config function with values parsed from these files.

Data structure

Each system vendor (that is being defined by SYSTEM_VENDOR variable in DTS) has a JSON document in the configs directory, e.g.:

.
├── configs
│   ├── hardkernel.json
│   ├── notebook.json
│   └── pc_engines.json
└── README.md

Note: the system vendor names should be lowercase and with whitespace replaced by _.

The JSON documents contain variables that are used in DTS and have a specific structure:

{
  "system_vendor_specific_variable": "value",
  "models": {
    "system_model": {
      "system_model_specific_variable": "value",
      "board_models": {
        "board_model_specific_variable": "value"
      }
    }
  }
}

Where:

  • First-level keys (the system_vendor_specific_variable from the example above) represent system vendor-specific variables that are common for system models and board models.
  • Second-level keys (the system_model_specific_variable from the example above) represent system model-specific variables that are common for system models and board models under specific system vendor.
  • Third-level keys (the board_model_specific_variable from the example above) represent board model-specific variables that are common for a specific board model under specific system model.

The variables set at higher levels could be overwritten on lower levels. All the variables must be lowercase and should be present in the list of variables below:

dasharo_rel_name
dasharo_rel_ver
dasharo_rel_ver_dpp
dasharo_rel_ver_dpp_cap
heads_rel_ver_dpp
dasharo_rel_ver_dpp_seabios
compatible_ec_fw_version
compatible_heads_ec_fw_version
dasharo_rel_ver_cap
dasharo_rel_ver_dpp_cap
dasharo_support_cap_from
dasharo_support_cap_with_fum_from - https://github.com/Dasharo/dasharo-issues/issues/1759
intel_btg_hash - expected key hash used with https://github.com/Dasharo/dts-scripts/blob/main/scripts/btg_key_validator
authority_name - name of firmware signer. Used when displaying fusing warning
can_install_bios
have_heads_fw
have_ec
need_ec_reset
need_smbios_migration
need_smmstore_migration
need_bootsplash_migration
need_blob_transmission
need_romhole_migration
programmer_bios
programmer_ec
flashrom_add_opt_update_override
heads_switch_flashrom_opt_override
platform_sign_key
flash_chip_list
flashrom_add_opt_deploy
flashrom_add_opt_update
bucket_dpp
bucket_dpp_heads
can_use_flashrom

Not all system models are divided into board models, sometimes the board_models dictionary might be absent in the JSON files.

Example changes

Bumping the firmware revision for an existing board (Odroid H4+):

diff --git a/configs/hardkernel.json b/configs/hardkernel.json
index f4c7e96..8607095 100644
--- a/configs/hardkernel.json
+++ b/configs/hardkernel.json
@@ -6,7 +6,7 @@
       "platform_sign_key": "dasharo/hardkernel_odroid_h4/dasharo-release-0.x-compatible-with-hardkernel-odroid-h4-family-signing-key.asc",
       "bucket_dpp": "dasharo-odroid-h4-plus-uefi",
       "dasharo_rel_name": "hardkernel_odroid_h4",
-      "dasharo_rel_ver_dpp": "0.9.0"
+      "dasharo_rel_ver_dpp": "0.9.1"
     }
   }
 }

Adding new boards with separate BOARD_MODEL (NovaCustom V54x_6x_TU):

diff --git a/configs/notebook.json b/configs/notebook.json
index 1e357a0..e61816d 100644
--- a/configs/notebook.json
+++ b/configs/notebook.json
@@ -12,6 +12,29 @@
       "heads_rel_ver_dpp": "0.9.1",
       "heads_switch_flashrom_opt_override": "--ifd -i bios",
       "compatible_ec_fw_version": "2022-08-31_cbff21b"
+    },
+    "V54x_6x_TU": {
+      "dasharo_rel_ver": "0.9.0",
+      "compatible_ec_fw_version": "2024-07-17_4ae73b9",
+      "need_bootsplash_migration": "true",
+      "board_models": {
+        "V540TU": {
+          "dasharo_rel_name": "novacustom_v54x_mtl",
+          "flashrom_add_opt_update_override": "--ifd -i bios",
+          "have_heads_fw": true,
+          "heads_rel_ver_dpp": "0.9.0",
+          "compatible_heads_ec_fw_version": "2024-07-17_4ae73b9",
+          "heads_switch_flashrom_opt_override": "--ifd -i bios"
+        },
+        "V560TU":{
+          "dasharo_rel_name": "novacustom_v56x_mtl",
+          "flashrom_add_opt_update_override": "--ifd -i bios",
+          "have_heads_fw": true,
+          "heads_rel_ver_dpp": "0.9.0",
+          "compatible_heads_ec_fw_version": "2024-12-20_368e08e",
+          "heads_switch_flashrom_opt_override": "--ifd -i bios"
+        }
+      }
     }
   }
 }

Adding a new vendor (MSI MS-7D25):

diff --git a/configs/micro-star_international_co.,_ltd.json b/configs/micro-star_international_co.,_ltd.json
new file mode 100644
index 0000000..c5acffc
--- /dev/null
+++ b/configs/micro-star_international_co.,_ltd.json
@@ -0,0 +1,21 @@
+{
+  "bucket_dpp": "dasharo-msi-uefi",
+  "bucket_dpp_heads": "dasharo-msi-heads",
+  "models": {
+    "MS-7D25": {
+      "dasharo_rel_name": "msi_ms7d25",
+      "dasharo_rel_ver": "1.1.1",
+      "dasharo_rel_ver_dpp": "1.1.4",
+      "can_install_bios": true,
+      "have_heads_fw": true,
+      "heads_rel_ver_dpp": "0.9.0",
+      "heads_switch_flashrom_opt_override": "--ifd -i bios",
+      "platform_sign_key": "dasharo/msi_ms7d25/dasharo-release-1.x-compatible-with-msi-ms-7d25-signing-key.asc dasharo/msi_ms7d25/dasharo-release-0.x-compatible-with-msi-ms-7d25-signing-key.asc",
+      "need_smbios_migration": true,
+      "need_smmstore_migration": true,
+      "need_romhole_migration": true,
+      "need_bootsplash_migration": "true",
+      "flashrom_add_opt_update_override": "--ifd -i bios"
+    }
+  }
+}