// Copyright 2021 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.
library fuchsia.hardware.vreg;

type VregMetadata = table {
    /// Voltage regulator name. This will be set as fuchsia.regulator.NAME property on the child
    /// device to which regulator consumers can bind to.
    1: name string:MAX;

    /// Minimum voltage of voltage regulator in microvolts.
    2: min_voltage_uv uint32;

    /// Size of a voltage step in microvolts.
    3: voltage_step_uv uint32;

    /// Number of voltage steps. For example, voltage regulator with voltage range 400 uV- 1000 uV
    /// inclusive and step size 20 uV. Total number of steps is (1000 uV - 400 uV) / 20 uV + 1 = 31
    /// steps.
    4: num_steps uint32;
};
