| // 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; |
| }; |