From patchwork Mon May 5 13:57:35 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 29649 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-qc0-f197.google.com (mail-qc0-f197.google.com [209.85.216.197]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 2E2FB2055D for ; Mon, 5 May 2014 13:58:32 +0000 (UTC) Received: by mail-qc0-f197.google.com with SMTP id w7sf11298537qcr.4 for ; Mon, 05 May 2014 06:58:31 -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=IZx7QmR25SCyKUzVrLrL4Av3zSPZpypZ2UGV4AKIWhmfT3NGLdo7JrsEk21OScC0p+ BKfgEk/e/ag+dBb9t8HNeX1liXe4NHMhgTe5jvg65tx+v6R8kTCApl59BLJGzGxEsRKA BkH2ccefEL3a4eDz6/IyK+3s8tozQWKpqG1Ew9v2Zk7D1QFN+lgBLrNciIma7OeQWVsu 8yvD1Lc5F+gyEDV3fSKH8XhFd7VEflzRVj/V5bChSVrzqfcqkveMLI+uWDuzjRUz//W4 ipcb/c2D5U+ReXgY/J1uxEal8L72rAUKIIb5PCku8WKBp+Dhlr2we+2U3l+C7ENcswtz KjEQ== X-Gm-Message-State: ALoCoQmpNV9yR438DMb1jerlmpcTiPGFB0cW2bBsLez4IOScQXY2ciuhhLCVtfsw4D+m5qXGzroa X-Received: by 10.58.107.203 with SMTP id he11mr17621484veb.12.1399298311626; Mon, 05 May 2014 06:58:31 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.80.145 with SMTP id c17ls2546863qgd.60.gmail; Mon, 05 May 2014 06:58:31 -0700 (PDT) X-Received: by 10.58.66.195 with SMTP id h3mr356231vet.57.1399298311490; Mon, 05 May 2014 06:58:31 -0700 (PDT) Received: from mail-vc0-f171.google.com (mail-vc0-f171.google.com [209.85.220.171]) by mx.google.com with ESMTPS id r19si1583962vcu.114.2014.05.05.06.58.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 05 May 2014 06:58:31 -0700 (PDT) Received-SPF: none (google.com: patch+caf_=patchwork-forward=linaro.org@linaro.org does not designate permitted sender hosts) client-ip=209.85.220.171; Received: by mail-vc0-f171.google.com with SMTP id lc6so3953467vcb.30 for ; Mon, 05 May 2014 06:58:31 -0700 (PDT) X-Received: by 10.220.50.18 with SMTP id x18mr355409vcf.66.1399298311392; Mon, 05 May 2014 06:58:31 -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.220.221.72 with SMTP id ib8csp141968vcb; Mon, 5 May 2014 06:58:30 -0700 (PDT) X-Received: by 10.182.230.135 with SMTP id sy7mr32279115obc.24.1399298310396; Mon, 05 May 2014 06:58:30 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q5si79063oew.76.2014.05.05.06.58.29; Mon, 05 May 2014 06:58:29 -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 S932808AbaEEN6W (ORCPT + 27 others); Mon, 5 May 2014 09:58:22 -0400 Received: from mail-ig0-f182.google.com ([209.85.213.182]:41599 "EHLO mail-ig0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932732AbaEEN5p (ORCPT ); Mon, 5 May 2014 09:57:45 -0400 Received: by mail-ig0-f182.google.com with SMTP id uy17so3183872igb.15 for ; Mon, 05 May 2014 06:57:44 -0700 (PDT) X-Received: by 10.50.47.12 with SMTP id z12mr23675859igm.37.1399298264778; Mon, 05 May 2014 06:57:44 -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 w4sm27660107igl.7.2014.05.05.06.57.43 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 05 May 2014 06:57:44 -0700 (PDT) From: Alex Elder To: mturquette@linaro.org, mporter@linaro.org, bcm@fixthebug.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/5] clk: bcm281xx: define a bus clock Date: Mon, 5 May 2014 08:57:35 -0500 Message-Id: <1399298256-10965-5-git-send-email-elder@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1399298256-10965-1-git-send-email-elder@linaro.org> References: <1399298256-10965-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=neutral (google.com: patch+caf_=patchwork-forward=linaro.org@linaro.org does not designate permitted sender hosts) 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 */