| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| config: { |
| // The primary time source URL represents a component to be installed to receive time |
| // updates. There is no maximum URL length defined by RFC 3986, but this length should |
| // be long enough to accommodate most non-data: URLs. |
| // See https://fxbug.dev/42130991 for additional context on this value. |
| primary_time_source_url: { |
| type: "string", |
| max_size: 4096, |
| }, |
| |
| // If set, causes the monitor time source to start this component as a |
| // monitor mode time source. |
| monitor_time_source_url: { |
| type: "string", |
| max_size: 4096, |
| }, |
| |
| // The standard deviation of the system oscillator frequency error in parts per million, |
| // used to control the growth in error bound and bound the allowed frequency estimates. |
| oscillator_error_std_dev_ppm: { type: "uint32" }, |
| |
| // The maximum allowed frequency error in parts per million away from the nominal 1ns |
| // UTC == 1ns monotonic. |
| max_frequency_error_ppm: { type: "uint32" }, |
| |
| // Flag for disabling delays, allowing a test to push samples frequently. |
| disable_delays: { type: "bool" }, |
| |
| // Initial frequency in parts per million, at which UTC time moves with respect to |
| // monotonic time on the device. Value greater than 1*10^6 means that the device oscillator |
| // is slower than the real time. |
| initial_frequency_ppm: { type: "uint32" }, |
| |
| // Flag for enabling usage of `PullSource` API for the monitor track. |
| // If set to false, monitor track is not used. |
| monitor_uses_pull: { type: "bool" }, |
| |
| // The time to wait until retrying to sample the pull |
| // time source, expressed in seconds. |
| back_off_time_between_pull_samples_sec: { type: "int64" }, |
| |
| // The time to wait before sampling the time source for the first time, |
| // expressed in seconds. |
| first_sampling_delay_sec: { type: "int64" }, |
| |
| // Flag for enabling usage of `PullSource` API for the primary track. |
| // If set to false, `PullSource` is not used. |
| primary_uses_pull: { type: "bool" }, |
| |
| // If set, the UTC clock is started at timekeeper startup, even if |
| // no reliable UTC estimate is available. |
| // |
| // This helps buggy programs which assume UTC clock is monotonic, and |
| // use it to measure time durations. |
| utc_start_at_startup: { type: "bool" }, |
| |
| // If set, timekeeper will exit early without managing the clock. |
| early_exit: { type: "bool" }, |
| |
| // If set, timekeeper will attempt to contact the System Activity |
| // Governor, and/or Power Broker to take part in the system's power |
| // topology. |
| power_topology_integration_enabled: { type: "bool" }, |
| |
| // If set, Timekeeper will only read the RTC, never update it. |
| rtc_is_read_only: { type: "bool" }, |
| }, |
| } |