fuchsia.hardware.platform.bus

Added: HEAD

PROTOCOLS

Firmware

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

GetFirmware

Request

NameType
type FirmwareType

Response

NameType
payload Firmware_GetFirmware_Result

Iommu

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

GetBti

Request

NameType
iommu_index uint32
bti_id uint32

Response

NameType
payload Iommu_GetBti_Result

PlatformBus

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

AddCompositeNodeSpec

Adds a composite node specification that has |node| as one of the composite node's parents. To accomplish this, this method does a couple of things. The method adds a platform device node specified by |node| as a child of the platform bus. Also, a fuchsia.driver.framework.ParentSpec is added to |spec| which matches the newly added platform device node. Composite bind rules should include a stanza that matches the properites of |node| in order for the bind rules to match against the CompositeNodeSpec.

Request

NameType
node Node
spec fuchsia.driver.framework/CompositeNodeSpec

Response

NameType
payload PlatformBus_AddCompositeNodeSpec_Result

GetBoardInfo

Board drivers may use this to get information about the board, and to differentiate between multiple boards that they support.

Request

<EMPTY>

Response

NameType
payload PlatformBus_GetBoardInfo_Result

NodeAdd

Adds a new platform device node to the bus, using configuration provided by |node|. Platform device nodes are created in their own separate driver hosts.

Request

NameType
node Node

Response

NameType
payload PlatformBus_NodeAdd_Result

RegisterSysSuspendCallback

Registers a callback that's invoked by the platform bus when it's suspending.

Added: HEAD

Request

NameType
suspend_cb client_end:SysSuspend

Response

NameType
payload PlatformBus_RegisterSysSuspendCallback_Result

SetBoardInfo

Board drivers may use this to set information about the board.

Request

NameType
info BoardInfo

Response

NameType
payload PlatformBus_SetBoardInfo_Result

SetBootloaderInfo

Board drivers may use this to set information about the bootloader.

Added: HEAD

Request

NameType
info BootloaderInfo

Response

NameType
payload PlatformBus_SetBootloaderInfo_Result

SysSuspend

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Servers that implement this protocol can be registered to the platform bus to receive callbacks on why the platform bus is suspending.

Added: HEAD

Callback

Invoked by the platform bus when its suspend hook is called.

Request

NameType
enable_wake bool
suspend_reason uint8

Response

NameType
out_status zx/Status

STRUCTS

FirmwareBlob resource

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

FieldTypeDescriptionDefault
vmo handle<vmo> No default
length uint64 No default

Firmware_GetFirmware_Response resource

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

FieldTypeDescriptionDefault
blobs vector<FirmwareBlob> No default

Iommu_GetBti_Response resource

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

FieldTypeDescriptionDefault
bti handle<bti> No default

PlatformBus_AddCompositeNodeSpec_Response

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

<EMPTY>

PlatformBus_GetBoardInfo_Response

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

FieldTypeDescriptionDefault
info TemporaryBoardInfo No default

PlatformBus_NodeAdd_Response

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

<EMPTY>

PlatformBus_RegisterSysSuspendCallback_Response

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

<EMPTY>

PlatformBus_SetBoardInfo_Response

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

<EMPTY>

PlatformBus_SetBootloaderInfo_Response

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

<EMPTY>

TemporaryBoardInfo

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

This is originally from the Banjo fuchsia.hardware.platform.device library, but it is temporarily included here until that is migrated to FIDL.

FieldTypeDescriptionDefault
vid uint32

Vendor ID for the board.

No default
pid uint32

Product ID for the board.

No default
board_name string:32

Board name from the boot image platform ID record, (or from the BIOS on x86 platforms).

No default
board_revision uint32

Board specific revision number.

No default

ENUMS

FirmwareType flexible

Type: uint32

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

NameValueDescription
1
2
3

ZirconInterruptMode strict

Type: uint32

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Mode for creating zircon interrupts. In sync with ZX_INTERRUPTMODE* values from //zircon/system/public/zircon/types.h.

NameValueDescription
0
2
4
6
8
10

TABLES

BoardInfo

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Board information set by the board driver.

OrdinalFieldTypeDescription
board_name string:32

Board name from the boot image platform ID record or from the BIOS on x86 platforms.

board_revision uint32

Board specific revision number.

BootMetadata

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Device metadata to be passed from bootloader via a ZBI record.

OrdinalFieldTypeDescription
zbi_type uint32

Metadata type (matches zbi_header_t.type for bootloader metadata).

zbi_extra uint32

Matches zbi_header_t.extra for bootloader metadata. Used in cases where bootloader provides multiple metadata records of the same type.

BootloaderInfo

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Bootloader information set by the board driver.

Added: HEAD

OrdinalFieldTypeDescription
vendor string:32

Bti

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Definition of a bus transaction initiator (bti) for a platform device node.

OrdinalFieldTypeDescription
iommu_index uint32
bti_id uint32
name string:128

Name that can be used to retrieve the bti using fuchsia.hardware.platform.device/GetBtiByName. It is valid for this to be empty, however the resource will only be able to be retrieved using fuchsia.hardware.platform.device/GetBtiById.

Irq

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalFieldTypeDescription
irq uint32
mode ZirconInterruptMode

Bit flag for setting the interrupt mode.

properties vector<fuchsia.driver.framework/NodeProperty>:64

Properties for this interrupt's fragment. Only used in DFv2.

name string:128

Name that can be used to retrieve the irq using fuchsia.hardware.platform.device/GetInterruptByName. It is valid for this to be empty, however the resource will only be able to be retrieved using fuchsia.hardware.platform.device/GetInterruptById.

Metadata

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Represents the metadata that's available in a platform device.

OrdinalFieldTypeDescription
id string

Metadata identifier.

data vector<uint8>

Metadata bytes.

Mmio

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Definition of a MMIO resource for a platform device node.

OrdinalFieldTypeDescription
base uint64

Physical address of MMIO region. Does not need to be page aligned.

length uint64

Length of MMIO region in bytes. Does not need to be page aligned.

name string:128

Name that can be used to retrieve the Mmio using fuchsia.hardware.platform.device/GetMmioByName. It is valid for this to be empty, however the resource will only be able to be retrieved using fuchsia.hardware.platform.device/GetMmioById.

Node

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Arguments for adding a platform device node to the platform bus.

OrdinalFieldTypeDescription
name string:128

Name of the node.

vid uint32

BIND_PLATFORM_DEV_VID

pid uint32

BIND_PLATFORM_DEV_PID

did uint32

BIND_PLATFORM_DEV_DID

instance_id uint32

Instance ID. Contributes to device-name if non-zero. BIND_PLATFORM_DEV_INSTANCE_ID

mmio vector<Mmio>:10

MMIO regions.

irq vector<Irq>:32

Interrupts.

bti vector<Bti>:10

BTIs.

smc vector<Smc>:10

SMC calls.

metadata vector<Metadata>

Metadata

boot_metadata vector<BootMetadata>

Boot metadata (from ZBI items)

properties vector<fuchsia.driver.framework/NodeProperty>:64

Other node properties beyond BIND_PLATFORM_DEV_VID, BIND_PLATFORM_DEV_PID, and BIND_PLATFORM_DEV_DID.

power_config vector<fuchsia.hardware.power/PowerElementConfiguration>:32

Smc

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

Definition of a Secure Monitor Call (SMC), which allows calls to be made from the user space.

OrdinalFieldTypeDescription
service_call_num_base uint32

The device is granted the ability to make SMC calls with service call numbers ranging from service_call_num_base to service_call_num_base + count - 1.

count uint32
exclusive bool

The device has exclusive access to this smc range.

name string:128

Name that can be used to retrieve the smc using fuchsia.hardware.platform.device/GetSmcByName. It is valid for this to be empty, however the resource will only be able to be retrieved using fuchsia.hardware.platform.device/GetSmcById.

UNIONS

Firmware_GetFirmware_Result strict resource

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response Firmware_GetFirmware_Response
err zx/Status

Iommu_GetBti_Result strict resource

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response Iommu_GetBti_Response
err zx/Status

PlatformBus_AddCompositeNodeSpec_Result strict

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response PlatformBus_AddCompositeNodeSpec_Response
err zx/Status

PlatformBus_GetBoardInfo_Result strict

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response PlatformBus_GetBoardInfo_Response
err zx/Status

PlatformBus_NodeAdd_Result strict

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response PlatformBus_NodeAdd_Response
err zx/Status

PlatformBus_RegisterSysSuspendCallback_Result strict

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response PlatformBus_RegisterSysSuspendCallback_Response
err zx/Status

PlatformBus_SetBoardInfo_Result strict

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response PlatformBus_SetBoardInfo_Response
err zx/Status

PlatformBus_SetBootloaderInfo_Result strict

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

OrdinalVariantTypeDescription
response PlatformBus_SetBootloaderInfo_Response
err zx/Status

CONSTANTS

NameValueTypeDescription
MAX_BTI 10 uint32
MAX_INFO_STRING_LENGTH 32 uint32
MAX_IRQ 32 uint32
MAX_MMIO 10 uint32
MAX_POWER_CONFIGS 32 uint32
MAX_SMC 10 uint32

SERVICES

Service

Defined in fuchsia.hardware.platform.bus/platform-bus.fidl

NameTypeTransport
platform_bus fuchsia.hardware.platform.bus/PlatformBus Driver
iommu fuchsia.hardware.platform.bus/Iommu Driver
firmware fuchsia.hardware.platform.bus/Firmware Driver