blob: 011a80a0773c42ab4f67d87e5d26c68b1238efc4 [file] [log] [blame]
// Copyright 2023 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.sdmmc;
type SdmmcMetadata = table {
/// Maximum bus operating frequency. The SDMMC core driver will cap the bus frequency to this
/// level. The default value is UINT32_MAX if no metadata is specified.
1: max_frequency uint32;
/// Host-specific speed capabilities. The default value is 0 (no flags) if no metadata is
/// specified.
2: speed_capabilities SdmmcHostPrefs;
/// If true, utilize the on-device volatile cache. The default value is true if no metadata is
/// specified. Ignored if the attached device or inserted card does not have storage.
3: enable_cache bool;
/// If true, this SDMMC controller corresponds to a removable card slot that may have an
/// MMC/SD/SDIO card inserted or removed at any time. In this case, failure to probe during
/// driver initialization is not considered fatal. The default value is false if no metadata is
/// specified.
4: removable bool;
/// Use command packing (batching) up to this many commands. If zero, command packing is
/// disabled. The default value is 16 if no metadata is specified. Ignored if the attached
/// device or inserted card does not support command packing.
5: max_command_packing uint32;
// TODO(https://fxbug.dev/42084501): Remove this field after the Banjo-to-FIDL migration is
/// complete. If true, use the FIDL SDMMC protocol. If false, use the Banjo SDMMC protocol. The
/// default value is true if no metadata is specified.
6: use_fidl bool;
};