From patchwork Mon Jun 16 13:40:06 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 31965 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-qa0-f71.google.com (mail-qa0-f71.google.com [209.85.216.71]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 02B69206A0 for ; Mon, 16 Jun 2014 13:40:35 +0000 (UTC) Received: by mail-qa0-f71.google.com with SMTP id m5sf15395861qaj.2 for ; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:in-reply-to:references:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe; bh=PQEivl22Z7drNKBFJWAuxrcKlaVl6KqWmQNPs974oxw=; b=dy7RQmZJTcEUjLXNbEiwfunUch36uLGK8fuY9s9wdZBJl0rZ0PvnC8LwXGs78NirIj fALZHSOZl8qMZiumrL9mdNbzjgr4FaiaUzIY0nB7cMiBkBecBpTy7EVtK5Zm2ePOF/7L 62PIWLm3lnGIuAtOzn6Dfh1uOVkbOkz10JmAPGSAz59G+CGYbK0v677U9iWvIVOpR6w6 4S1AAcmAZKHW4OWW8fxQ42Gf4Z5OzUh/S5muKvKEyBHocpIj18Av1Q2AJZqIRRe51pYu AAJd65i/6GP/YiByYku8OvpzKxyxJ2lWhbLH8HzxfKE9jzC84zRWgJ2lJkEVxGkoMxdg TjMQ== X-Gm-Message-State: ALoCoQlfewygmYPO5zesgjxtPAMJIjFE63xTXAVGaeyi8pdCr7EWHcBmrsYDWx1G7/T/VKl0NEGu X-Received: by 10.58.200.162 with SMTP id jt2mr268986vec.17.1402926034854; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.24.42 with SMTP id 39ls4237675qgq.26.gmail; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) X-Received: by 10.58.160.164 with SMTP id xl4mr974559veb.38.1402926034754; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) Received: from mail-vc0-f174.google.com (mail-vc0-f174.google.com [209.85.220.174]) by mx.google.com with ESMTPS id yf17si4109862vdb.9.2014.06.16.06.40.34 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 16 Jun 2014 06:40:34 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.174 as permitted sender) client-ip=209.85.220.174; Received: by mail-vc0-f174.google.com with SMTP id hy4so4954651vcb.33 for ; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) X-Received: by 10.220.15.8 with SMTP id i8mr606379vca.45.1402926034606; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.54.6 with SMTP id vs6csp135876vcb; Mon, 16 Jun 2014 06:40:34 -0700 (PDT) X-Received: by 10.68.163.100 with SMTP id yh4mr24178374pbb.122.1402926033763; Mon, 16 Jun 2014 06:40:33 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id tq1si10972807pbc.162.2014.06.16.06.40.33; Mon, 16 Jun 2014 06:40:33 -0700 (PDT) Received-SPF: none (google.com: linux-kernel-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753980AbaFPNka (ORCPT + 7 others); Mon, 16 Jun 2014 09:40:30 -0400 Received: from mail-ie0-f169.google.com ([209.85.223.169]:49788 "EHLO mail-ie0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753693AbaFPNj4 (ORCPT ); Mon, 16 Jun 2014 09:39:56 -0400 Received: by mail-ie0-f169.google.com with SMTP id at1so5019798iec.14 for ; Mon, 16 Jun 2014 06:39:55 -0700 (PDT) X-Received: by 10.43.125.199 with SMTP id gt7mr3075842icc.70.1402925995838; Mon, 16 Jun 2014 06:39:55 -0700 (PDT) Received: from localhost.localdomain (c-71-195-31-37.hsd1.mn.comcast.net. [71.195.31.37]) by mx.google.com with ESMTPSA id k20sm20775727igf.5.2014.06.16.06.39.54 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 16 Jun 2014 06:39:55 -0700 (PDT) From: Alex Elder To: mturquette@linaro.org, mporter@linaro.org, bcm@fixthebug.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 6/7] clk: bcm281xx: define a bus clock Date: Mon, 16 Jun 2014 08:40:06 -0500 Message-Id: <1402926007-4436-7-git-send-email-elder@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1402926007-4436-1-git-send-email-elder@linaro.org> References: <1402926007-4436-1-git-send-email-elder@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: elder@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.174 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Define the bus clock "bsc3_apb". This bus clock has to be managed using the CCU policy mechanism, so add the definitions required for that to the clock and its CCU. This one bus clock in particular is defined because it is needed by peripheral clock "bsc3". Our boot loader does not properly activate "bsc3_apb", and as a result, "bsc3" isn't able to function properly. With "bsc3_apb" specified as a prerequisite clock for "bsc3", the latter works correctly. For now only this one bus clock is defined, because it allows correct operation of "bsc3". Others can be added later as needed (and this patch serves to show how that's done). Signed-off-by: Alex Elder --- drivers/clk/bcm/clk-bcm281xx.c | 13 ++++++++++++- include/dt-bindings/clock/bcm281xx.h | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm281xx.c b/drivers/clk/bcm/clk-bcm281xx.c index 502a487..b937fc9 100644 --- a/drivers/clk/bcm/clk-bcm281xx.c +++ b/drivers/clk/bcm/clk-bcm281xx.c @@ -309,8 +309,17 @@ static struct peri_clk_data pwm_data = { .trig = TRIGGER(0x0afc, 15), }; +static struct bus_clk_data bsc3_apb_data = { + .policy = POLICY(0x0048, 4), + .gate = HW_SW_GATE(0x0484, 16, 0, 1), +}; + static struct ccu_data slave_ccu_data = { BCM281XX_CCU_COMMON(slave, SLAVE), + .policy = { + .enable = CCU_LVM_EN(0x0034, 0), + .control = CCU_POLICY_CTL(0x000c, 0, 1, 2), + }, .kona_clks = { [BCM281XX_SLAVE_CCU_UARTB] = KONA_CLK(slave, uartb, peri), @@ -329,9 +338,11 @@ static struct ccu_data slave_ccu_data = { [BCM281XX_SLAVE_CCU_BSC2] = KONA_CLK(slave, bsc2, peri), [BCM281XX_SLAVE_CCU_BSC3] = - KONA_CLK(slave, bsc3, peri), + KONA_CLK_PREREQ(slave, bsc3, peri, bsc3_apb), [BCM281XX_SLAVE_CCU_PWM] = KONA_CLK(slave, pwm, peri), + [BCM281XX_SLAVE_CCU_BSC3_APB] = + KONA_CLK(slave, bsc3_apb, bus), [BCM281XX_SLAVE_CCU_CLOCK_COUNT] = LAST_KONA_CLK, }, }; diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clock/bcm281xx.h index a763460..99f4aad 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -72,6 +72,7 @@ #define BCM281XX_SLAVE_CCU_BSC2 7 #define BCM281XX_SLAVE_CCU_BSC3 8 #define BCM281XX_SLAVE_CCU_PWM 9 -#define BCM281XX_SLAVE_CCU_CLOCK_COUNT 10 +#define BCM281XX_SLAVE_CCU_BSC3_APB 10 +#define BCM281XX_SLAVE_CCU_CLOCK_COUNT 11 #endif /* _CLOCK_BCM281XX_H */