Re: How to use mpc8xxx_gpio.c device driver
From: Ravi Gupta <hidden>
Date: 2010-08-13 10:01:13
Looking at the device tree for this board, it appears U-Boot remaps the IMMR registers to 0xe0000000. They are no longer accessible at 0xff400000. I would recommend studying arch/powerpc/boot/dts/mpc8377_rdb.dts in the Linux source code. That describes the device layout on your board after U-Boot has run. A wonderful tool for testing devices from userspace is "busybox devmem". It allows you to poke any physical address with any value. The output of "busybox devmem --help" should get you started. As a quick example, "busybox devmem 0xe0000c00 w 0x1" will write the 32-bit value 0x1 to address 0xe0000c00. I would also recommend using the built-in Linux GPIO API. It works, you just need to figure out how to use it. It will be much easier to get your code upstream if you use the provided APIs. The Documentation/gpio.txt file should help you in understanding the in-kernel Linux GPIO API. I'm afraid I don't have much experience other than accessing it via sysfs from userspace. Ira
Hi Ira, Thanks for another great reply. Now I can also access gpio memory map registers. Thanks and Regards, Ravi Gupta