summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Schulz <quentin.schulz@bootlin.com>2018-08-31 16:15:53 +0200
committerTom Rini <trini@konsulko.com>2018-09-10 21:19:32 -0400
commitd2d908d258b8ffeda3e29bdc4164014730592ae6 (patch)
treeb7e4b327dc5bded5d890fd5eae5fa532113c6603
parent8961c8ad252b8af887439e4e5c6c1bc0c912f2de (diff)
arm: spear: enable GPIO3 and 4 clocks when the GPIO controller driver is built
There are multiple GPIOs that can be used with the same driver depending on the CONFIG_GPIO_BASE defined in the controller driver. GPIO3 and 4 require a clock to be enabled so let's enable them when the driver is built. Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
-rw-r--r--arch/arm/cpu/arm926ejs/spear/cpu.c3
-rw-r--r--arch/arm/include/asm/arch-spear/spr_misc.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/cpu/arm926ejs/spear/cpu.c b/arch/arm/cpu/arm926ejs/spear/cpu.c
index e852a88881..88a40c6036 100644
--- a/arch/arm/cpu/arm926ejs/spear/cpu.c
+++ b/arch/arm/cpu/arm926ejs/spear/cpu.c
@@ -49,6 +49,9 @@ int arch_cpu_init(void)
#if defined(CONFIG_USB_EHCI_SPEAR)
periph1_clken |= PERIPH_USBH1 | PERIPH_USBH2;
#endif
+#if defined(CONFIG_SPEAR_GPIO)
+ periph1_clken |= MISC_GPIO3ENB | MISC_GPIO4ENB;
+#endif
writel(periph1_clken, &misc_p->periph1_clken);
diff --git a/arch/arm/include/asm/arch-spear/spr_misc.h b/arch/arm/include/asm/arch-spear/spr_misc.h
index c906730699..65063fca51 100644
--- a/arch/arm/include/asm/arch-spear/spr_misc.h
+++ b/arch/arm/include/asm/arch-spear/spr_misc.h
@@ -144,6 +144,7 @@ struct misc_regs {
#define MISC_USBDENB 0x01000000
#define MISC_ETHENB 0x00800000
#define MISC_SMIENB 0x00200000
+#define MISC_GPIO3ENB 0x00040000
#define MISC_GPT3ENB 0x00010000
#define MISC_GPIO4ENB 0x00002000
#define MISC_GPT2ENB 0x00000800