All of lore.kernel.org
 help / color / mirror / Atom feed
From: "A. Nolson" <alohanono@gmail.com>
To: linuxppc-embedded@ozlabs.org
Subject: Problems when accessing to registers in GPIO
Date: Sat, 01 Mar 2008 23:10:56 +0100	[thread overview]
Message-ID: <47C9D470.5000604@gmail.com> (raw)

Hi,

 I am getting some problems when trying to access to the GPIO registers 
from the userland of my secretlab's linux 2.6.24-rc3 ( Xilinx ML403 ). I 
am using io_remap() functions ( from 
http://www.denx.de/wiki/bin/view/PPCEmbedded/DeviceDrivers ) and I was 
successfully able to test them with some own-made IP cores. However, I 
am having problems when trying to do it in the same way with the GPIO IP 
core from Xilinx ( the ones I am using to interface to the LEDs , 
buttons and LCD ).

 If I try to access to the buttons in the board I don't really have any 
problem since the tri-state control register is automatically set to 
"all inputs" when the IP is turned on. But when I try to use the LEDs 
and I need to configure the tris-state as outputs, they don't work . I 
am doing the following:

    //memory mapping
    if(    (led_base = (volatile int*) ioremap(BASE_GPIO,8)) == NULL ||
            (but_base = (volatile int*) ioremap(BASE_GPIO_B, 8)) == NULL )
    {
        perror( "Cannot allocate memory for GPIO/n");
        return 1;
    }
     
    led_tri = (char*)led_base + 0x4;
    but_tri = (char*)but_base + 0x4;

    //configure as inputs and outputs
    printf("configuring IOs...");
    *led_tri = 0x00;//configure them as outputs
    *but_tri = 0xFF;//configure them as inputs

    while(1)
    {
        data = *but_base;
//     printf("data:%x\n",data);
       *led_base = data;
       usleep(50000);
    }   

 If I try to allocate the tri-state registers as integer I get "Bus 
Error" when accessing to them. I don't know really what is the problem. 
If I try to the same without operating system, this is, directly using 
XPS, I manage to make the buttons and leds work perfectly. Anybody can 
help me with this?

/A

                 reply	other threads:[~2008-03-01 22:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=47C9D470.5000604@gmail.com \
    --to=alohanono@gmail.com \
    --cc=linuxppc-embedded@ozlabs.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.