
On Sat, Jan 25, 2014 at 4:52 PM, Enric Balletbo i Serra eballetbo@gmail.com wrote:
Enable required clocks for GPIO to fix a boot issue introduced by commit f33b9bd3984fb11e1d8566a866adc5957b1e1c9d (arm: omap3: Enable clocks for peripherals only if they are used).
Without this patch the u-boot freezes after the following messages
OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 Ghz IGEPv2 + LPDDR/NAND I2C: ready DRAM: 512 MiB NAND: 512 MiB MMC: OMAP SD/MMC: 0
Diving into the issue, the sequence that produces the u-boot freezes is
setup_net_chip |--> gpio_direction_out |--> _set_gpio_dataout |--> __raw_writel
To avoid this we just need enable the clocks for GPIOs that are used, but it would be interesting implement a mechanism to protect these situations and make sure that the clock is enabled when we request a GPIO.
Signed-off-by: Enric Balletbo i Serra eballetbo@gmail.com
Applied to u-boot-ti/master, thanks!