Date: Mon, 25 May 2020 11:18:43 -0500 From: Justin Hibbits <chmeeedalf@gmail.com> To: Marcin Wojtas <mw@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r361460 - in head/sys: arm64/conf arm64/qoriq conf Message-ID: <20200525111843.0f858315@titan.knownspace> In-Reply-To: <202005251455.04PEtbSp021864@repo.freebsd.org> References: <202005251455.04PEtbSp021864@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Marcin, On Mon, 25 May 2020 14:55:37 +0000 (UTC) Marcin Wojtas <mw@FreeBSD.org> wrote: > Author: mw > Date: Mon May 25 14:55:37 2020 > New Revision: 361460 > URL: https://svnweb.freebsd.org/changeset/base/361460 > > Log: > Add GPIO support for QorIQ boards. > > This patch adds a GPIO controller support targeted for NXP LS1046A > SoC. The driver implements the following features: > * setting direction of each pin (IN or OUT) > * setting the mode of output pins (PUSHPULL or OPENDRAIN) > * setting the state of each output pin (1 or 0) > * reading the state of each input pin (1 or 0) > > Submitted by: Kamil Koczurek <kek@semihalf.com> > Dawid Gorecki <dgr@semihalf.com> > Reviewed by: manu > Obtained from: Semihalf > Sponsored by: Alstom Group > Differential Revision: https://reviews.freebsd.org/D24353 > > Added: > head/sys/arm64/qoriq/ls1046_gpio.c (contents, props changed) > Modified: > head/sys/arm64/conf/GENERIC > head/sys/conf/files.arm64 > > Modified: head/sys/arm64/conf/GENERIC > ============================================================================== > --- head/sys/arm64/conf/GENERIC Mon May 25 14:45:18 > 2020 (r361459) +++ head/sys/arm64/conf/GENERIC Mon May > 25 14:55:37 2020 (r361460) @@ -248,6 +248,7 @@ device > gpio device gpioled > device fdt_pinctrl > device gpioregulator > +device ls1046_gpio # LS1046A GPIO controller > device mv_gpio # Marvell GPIO > controller device mvebu_pinctrl # Marvell > Pinmux Controller device rk_gpio # > RockChip GPIO Controller > > Added: head/sys/arm64/qoriq/ls1046_gpio.c > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is > newly added) +++ head/sys/arm64/qoriq/ls1046_gpio.c Mon May 25 > 14:55:37 2020 (r361460) @@ -0,0 +1,586 @@ > +/*- > + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD > + * > + * Copyright (c) 2020 Alstom Group. > + * Copyright (c) 2020 Semihalf. > + * > + * 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. > + */ > + > +#include <sys/cdefs.h> > +__FBSDID("$FreeBSD$"); > + > +#include <sys/param.h> > + > +#include <sys/bus.h> > +#include <sys/endian.h> > +#include <sys/gpio.h> > +#include <sys/kernel.h> > +#include <sys/module.h> > +#include <sys/mutex.h> > + > +#include <dev/gpio/gpiobusvar.h> > +#include <dev/ofw/ofw_bus.h> > +#include <machine/bus.h> > + > +#include "gpio_if.h" > + > +/* constants */ > +enum { > + DIRECTION = 0x0, > + OPEN_DRAIN = 0x4, > + DATA = 0x8, > + INT_EV = 0xC, > + INT_MASK = 0x10, > + INT_CTRL = 0x14 > +}; This looks a lot like the GPIO module whose driver is in sys/powerpc/mpc85xx/qoriq_gpio.c. Is there any difference in hardware? If not, can you merge this driver with that, if there's anything to merge, to reduce duplication? - Justin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200525111843.0f858315>