I tray change OMAPxxxxxxx.c file to set some GPIO (set mode from M0 to
M2 or M3, M4 depend on pin) and create new MLO,
then change OMAPxxxxxxx.h file to set some GPIO (set mode from M0 to
M2 or M3, M4 depend on pin) too, and create new u-boot.bin.
then create boot SD from linux and change in boot partition MLO and u-
boot files with new one which I was created.
After it I boot my pandabord REV A1 and get same resultant, work only
one GPIO_138...
Where are may mistakes?
I need to read encoder signals ( 2 channels 360 imp. per rot. and 1500
rot per min.) and idea are to read accurate speed on each impulse.(by
calculating time between impulses)
Help someone :)
cat /sys/kernel/debug/gpioto see if they are allready in use.
see: http://elinux.org/BeagleBoardPinMux
Details of OMAP35x PinMux can be found in OMAP35x Applications Processor TRM (spruf98u.pdf) in section 7.4.4.3 Pad Multiplexing Register Fields (page 782)
I created initalization part for GPIO. When I tried to show GPIO status via "cat /sys/kernel/debug/gpio" I saw this:
GPIOs 32-63, gpio:
gpio-32 (pandaboard_exp_menu ) in hi
gpio-33 (pandaboard_exp_volup) in hi
gpio-36 (pandaboard_exp_power) in hi
gpio-37 (pandaboard_exp_voldw) in lo
gpio-38 (pandaboard_exp_back ) in lo
I was not able to control gpio-37 and gpio-38 (low state).
If you have some similar problem with addressing of GPIO you must add some snipped to board-omap4panda.c file.
find (board-omap4panda.c):
#ifdef CONFIG_OMAP_MUX
static struct omap_board_mux board_mux[] __initdata = {
and append code like this:
/** GPIO Expansion board */
// AD12 - GPIO 36 - HOME
OMAP4_MUX(GPMC_AD12, OMAP_PIN_INPUT | OMAP_MUX_MODE3),
// AD08 - GPIO 32 - MENU
OMAP4_MUX(GPMC_AD8, OMAP_PIN_INPUT | OMAP_MUX_MODE3),
// AD14 - GPIO 38 - BACK
OMAP4_MUX(GPMC_AD14, OMAP_PIN_INPUT | OMAP_MUX_MODE3),
// AD09 - GPIO 33 - VOLUME_UP
OMAP4_MUX(GPMC_AD9, OMAP_PIN_INPUT | OMAP_MUX_MODE3),
// AD13 - GPIO 37 - VOLUME_DOWN
OMAP4_MUX(GPMC_AD13,
OMAP_PIN_INPUT | OMAP_MUX_MODE3),
Note: This snipped is from my configuration for chipsee expansion board.