tail head cat sleep
QR code linking to this page

Manual Pages  — ofw_graph

NAME

ofw_graph, ofw_graph_get_port_by_idx, ofw_graph_port_get_num_endpoints, ofw_graph_get_endpoint_by_idx, ofw_graph_get_remote_endpoint, ofw_graph_get_remote_parent, ofw_graph_get_device_by_port_ep, – Helpers for the graph bindings

CONTENTS

SYNOPSIS

#include <dev/ofw/openfirm.h>
#include <dev/ofw/ofw_graph.h>

phandle_t
ofw_graph_get_port_by_idx(phandle_t node, uint32_t idx);

size_t
ofw_graph_port_get_num_endpoints(phandle_t port);

phandle_t
ofw_graph_get_endpoint_by_idx(phandle_t port, uint32_t idx);

phandle_t
ofw_graph_get_remote_endpoint(phandle_t endpoint);

phandle_t
ofw_graph_get_remote_parent(phandle_t remote);

device_t
ofw_graph_get_device_by_port_ep(phandle_t node, uint32_t port_id, uin32_t ep_id);

DESCRIPTION

The ofw_graph functions are helpers to parse the DTS graph bindings

ofw_graph_get_port_by_idx() return the port with id idx. It will first check node named port@idx and then fallback on checking the ports child for a child node matching the id. If no ports matching idx is found the function return 0.

ofw_graph_port_get_num_endpoints() returns the number of endpoints a port node have.

ofw_graph_get_endpoint_by_idx() return the endpoint with id idx. It will first check if there is a single child named endpoint and returns it if there is. If there is multiple endpoints it will check the reg property and returns the correct phandle_t or 0 if none match.

ofw_graph_get_remote_endpoint() returns the remote-endpoint property if it exists or 0.

ofw_graph_get_remote_parent() returns the device node corresponding to the remote-endpoint phandle or 0 if none. ofw_graph_get_device_by_port_ep() returns the device associated with the port and endpoint or NULL if none. The device driver should have called OF_device_register_xref() before. ()

HISTORY

The ofw_graph functions first appeared in FreeBSD 13.0 . The ofw_graph functions and manual page were written by Emmanuel Vadot <Mt manu@FreeBSD.org>.

ofw_graph (9) April 10, 2019

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Never write it in C if you can do it in `awk';
Never do it in `awk' if `sed' can handle it;
Never use `sed' when `tr' can do the job;
Never invoke `tr' when `cat' is sufficient;
Avoid using `cat' whenever possible.
— Taylor's Laws of Programming