From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965036AbcBQCNi (ORCPT ); Tue, 16 Feb 2016 21:13:38 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:40701 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964967AbcBQCNg (ORCPT ); Tue, 16 Feb 2016 21:13:36 -0500 X-AuditID: cbfec7f5-f79b16d000005389-69-56c3d74c27f9 Subject: Re: [PATCH v2] ARM: dts: Move syscon reboot/poweroff to common dtsi for Exynos To: Javier Martinez Canillas , linux-kernel@vger.kernel.org References: <1455636348-14277-1-git-send-email-javier@osg.samsung.com> Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Andi Shyti , Alim Akhtar , Kukjin Kim , linux-arm-kernel@lists.infradead.org From: Krzysztof Kozlowski Message-id: <56C3D745.7050904@samsung.com> Date: Wed, 17 Feb 2016 11:13:25 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-version: 1.0 In-reply-to: <1455636348-14277-1-git-send-email-javier@osg.samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrALMWRmVeSWpSXmKPExsVy+t/xa7q+1w+HGfzqYrR4MG8bm8X2I89Y LeYfOcdq8ebtGiaL1y8MLfofv2a22PT4GqvF5V1z2CxmnN/H5MDpsWlVJ5vH5iX1Hlv677J7 9G1ZxejxeZNcAGsUl01Kak5mWWqRvl0CV8b3PruCvWYV+6YsY2xgfKrVxcjBISFgIvFhjXIX IyeQKSZx4d56ti5GLg4hgaWMEld+PYZynjJKPLz2ng2kSlggUuLG5svMILaIQKjEv4u3GUFs IQE3ib8Pt4I1MAtcY5SY97GJHSTBJmAssXn5ErBmXgEtiXO/N7CA2CwCqhJXn7aBxUUFIiQO d3axQ9QISvyYfI8F5DpOAXeJKytkQUxmAT2J+xe1QCqYBeQlNq95yzyBUWAWkoZZCFWzkFQt YGRexSiaWppcUJyUnmukV5yYW1yal66XnJ+7iRES7l93MC49ZnWIUYCDUYmHd0XW4TAh1sSy 4srcQ4wSHMxKIryvjwGFeFMSK6tSi/Lji0pzUosPMUpzsCiJ887c9T5ESCA9sSQ1OzW1ILUI JsvEwSnVwJghVfowr/9TUKj8xpnrQl+VF8aw3tm0lbN+3ofdX89NP1vLLj/nwU2OjJiMbUv8 jI8fr7y47SrrUVepE+Ktz4sSwz0bc9bxh694qCrswbz3D1uLbOyRfe63n7X2v+G69OqrzG+X DHmxhZ7/7O9O11iT9fjL+r8/FkyOO6jKcSh2Fe+CnHMnNE4rsRRnJBpqMRcVJwIASSnMvHMC AAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17.02.2016 00:25, Javier Martinez Canillas wrote: > All Exynos SoCs have the same syscon reboot and poweroff device nodes so > there is no need to duplicate the same on each SoC dtsi and can be moved > to a common dtsi that can be included by all the SoCs dtsi files. > > Suggested-by: Krzysztof Kozlowski > Signed-off-by: Javier Martinez Canillas > Reviewed-by: Alim Akhtar > > --- > Hello, > > The patch was tested on an Exynos5800 Peach Pi Chromebook and an > Exynos5422 Odroid XU4 board. Reboot and poweroff worked for both. > > But testing on Exynos3 and Exynos4 will be highly appreciated. > > Best regards, > Javier > > Changes in v2: > - Added Krzysztof Kozlowski's Suggested-by tag. > - Added Alim Akhtar's Reviewed-by tag. > - Moved the poweroff and reboot nodes under a soc node (Krzysztof Kozlowski). > - Include the dtsi after skeleton dtsi in exynos4.dtsi ((Krzysztof Kozlowski). > > arch/arm/boot/dts/exynos-syscon-restart.dtsi | 27 +++++++++++++++++++++++++++ > arch/arm/boot/dts/exynos3250.dtsi | 15 +-------------- > arch/arm/boot/dts/exynos4.dtsi | 15 +-------------- > arch/arm/boot/dts/exynos5.dtsi | 15 +-------------- > arch/arm/boot/dts/exynos5410.dtsi | 15 +-------------- > 5 files changed, 31 insertions(+), 56 deletions(-) > create mode 100644 arch/arm/boot/dts/exynos-syscon-restart.dtsi > > diff --git a/arch/arm/boot/dts/exynos-syscon-restart.dtsi b/arch/arm/boot/dts/exynos-syscon-restart.dtsi > new file mode 100644 > index 000000000000..09a2040054ed > --- /dev/null > +++ b/arch/arm/boot/dts/exynos-syscon-restart.dtsi > @@ -0,0 +1,27 @@ > +/* > + * Samsung's Exynos SoC syscon reboot/poweroff nodes common definition. > + * > + * 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. > + */ > + > +/ { > + soc { > + compatible = "simple-bus"; The exynos4 does not have soc node. I wonder whether we should provide here also address and size: #address-cells = <1>; #size-cells = <1>; ranges; Without this it works fine but that does not look correct enough. A minor effect of this patch on Exynos4 is that syscon-poweroff/reboot are now the only children of "soc" simple-bus (rest of platform devices is not)... but this is not a problem. Works fine so only the question about cells/ranges remains. Any comments? Best regards, Krzysztof > + > + poweroff: syscon-poweroff { > + compatible = "syscon-poweroff"; > + regmap = <&pmu_system_controller>; > + offset = <0x330C>; /* PS_HOLD_CONTROL */ > + mask = <0x5200>; /* reset value */ > + }; > + > + reboot: syscon-reboot { > + compatible = "syscon-reboot"; > + regmap = <&pmu_system_controller>; > + offset = <0x0400>; /* SWRESET */ > + mask = <0x1>; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi > index 18e3deffbf48..d9c221517935 100644 > --- a/arch/arm/boot/dts/exynos3250.dtsi > +++ b/arch/arm/boot/dts/exynos3250.dtsi > @@ -19,6 +19,7 @@ > > #include "skeleton.dtsi" > #include "exynos4-cpu-thermal.dtsi" > +#include "exynos-syscon-restart.dtsi" > #include > > / { > @@ -152,20 +153,6 @@ > interrupt-parent = <&gic>; > }; > > - poweroff: syscon-poweroff { > - compatible = "syscon-poweroff"; > - regmap = <&pmu_system_controller>; > - offset = <0x330C>; /* PS_HOLD_CONTROL */ > - mask = <0x5200>; /* Reset value */ > - }; > - > - reboot: syscon-reboot { > - compatible = "syscon-reboot"; > - regmap = <&pmu_system_controller>; > - offset = <0x0400>; /* SWRESET */ > - mask = <0x1>; > - }; > - > mipi_phy: video-phy@10020710 { > compatible = "samsung,s5pv210-mipi-video-phy"; > #phy-cells = <1>; > diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi > index ca621a92319e..5456094d2f45 100644 > --- a/arch/arm/boot/dts/exynos4.dtsi > +++ b/arch/arm/boot/dts/exynos4.dtsi > @@ -22,6 +22,7 @@ > #include > #include > #include "skeleton.dtsi" > +#include "exynos-syscon-restart.dtsi" > > / { > interrupt-parent = <&gic>; > @@ -163,20 +164,6 @@ > interrupt-parent = <&gic>; > }; > > - poweroff: syscon-poweroff { > - compatible = "syscon-poweroff"; > - regmap = <&pmu_system_controller>; > - offset = <0x330C>; /* PS_HOLD_CONTROL */ > - mask = <0x5200>; /* reset value */ > - }; > - > - reboot: syscon-reboot { > - compatible = "syscon-reboot"; > - regmap = <&pmu_system_controller>; > - offset = <0x0400>; /* SWRESET */ > - mask = <0x1>; > - }; > - > dsi_0: dsi@11C80000 { > compatible = "samsung,exynos4210-mipi-dsi"; > reg = <0x11C80000 0x10000>; > diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi > index b61d1f637510..92313cac035e 100644 > --- a/arch/arm/boot/dts/exynos5.dtsi > +++ b/arch/arm/boot/dts/exynos5.dtsi > @@ -14,6 +14,7 @@ > */ > > #include "skeleton.dtsi" > +#include "exynos-syscon-restart.dtsi" > > / { > interrupt-parent = <&gic>; > @@ -93,20 +94,6 @@ > status = "disabled"; > }; > > - poweroff: syscon-poweroff { > - compatible = "syscon-poweroff"; > - regmap = <&pmu_system_controller>; > - offset = <0x330C>; /* PS_HOLD_CONTROL */ > - mask = <0x5200>; /* reset value */ > - }; > - > - reboot: syscon-reboot { > - compatible = "syscon-reboot"; > - regmap = <&pmu_system_controller>; > - offset = <0x0400>; /* SWRESET */ > - mask = <0x1>; > - }; > - > fimd: fimd@14400000 { > compatible = "samsung,exynos5250-fimd"; > interrupt-parent = <&combiner>; > diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi > index f3490f567344..fa558674ac76 100644 > --- a/arch/arm/boot/dts/exynos5410.dtsi > +++ b/arch/arm/boot/dts/exynos5410.dtsi > @@ -14,6 +14,7 @@ > */ > > #include "skeleton.dtsi" > +#include "exynos-syscon-restart.dtsi" > #include > > / { > @@ -117,20 +118,6 @@ > reg = <0x10040000 0x5000>; > }; > > - poweroff: syscon-poweroff { > - compatible = "syscon-poweroff"; > - regmap = <&pmu_system_controller>; > - offset = <0x330C>; /* PS_HOLD_CONTROL */ > - mask = <0x5200>; /* reset value */ > - }; > - > - reboot: syscon-reboot { > - compatible = "syscon-reboot"; > - regmap = <&pmu_system_controller>; > - offset = <0x0400>; /* SWRESET */ > - mask = <0x1>; > - }; > - > mct: mct@101C0000 { > compatible = "samsung,exynos4210-mct"; > reg = <0x101C0000 0xB00>; >