Lines Matching +full:bus +full:- +full:specific
1 #-
2 # Copyright (c) 2015-2016 Landon Fuller <landonf@FreeBSD.org>
31 #include <sys/bus.h>
40 # bhnd(4) bus interface
258 return (-1);
286 * Return the bhnd(4) bus driver's device enumeration parser class.
288 * @param driver The bhnd bus driver instance.
295 * Register a shared bus @p provider for a given @p service.
304 * @retval non-zero if registering @p provider otherwise fails, a regular
389 * Return the active host bridge core for the bhnd bus, if any.
391 * @param dev The bhnd bus device.
405 * the hardware may otherwise be non-functional; this method allows a parent
420 * All devices on the bhnd(4) bus will be probed, attached, or resumed in
425 * by the bus:
427 * - DEVICE_PROBE()
428 * - DEVICE_ATTACH()
429 * - DEVICE_RESUME()
432 * by the bus:
434 * - DEVICE_SHUTDOWN()
435 * - DEVICE_DETACH()
436 * - DEVICE_SUSPEND()
450 * Return the BHND chip identification for the parent bus.
461 * Return the BHND attachment type of the parent bus.
466 * @retval BHND_ATTACH_ADAPTER if the bus is resident on a bridged adapter,
468 * @retval BHND_ATTACH_NATIVE if the bus provides hardware services (clock,
499 * @retval non-zero If determining the DMA address translation for @p child
512 * Attempt to read the BHND board identification from the parent bus.
524 * @retval non-zero If reading @p name otherwise fails, a regular unix
534 * Notify a bhnd bus that a child was added.
537 * after @p child's bus state is fully initialized.
539 * @param dev The bhnd bus whose child is being added.
550 * @param dev The bhnd bus parent of @p child.
558 * @retval non-zero If reading the IOCTL register otherwise fails, a regular
570 * @param dev The bhnd bus parent of @p child.
579 * @retval non-zero If writing the IOCTL register otherwise fails, a regular
592 * @param dev The bhnd bus parent of @p child.
600 * @retval non-zero If reading the IOST register otherwise fails, a regular
614 * @param dev The bhnd bus parent of @p child.
627 * Place the bhnd(4) device's hardware into a low-power RESET state with
634 * @param dev The bhnd bus parent of @p child.
636 * @param ioctl Device-specific I/O control flags to be set when bringing
638 * @param reset_ioctl Device-specific I/O control flags to be set when placing
642 * @retval non-zero error
652 * Suspend @p child's hardware in a low-power RESET state.
659 * @param dev The bhnd bus parent of @p child.
661 * @param ioctl Device-specific I/O control flags to be set when placing
665 * @retval non-zero error
674 * Allocate per-core PMU resources and enable PMU request handling for @p child.
685 * @retval non-zero if enabling per-core PMU request handling fails, a
694 * Release per-core PMU resources allocated for @p child. Any
712 * @note A driver must ask the bhnd bus to allocate PMU request state
739 * @note A driver must ask the bhnd bus to allocate PMU request state
755 * @note A driver must ask the bhnd bus to allocate PMU request state
784 * @note A driver must ask the bhnd bus to allocate PMU request state
807 * Power up an external PMU-managed resource assigned to @p child.
809 * @note A driver must ask the bhnd bus to allocate PMU request state
817 * @param rsrc The core-specific external resource identifier.
832 * Power down an external PMU-managed resource assigned to @p child.
834 * @note A driver must ask the bhnd bus to allocate PMU request state
839 * @param rsrc The core-specific external resource number.
854 * Read @p width bytes at @p offset from the bus-specific agent/config
863 * The exact behavior of this method is bus-specific. On a bcma(4) bus, this
864 * method provides access to the first agent port of @p child; on a siba(4) bus,
886 * Read @p width bytes at @p offset from the bus-specific agent/config
895 * The exact behavior of this method is bus-specific. In the case of
919 * This method's semantics are functionally identical to the bus API of the same
936 * This method's semantics are functionally identical to the bus API of the same
950 * This method's semantics are functionally identical to the bus API of the same
964 * This method's semantics are functionally identical to the bus API of the same
986 * On Non-OFW targets, this should either return:
987 * - The pointer address of a device that can uniquely identify @p child's
988 * interrupt domain (e.g., the bhnd bus' device_t address), or
989 * - 0 if unsupported by the bus.
1021 * On bcma(4) devices, this returns the OOB bus line assigned to the
1045 * @param dev The bhnd bus device.
1048 * @param[out] irq On success, the bus interrupt value mapped for @p intr.
1051 * @retval non-zero If mapping an interrupt otherwise fails, a regular
1062 * Unmap an bus interrupt previously mapped via BHND_BUS_MAP_INTR().
1064 * @param dev The bhnd bus device.
1067 * bus resource ID for the interrupt.
1123 * Return the SYS_RES_MEMORY resource-ID for a port/region pair attached to
1126 * @param dev The bus device.
1130 * @param region_num The index of the port-mapped address region.
1132 * @retval -1 No such port/region found.
1146 * @param dev The bus device.
1155 * @retval non-zero No matching type/rid found.
1170 * @param dev The bus device.
1179 * @retval non-zero No matching port/region found.
1194 * It is the responsibility of the bus to delegate this request to
1195 * the appropriate NVRAM child device, or to a parent bus implementation.
1197 * @param dev The bus device.
1209 * @retval ENOMEM If @p buf is non-NULL and a buffer of @p size is too
1214 * @retval non-zero If reading @p name otherwise fails, a regular unix