[U-Boot] [PATCH] OMAP3: igep00x0: Enable required clocks for GPIO that are used.
Enric Balletbo Serra
eballetbo at gmail.com
Wed Feb 19 17:03:45 CET 2014
Hi Tom,
2014-01-25 22:52 GMT+01:00 Enric Balletbo i Serra <eballetbo at gmail.com>:
> 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 at gmail.com>
> ---
> include/configs/omap3_igep00x0.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h
> index 20fbbec..8cc23c1 100644
> --- a/include/configs/omap3_igep00x0.h
> +++ b/include/configs/omap3_igep00x0.h
> @@ -37,6 +37,11 @@
> #define CONFIG_SHOW_BOOT_PROGRESS
> #endif
>
> +/* GPIO banks */
> +#define CONFIG_OMAP3_GPIO_3 /* GPIO64 .. 95 is in GPIO bank 3 */
> +#define CONFIG_OMAP3_GPIO_5 /* GPIO128..159 is in GPIO bank 5 */
> +#define CONFIG_OMAP3_GPIO_6 /* GPIO160..191 is in GPIO bank 6 */
> +
> /* USB */
> #define CONFIG_MUSB_UDC 1
> #define CONFIG_USB_OMAP3 1
> --
> 1.8.3.2
>
Any plan or inconvenient to include this ? It's important as current
support for IGEP boards is broken ...
Thanks,
Enric
More information about the U-Boot
mailing list