From patchwork Thu Dec 12 16:12:13 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Figa X-Patchwork-Id: 300700 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 952EE2C00A1 for ; Fri, 13 Dec 2013 03:12:41 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751872Ab3LLQMk (ORCPT ); Thu, 12 Dec 2013 11:12:40 -0500 Received: from mailout3.w1.samsung.com ([210.118.77.13]:51828 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751711Ab3LLQMj (ORCPT ); Thu, 12 Dec 2013 11:12:39 -0500 Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MXP007K5BP17U60@mailout3.w1.samsung.com>; Thu, 12 Dec 2013 16:12:37 +0000 (GMT) X-AuditID: cbfec7f4-b7f966d0000003d9-10-52a9e075e4d6 Received: from eusync2.samsung.com ( [203.254.199.212]) by eucpsbgm1.samsung.com (EUCPMTA) with SMTP id AA.5D.00985.570E9A25; Thu, 12 Dec 2013 16:12:37 +0000 (GMT) Received: from amdc1227.digital.local ([106.116.147.199]) by eusync2.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0MXP00EG0BOXTT30@eusync2.samsung.com>; Thu, 12 Dec 2013 16:12:37 +0000 (GMT) From: Tomasz Figa To: linux-arm-kernel@lists.infradead.org Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Kyungmin Park , Thomas Abraham , Sylwester Nawrocki , Arnd Bergmann , Olof Johansson , Stephen Warren , Kukjin Kim , Tomasz Figa Subject: [PATCH v3 1/6] Documentation: devicetree: Update Exynos MCT bindings description Date: Thu, 12 Dec 2013 17:12:13 +0100 Message-id: <1386864738-19829-2-git-send-email-t.figa@samsung.com> X-Mailer: git-send-email 1.8.4.3 In-reply-to: <1386864738-19829-1-git-send-email-t.figa@samsung.com> References: <1386864738-19829-1-git-send-email-t.figa@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprALMWRmVeSWpSXmKPExsVy+t/xK7qlD1YGGdy7Jm3xd9Ixdov5R86x WvQuuMpmcbbpDbvFpsfXWC1mnN/HZHHq+mc2i8Nv2lktXh1sY7FYP+M1i8WxGUsYHbg9fv+a xOhx59oeNo/NS+o9rpxoYvXo27KK0ePzJjmPjXNDA9ijuGxSUnMyy1KL9O0SuDI+rexlLdgn V7F6U3ED413xLkYODgkBE4lV3/i6GDmBTDGJC/fWs3UxcnEICSxllDje8Zsdwuljkvg+4w8L SBWbgJrE54ZHbCC2iICGxJSux2BFzAJ/mSRW/jgJViQsEC3xbcccRhCbRUBV4uyPs8wgNq+A k8S/W+tYINYpSHSu+c8IcgWngLPEr+32IGEhoJLHd98zTWDkXcDIsIpRNLU0uaA4KT3XUK84 Mbe4NC9dLzk/dxMjJBS/7GBcfMzqEKMAB6MSD++LgyuChFgTy4orcw8xSnAwK4nw3tuyMkiI NyWxsiq1KD++qDQntfgQIxMHp1QDY5Xhd6vAmhy28GPnbp5d8e1TgPuBRW1S6xx/MZy/Vfc6 2ipcWuJQnuu+F4+/i5z8sv8U45ZV14R1TuX/zf++tE5T9kFyncTLD1eT5H8I/XxvcZbJxeC2 5lWbYx8XNMvJ1r6r7deZ/DDN6LngAstnn/QC5ipva7onKTGL++dqx4rnvgcdv4hn3VZiKc5I NNRiLipOBADUyIwYIwIAAA== Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org 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 Acked-by: Kyungmin Park Reviewed-by: Sylwester Nawrocki --- .../bindings/timer/samsung,exynos4210-mct.txt | 54 +++++++++++++++------- 1 file changed, 37 insertions(+), 17 deletions(-) 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>; + };