Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14f1c3bf authored by Juha Yrjola's avatar Juha Yrjola Committed by Russell King
Browse files

ARM: OMAP: Enable 24xx GPIO autoidling



Enable 24xx GPIO autoidling

Signed-off-by: default avatarJuha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 235b185c
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1082,6 +1082,10 @@ static int __init _omap_gpio_init(void)
		if (bank->method == METHOD_GPIO_24XX) {
			__raw_writel(0x00000000, bank->base + OMAP24XX_GPIO_IRQENABLE1);
			__raw_writel(0xffffffff, bank->base + OMAP24XX_GPIO_IRQSTATUS1);
			__raw_writew(0x0015, bank->base + OMAP24XX_GPIO_SYSCONFIG);

			/* Initialize interface clock ungated, module enabled */
			__raw_writel(0, bank->base + OMAP24XX_GPIO_CTRL);

			gpio_count = 32;
		}
@@ -1104,6 +1108,12 @@ static int __init _omap_gpio_init(void)
	if (cpu_is_omap16xx())
		omap_writel(omap_readl(ULPD_CAM_CLK_CTRL) | 0x04, ULPD_CAM_CLK_CTRL);

#ifdef CONFIG_ARCH_OMAP24XX
	/* Enable autoidle for the OCP interface */
	if (cpu_is_omap24xx())
		omap_writel(1 << 0, 0x48019010);
#endif

	return 0;
}