From patchwork Wed Dec 4 15:33:16 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 3282991 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 1B0A29F37A for ; Wed, 4 Dec 2013 15:34:31 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C39AD204AF for ; Wed, 4 Dec 2013 15:34:29 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6C7F620494 for ; Wed, 4 Dec 2013 15:34:28 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VoESa-0008CV-FX; Wed, 04 Dec 2013 15:33:56 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VoEST-0007nb-8w; Wed, 04 Dec 2013 15:33:49 +0000 Received: from mail-ie0-f174.google.com ([209.85.223.174]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VoESI-0007kp-Ua for linux-arm-kernel@lists.infradead.org; Wed, 04 Dec 2013 15:33:41 +0000 Received: by mail-ie0-f174.google.com with SMTP id at1so26365870iec.5 for ; Wed, 04 Dec 2013 07:33:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=Z0gdaSE1s1XCPXbLzjcHzic2V/yiIIBybIuWZ/SplEU=; b=gkmVumis5CP4CT5AfyzKzLDBmKmNp/dU8TzyFjT5+KUQvoNev/iwKJkvOPkgXEuuZO CTOuRopUucM2lg+dbdx/HgMvDbv3z8PxAz1bLQL1BUYs3cW4JeLhLiOpzWnImczGDH+T A90cR0G8U9VEgI15CX/Nvz2UzAHGvg8b8nxy727mhupvM5v+HAUF39spDkBaf6buIcUT 4JyarVRlxBYZFq4dKi6Gte4GvJBPGdpDE088j7j5IYufWv5lqsws6L95INyr0pnKjlkh Z0all87Wt4ZPcQL3y4bLeUrXFSz9b7XzcgJpbjRRuwgkCf+A0q+hY3OW/6ZLgpLn7oBT ZEiw== X-Gm-Message-State: ALoCoQnKS5Xd58NvxbmkSRRDK22ISW1CnFfv1jOv3tlv+/MI9bTj/k7Rk6DT/SgDPGT1+1Lh7vsb X-Received: by 10.50.30.229 with SMTP id v5mr1552387igh.27.1386171197903; Wed, 04 Dec 2013 07:33:17 -0800 (PST) Received: from [172.22.22.4] (c-71-195-31-37.hsd1.mn.comcast.net. [71.195.31.37]) by mx.google.com with ESMTPSA id s4sm4714821ige.0.2013.12.04.07.33.15 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 07:33:17 -0800 (PST) Message-ID: <529F4B3C.4020608@linaro.org> Date: Wed, 04 Dec 2013 09:33:16 -0600 From: Alex Elder User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: Christian Daudt , Ian Campbell , Mark Rutland , Pawel Moll , Rob Herring , Rob Landley , Russell King , Stephen Warren , Mike Turquette Subject: [PATCH v2 1/3] clk: bcm281xx: define kona clock binding References: <529F4B0F.2020801@linaro.org> In-Reply-To: <529F4B0F.2020801@linaro.org> X-Enigmail-Version: 1.5.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20131204_103339_106426_5FA58C60 X-CRM114-Status: GOOD ( 12.25 ) X-Spam-Score: -2.6 (--) Cc: "devicetree@vger.kernel.org" , "bcm-kernel-feedback-list@broadcom.com" , LKML , "linux-arm-kernel@lists.infradead.org" , "linux-doc@vger.kernel.org" X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Document the device tree binding for Broadcom Kona architecture clock control units and clocks. Kona device nodes are represented with compatible strings having "bcm11351" in their name. Kona clocks are managed by "clock control units" (CCUs). Each CCU has a device tree node, and within that node are defined the names of the clocks provided by the CCU. The BCM281xx family of SoCs use Kona CCUs and clocks. Signed-off-by: Alex Elder Reviewed-by: Matt Porter Reviewed-by: Tim Kryger --- v2: - list all CCU compatible strings explicitly - reworded a few things, and deleted some text - CCUs and clocks are now defined at the root level - added reference to header file that defines specifiers .../devicetree/bindings/clock/bcm-kona-clock.txt | 93 ++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/bcm-kona-clock.txt diff --git a/Documentation/devicetree/bindings/clock/bcm-kona-clock.txt b/Documentation/devicetree/bindings/clock/bcm-kona-clock.txt new file mode 100644 index 0000000..56d1f49 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/bcm-kona-clock.txt @@ -0,0 +1,93 @@ +Broadcom Kona Family Clocks + +This binding is associated with Broadcom SoCs having "Kona" style +clock control units (CCUs). A CCU is a clock provider that manages +a set of clock signals. Each CCU is represented by a node in the +device tree. + +This binding uses the common clock binding: + Documentation/devicetree/bindings/clock/clock-bindings.txt + +Required properties: +- compatible + Shall have one of the following values: + - "brcm,bcm11351-root-ccu" + - "brcm,bcm11351-aon-ccu" + - "brcm,bcm11351-hub-ccu" + - "brcm,bcm11351-master-ccu" + - "brcm,bcm11351-slave-ccu" +- reg + Shall define the base and range of the address space + containing clock control registers +- #clock-cells + Shall have value <1>. The permitted clock-specifier values + are defined below. +- clock-output-names + Shall be an ordered list of strings defining the names of + the clocks provided by the CCU. + + +BCM281XX family SoCs use Kona CCUs. The following table defines +the set of CCUs and clock specifiers for BCM281XX clocks. When +a clock consumer references a clocks, its symbolic specifier +(rather than its numeric index value) should be used. These +specifiers are defined in "include/dt-bindings/clock/bcm281xx.h". + + CCU Clock Type Index Specifier + --- ----- ---- ----- --------- + root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M + + aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER + aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC + aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR + + hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M + + master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1 + master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2 + master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3 + master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4 + master dmac peri 4 BCM281XX_MASTER_CCU_DMAC + master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC + master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M + master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M + + slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB + slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2 + slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3 + slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4 + slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0 + slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2 + slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1 + slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2 + slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3 + slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM + + +Device tree example: + + slave_ccu: slave_ccu { + compatible = "brcm,bcm11351-slave-ccu"; + reg = <0x3e011000 0x0f00>; + #clock-cells = <1>; + clock-output-names = "uartb", + "uartb2", + "uartb3", + "uartb4"; + }; + + ref_crystal_clk: ref_crystal { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <26000000>; + }; + + uart@3e002000 { + compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart"; + status = "disabled"; + reg = <0x3e002000 0x1000>; + clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>; + interrupts = ; + reg-shift = <2>; + reg-io-width = <4>; + };