From patchwork Mon Mar 30 10:49:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Reichl X-Patchwork-Id: 6120101 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 80752BF4A6 for ; Mon, 30 Mar 2015 11:08:17 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7CED92034E for ; Mon, 30 Mar 2015 11:08:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0913D20219 for ; Mon, 30 Mar 2015 11:08:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752830AbbC3LIO (ORCPT ); Mon, 30 Mar 2015 07:08:14 -0400 Received: from wp126.webpack.hosteurope.de ([80.237.132.133]:43284 "EHLO wp126.webpack.hosteurope.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751659AbbC3LIN (ORCPT ); Mon, 30 Mar 2015 07:08:13 -0400 X-Greylist: delayed 1101 seconds by postgrey-1.27 at vger.kernel.org; Mon, 30 Mar 2015 07:08:13 EDT Received: from p5098d998.dip0.t-ipconnect.de ([80.152.217.152] helo=linuxbbg.five-lan.de); authenticated by wp126.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) id 1YcXGN-0004Q9-8r; Mon, 30 Mar 2015 12:49:47 +0200 X-Virus-Scanned: by amavisd-new 2.9.1 using newest ClamAV at linuxbbg.five-lan.de Received: from [192.168.34.101] (reichl-x64.fritz.box [192.168.34.101]) (authenticated bits=0) by linuxbbg.five-lan.de (8.14.9/8.14.5/SuSE Linux 0.8) with ESMTP id t2UAniZw000774 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 30 Mar 2015 12:49:44 +0200 Message-ID: <55192A48.3070201@fivetechno.de> Date: Mon, 30 Mar 2015 12:49:44 +0200 From: Markus Reichl Organization: five technologies GmbH User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: linux-samsung-soc@vger.kernel.org CC: Anand Moon Subject: [PATCH 1/1] ARM: dts: exynos5422-odroidxu3: add 'rtc_src' clock to rtc node X-Forwarded-Message-Id: X-bounce-key: webpack.hosteurope.de; m.reichl@fivetechno.de; 1427713693; 5828ecd4; Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_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 The Exynos5422 SoC has a s3c6410 RTC where the source clock is now a mandatory property. This patch fixes probe failure of s3c-rtc on Odroid-XU3 boards. It is based in v4.0-rc2. Signed-off-by: Markus Reichl Tested-by: Anand Moon --- .../devicetree/bindings/clock/samsung,s2mps11.txt | 67 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3.dts | 12 ++-- include/dt-bindings/clock/samsung,s2mps11.h | 23 ++++++++ 3 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/samsung,s2mps11.txt create mode 100644 include/dt-bindings/clock/samsung,s2mps11.h diff --git a/Documentation/devicetree/bindings/clock/samsung,s2mps11.txt b/Documentation/devicetree/bindings/clock/samsung,s2mps11.txt new file mode 100644 index 0000000..46c61ce --- /dev/null +++ b/Documentation/devicetree/bindings/clock/samsung,s2mps11.txt @@ -0,0 +1,67 @@ +Binding for Samsung S2MPS11 32k clock generator block + +This is a part of device tree bindings of S2MPS11 multi-function device. +More information can be found in bindings/mfd/s2mps11.txt file. + +The S2MPS11 contains three 32.768khz clock outputs that can be controlled +(gated/ungated) over I2C. + +Following properties should be present in main device node of the MFD chip. + +Required properties: +- #clock-cells: From common clock binding; shall be set to 1. + +Optional properties: +- clock-output-names: From common clock binding. + +Each clock is assigned an identifier and client nodes can use this identifier +to specify the clock which they consume. Following indices are allowed: + - 0: 32khz_ap clock, + - 1: 32khz_cp clock. + - 2: 32khz_bt clock + +Clocks are defined as preprocessor macros in dt-bindings/clock/samsung,s2mps11.h +header and can be used in device tree sources. + +Example: Node of the MFD chip + + s2mps11: s2mps11@66 { + compatible = "samsung,s2mps11"; + interrupt-parent = <&wakeup_eint>; + interrupts = <26 0>; + reg = <0x66>; + #clock-cells = <1>; + + /* ... */ + }; + +Example: Clock consumer node + + foo@0 { + compatible = "bar,foo"; + /* ... */ + clock-names = "my-clock"; + clocks = <&s2mps11 S2MPS11_CLK_32K_AP>; + }; + +Presently (19.3.2015) the above said is not correct yet. +Until s2mps11 mfd driver is updated you still need to specify like that: + + s2mps11: s2mps11@66 { + compatible = "samsung,s2mps11-pmic"; + reg = <0x66>; + s2mps11_osc: clocks { + #clock-cells = <1>; + clock-output-names = "s2mps11_ap", + "s2mps11_cp", "s2mps11_bt"; + }; + /* ... */ + } + + foo@0 { + compatible = "bar,foo"; + /* ... */ + clock-names = "my-clock"; + clocks = <&s2mps11_osc S2MPS11_CLK_AP>; + +}; diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts index a519c86..7f1bb31 100644 --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts @@ -11,6 +11,7 @@ */ /dts-v1/; +#include #include "exynos5800.dtsi" / { @@ -44,7 +45,7 @@ hsi2c_4: i2c@12CA0000 { status = "okay"; - s2mps11_pmic@66 { + s2mps11: s2mps11_pmic@66 { compatible = "samsung,s2mps11-pmic"; reg = <0x66>; s2mps11,buck2-ramp-delay = <12>; @@ -275,9 +276,6 @@ }; }; - rtc@101E0000 { - status = "okay"; - }; }; &hdmi { @@ -369,3 +367,9 @@ shunt-resistor = <10000>; }; }; + +&rtc { + status = "okay"; + clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>; + clock-names = "rtc", "rtc_src"; +}; diff --git a/include/dt-bindings/clock/samsung,s2mps11.h b/include/dt-bindings/clock/samsung,s2mps11.h new file mode 100644 index 0000000..b903d7d --- /dev/null +++ b/include/dt-bindings/clock/samsung,s2mps11.h @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2015 Markus Reichl + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Device Tree binding constants clocks for the Samsung S2MPS11 PMIC. + */ + +#ifndef _DT_BINDINGS_CLOCK_SAMSUNG_S2MPS11_CLOCK_H +#define _DT_BINDINGS_CLOCK_SAMSUNG_S2MPS11_CLOCK_H + +/* Fixed rate clocks. */ + +#define S2MPS11_CLK_AP 0 +#define S2MPS11_CLK_CP 1 +#define S2MPS11_CLK_BT 2 + +/* Total number of clocks. */ +#define S2MPS11_CLKS_NUM (S2MPS11_CLK_BT + 1) + +#endif /* _DT_BINDINGS_CLOCK_SAMSUNG_S2MPS11_CLOCK_H */