fuchsia.hardware.platform.bus

Added: HEAD

PROTOCOLS

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 devhosts.

Request

NameType
node Node

Response

NameType
payload PlatformBus_NodeAdd_Result

RegisterSysSuspendCallback

Request

NameType
suspend_cb SysSuspend

Response

NameType
payload PlatformBus_RegisterSysSuspendCallback_Result

SetBoardInfo

Board drivers may use this to set information about the board (like the board revision number). Platform device drivers can access this via pdev_get_board_info().

Request

NameType
info BoardInfo

Response

NameType
payload PlatformBus_SetBoardInfo_Result

SetBootloaderInfo

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

Request

NameType
info BootloaderInfo

Response

NameType
payload PlatformBus_SetBootloaderInfo_Result

SysSuspend

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

Callback

Request

NameType
requested_state uint8
enable_wake bool
suspend_reason uint8

Response

NameType
out_status zx/Status
out_state uint8

STRUCTS

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

TABLES

BoardInfo

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

Subset of pdev_board_info_t to be 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

OrdinalFieldTypeDescription
vendor string[32]

Bti

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

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 uint32

ZX_INTERRUPT_MODE_* flags

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

Device metadata.

OrdinalFieldTypeDescription
type uint32

Metadata type.

data vector<uint8>

Metadata.

Mmio

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

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

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>

MMIO regions.

irq vector<Irq>

Interrupts.

bti vector<Bti>

BTIs.

smc vector<Smc>

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

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

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_INFO_STRING_LENGTH 32 uint32
MAX_POWER_CONFIGS 32 uint32

SERVICES

Service

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

NameTypeTransport
platform_bus fuchsia.hardware.platform.bus/PlatformBus Driver