blob: 19e4509721514a9c75d5d39d92c1406af8a9d8fd [file] [log] [blame]
// 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" },
},
}