From patchwork Mon Aug 26 17:21:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Figa X-Patchwork-Id: 2849728 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 76D769F2F4 for ; Mon, 26 Aug 2013 17:22:00 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 44144201B5 for ; Mon, 26 Aug 2013 17:21:59 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E4E352018A for ; Mon, 26 Aug 2013 17:21:57 +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 1VE0UE-0000fh-V8; Mon, 26 Aug 2013 17:21:55 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VE0UC-0005CV-IA; Mon, 26 Aug 2013 17:21:52 +0000 Received: from mailout2.w1.samsung.com ([210.118.77.12]) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VE0U8-0005C7-7o for linux-arm-kernel@lists.infradead.org; Mon, 26 Aug 2013 17:21:50 +0000 Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MS500LO6EVL6FD0@mailout2.w1.samsung.com> for linux-arm-kernel@lists.infradead.org; Mon, 26 Aug 2013 18:21:21 +0100 (BST) X-AuditID: cbfec7f4-b7f0a6d000007b1b-aa-521b8e90915a Received: from eusync1.samsung.com ( [203.254.199.211]) by eucpsbgm1.samsung.com (EUCPMTA) with SMTP id 93.74.31515.09E8B125; Mon, 26 Aug 2013 18:21:20 +0100 (BST) Received: from amdc1227.localnet ([106.116.147.199]) by eusync1.samsung.com (Oracle Communications Messaging Server 7u4-23.01 (7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0MS500CGDEVK19A0@eusync1.samsung.com>; Mon, 26 Aug 2013 18:21:20 +0100 (BST) From: Tomasz Figa To: linux-samsung-soc@vger.kernel.org Subject: [PATCH v2 1/8] Documentation: devicetree: Update Exynos MCT bindings description Date: Mon, 26 Aug 2013 19:21:18 +0200 Message-id: <17222799.7ejNIvMnNi@amdc1227> Organization: Samsung Poland R&D Center User-Agent: KMail/4.11 (Linux/3.10.9-gentoo; KDE/4.11.0; x86_64; ; ) In-reply-to: <1377006768-23174-2-git-send-email-t.figa@samsung.com> References: <1377006768-23174-1-git-send-email-t.figa@samsung.com> <1377006768-23174-2-git-send-email-t.figa@samsung.com> MIME-version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphkeLIzCtJLcpLzFFi42I5/e/4Zd0JfdJBBlePGlv8nXSM3WL+kXOs Fv1vFrJavOntYLHoXXCVzeJs0xt2i02Pr7FazDi/j8li6fWLTBanrn9ms5gwfS2LxeEVB5gs Dr9pZ7V4dbCNxeLYjCWMDvwea+atYfT4/WsSo8eCz1fYPV5PnsDocbmvl8njzrU9bB6bl9R7 XDnRxOrRt2UVo8fnTXIeG+eGBnBHcdmkpOZklqUW6dslcGVMaprKWDBBvuLO8iamBsaJEl2M nBwSAiYSy/ecZIOwxSQu3FsPZHNxCAksZZS423kEyulikrj78SYrSBWbgJrE54ZHYB0iAqoS n9sWsIPYzAIHmSUWX4sDsYUFoiXePPvB0sXIwcECVDP9Uy1ImFdAS+LxtK9gY/gF1CXebXvK BFIiKuAi0fc3EyTMKeAscXbifrASIYFqibvrPjFDtApK/Jh8jwVik7zEvv1TWSFsLYn1O48z TWAUnIWkbBaSsllIyhYwMq9iFE0tTS4oTkrPNdQrTswtLs1L10vOz93ECInBLzsYFx+zOsQo wMGoxMP7oEU6SIg1say4MvcQowQHs5IIL0cqUIg3JbGyKrUoP76oNCe1+BAjEwenVAPjRvsF ds8OL/214tDPTRVbGzuM3UqWR/8U+NnhcHXvakfWZRlb96pIT/12JOipo6xN+5dbB+JNPWy/ XPUyt1uVuLL50pqbX+wnJZjfmNxf+n+aSO2SNWL3KuwDc0pdF2e7NEyybJDauSMwvXDx6RVM 98L2cu11XZLdsGhjpM7WK50CbAlmq6VslFiKMxINtZiLihMBKvpVMJ8CAAA= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130826_132148_401603_C1B67CD2 X-CRM114-Status: GOOD ( 10.58 ) X-Spam-Score: -9.3 (---------) Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, Kukjin Kim , ian.campbell@citrix.com, pawel.moll@arm.com, swarren@wwwdotorg.org, Arnd Bergmann , rob.herring@calxeda.com, Kyungmin Park , Thomas Abraham , Sylwester Nawrocki , galak@codeaurora.org, Olof Johansson , linux-arm-kernel@lists.infradead.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=-6.6 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 This patch updates description of device tree bindings for Exynos MCT (multicore timers). Namely: - added note about simplified specification of local timer interrupts, when using single per-processor interrupt for all local timers, - changed first example that was incorrectly suggesting that global timer interrupts are optional, - simplified example interrupt map, - added example showing simplified local timer interrupt specification. Signed-off-by: Tomasz Figa --- .../bindings/timer/samsung,exynos4210-mct.txt | 54 +++++++++++++++------- 1 file changed, 37 insertions(+), 17 deletions(-) Changes since v1: - corrected typo reported by Stephen Warren, - edited last example to use separate properties to represent possible alternatives, as suggested by Stephen Warren. diff --git a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt index b5a86d2..167d5da 100644 --- a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt +++ b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt @@ -31,38 +31,58 @@ Required properties: 7: .. i: Local Timer Interrupt n -Example 1: In this example, the system uses only the first global timer - interrupt generated by MCT and the remaining three global timer - interrupts are unused. Two local timer interrupts have been - specified. + For MCT block that uses a per-processor interrupt for local timers, such + as ones compatible with "samsung,exynos4412-mct", only one local timer + interrupt might be specified, meaning that all local timers use the same + per processor interrupt. + +Example 1: In this example, the IP contains two local timers, using separate + interrupts, so two local timer interrupts have been specified, + in addition to four global timer interrupts. mct@10050000 { compatible = "samsung,exynos4210-mct"; reg = <0x10050000 0x800>; - interrupts = <0 57 0>, <0 0 0>, <0 0 0>, <0 0 0>, + interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>, <0 42 0>, <0 48 0>; }; -Example 2: In this example, the MCT global and local timer interrupts are - connected to two separate interrupt controllers. Hence, an - interrupt-map is created to map the interrupts to the respective - interrupt controllers. +Example 2: In this example, the timer interrupts are connected to two separate + interrupt controllers. Hence, an interrupt-map is created to map + the interrupts to the respective interrupt controllers. mct@101C0000 { compatible = "samsung,exynos4210-mct"; reg = <0x101C0000 0x800>; - interrupt-controller; - #interrups-cells = <2>; interrupt-parent = <&mct_map>; - interrupts = <0 0>, <1 0>, <2 0>, <3 0>, - <4 0>, <5 0>; + interrupts = <0>, <1>, <2>, <3>, <4>, <5>; mct_map: mct-map { - #interrupt-cells = <2>; + #interrupt-cells = <1>; #address-cells = <0>; #size-cells = <0>; - interrupt-map = <0x0 0 &combiner 23 3>, - <0x4 0 &gic 0 120 0>, - <0x5 0 &gic 0 121 0>; + interrupt-map = <0 &gic 0 57 0>, + <1 &gic 0 69 0>, + <2 &combiner 12 6>, + <3 &combiner 12 7>, + <4 &gic 0 42 0>, + <5 &gic 0 48 0>; }; }; + +Example 3: In this example, the IP contains four local timers, but using + a per-processor interrupt to handle them. Either all the local + timer interrupts can be specified, with the same interrupt specifier + value or just the first one. + + mct@10050000 { + compatible = "samsung,exynos4412-mct"; + reg = <0x10050000 0x800>; + + /* Both ways are possible in this case. Either: */ + interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>, + <0 42 0>; + /* or: */ + interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>, + <0 42 0>, <0 42 0>, <0 42 0>, <0 42 0>; + };