Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Jul 2018 00:27:28 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r336079 - in head: share/man/man4/man4.arm sys/arm/freescale/imx sys/modules/imx sys/modules/imx/imx6_ahci
Message-ID:  <201807080027.w680RSFk068967@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <ian@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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807080027.w680RSFk068967>