From: "Gilad Rom" <gilad@romat.com>
To: <linux-mips@linux-mips.org>
Subject: Re: GPIO on the Au1500
Date: Sun, 14 Nov 2004 17:53:49 +0200 [thread overview]
Message-ID: <0a2201c4ca62$25d37f80$a701a8c0@lan> (raw)
In-Reply-To: 09ac01c4ca24$e68a6740$a701a8c0@lan
Replying to myself -
I've composed a small program which mmap()'s
SYS_BASE and then tries to read at the appropriate
GPIO offset, as defined in the Au1500 databook.
For some reason, I keep getting that magical value,
0x10000001 for EVERY address I try to read, be it
SYS_BASE (0xB1900000) or every other address. (for example,
I've tried reading the MAC address from the MAC0 base address
of 0xB1500000, offset 0x0008, and I always get 0x10000001).
Any reason I shouldn't succeed in reading the au1500
hardware addresses through /dev/mem?
Attached is the code I'm using:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#define SYS_BASE 0xB1900000
int
main ()
{
volatile unsigned long *base;
unsigned char val;
int f, i;
f = open ("/dev/mem", O_RDWR | O_SYNC);
if (f < 0) {
perror ("fopen");
exit (-1);
}
base = (unsigned long *) mmap (NULL,
getpagesize (),
PROT_READ | PROT_WRITE,
MAP_SHARED,
f,
SYS_BASE);
if (base == (unsigned long *) (-1)) {
perror ("mmap");
exit (-1);
}
printf ("data at %p: 0x%x\n", base, (unsigned long) *base);
*base = 0xffffffff;
printf ("data at %p: 0x%x\n", base, (unsigned long) *base);
close (f);
return (0);
}
Thanks!
Gilad.
----- Original Message -----
From: "Gilad Rom" <gilad@romat.com>
To: <ppopov@embeddedalley.com>; <linux-mips@linux-mips.org>
Sent: Sunday, November 14, 2004 10:35 AM
Subject: Re: GPIO on the Au1500
> Thanks.
> Can't I just mmap /dev/mem and use the
> GPIO offset from SYS_BASE?
>
> Gilad.
>
> ----- Original Message -----
> From: "Pete Popov" <ppopov@embeddedalley.com>
> To: "Gilad Rom" <gilad@romat.com>; <linux-mips@linux-mips.org>
> Sent: Friday, November 12, 2004 8:13 PM
> Subject: Re: GPIO on the Au1500
>
>
>>
>> --- Gilad Rom <gilad@romat.com> wrote:
>>
>>> Hello,
>>>
>>> I am trying to use the au1000_gpio driver, but I'm a
>>> little clueless as to how it is meant to be used.
>>> Can I use the GPIO ioctl's from a userland
>>> program, or must I write a kernel module?
>>
>> I'll see if I can dig up some docs and the example
>> userland program this weekend. That driver hasn't been
>> tested in a while though.
>>
>> Pete
>>
>>> Thank you,
>>> Gilad Rom
>>> Romat Telecom
>>>
>>>
>>>
>>
>
WARNING: multiple messages have this Message-ID (diff)
From: "Gilad Rom" <gilad@romat.com>
To: linux-mips@linux-mips.org
Subject: Re: GPIO on the Au1500
Date: Sun, 14 Nov 2004 17:53:49 +0200 [thread overview]
Message-ID: <0a2201c4ca62$25d37f80$a701a8c0@lan> (raw)
Message-ID: <20041114155349.17lZBK8Z7cKUjPjsxEp7d-a2le7pmYI64TPosvmhiRo@z> (raw)
In-Reply-To: 09ac01c4ca24$e68a6740$a701a8c0@lan
Replying to myself -
I've composed a small program which mmap()'s
SYS_BASE and then tries to read at the appropriate
GPIO offset, as defined in the Au1500 databook.
For some reason, I keep getting that magical value,
0x10000001 for EVERY address I try to read, be it
SYS_BASE (0xB1900000) or every other address. (for example,
I've tried reading the MAC address from the MAC0 base address
of 0xB1500000, offset 0x0008, and I always get 0x10000001).
Any reason I shouldn't succeed in reading the au1500
hardware addresses through /dev/mem?
Attached is the code I'm using:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#define SYS_BASE 0xB1900000
int
main ()
{
volatile unsigned long *base;
unsigned char val;
int f, i;
f = open ("/dev/mem", O_RDWR | O_SYNC);
if (f < 0) {
perror ("fopen");
exit (-1);
}
base = (unsigned long *) mmap (NULL,
getpagesize (),
PROT_READ | PROT_WRITE,
MAP_SHARED,
f,
SYS_BASE);
if (base == (unsigned long *) (-1)) {
perror ("mmap");
exit (-1);
}
printf ("data at %p: 0x%x\n", base, (unsigned long) *base);
*base = 0xffffffff;
printf ("data at %p: 0x%x\n", base, (unsigned long) *base);
close (f);
return (0);
}
Thanks!
Gilad.
----- Original Message -----
From: "Gilad Rom" <gilad@romat.com>
To: <ppopov@embeddedalley.com>; <linux-mips@linux-mips.org>
Sent: Sunday, November 14, 2004 10:35 AM
Subject: Re: GPIO on the Au1500
> Thanks.
> Can't I just mmap /dev/mem and use the
> GPIO offset from SYS_BASE?
>
> Gilad.
>
> ----- Original Message -----
> From: "Pete Popov" <ppopov@embeddedalley.com>
> To: "Gilad Rom" <gilad@romat.com>; <linux-mips@linux-mips.org>
> Sent: Friday, November 12, 2004 8:13 PM
> Subject: Re: GPIO on the Au1500
>
>
>>
>> --- Gilad Rom <gilad@romat.com> wrote:
>>
>>> Hello,
>>>
>>> I am trying to use the au1000_gpio driver, but I'm a
>>> little clueless as to how it is meant to be used.
>>> Can I use the GPIO ioctl's from a userland
>>> program, or must I write a kernel module?
>>
>> I'll see if I can dig up some docs and the example
>> userland program this weekend. That driver hasn't been
>> tested in a while though.
>>
>> Pete
>>
>>> Thank you,
>>> Gilad Rom
>>> Romat Telecom
>>>
>>>
>>>
>>
>
next prev parent reply other threads:[~2004-11-14 15:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-12 10:38 GPIO on the Au1500 Gilad Rom
2004-11-12 10:38 ` Gilad Rom
2004-11-12 18:13 ` Pete Popov
2004-11-14 8:35 ` Gilad Rom
2004-11-14 8:35 ` Gilad Rom
2004-11-14 15:53 ` Gilad Rom [this message]
2004-11-14 15:53 ` Gilad Rom
2004-11-16 0:25 ` Dan Malek
2004-11-16 0:25 ` Dan Malek
2004-11-14 17:08 ` Charles Eidsness
2004-11-14 18:45 ` Pete Popov
2004-11-15 7:44 ` Gilad Rom
2004-11-15 7:44 ` Gilad Rom
2004-11-15 16:17 ` Charles Eidsness
2004-11-15 16:38 ` Gilad Rom
2004-11-15 16:38 ` Gilad Rom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='0a2201c4ca62$25d37f80$a701a8c0@lan' \
--to=gilad@romat.com \
--cc=linux-mips@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.