From patchwork Mon Jun 18 16:35:37 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 9403 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 9FF1623EB4 for ; Mon, 18 Jun 2012 16:35:58 +0000 (UTC) Received: from mail-gg0-f180.google.com (mail-gg0-f180.google.com [209.85.161.180]) by fiordland.canonical.com (Postfix) with ESMTP id 6F409A184A6 for ; Mon, 18 Jun 2012 16:35:58 +0000 (UTC) Received: by mail-gg0-f180.google.com with SMTP id f1so4171878ggn.11 for ; Mon, 18 Jun 2012 09:35:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to:cc :subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=I9by1XGeOi/3BXMo5KEBCWer0XQOm8/LZaleu9U1Cdo=; b=axXVjwwcqwKQIlvE1m973rRdnH1fQRmZXLWHYUMRQ9M8S1OvIPZssYc0ZcctSOReOX USY2fPY19IWJcLf9vvd6tPxQSFdEU4EkoWMCgdxvPEZInyT+KXk2ddRLdG3IEPWxd8Cl yB5hI4UR4u2QOLcmPYFMWKvatpUPuLoPp6zZxeqFthp4AzhBhNbKyWE+ObMuVzaNzgJz 06t1LuOMV5YNQxEak6vwDkbrnDeEaYJFXPjswvzEJzuT1rC9nEZ+t7Axaofvwn0/kUfr GXgpVsiMEtnfUA47NLMbXyldlAF+anK1yS9C0THa+7aPiweDgaf2i6sMLaFqtKaCl1Ri rT7g== Received: by 10.42.210.193 with SMTP id gl1mr5573847icb.57.1340037358080; Mon, 18 Jun 2012 09:35:58 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.231.24.148 with SMTP id v20csp77787ibb; Mon, 18 Jun 2012 09:35:57 -0700 (PDT) Received: by 10.68.197.136 with SMTP id iu8mr53318504pbc.111.1340037356640; Mon, 18 Jun 2012 09:35:56 -0700 (PDT) Received: from mail-pb0-f50.google.com (mail-pb0-f50.google.com [209.85.160.50]) by mx.google.com with ESMTPS id rn8si20526361pbc.337.2012.06.18.09.35.56 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Jun 2012 09:35:56 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.160.50 is neither permitted nor denied by best guess record for domain of mathieu.poirier@linaro.org) client-ip=209.85.160.50; Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.160.50 is neither permitted nor denied by best guess record for domain of mathieu.poirier@linaro.org) smtp.mail=mathieu.poirier@linaro.org Received: by mail-pb0-f50.google.com with SMTP id rr4so9735028pbb.37 for ; Mon, 18 Jun 2012 09:35:56 -0700 (PDT) Received: by 10.68.195.198 with SMTP id ig6mr54553100pbc.92.1340037356409; Mon, 18 Jun 2012 09:35:56 -0700 (PDT) Received: from localhost.localdomain (S0106002369de4dac.cg.shawcable.net. [70.73.24.112]) by mx.google.com with ESMTPS id os9sm24389049pbb.62.2012.06.18.09.35.55 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Jun 2012 09:35:55 -0700 (PDT) From: mathieu.poirier@linaro.org To: u-boot@lists.denx.de Cc: patches@linaro.org, mathieu.poirier@linaro.org, lee.jones@linaro.org Subject: [PATCH 04/11] snowball: Adding CPU clock initialisation Date: Mon, 18 Jun 2012 10:35:37 -0600 Message-Id: <1340037344-2497-5-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1340037344-2497-1-git-send-email-mathieu.poirier@linaro.org> References: <1340037344-2497-1-git-send-email-mathieu.poirier@linaro.org> X-Gm-Message-State: ALoCoQlZnl44VzFMdMbFz3pqPZOja146ZmAf1+SDLD/dWkvxOT0WscMuSDv5Np43KIOCwBsyX8Vm From: "Mathieu J. Poirier" Signed-off-by: Mathieu Poirier Signed-off-by: John Rigby --- arch/arm/cpu/armv7/u8500/clock.c | 34 +++++++++++++++++++++++++++++++ arch/arm/cpu/armv7/u8500/cpu.c | 2 + arch/arm/include/asm/arch-u8500/clock.h | 5 +--- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/u8500/clock.c b/arch/arm/cpu/armv7/u8500/clock.c index 9e3b873..fcfd61a 100644 --- a/arch/arm/cpu/armv7/u8500/clock.c +++ b/arch/arm/cpu/armv7/u8500/clock.c @@ -54,3 +54,37 @@ void u8500_clock_enable(int periph, int cluster, int kern) if (cluster != -1) writel(1 << cluster, &clkrst->pcken); } + +void db8500_clocks_init(void) +{ + /* + * Enable all clocks. This is u-boot, we can enable it all. There is no + * powersave in u-boot. + */ + + u8500_clock_enable(1, 9, -1); /* GPIO0 */ + u8500_clock_enable(2, 11, -1);/* GPIO1 */ + u8500_clock_enable(3, 8, -1); /* GPIO2 */ + u8500_clock_enable(5, 1, -1); /* GPIO3 */ + u8500_clock_enable(3, 6, 6); /* UART2 */ + u8500_clock_enable(3, 3, 3); /* I2C0 */ + u8500_clock_enable(1, 5, 5); /* SDI0 */ + u8500_clock_enable(2, 4, 2); /* SDI4 */ + u8500_clock_enable(6, 6, -1); /* MTU0 */ + u8500_clock_enable(3, 4, 4); /* SDI2 */ + + /* + * Enabling clocks for all devices which are AMBA devices in the + * kernel. Otherwise they will not get probe()'d because the + * peripheral ID register will not be powered. + */ + + /* XXX: some of these differ between ED/V1 */ + + u8500_clock_enable(1, 1, 1); /* UART1 */ + u8500_clock_enable(1, 0, 0); /* UART0 */ + u8500_clock_enable(3, 2, 2); /* SSP1 */ + u8500_clock_enable(3, 1, 1); /* SSP0 */ + u8500_clock_enable(2, 8, -1); /* SPI0 */ + u8500_clock_enable(2, 5, 3); /* MSP2 */ +} diff --git a/arch/arm/cpu/armv7/u8500/cpu.c b/arch/arm/cpu/armv7/u8500/cpu.c index 04f4b19..fece201 100644 --- a/arch/arm/cpu/armv7/u8500/cpu.c +++ b/arch/arm/cpu/armv7/u8500/cpu.c @@ -27,6 +27,7 @@ #include #include #include +#include #ifdef CONFIG_ARCH_CPU_INIT /* @@ -35,6 +36,7 @@ int arch_cpu_init(void) { db8500_prcmu_init(); + db8500_clocks_init(); return 0; } diff --git a/arch/arm/include/asm/arch-u8500/clock.h b/arch/arm/include/asm/arch-u8500/clock.h index b00ab0d..2a14784 100644 --- a/arch/arm/include/asm/arch-u8500/clock.h +++ b/arch/arm/include/asm/arch-u8500/clock.h @@ -64,9 +64,6 @@ struct prcmu { extern void u8500_clock_enable(int periph, int kern, int cluster); -static inline void u8500_prcmu_enable(unsigned int *reg) -{ - writel(readl(reg) | (1 << 8), reg); -} +void db8500_clocks_init(void); #endif /* __ASM_ARCH_CLOCK */