svn commit: r326291 - in head: share/man/man4 share/man/man9 sys/dev/bhnd sys/dev/bhnd/nvram

Landon J. Fuller landonf at FreeBSD.org
Mon Nov 27 21:30:52 UTC 2017


Author: landonf
Date: Mon Nov 27 21:30:49 2017
New Revision: 326291
URL: https://svnweb.freebsd.org/changeset/base/326291

Log:
  bhnd(4) update inline documentation comments and man pages.
  
  This includes a number of copyedits for the inline code documentation
  comments, updates to the existing bhnd(4), bhndb(4), bcma(4), and siba(4)
  man pages, and new man pages for bhnd_chipc(4), bhnd_pmu(4), bhndb_pci(4),
  bhnd(9), and bhnd_erom(9).
  
  Approved by:	adrian (mentor)
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D13021

Added:
  head/share/man/man4/bhnd_chipc.4   (contents, props changed)
  head/share/man/man4/bhnd_pmu.4   (contents, props changed)
  head/share/man/man4/bhndb_pci.4   (contents, props changed)
  head/share/man/man9/bhnd.9   (contents, props changed)
  head/share/man/man9/bhnd_erom.9   (contents, props changed)
Modified:
  head/share/man/man4/Makefile
  head/share/man/man4/bcma.4
  head/share/man/man4/bhnd.4
  head/share/man/man4/bhndb.4
  head/share/man/man4/siba.4
  head/share/man/man9/Makefile
  head/sys/dev/bhnd/bhnd.h
  head/sys/dev/bhnd/bhnd_bus_if.m
  head/sys/dev/bhnd/bhnd_erom.c
  head/sys/dev/bhnd/bhnd_subr.c
  head/sys/dev/bhnd/nvram/bhnd_nvram_subr.c

Modified: head/share/man/man4/Makefile
==============================================================================
--- head/share/man/man4/Makefile	Mon Nov 27 21:10:50 2017	(r326290)
+++ head/share/man/man4/Makefile	Mon Nov 27 21:30:49 2017	(r326291)
@@ -78,7 +78,10 @@ MAN=	aac.4 \
 	bge.4 \
 	${_bhyve.4} \
 	bhnd.4 \
+	bhnd_chipc.4 \
+	bhnd_pmu.4 \
 	bhndb.4 \
+	bhndb_pci.4 \
 	bktr.4 \
 	blackhole.4 \
 	bnxt.4 \

Modified: head/share/man/man4/bcma.4
==============================================================================
--- head/share/man/man4/bcma.4	Mon Nov 27 21:10:50 2017	(r326290)
+++ head/share/man/man4/bcma.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -32,15 +32,14 @@
 .Nm bcma
 .Nd Broadcom AMBA Backplane driver
 .Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your kernel configuration file:
+To compile this driver into the kernel, add the following lines to the
+kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device bhnd"
 .Cd "device bcma"
 .Ed
 .Pp
-Alternatively, to load the driver as a module at boot time,
-place the following line in
+To load the driver as a module at boot, add this line to
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 bcma_load="YES"
@@ -51,8 +50,8 @@ The
 driver provides
 .Xr bhnd 4
 support for devices using the ARM AMBA-based backplane architecture found
-in later Broadcom Home Networking Division's (HND) wireless chipsets and
-embedded systems.
+in later Broadcom Home Networking Division's network chipsets and embedded
+systems.
 .Pp
 A common interconnect connects all of the backplane's functional
 blocks.
@@ -64,7 +63,9 @@ The IP cores used in
 devices were adapted by Broadcom for compatibility with the new
 interconnect.
 .Sh SEE ALSO
-.Xr bhnd 4
+.Xr bhnd 4 ,
+.Xr intro 4 ,
+.Xr siba 4
 .Sh HISTORY
 The
 .Nm

Modified: head/share/man/man4/bhnd.4
==============================================================================
--- head/share/man/man4/bhnd.4	Mon Nov 27 21:10:50 2017	(r326290)
+++ head/share/man/man4/bhnd.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -31,14 +31,13 @@
 .Nm bhnd
 .Nd Broadcom Home Networking Division interconnect bus
 .Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your kernel configuration file:
+To compile this driver into the kernel, add the following lines to the
+kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device bhnd"
 .Ed
 .Pp
-Alternatively, to load the driver as a module at boot time,
-place the following line in
+To load the driver as a module at boot, add this line to
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 bhnd_load="YES"
@@ -69,6 +68,7 @@ BHND driver.
 .Sh SEE ALSO
 .Xr bcma 4 ,
 .Xr bhndb 4 ,
+.Xr intro 4 ,
 .Xr siba 4
 .Sh HISTORY
 The

Added: head/share/man/man4/bhnd_chipc.4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/man/man4/bhnd_chipc.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -0,0 +1,81 @@
+.\" Copyright (c) 2017 The FreeBSD Foundation
+.\" All rights reserved.
+.\"
+.\" This documentation was written by Landon Fuller under sponsorship from
+.\" the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd October 16, 2017
+.Dt BHND_CHIPC 4
+.Os
+.Sh NAME
+.Nm bhnd_chipc
+.Nd Broadcom Home Networking Division ChipCommon Driver
+.Sh SYNOPSIS
+To compile this driver into the kernel, add this line to the
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device bhnd"
+.Ed
+.Pp
+To compile driver support for all additional devices found in embedded systems,
+add the following additional lines to the kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device cfi"
+.Cd "device gpio"
+.Cd "device spibus"
+.Cd "device uart"
+.Ed
+.Pp
+To load the driver as a module at boot, add this line to
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+bhnd_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver supports the ChipCommon core found in Broadcom Home Networking
+Division network chipsets and embedded systems.
+.Pp
+The ChipCommon core provides an interface to common hardware facilities,
+including device identification, UARTs, CFI and SPI flash, One-time Programmable
+(OTP) Memory, and GPIO.
+.Sh SEE ALSO
+.Xr bhnd 4 ,
+.Xr intro 4
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 11.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Landon Fuller Aq Mt landonf at FreeBSD.org ,
+and
+.An Michael Zhilin Aq Mt mizhka at FreeBSD.org .

Added: head/share/man/man4/bhnd_pmu.4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/man/man4/bhnd_pmu.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -0,0 +1,74 @@
+.\" Copyright (c) 2017 The FreeBSD Foundation
+.\" All rights reserved.
+.\"
+.\" This documentation was written by Landon Fuller under sponsorship from
+.\" the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd October 16, 2017
+.Dt BHND_PMU 4
+.Os
+.Sh NAME
+.Nm bhnd_pmu
+.Nd Broadcom Home Networking Division PMU Driver
+.Sh SYNOPSIS
+To compile this driver into the kernel, add this line to the
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device bhnd"
+.Ed
+.Pp
+To load the driver as a module at boot, add this line to
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+bhnd_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver supports the Power Management Unit (PMU) found in Broadcom Home
+Networking Division network chipsets and embedded systems.
+.Pp
+The PMU provides a hardware interface for managing the device's clock and power
+topology.
+.Sh SEE ALSO
+.Xr bhnd 4 ,
+.Xr intro 4
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 12.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was derived from Broadcom's ISC-licensed Linux PMU drivers, and was
+ported to
+.Fx
+and
+.Xr bhnd 4
+by
+.An Landon Fuller Aq Mt landonf at FreeBSD.org .

Modified: head/share/man/man4/bhndb.4
==============================================================================
--- head/share/man/man4/bhndb.4	Mon Nov 27 21:10:50 2017	(r326290)
+++ head/share/man/man4/bhndb.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -1,6 +1,10 @@
-.\" Copyright (c) 2015 Landon Fuller
+.\" Copyright (c) 2015 Landon Fuller <landonf at FreeBSD.org>
+.\" Copyright (c) 2017 The FreeBSD Foundation
 .\" All rights reserved.
 .\"
+.\" Portions of this documentation were written by Landon Fuller
+.\" under sponsorship from the FreeBSD Foundation.
+.\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
@@ -24,37 +28,41 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 3, 2016
+.Dd October 16th, 2017
 .Dt BHNDB 4
 .Os
 .Sh NAME
 .Nm bhndb
 .Nd Broadcom Home Networking Division interconnect bridge driver
 .Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your kernel configuration file:
+To compile this driver into the kernel, add the following lines to the
+kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device bhnd"
 .Cd "device bhndb"
 .Ed
 .Pp
-Alternatively, to load the driver as a module at boot time,
-place the following line in
+To load the driver as a module at boot, add this line to
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 bhndb_load="YES"
-bhndb_pci_load="YES"
 .Ed
 .Sh DESCRIPTION
 The
 .Nm
-driver supports
+driver provides
 .Xr bhnd 4
-host bridge cores such as those used by Broadcom HND PCI,
-PCMCIA, and SDIO network adapters.
+host bridge support for Broadcom Home Networking Division's wireless chipsets
+and network adapters.
+.Pp
+To enable use for PCI/PCIe systems, see the
+.Xr bhndb_pci 4
+driver.
 .Sh SEE ALSO
 .Xr bhnd 4 ,
-.Xr bwn 4
+.Xr bhndb_pci 4 ,
+.Xr bwn 4 ,
+.Xr intro 4
 .Sh HISTORY
 The
 .Nm

Added: head/share/man/man4/bhndb_pci.4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/man/man4/bhndb_pci.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -0,0 +1,75 @@
+.\" Copyright (c) 2015 Landon Fuller <landonf at FreeBSD.org>
+.\" Copyright (c) 2017 The FreeBSD Foundation
+.\" All rights reserved.
+.\"
+.\" Portions of this documentation were written by Landon Fuller
+.\" under sponsorship from the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd October 16, 2017
+.Dt BHNDB_PCI 4
+.Os
+.Sh NAME
+.Nm bhndb_pci
+.Nd Broadcom Home Networking Division PCI host bridge driver
+.Sh SYNOPSIS
+To compile this driver into the kernel, add the following lines to the
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device bhnd"
+.Cd "device bhndb"
+.Cd "device bhndb_pci"
+.Cd "device pci"
+.Ed
+.Pp
+To load the driver as a module at boot, add this line to
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+bhndb_pci_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides
+.Xr bhndb 4
+support for the PCI and PCIe host bridge cores found in Broadcom Home Networking
+Division's wireless chipsets and network adapters.
+.Sh SEE ALSO
+.Xr bhnd 4 ,
+.Xr bhndb 4 ,
+.Xr bwn 4 ,
+.Xr intro 4 ,
+.Xr pci 4
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 11.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Landon Fuller Aq Mt landonf at FreeBSD.org .

Modified: head/share/man/man4/siba.4
==============================================================================
--- head/share/man/man4/siba.4	Mon Nov 27 21:10:50 2017	(r326290)
+++ head/share/man/man4/siba.4	Mon Nov 27 21:30:49 2017	(r326291)
@@ -31,15 +31,14 @@
 .Nm siba
 .Nd Sonic Inc. Silicon Backplane driver
 .Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your kernel configuration file:
+To compile this driver into the kernel, add the following lines to the
+kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device bhnd"
 .Cd "device siba"
 .Ed
 .Pp
-Alternatively, to load the driver as a module at boot time,
-place the following line in
+To load the driver as a module at boot, add this line to
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 siba_load="YES"
@@ -68,7 +67,8 @@ host interfaces (PCI, PCMCIA), embedded processors (MI
 or DMA processors associated with communications cores.
 .Sh SEE ALSO
 .Xr bcma 4 ,
-.Xr bhnd 4
+.Xr bhnd 4 ,
+.Xr intro 4
 .Sh HISTORY
 The
 .Nm

Modified: head/share/man/man9/Makefile
==============================================================================
--- head/share/man/man9/Makefile	Mon Nov 27 21:10:50 2017	(r326290)
+++ head/share/man/man9/Makefile	Mon Nov 27 21:30:49 2017	(r326291)
@@ -12,6 +12,8 @@ MAN=	accept_filter.9 \
 	alq.9 \
 	altq.9 \
 	atomic.9 \
+	bhnd.9 \
+	bhnd_erom.9 \
 	bios.9 \
 	bitset.9 \
 	boot.9 \
@@ -444,6 +446,124 @@ MLINKS+=atomic.9 atomic_add.9 \
 	atomic.9 atomic_subtract.9 \
 	atomic.9 atomic_swap.9 \
 	atomic.9 atomic_testandset.9
+MLINKS+=bhnd.9 BHND_MATCH_BOARD_TYPE.9 \
+	bhnd.9 BHND_MATCH_BOARD_VENDOR.9 \
+	bhnd.9 BHND_MATCH_CHIP_ID.9 \
+	bhnd.9 BHND_MATCH_CHIP_PKG.9 \
+	bhnd.9 BHND_MATCH_CHIP_REV.9 \
+	bhnd.9 BHND_MATCH_CORE_ID.9 \
+	bhnd.9 BHND_MATCH_CORE_VENDOR.9 \
+	bhnd.9 bhnd_activate_resource.9 \
+	bhnd.9 bhnd_alloc_pmu.9 \
+	bhnd.9 bhnd_alloc_resource.9 \
+	bhnd.9 bhnd_alloc_resource_any.9 \
+	bhnd.9 bhnd_alloc_resources.9 \
+	bhnd.9 bhnd_board_matches.9 \
+	bhnd.9 bhnd_bus_match_child.9 \
+	bhnd.9 bhnd_bus_read_1.9 \
+	bhnd.9 bhnd_bus_read_2.9 \
+	bhnd.9 bhnd_bus_read_4.9 \
+	bhnd.9 bhnd_bus_read_stream_1.9 \
+	bhnd.9 bhnd_bus_read_stream_2.9 \
+	bhnd.9 bhnd_bus_read_stream_4.9 \
+	bhnd.9 bhnd_bus_write_1.9 \
+	bhnd.9 bhnd_bus_write_2.9 \
+	bhnd.9 bhnd_bus_write_4.9 \
+	bhnd.9 bhnd_bus_write_stream_1.9 \
+	bhnd.9 bhnd_bus_write_stream_2.9 \
+	bhnd.9 bhnd_bus_write_stream_4.9 \
+	bhnd.9 bhnd_chip_matches.9 \
+	bhnd.9 bhnd_core_class.9 \
+	bhnd.9 bhnd_core_get_match_desc.9 \
+	bhnd.9 bhnd_core_matches.9 \
+	bhnd.9 bhnd_core_name.9 \
+	bhnd.9 bhnd_cores_equal.9 \
+	bhnd.9 bhnd_deactivate_resource.9 \
+	bhnd.9 bhnd_decode_port_rid.9 \
+	bhnd.9 bhnd_deregister_provider.9 \
+	bhnd.9 bhnd_device_lookup.9 \
+	bhnd.9 bhnd_device_matches.9 \
+	bhnd.9 bhnd_device_quirks.9 \
+	bhnd.9 bhnd_driver_get_erom_class.9 \
+	bhnd.9 bhnd_enable_clocks.9 \
+	bhnd.9 bhnd_find_core_class.9 \
+	bhnd.9 bhnd_find_core_name.9 \
+	bhnd.9 bhnd_format_chip_id.9 \
+	bhnd.9 bhnd_get_attach_type.9 \
+	bhnd.9 bhnd_get_chipid.9 \
+	bhnd.9 bhnd_get_class.9 \
+	bhnd.9 bhnd_get_clock_freq.9 \
+	bhnd.9 bhnd_get_clock_latency.9 \
+	bhnd.9 bhnd_get_core_index.9 \
+	bhnd.9 bhnd_get_core_info.9 \
+	bhnd.9 bhnd_get_core_unit.9 \
+	bhnd.9 bhnd_get_device.9 \
+	bhnd.9 bhnd_get_device_name.9 \
+	bhnd.9 bhnd_get_dma_translation.9 \
+	bhnd.9 bhnd_get_hwrev.9 \
+	bhnd.9 bhnd_get_intr_count.9 \
+	bhnd.9 bhnd_get_intr_ivec.9 \
+	bhnd.9 bhnd_get_port_count.9 \
+	bhnd.9 bhnd_get_port_rid.9 \
+	bhnd.9 bhnd_get_region_addr.9 \
+	bhnd.9 bhnd_get_region_count.9 \
+	bhnd.9 bhnd_get_vendor.9 \
+	bhnd.9 bhnd_get_vendor_name.9 \
+	bhnd.9 bhnd_hwrev_matches.9 \
+	bhnd.9 bhnd_is_hw_suspended.9 \
+	bhnd.9 bhnd_is_region_valid.9 \
+	bhnd.9 bhnd_map_intr.9 \
+	bhnd.9 bhnd_match_core.9 \
+	bhnd.9 bhnd_nvram_getvar.9 \
+	bhnd.9 bhnd_nvram_getvar_array.9 \
+	bhnd.9 bhnd_nvram_getvar_int.9 \
+	bhnd.9 bhnd_nvram_getvar_int16.9 \
+	bhnd.9 bhnd_nvram_getvar_int32.9 \
+	bhnd.9 bhnd_nvram_getvar_int8.9 \
+	bhnd.9 bhnd_nvram_getvar_str.9 \
+	bhnd.9 bhnd_nvram_getvar_uint.9 \
+	bhnd.9 bhnd_nvram_getvar_uint16.9 \
+	bhnd.9 bhnd_nvram_getvar_uint32.9 \
+	bhnd.9 bhnd_nvram_getvar_uint8.9 \
+	bhnd.9 bhnd_nvram_string_array_next.9 \
+	bhnd.9 bhnd_read_board_info.9 \
+	bhnd.9 bhnd_read_config.9 \
+	bhnd.9 bhnd_read_ioctl.9 \
+	bhnd.9 bhnd_read_iost.9 \
+	bhnd.9 bhnd_register_provider.9 \
+	bhnd.9 bhnd_release_ext_rsrc.9 \
+	bhnd.9 bhnd_release_pmu.9 \
+	bhnd.9 bhnd_release_provider.9 \
+	bhnd.9 bhnd_release_resource.9 \
+	bhnd.9 bhnd_release_resources.9 \
+	bhnd.9 bhnd_request_clock.9 \
+	bhnd.9 bhnd_request_ext_rsrc.9 \
+	bhnd.9 bhnd_reset_hw.9 \
+	bhnd.9 bhnd_retain_provider.9 \
+	bhnd.9 bhnd_set_custom_core_desc.9 \
+	bhnd.9 bhnd_set_default_core_desc.9 \
+	bhnd.9 bhnd_suspend_hw.9 \
+	bhnd.9 bhnd_unmap_intr.9 \
+	bhnd.9 bhnd_vendor_name.9 \
+	bhnd.9 bhnd_write_config.9 \
+	bhnd.9 bhnd_write_ioctl.9
+MLINKS+=bhnd_erom.9 bhnd_erom_alloc.9 \
+	bhnd_erom.9 bhnd_erom_dump.9 \
+	bhnd_erom.9 bhnd_erom_fini_static.9 \
+	bhnd_erom.9 bhnd_erom_free.9 \
+	bhnd_erom.9 bhnd_erom_free_core_table.9 \
+	bhnd_erom.9 bhnd_erom_get_core_table.9 \
+	bhnd_erom.9 bhnd_erom_init_static.9 \
+	bhnd_erom.9 bhnd_erom_io.9 \
+	bhnd_erom.9 bhnd_erom_io_fini.9 \
+	bhnd_erom.9 bhnd_erom_io_map.9 \
+	bhnd_erom.9 bhnd_erom_io_read.9 \
+	bhnd_erom.9 bhnd_erom_iobus_init.9 \
+	bhnd_erom.9 bhnd_erom_iores_new.9 \
+	bhnd_erom.9 bhnd_erom_lookup_core.9 \
+	bhnd_erom.9 bhnd_erom_lookup_core_addr.9 \
+	bhnd_erom.9 bhnd_erom_probe.9 \
+	bhnd_erom.9 bhnd_erom_probe_driver_classes.9
 MLINKS+=bitset.9 BITSET_DEFINE.9 \
 	bitset.9 BITSET_T_INITIALIZER.9 \
 	bitset.9 BITSET_FSET.9 \

Added: head/share/man/man9/bhnd.9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/man/man9/bhnd.9	Mon Nov 27 21:30:49 2017	(r326291)
@@ -0,0 +1,2644 @@
+.\" Copyright (c) 2015-2016 Landon Fuller <landonf at FreeBSD.org>
+.\" Copyright (c) 2017 The FreeBSD Foundation
+.\" All rights reserved.
+.\"
+.\" Portions of this documentation were written by Landon Fuller
+.\" under sponsorship from the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 9, 2017
+.Dt BHND 9
+.Os
+.Sh NAME
+.Nm bhnd
+.Nd BHND driver programming interface
+.Sh SYNOPSIS
+.In dev/bhnd/bhnd.h
+.\"
+.Ss Bus Resource Functions
+.Ft int
+.Fo bhnd_activate_resource
+.Fa "device_t dev" "int type" "int rid" "struct bhnd_resource *r"
+.Fc
+.Ft "struct bhnd_resource *"
+.Fo bhnd_alloc_resource
+.Fa "device_t dev" "int type" "int *rid" "rman_res_t start" "rman_res_t end"
+.Fa "rman_res_t count" "u_int flags"
+.Fc
+.Ft "struct bhnd_resource *"
+.Fo bhnd_alloc_resource_any
+.Fa "device_t dev" "int type" "int *rid" "u_int flags"
+.Fc
+.Ft int
+.Fo bhnd_alloc_resources
+.Fa "device_t dev" "struct resource_spec *rs" "struct bhnd_resource **res"
+.Fc
+.Ft int
+.Fo bhnd_deactivate_resource
+.Fa "device_t dev" "int type" "int rid" "struct bhnd_resource *r"
+.Fc
+.Ft int
+.Fo bhnd_release_resource
+.Fa "device_t dev" "int type" "int rid" "struct bhnd_resource *r"
+.Fc
+.Ft void
+.Fo bhnd_release_resources
+.Fa "device_t dev" "const struct resource_spec *rs"
+.Fa "struct bhnd_resource **res"
+.Fc
+.\"
+.Ss "Bus Space Functions"
+.Ft void
+.Fo bhnd_bus_barrier
+.Fa "struct bhnd_resource *r" "bus_size_t offset"
+.Fa "bus_size_t length" "int flags"
+.Fc
+.Ft uint8_t
+.Fn bhnd_bus_read_1 "struct bhnd_resource *r" "bus_size_t offset"
+.Ft uint16_t
+.Fn bhnd_bus_read_2 "struct bhnd_resource *r" "bus_size_t offset"
+.Ft uint32_t
+.Fn bhnd_bus_read_4 "struct bhnd_resource *r" "bus_size_t offset"
+.Ft void
+.Fo bhnd_bus_read_multi_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_multi_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_multi_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_multi_stream_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_multi_stream_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_multi_stream_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_region_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_region_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_region_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_region_stream_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_region_stream_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_read_region_stream_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fn bhnd_bus_read_stream_1 "struct bhnd_resource *r" "bus_size_t offset"
+.Ft void
+.Fn bhnd_bus_read_stream_2 "struct bhnd_resource *r" "bus_size_t offset"
+.Ft uint32_t
+.Fn bhnd_bus_read_stream_4 "struct bhnd_resource *r" "bus_size_t offset"
+.Ft void
+.Fo bhnd_bus_set_multi_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t value"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_set_multi_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t value"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_set_multi_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t value"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_set_region_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t value"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_set_region_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t value"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_set_region_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t value"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fn bhnd_bus_write_1 "struct bhnd_resource *r" "uint8_t value"
+.Ft void
+.Fn bhnd_bus_write_2 "struct bhnd_resource *r" "uint16_t value"
+.Ft void
+.Fn bhnd_bus_write_4 "struct bhnd_resource *r" "uint32_t value"
+.Ft void
+.Fo bhnd_bus_write_multi_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_multi_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_multi_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_multi_stream_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_multi_stream_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_multi_stream_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_region_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_region_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_region_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_region_stream_1
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint8_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_region_stream_2
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint16_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fo bhnd_bus_write_region_stream_4
+.Fa "struct bhnd_resource *r" "bus_size_t offset" "uint32_t *datap"
+.Fa "bus_size_t count"
+.Fc
+.Ft void
+.Fn bhnd_bus_write_stream_1 "struct bhnd_resource *r" "uint8_t value"
+.Ft void
+.Fn bhnd_bus_write_stream_2 "struct bhnd_resource *r" "uint16_t value"
+.Ft void
+.Fn bhnd_bus_write_stream_4 "struct bhnd_resource *r" "uint32_t value"
+.\"
+.Ss "Device Configuration Functions"
+.Ft int
+.Fn bhnd_read_ioctl "device_t dev" "uint16_t *ioctl"
+.Ft int
+.Fn bhnd_write_ioctl "device_t dev" "uint16_t value" "uint16_t mask"
+.Ft int
+.Fn bhnd_read_iost "device_t dev" "uint16_t *iost"
+.Ft uint32_t
+.Fo bhnd_read_config
+.Fa "device_t dev" "bus_size_t offset" "void *value" "u_int width"
+.Fc
+.Ft int
+.Fo bhnd_write_config
+.Fa "device_t dev" "bus_size_t offset" "const void *value" "u_int width"
+.Fc
+.Ft int
+.Fn bhnd_reset_hw "device_t dev" "uint16_t ioctl"
+.Ft int
+.Fn bhnd_suspend_hw "device_t dev"
+.Ft bool
+.Fn bhnd_is_hw_suspended "device_t dev"
+.\"
+.Ss "Device Information Functions"
+.Ft bhnd_attach_type
+.Fo bhnd_get_attach_type
+.Fa "device_t dev"
+.Fc
+.Ft "const struct bhnd_chipid *"
+.Fo bhnd_get_chipid
+.Fa "device_t dev"
+.Fc
+.Ft bhnd_devclass_t
+.Fo bhnd_get_class
+.Fa "device_t dev"
+.Fc
+.Ft u_int
+.Fo bhnd_get_core_index
+.Fa "device_t dev"
+.Fc
+.Ft "struct bhnd_core_info"
+.Fo bhnd_get_core_info
+.Fa "device_t dev"
+.Fc
+.Ft int
+.Fo bhnd_get_core_unit
+.Fa "device_t dev"
+.Fc
+.Ft uint16_t
+.Fo bhnd_get_device
+.Fa "device_t dev"
+.Fc
+.Ft const char *
+.Fo bhnd_get_device_name
+.Fa "device_t dev"
+.Fc
+.Ft uint8_t
+.Fo bhnd_get_hwrev
+.Fa "device_t dev"
+.Fc
+.Ft uint16_t
+.Fo bhnd_get_vendor
+.Fa "device_t dev"
+.Fc
+.Ft const char *
+.Fo bhnd_get_vendor_name
+.Fa "device_t dev"
+.Fc
+.Ft int
+.Fo bhnd_read_board_info
+.Fa "device_t dev" "struct bhnd_board_info *info"
+.Fc
+.\"
+.Ss "Device Matching Functions"
+.Ft bool
+.Fo bhnd_board_matches
+.Fa "const struct bhnd_board_info *board" "const struct bhnd_board_match *desc"
+.Fc
+.Ft device_t
+.Fo bhnd_bus_match_child
+.Fa "device_t bus" "const struct bhnd_core_match *desc"
+.Fc
+.Ft bool
+.Fo bhnd_chip_matches
+.Fa "const struct bhnd_chipid *chip" "const struct bhnd_chip_match *desc"
+.Fc
+.Ft "struct bhnd_core_match"
+.Fo bhnd_core_get_match_desc
+.Fa "const struct bhnd_core_info *core"
+.Fc
+.Ft bool
+.Fo bhnd_core_matches
+.Fa "const struct bhnd_core_info *core" "const struct bhnd_core_match *desc"
+.Fc
+.Ft bool
+.Fo bhnd_cores_equal
+.Fa "const struct bhnd_core_info *lhs" "const struct bhnd_core_info *rhs"
+.Fc
+.Ft bool
+.Fo bhnd_hwrev_matches
+.Fa "uint16_t hwrev" "const struct bhnd_hwrev_match *desc"
+.Fc
+.Ft "const struct bhnd_core_info *"
+.Fo bhnd_match_core
+.Fa "const struct bhnd_core_info *cores" "u_int num_cores"
+.Fa "const struct bhnd_core_match *desc"
+.Fc
+.\"
+.Ss "Device Table Functions"
+.Ft "const struct bhnd_device *"
+.Fo bhnd_device_lookup
+.Fa "device_t dev" "const struct bhnd_device *table" "size_t entry_size"
+.Fc
+.Ft bool
+.Fo bhnd_device_matches
+.Fa "device_t dev" "const struct bhnd_device_match *desc"
+.Fc
+.Ft uint32_t
+.Fo bhnd_device_quirks
+.Fa "device_t dev" "const struct bhnd_device *table" "size_t entry_size"
+.Fc
+.Fo BHND_BOARD_QUIRK
+.Fa "board" "flags"
+.Fc
+.Fo BHND_CHIP_QUIRK
+.Fa "chip" "hwrev" "flags"
+.Fc
+.Fo BHND_CORE_QUIRK
+.Fa "hwrev" "flags"
+.Fc
+.Fo BHND_DEVICE
+.Fa "vendor" "device" "desc" "quirks" "..."
+.Fc
+.Fo BHND_DEVICE_IS_END
+.Fa "struct bhnd_device *d"
+.Fc
+.Fo BHND_DEVICE_QUIRK_IS_END
+.Fa "struct bhnd_device_quirk *q"
+.Fc
+.Fo BHND_PKG_QUIRK
+.Fa "chip" "pkg" "flags"
+.Fc
+.Bd -literal
+struct bhnd_device_quirk {
+	struct bhnd_device_match	desc;
+	uint32_t			quirks;
+};
+.Ed
+.Bd -literal
+struct bhnd_device {
+    const struct bhnd_device_match	 core;
+    const char				*desc;
+    const struct bhnd_device_quirk	*quirks_table;
+    uint32_t				 device_flags;
+};
+.Ed
+.Bd -literal
+enum {
+	BHND_DF_ANY	= 0,
+	BHND_DF_HOSTB	= (1 << 0),
+	BHND_DF_SOC	= (1 << 1),
+	BHND_DF_ADAPTER	= (1 << 2)
+};
+.Ed
+.Bd -literal
+#define BHND_DEVICE_END { { BHND_MATCH_ANY }, NULL, NULL, 0 }
+.Ed
+.Bd -literal
+#define BHND_DEVICE_QUIRK_END { { BHND_MATCH_ANY }, 0 }
+.Ed
+.\"
+.Ss "DMA Address Translation Functions"
+.Ft int
+.Fo bhnd_get_dma_translation
+.Fa "device_t dev" "u_int width" "uint32_t flags" "bus_dma_tag_t *dmat"
+.Fa "struct bhnd_dma_translation *translation"
+.Fc
+.Bd -literal
+struct bhnd_dma_translation {
+	bhnd_addr_t	base_addr;
+	bhnd_addr_t	addr_mask;
+	bhnd_addr_t	addrext_mask;
+	uint32_t	flags;
+};
+.Ed
+.Bd -literal
+typedef enum {
+	BHND_DMA_ADDR_30BIT	= 30,
+	BHND_DMA_ADDR_32BIT	= 32,
+	BHND_DMA_ADDR_64BIT	= 64

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-head mailing list