class Node

Defined at line 71 of file ../../sdk/lib/driver/devicetree/manager/node.h

Node represents the nodes in the device tree along with it's properties.

Public Methods

void Node (Node * parent, std::string_view name, devicetree::Properties properties, uint32_t id, NodeManager * manager)

Defined at line 33 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void AddBindProperty (fuchsia_driver_framework::NodeProperty2 prop)

Add |prop| as a bind property of the device, when it is eventually published.

Defined at line 68 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void AddMmio (fuchsia_hardware_platform_bus::Mmio mmio)

Defined at line 72 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void AddBti (fuchsia_hardware_platform_bus::Bti bti)

Defined at line 80 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void AddIrq (fuchsia_hardware_platform_bus::Irq irq)

Defined at line 88 of file ../../sdk/lib/driver/devicetree/manager/node.cc

zx::result<> RegisterIommu (uint32_t iommu_id, fuchsia_hardware_platform_bus::Iommu iommu)

Registers an iommu with the platform bus.

Defined at line 96 of file ../../sdk/lib/driver/devicetree/manager/node.h

void AddMetadata (fuchsia_hardware_platform_bus::Metadata metadata)

Defined at line 96 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void SetDriverHost (std::string_view driver_host)

Sets the driver host that the driver that binds to this node will end up in.

Defined at line 101 of file ../../sdk/lib/driver/devicetree/manager/node.h

void AddBootMetadata (fuchsia_hardware_platform_bus::BootMetadata boot_metadata)

Defined at line 104 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void AddNodeSpec (const fuchsia_driver_framework::ParentSpec2 & spec)

Defined at line 112 of file ../../sdk/lib/driver/devicetree/manager/node.cc

const std::string & name ()

Defined at line 113 of file ../../sdk/lib/driver/devicetree/manager/node.h

const std::string & fdf_name ()

Defined at line 114 of file ../../sdk/lib/driver/devicetree/manager/node.h

std::string_view driver_host ()

Defined at line 116 of file ../../sdk/lib/driver/devicetree/manager/node.h

void AddSmc (fuchsia_hardware_platform_bus::Smc smc)

Defined at line 117 of file ../../sdk/lib/driver/devicetree/manager/node.cc

const std::unordered_map<std::string_view, devicetree::PropertyValue> & properties ()

Defined at line 122 of file ../../sdk/lib/driver/devicetree/manager/node.h

void AddPowerConfig (fuchsia_hardware_power::PowerElementConfiguration config)

Defined at line 125 of file ../../sdk/lib/driver/devicetree/manager/node.cc

std::optional<Phandle> phandle ()

Defined at line 131 of file ../../sdk/lib/driver/devicetree/manager/node.h

uint32_t GetPublishIndex ()

Returns the index of the node in the nodes publish list.

Defined at line 133 of file ../../sdk/lib/driver/devicetree/manager/node.cc

NodeID id ()

Defined at line 133 of file ../../sdk/lib/driver/devicetree/manager/node.h

RegisterType register_type ()

Defined at line 135 of file ../../sdk/lib/driver/devicetree/manager/node.h

zx::result<> ChangePublishOrder (uint32_t new_index)

Move this node up/down in the publish list.

Returns error if the index is out of range.

Defined at line 135 of file ../../sdk/lib/driver/devicetree/manager/node.cc

void set_register_type (RegisterType type)

Defined at line 137 of file ../../sdk/lib/driver/devicetree/manager/node.h

zx::result<> Publish (PublisherInterface & publisher)

Publish this node.

Defined at line 139 of file ../../sdk/lib/driver/devicetree/manager/node.cc

ParentNode parent ()

Defined at line 257 of file ../../sdk/lib/driver/devicetree/manager/node.cc

std::vector<ChildNode> children ()

Defined at line 259 of file ../../sdk/lib/driver/devicetree/manager/node.cc

template <typename T>
typename GetPropertyReturn<T>::type GetProperty (std::string_view property_name)

Defined at line 271 of file ../../sdk/lib/driver/devicetree/manager/node.cc

zx::result<ReferenceNode> GetReferenceNode (Phandle parent)

Defined at line 253 of file ../../sdk/lib/driver/devicetree/manager/node.cc