flatbuffer base
This commit is contained in:
39
flatbuffers/config/device.fbs
Normal file
39
flatbuffers/config/device.fbs
Normal file
@@ -0,0 +1,39 @@
|
||||
include "mem_config.fbs";
|
||||
include "clock.fbs";
|
||||
|
||||
namespace hmmmm.config;
|
||||
|
||||
// Configuration for a single base device (leaf node in the device tree).
|
||||
// Equivalent to a standalone device TOML (e.g. AVRrc.toml, gpio.toml).
|
||||
table BaseDeviceConfig {
|
||||
libpath: string;
|
||||
mem_segments: [MemSegment];
|
||||
}
|
||||
|
||||
// Override for one memory segment within a child device.
|
||||
// Only fields that need changing from the base config must be set.
|
||||
table MemSegOverride {
|
||||
segment: string;
|
||||
start: uint32;
|
||||
len: uint32;
|
||||
word_len: uint8;
|
||||
executable: bool;
|
||||
}
|
||||
|
||||
// One device entry in a composite configuration.
|
||||
table DeviceEntry {
|
||||
// Local identifier, unique within this composite (e.g. "core", "gpio_a").
|
||||
id: string;
|
||||
|
||||
// Exactly one of config or config_path must be set.
|
||||
// config: inline base device configuration.
|
||||
// config_path: path to a serialised BaseDeviceConfig FlatBuffer file.
|
||||
config: BaseDeviceConfig;
|
||||
config_path: string;
|
||||
|
||||
clock: DeviceClockConfig;
|
||||
overrides: [MemSegOverride];
|
||||
}
|
||||
|
||||
// Root type when serialising a standalone device config to a binary file.
|
||||
root_type BaseDeviceConfig;
|
||||
Reference in New Issue
Block a user