Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Nov 2013 22:50:42 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        ports@FreeBSD.org
Cc:        freebsd-ports-local@be-well.ilk.org
Subject:   Re: Porting a software which uses INP_GPIO?
Message-ID:  <20131122225042.00007aad@unknown>
In-Reply-To: <44bo1d5u3z.fsf@be-well.ilk.org>
References:  <20131121214359.000006f6@unknown> <44bo1d5u3z.fsf@be-well.ilk.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 21 Nov 2013 16:21:20 -0500
Lowell Gilbert <freebsd-ports-local@be-well.ilk.org> wrote:

> Alexander Leidinger <Alexander@Leidinger.net> writes:
> 
> > I try to compile a software on FreeBSD which wants to use INP_GPIO,
> > OUTP_GPIO and some oder *GPIO* things.
> >
> > A quick googling shows me some raspberry pi sites. Is this something
> > linux-specific (so that I can forget this software on FreeBSD as
> > long as we don't gain something similar)?
> >
> > Searching for gpio in names of ports didn't show a hit and in the
> > basesystem includes I can't find it either.
> 
> GPIO is a way to do pin assignments for a chip package at run-time. I
> use it on embedded platforms all the time, but it isn't normally
> available on a PC. There's a gpioctl(1) that should be able to set the
> a pin for input or output, as those flags indicate, or
> programmatically I guess it would be GPIO_PIN_INPUT or
> GPIO_PIN_OUTPUT in /usr/include/sys/gpio.h but again, you need to
> have the hardware for it.

I have the hardware. Currently it is accessed from an old Laptop with
the Windows-binary of the program. I would like to replace the Laptop
and use a FreeBSD version of the program.

The code in question is:
---snip---
        const int banks[4]={18,23,24,25};
[...]
        for(i=0;i<4;i++)
        {
                INP_GPIO(banks[i]);
                OUT_GPIO(banks[i]);
                if(i==bank)
                {
                        GPIO_SET = 1 << banks[i]; // enable bank
                }
                else
                {
                        GPIO_CLR = 1 << banks[i];// disable bank
                }
        }
---snip---

When looking at sys/gpio.h, I have no idea how I shall translate the
above into something FreeBSD understands. Could you please explain how
the above translates into "FreeBSD-gpio-speak"?

Bye,
Alexander.

-- 
http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137



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