* [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset
@ 2017-09-22 16:49 Eugeniy Paltsev
2017-09-27 17:40 ` Vineet Gupta
2017-10-05 13:04 ` Vineet Gupta
0 siblings, 2 replies; 5+ messages in thread
From: Eugeniy Paltsev @ 2017-09-22 16:49 UTC (permalink / raw)
To: linux-snps-arc
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 <Eugeniy.Paltsev at synopsys.com>
---
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 <dt-bindings/net/ti-dp83867.h>
+#include <dt-bindings/reset/snps,hsdk-reset.h>
/ {
model = "snps,hsdk";
@@ -102,6 +103,12 @@
ranges = <0x00000000 0xf0000000 0x10000000>;
+ cgu_rst: reset-controller at 8a0 {
+ compatible = "snps,hsdk-reset";
+ #reset-cells = <1>;
+ reg = <0x8A0 0x4>, <0xFF0 0x4>;
+ };
+
core_clk: core-clk at 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
CONFIG_EXT3_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
--
2.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset
2017-09-22 16:49 [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset Eugeniy Paltsev
@ 2017-09-27 17:40 ` Vineet Gupta
2017-09-27 18:55 ` Eugeniy Paltsev
2017-10-05 13:04 ` Vineet Gupta
1 sibling, 1 reply; 5+ messages in thread
From: Vineet Gupta @ 2017-09-27 17:40 UTC (permalink / raw)
To: linux-snps-arc
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 <Eugeniy.Paltsev at synopsys.com>
> ---
> 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 <dt-bindings/net/ti-dp83867.h>
> +#include <dt-bindings/reset/snps,hsdk-reset.h>
>
> / {
> model = "snps,hsdk";
> @@ -102,6 +103,12 @@
>
> ranges = <0x00000000 0xf0000000 0x10000000>;
>
> + cgu_rst: reset-controller at 8a0 {
> + compatible = "snps,hsdk-reset";
> + #reset-cells = <1>;
> + reg = <0x8A0 0x4>, <0xFF0 0x4>;
> + };
> +
> core_clk: core-clk at 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
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset
2017-09-27 17:40 ` Vineet Gupta
@ 2017-09-27 18:55 ` Eugeniy Paltsev
0 siblings, 0 replies; 5+ messages in thread
From: Eugeniy Paltsev @ 2017-09-27 18:55 UTC (permalink / raw)
To: linux-snps-arc
On Wed, 2017-09-27@10:40 -0700, Vineet Gupta wrote:
> 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 <Eugeniy.Paltsev at synopsys.com>
> > ---
> > 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 <dt-bindings/net/ti-dp83867.h>
> > +#include <dt-bindings/reset/snps,hsdk-reset.h>
> > ??
> > ? / {
> > ?? model = "snps,hsdk";
> > @@ -102,6 +103,12 @@
> > ??
> > ?? ranges = <0x00000000 0xf0000000 0x10000000>;
> > ??
> > + cgu_rst: reset-controller at 8a0 {
> > + compatible = "snps,hsdk-reset";
> > + #reset-cells = <1>;
> > + reg = <0x8A0 0x4>, <0xFF0 0x4>;
> > + };
> > +
> > ?? core_clk: core-clk at 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 !
Sure, I'm fine with it.
>
> -Vineet
>
> > ? CONFIG_EXT3_FS=y
> > ? CONFIG_VFAT_FS=y
> > ? CONFIG_TMPFS=y
>
>
--
?Eugeniy Paltsev
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset
2017-09-22 16:49 [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset Eugeniy Paltsev
2017-09-27 17:40 ` Vineet Gupta
@ 2017-10-05 13:04 ` Vineet Gupta
2017-10-05 13:26 ` Eugeniy Paltsev
1 sibling, 1 reply; 5+ messages in thread
From: Vineet Gupta @ 2017-10-05 13:04 UTC (permalink / raw)
To: linux-snps-arc
Hi Eugeniy,
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 <Eugeniy.Paltsev at synopsys.com>
> ---
> 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
Revisiting this given that changes to driver have been merged upstream: we
currently carry a reset workaround for axs+ethernet, i.e. your patch
ARC: [plat-axs103] Add temporary quirk to reset ethernet IP
But there's nothing similar for HSDK. IOW, we don't need to revert anything foro
hsdk, after this gets applied ?
-Vineet
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset
2017-10-05 13:04 ` Vineet Gupta
@ 2017-10-05 13:26 ` Eugeniy Paltsev
0 siblings, 0 replies; 5+ messages in thread
From: Eugeniy Paltsev @ 2017-10-05 13:26 UTC (permalink / raw)
To: linux-snps-arc
On Thu, 2017-10-05@06:04 -0700, Vineet Gupta wrote:
> Hi Eugeniy,
>
> 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 <Eugeniy.Paltsev at synopsys.com>
> > ---
> > 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
>
> Revisiting this given that changes to driver have been merged upstream: we?
> currently carry a reset workaround for axs+ethernet, i.e. your patch
>
> ?????ARC: [plat-axs103] Add temporary quirk to reset ethernet IP
>
> But there's nothing similar for HSDK. IOW, we don't need to revert anything foro?
> hsdk, after this gets applied ?
That?s correct. We don't need to revert anything for hsdk.
We only need to apply this patch.
> -Vineet
--
?Eugeniy Paltsev
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-10-05 13:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-22 16:49 [PATCH v3] ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset Eugeniy Paltsev
2017-09-27 17:40 ` Vineet Gupta
2017-09-27 18:55 ` Eugeniy Paltsev
2017-10-05 13:04 ` Vineet Gupta
2017-10-05 13:26 ` Eugeniy Paltsev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox