Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752130AbdI0Rkf (ORCPT ); Wed, 27 Sep 2017 13:40:35 -0400 Received: from smtprelay4.synopsys.com ([198.182.47.9]:36522 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751938AbdI0Rkd (ORCPT ); Wed, 27 Sep 2017 13:40:33 -0400 Subject: Re: [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset To: Eugeniy Paltsev , "linux-snps-arc@lists.infradead.org" CC: "linux-kernel@vger.kernel.org" , "Alexey Brodkin" , Rob Herring , "devicetree@vger.kernel.org" References: <20170922164911.1125-1-Eugeniy.Paltsev@synopsys.com> From: Vineet Gupta Message-ID: <85347975-edd9-7658-e2cd-7fe1436c77bb@synopsys.com> Date: Wed, 27 Sep 2017 10:40:20 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170922164911.1125-1-Eugeniy.Paltsev@synopsys.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [10.10.161.61] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2136 Lines: 72 On 09/22/2017 09:49 AM, Eugeniy Paltsev wrote: > DW ethernet controller on HSDK hangs sometimes after SW reset, so > add reset node to make possible to reset DW ethernet controller HW. > > Signed-off-by: Eugeniy Paltsev > --- > Changes v2 -> v3: > * Remove v1 suffix as we finaly got rid of v1 suffix in reset > driver and docs. > * Rename reset node to "reset-controller" for consistency with > the other bindings. > > Changes v1 -> v2: > * Enable HSDK reset driver in hsdk_defconfig > > arch/arc/boot/dts/hsdk.dts | 9 +++++++++ > arch/arc/configs/hsdk_defconfig | 1 + > 2 files changed, 10 insertions(+) > > diff --git a/arch/arc/boot/dts/hsdk.dts b/arch/arc/boot/dts/hsdk.dts > index b922f3f..8adde1b 100644 > --- a/arch/arc/boot/dts/hsdk.dts > +++ b/arch/arc/boot/dts/hsdk.dts > @@ -12,6 +12,7 @@ > /dts-v1/; > > #include > +#include > > / { > model = "snps,hsdk"; > @@ -102,6 +103,12 @@ > > ranges = <0x00000000 0xf0000000 0x10000000>; > > + cgu_rst: reset-controller@8a0 { > + compatible = "snps,hsdk-reset"; > + #reset-cells = <1>; > + reg = <0x8A0 0x4>, <0xFF0 0x4>; > + }; > + > core_clk: core-clk@0 { > compatible = "snps,hsdk-core-pll-clock"; > reg = <0x00 0x10>, <0x14B8 0x4>; > @@ -158,6 +165,8 @@ > clocks = <&gmacclk>; > clock-names = "stmmaceth"; > phy-handle = <&phy0>; > + resets = <&cgu_rst HSDK_ETH_RESET>; > + reset-names = "stmmaceth"; > > mdio { > #address-cells = <1>; > diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig > index 7b8f8fa..15f0f6b 100644 > --- a/arch/arc/configs/hsdk_defconfig > +++ b/arch/arc/configs/hsdk_defconfig > @@ -63,6 +63,7 @@ CONFIG_MMC_SDHCI=y > CONFIG_MMC_SDHCI_PLTFM=y > CONFIG_MMC_DW=y > # CONFIG_IOMMU_SUPPORT is not set > +CONFIG_RESET_HSDK=y Since we need this feature for our platform, better to just select it in Kconfig. I can fix it up here if you agree ! -Vineet > CONFIG_EXT3_FS=y > CONFIG_VFAT_FS=y > CONFIG_TMPFS=y