Author: ian
Date: Sun Jul  8 00:27:28 2018
New Revision: 336079
URL: https://svnweb.freebsd.org/changeset/base/336079

Log:
  Add pnp info to imx6_ahci, and add a module makefile, and a manpage for it.

Added:
  head/share/man/man4/man4.arm/imx6_ahci.4   (contents, props changed)
  head/sys/modules/imx/imx6_ahci/
  head/sys/modules/imx/imx6_ahci/Makefile   (contents, props changed)
Modified:
  head/share/man/man4/man4.arm/Makefile
  head/sys/arm/freescale/imx/imx6_ahci.c
  head/sys/modules/imx/Makefile

Modified: head/share/man/man4/man4.arm/Makefile
==============================================================================
--- head/share/man/man4/man4.arm/Makefile       Sun Jul  8 00:02:14 2018        
(r336078)
+++ head/share/man/man4/man4.arm/Makefile       Sun Jul  8 00:27:28 2018        
(r336079)
@@ -12,6 +12,7 @@ MAN=  \
        bcm283x_pwm.4 \
        cgem.4 \
        devcfg.4 \
+       imx6_ahci.4 \
        imx_wdog.4 \
        mge.4 \
        npe.4 \

Added: head/share/man/man4/man4.arm/imx6_ahci.4
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man4/man4.arm/imx6_ahci.4    Sun Jul  8 00:27:28 2018        
(r336079)
@@ -0,0 +1,65 @@
+.\"
+.\" Copyright (c) 2018 Ian Lepore <i...@freebsd.org>
+.\" All rights reserved.
+.\"
+.\" 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 ``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 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 July 7, 2018
+.Dt IMX6_AHCI 4
+.Os
+.Sh NAME
+.Nm imx6_ahci
+.Nd device driver for the NXP i.MX6 on-chip SATA controller
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following line in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device ahci"
+.Ed
+.Pp
+Alternatively, to load the driver as a
+module at boot time, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+imx6_ahci_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides
+support for the on-chip SATA controller found on some models of
+the NXP i.MX6 chip.
+The driver is a thin glue layer to interpret the platform's FDT
+data and marshall resources for the standard
+.Xr ahci 4
+driver.
+.Sh SEE ALSO
+.Xr ahci 4 ,
+.Xr fdt 4 ,
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 12.0 .

Modified: head/sys/arm/freescale/imx/imx6_ahci.c
==============================================================================
--- head/sys/arm/freescale/imx/imx6_ahci.c      Sun Jul  8 00:02:14 2018        
(r336078)
+++ head/sys/arm/freescale/imx/imx6_ahci.c      Sun Jul  8 00:27:28 2018        
(r336079)
@@ -64,6 +64,11 @@ __FBSDID("$FreeBSD$");
 #define        SATA_PHY_LANE0_OUT_STAT                 0x2003
 #define          SATA_PHY_LANE0_OUT_STAT_RX_PLL_STATE    (1 << 1)
 
+static struct ofw_compat_data compat_data[] = {
+       {"fsl,imx6q-ahci", true},
+       {NULL,             false}
+};
+
 static int
 imx6_ahci_phy_ctrl(struct ahci_controller* sc, uint32_t bitmask, bool on)
 {
@@ -215,7 +220,7 @@ imx6_ahci_probe(device_t dev)
                return (ENXIO);
        }
 
-       if (!ofw_bus_is_compatible(dev, "fsl,imx6q-ahci")) {
+       if (!ofw_bus_search_compatible(dev, compat_data)->ocd_data) {
                return (ENXIO);
        }
        device_set_desc(dev, "i.MX6 Integrated AHCI controller");
@@ -354,3 +359,5 @@ static driver_t ahci_ata_driver = {
 };
 
 DRIVER_MODULE(imx6_ahci, simplebus, ahci_ata_driver, ahci_devclass, 0, 0);
+MODULE_DEPEND(imx6_ahci, ahci, 1, 1, 1);
+SIMPLEBUS_PNP_INFO(compat_data)

Modified: head/sys/modules/imx/Makefile
==============================================================================
--- head/sys/modules/imx/Makefile       Sun Jul  8 00:02:14 2018        
(r336078)
+++ head/sys/modules/imx/Makefile       Sun Jul  8 00:27:28 2018        
(r336079)
@@ -3,6 +3,7 @@
 
 SUBDIR = \
        ../ffec \
+       imx6_ahci \
        imx_i2c \
        imx_spi \
        imx_wdog \

Added: head/sys/modules/imx/imx6_ahci/Makefile
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/modules/imx/imx6_ahci/Makefile     Sun Jul  8 00:27:28 2018        
(r336079)
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/arm/freescale/imx
+
+KMOD=  imx6_ahci
+SRCS=  imx6_ahci.c
+
+# Generated files...
+SRCS+= \
+       bus_if.h \
+       device_if.h \
+       ofw_bus_if.h \
+
+.include <bsd.kmod.mk>
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to