- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In my testing, I want to access the fpga gpio. I can use set the fpga gpio pin from user space (open /dev/mem, then use mmap, etc). However I cannot set the fpga from kernel space.
In my kernel code, I tried to ioremap the gpio0 based, and then set the gpio pin, but it doesn't work as expected.
void *ptr = ioremap(0xff708000, 0x10 );
*(ptr+offset) = 0b1;
where offset is the memory mapped slave as shown in platform designer.
I tried many ways but it doesn't work.
Any suggestion?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are still investigating this case.
i will post my feedback once I find useful information.,
Thanks
Fawaz
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I found this useful link:
https://lwn.net/Articles/532714/
Please refer to it, the summary of accessing GPIO:
1- include the driver:
#include <linux/gpio.h>
2- GPIOs must be allocated before use:
int gpio_request(unsigned int gpio, const char *label);
3- And GPIO can be returned to the system with:
void gpio_free(unsigned int gpio);
4- Configure GPIO as Input/Output:
int gpio_direction_input(unsigned int gpio);
int gpio_direction_output(unsigned int gpio, int value);
5- Run GPIO:
int gpio_get_value(unsigned int gpio);
void gpio_set_value(unsigned int gpio, int value);
Hope this might help.
Thanks

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page