Other Parts Discussed in Thread: OMAP3530, SYSCONFIG
First, let me describe what I want to do, in case I'm headed down the wrong path.
We have a custom board with OMAP3530 on it and connected to a bunch of different peripherals. We can boot Linux (via U-Boot) and I'm quite comfortable with accessing these peripherals from U-Boot. It's pretty easy here, I just write to the correct registers and that's it. I should add that all the peripherals are hooked up to the GPMC data & address bus and use various GPMC_nCS to select operation, but I also need a handful of other I/O signals (pins configured as GPIO) to control
Now how would I go about doing this under Linux?
The "dumb" way is for me to try and get direct access to these registers and replicate what I've done in U-Boot. Is there a "driver" or somesuch which allows direct, generic access to OMAP's memory space? I assume that generally in User Space, I'm not allowed to directly access the hardware. (And I don't think we have anything like ioperm(),inb(),outb() for OMAP, yes?)
Or, has someone already written a framework for generic access on the GPMC & configure the GPIO interfaces? I've seen something this for other processors, so while clumsy, it has saved me a bit of work re-inventing the wheel.
Failing that, I assume I would have to write my own driver to do what I want. In that case, what would be a good driver to start with as a basis to copy? I am hardly a Linux driver guru, I've only done 1 character device driver before for another processor and it was based off another existing driver, so I know I can at least get that done...
Access to the peripherals is pretty simple. I just want to dump some data on the GPMC bus, toggle some GPIO, then read back the status on some other GPIO.
Any tips greatly appreciated.