> -----Original Message----- > From: Premi, Sanjeev > Sent: Wednesday, August 31, 2011 1:23 AM > To: u-boot@lists.denx.de > Cc: Premi, Sanjeev; Paulraj, Sandeep; Igor Grinberg; Luca > Ceresoli; Enric Balletbo i Serra; Sunil Kumar; Shashi Ranjan; > Menon, Nishanth; Steve Sakoman > Subject: [RFC 0/3] omap: gpio: User generic (instead of custom) API > > The OMAP boards use a custom api for GPIO operations. While > it works, it doesn't help when when we don't know existence > of the customization. > > I earlier encountered the problem when looking for GPIO > related changes when submitting prev set of patches. Since > the search for gpio_request() in omap sources returned empty, > I had assumed that it isn't supported. > > This patchset attempts to adapt the current implementation > to use generic API. > > Since, the changes impact all OMAP boards, and I wouldn't be > able to test on all, I decided to submit changes as RFC. > Unless any major issue is found, I will be able to submit > as formal patch by end of this week. > > Following bash script was used to replace all occurences of > the custom API with generic equivalent. After the changes, I > have compile tested the OMAP3EVM only. Will be able to test > changes only by FRI. > > #!/bin/bash > > list=search.lst > > [ -f ${list} ] && \rm -rf ${list} > > grep -l -R "omap_.*_gpio" . > ${list} > > sed -i '/\.sh$/d' ${list} > sed -i '/\.o$/d' ${list} > sed -i '/\.orig$/d' ${list} > sed -i '/\.rej$/d' ${list} > sed -i '/\.git/d' ${list} > sed -i '/patch/d' ${list} > sed -i '/diff/d' ${list} > sed -i '/save/d' ${list} > > for f in `cat ${list}` ; > do > echo "Fixing $f..." > > sed -r -i > 's/omap_request_gpio\s*\((\w+)\)/gpio_request(\1, "")/g' "$f" > sed -r -i 's/omap_free_gpio/gpio_free/g' "$f" > sed -r -i > 's/omap_set_gpio_direction\s*\((\w+),\s*1\)/gpio_direction_inp > ut(\1)/g' "$f" > sed -r -i > 's/omap_set_gpio_direction\s*\((\w+),\s*0\)/gpio_direction_out > put(\1)/g' "$f" > sed -r -i 's/omap_set_gpio_dataout/gpio_set_value/g' "$f" > sed -r -i 's/omap_get_gpio_datain/gpio_get_value/g' "$f" > done > > Sanjeev Premi (3): > omap: gpio: Use generic API > omap: gpio: generic changes after changing API > omap: gpio: Adapt board files to use generic API > > arch/arm/cpu/armv7/omap-common/gpio.c | 74 > +++++++++++++++++++++++--------- > arch/arm/cpu/armv7/omap4/clocks.c | 4 +- > arch/arm/include/asm/arch-omap3/gpio.h | 19 ++++++++ > arch/arm/include/asm/omap_gpio.h | 13 ------ > board/cm_t35/leds.c | 4 +- > board/comelit/dig297/dig297.c | 10 ++-- > board/isee/igep0020/igep0020.c | 10 ++-- > board/logicpd/zoom2/debug_board.c | 8 ++-- > board/logicpd/zoom2/led.c | 36 ++++++++-------- > board/logicpd/zoom2/zoom2.c | 8 ++-- > board/overo/overo.c | 52 +++++++++++----------- > board/ti/beagle/beagle.c | 34 +++++++------- > board/ti/beagle/led.c | 12 +++--- > board/ti/evm/evm.c | 12 +++--- > doc/README.omap3 | 20 ++++---- > 15 files changed, 177 insertions(+), 139 deletions(-) > create mode 100644 arch/arm/include/asm/arch-omap3/gpio.h > > Cc: Sandeep Paulraj <s-paul...@ti.com> > Cc: Igor Grinberg <grinb...@compulab.co.il> > Cc: Luca Ceresoli <luca.ceres...@comelit.it> > Cc: Enric Balletbo i Serra <eballe...@gmail.com> > Cc: Sunil Kumar <sunilsain...@gmail.com> > Cc: Shashi Ranjan <shashiranjanmc...@gmail.com> > Cc: Nishanth Menon <n...@ti.com> > Cc: Steve Sakoman <st...@sakoman.com> > >
Tested working on the OMAP3EVM. [bootlog] U-Boot 2011.06-00396-gfa7a454 (Sep 02 2011 - 10:36:54) OMAP3630/3730-GP ES2.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz OMAP3 EVM board + LPDDR/NAND I2C: ready DRAM: 384 MiB NAND: 512 MiB NAND read from offset 260000 failed -74 *** Warning - readenv() failed, using default environment In: serial Out: serial Err: serial Read back SMSC id 0x92200000 Die ID #374000029ff80000015f02690c020022 Net: smc911x-0Warning: failed to set MAC address Hit any key to stop autoboot: 0 OMAP3_EVM # [/bootlog] I was concerned that 2 failures during boot were due to the changes in this patch set, but foud that they exist on the mainline as well. Details: At this commit, omap3_evm_config fails to build: commit bd061a5214e60c9d1bb24393933323bd1a2dae19 Merge: 98e99e5 fe0ddff Author: Wolfgang Denk <w...@denx.de> Date: Fri Aug 26 15:55:03 2011 +0200 Error is: make[1]: Entering directory `/home/premi/u-boot/board/ti/evm' evm.c:36:32: fatal error: asm/arch/omap_gpio.h: No such file or directory compilation terminated. This temporary patch patch was required to fix the build issue on the master branch: premi # git diff diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c index 30c1c57..4160cdd 100644 --- a/board/ti/evm/evm.c +++ b/board/ti/evm/evm.c @@ -33,7 +33,7 @@ #include <asm/arch/mem.h> #include <asm/arch/mux.h> #include <asm/arch/sys_proto.h> -#include <asm/arch/gpio.h> +#include <asm/omap_gpio.h> #include <i2c.h> #include <asm/mach-types.h> #include "evm.h" premi # git log I do have a comment/query regarding this, in 1/1 of my patchset) [bootlog] U-Boot 2011.06-00393-gbd061a5-dirty (Sep 02 2011 - 11:03:57) OMAP3630/3730-GP ES2.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz OMAP3 EVM board + LPDDR/NAND I2C: ready DRAM: 384 MiB NAND: 512 MiB NAND read from offset 260000 failed -74 *** Warning - readenv() failed, using default environment In: serial Out: serial Err: serial Read back SMSC id 0x92200000 Die ID #374000029ff80000015f02690c020022 Net: smc911x-0Warning: failed to set MAC address Hit any key to stop autoboot: 0 OMAP3_EVM # [/bootlog] ~sanjeev _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot