Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1478956 > unrolled thread

[PATCH 0/4] ARM: MMC: USB: Fix clocking

Started byLee Jones <lee.jones@linaro.org>
First post2016-09-08 11:20 +0200
Last post2016-09-09 14:00 +0200
Articles 9 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/4] ARM: MMC: USB: Fix clocking Lee Jones <lee.jones@linaro.org> - 2016-09-08 11:20 +0200
    [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI Lee Jones <lee.jones@linaro.org> - 2016-09-08 11:20 +0200
      Re: [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock  for consumption in ST SDHCI Patrice Chotard <patrice.chotard@st.com> - 2016-09-08 16:00 +0200
      Re: [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock  for consumption in ST SDHCI Patrice Chotard <patrice.chotard@st.com> - 2016-09-08 16:10 +0200
    [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB) Lee Jones <lee.jones@linaro.org> - 2016-09-08 11:20 +0200
      Re: [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required  by EHCI/OHCI (USB) Patrice Chotard <patrice.chotard@st.com> - 2016-09-08 16:00 +0200
      Re: [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required  by EHCI/OHCI (USB) Patrice Chotard <patrice.chotard@st.com> - 2016-09-08 16:10 +0200
    [PATCH 3/4] dt-bindings: mmc: sdhci-st: Mention the discretionary "icn" clock Lee Jones <lee.jones@linaro.org> - 2016-09-08 11:20 +0200
      Re: [PATCH 3/4] dt-bindings: mmc: sdhci-st: Mention the discretionary  "icn" clock Ulf Hansson <ulf.hansson@linaro.org> - 2016-09-09 14:00 +0200

#1478956 — [PATCH 0/4] ARM: MMC: USB: Fix clocking

FromLee Jones <lee.jones@linaro.org>
Date2016-09-08 11:20 +0200
Subject[PATCH 0/4] ARM: MMC: USB: Fix clocking
Message-ID<sf3F0-3UY-27@gated-at.bofh.it>
Before we had critical-clock support, it was not possible to boot a kernel
without using the 'clk_ignore_unused' kernel command-line parameter.  This
was due to the existance of inter-connect clocks which weren't associated
with any physical device and thus could not be handled (think get, enable,
disable) correctly.  As a consequence the platform would catastrophically
fail when the Common Clock Framework tried to disable unused clocks.

Now we do have critical-clock support, it has identified some additional
clocks which are required for the successful functioning of some key IP.

With the introduction of critical-clock support in v4.8, our developers'
default configuration is to run with 'clk_ignore_unused' removed.  This
patch-set ensures they can achieve successful boot when a) booting from
an SD Card and when b) booting using USB->Eth adaptors for NFS booting.

Please consider this set for your respective -fixes branches for
inclusion into the v4.8-rcs.

Lee Jones (4):
  ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI
    (USB)
  ARM: dts: STiH407-family: Provide interconnect clock for consumption
    in ST SDHCI
  dt-bindings: mmc: sdhci-st: Mention the discretionary "icn" clock
  mmc: sdhci-st: Handle interconnect clock

 Documentation/devicetree/bindings/mmc/sdhci-st.txt |  2 +-
 arch/arm/boot/dts/stih407-family.dtsi              | 10 ++++++----
 arch/arm/boot/dts/stih410.dtsi                     | 12 ++++++++----
 drivers/mmc/host/sdhci-st.c                        | 15 ++++++++++++++-
 4 files changed, 29 insertions(+), 10 deletions(-)

-- 
2.9.3

[toc] | [next] | [standalone]


#1478957 — [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI

FromLee Jones <lee.jones@linaro.org>
Date2016-09-08 11:20 +0200
Subject[PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI
Message-ID<sf3F0-3UY-37@gated-at.bofh.it>
In reply to#1478956
The STiH4{07,10} platform contains some interconnect clocks which are used
by various IPs.  If these clocks aren't handled correctly by ST's SDHCI
driver MMC will break and the following output can be observed:

[   13.916949] mmc0: Timeout waiting for hardware interrupt.
[   13.922349] sdhci: =========== REGISTER DUMP (mmc0)===========
[   13.928175] sdhci: Sys addr: 0x00000000 | Version:  0x00001002
[   13.933999] sdhci: Blk size: 0x00007040 | Blk cnt:  0x00000001
[   13.939825] sdhci: Argument: 0x00fffff0 | Trn mode: 0x00000013
[   13.945650] sdhci: Present:  0x1fff0206 | Host ctl: 0x00000011
[   13.951475] sdhci: Power:    0x0000000f | Blk gap:  0x00000080
[   13.957300] sdhci: Wake-up:  0x00000000 | Clock:    0x00003f07
[   13.963126] sdhci: Timeout:  0x00000004 | Int stat: 0x00000000
[   13.968952] sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b
[   13.974777] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[   13.980602] sdhci: Caps:     0x21ed3281 | Caps_1:   0x00000000
[   13.986428] sdhci: Cmd:      0x0000063a | Max curr: 0x00000000
[   13.992252] sdhci: Host ctl2: 0x00000000
[   13.996166] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x7c048200
[   14.001990] sdhci: ===========================================
[   14.009802] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.

Cc: stable@vger.kernel.org
Tested-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/stih407-family.dtsi | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
index 55ecfbe..744c5bc 100644
--- a/arch/arm/boot/dts/stih407-family.dtsi
+++ b/arch/arm/boot/dts/stih407-family.dtsi
@@ -550,8 +550,9 @@
 			interrupt-names = "mmcirq";
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_mmc0>;
-			clock-names = "mmc";
-			clocks = <&clk_s_c0_flexgen CLK_MMC_0>;
+			clock-names = "mmc", "icn";
+			clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
+				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
 			bus-width = <8>;
 		};
 
@@ -564,8 +565,9 @@
 			interrupt-names = "mmcirq";
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_sd1>;
-			clock-names = "mmc";
-			clocks = <&clk_s_c0_flexgen CLK_MMC_1>;
+			clock-names = "mmc", "icn";
+			clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
+				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
 			resets = <&softreset STIH407_MMC1_SOFTRESET>;
 			bus-width = <4>;
 		};
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1479248 — Re: [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI

FromPatrice Chotard <patrice.chotard@st.com>
Date2016-09-08 16:00 +0200
SubjectRe: [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI
Message-ID<sf81X-6tT-9@gated-at.bofh.it>
In reply to#1478957
Hi Lee


On 09/08/2016 11:11 AM, Lee Jones wrote:
> The STiH4{07,10} platform contains some interconnect clocks which are used
> by various IPs.  If these clocks aren't handled correctly by ST's SDHCI
> driver MMC will break and the following output can be observed:
>
> [   13.916949] mmc0: Timeout waiting for hardware interrupt.
> [   13.922349] sdhci: =========== REGISTER DUMP (mmc0)===========
> [   13.928175] sdhci: Sys addr: 0x00000000 | Version:  0x00001002
> [   13.933999] sdhci: Blk size: 0x00007040 | Blk cnt:  0x00000001
> [   13.939825] sdhci: Argument: 0x00fffff0 | Trn mode: 0x00000013
> [   13.945650] sdhci: Present:  0x1fff0206 | Host ctl: 0x00000011
> [   13.951475] sdhci: Power:    0x0000000f | Blk gap:  0x00000080
> [   13.957300] sdhci: Wake-up:  0x00000000 | Clock:    0x00003f07
> [   13.963126] sdhci: Timeout:  0x00000004 | Int stat: 0x00000000
> [   13.968952] sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b
> [   13.974777] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
> [   13.980602] sdhci: Caps:     0x21ed3281 | Caps_1:   0x00000000
> [   13.986428] sdhci: Cmd:      0x0000063a | Max curr: 0x00000000
> [   13.992252] sdhci: Host ctl2: 0x00000000
> [   13.996166] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x7c048200
> [   14.001990] sdhci: ===========================================
> [   14.009802] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.
>
> Cc: stable@vger.kernel.org
> Tested-by: Peter Griffin <peter.griffin@linaro.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  arch/arm/boot/dts/stih407-family.dtsi | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
> index 55ecfbe..744c5bc 100644
> --- a/arch/arm/boot/dts/stih407-family.dtsi
> +++ b/arch/arm/boot/dts/stih407-family.dtsi
> @@ -550,8 +550,9 @@
>  			interrupt-names = "mmcirq";
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_mmc0>;
> -			clock-names = "mmc";
> -			clocks = <&clk_s_c0_flexgen CLK_MMC_0>;
> +			clock-names = "mmc", "icn";
> +			clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
>  			bus-width = <8>;
>  		};
>  
> @@ -564,8 +565,9 @@
>  			interrupt-names = "mmcirq";
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_sd1>;
> -			clock-names = "mmc";
> -			clocks = <&clk_s_c0_flexgen CLK_MMC_1>;
> +			clock-names = "mmc", "icn";
> +			clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
>  			resets = <&softreset STIH407_MMC1_SOFTRESET>;
>  			bus-width = <4>;
>  		};
Acked-by: Patrice Chotard <patrice.chotard@st.com>

[toc] | [prev] | [next] | [standalone]


#1479258 — Re: [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI

FromPatrice Chotard <patrice.chotard@st.com>
Date2016-09-08 16:10 +0200
SubjectRe: [PATCH 2/4] ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI
Message-ID<sf8bD-6MK-23@gated-at.bofh.it>
In reply to#1478957
Hi Lee


On 09/08/2016 11:11 AM, Lee Jones wrote:
> The STiH4{07,10} platform contains some interconnect clocks which are used
> by various IPs.  If these clocks aren't handled correctly by ST's SDHCI
> driver MMC will break and the following output can be observed:
>
> [   13.916949] mmc0: Timeout waiting for hardware interrupt.
> [   13.922349] sdhci: =========== REGISTER DUMP (mmc0)===========
> [   13.928175] sdhci: Sys addr: 0x00000000 | Version:  0x00001002
> [   13.933999] sdhci: Blk size: 0x00007040 | Blk cnt:  0x00000001
> [   13.939825] sdhci: Argument: 0x00fffff0 | Trn mode: 0x00000013
> [   13.945650] sdhci: Present:  0x1fff0206 | Host ctl: 0x00000011
> [   13.951475] sdhci: Power:    0x0000000f | Blk gap:  0x00000080
> [   13.957300] sdhci: Wake-up:  0x00000000 | Clock:    0x00003f07
> [   13.963126] sdhci: Timeout:  0x00000004 | Int stat: 0x00000000
> [   13.968952] sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b
> [   13.974777] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
> [   13.980602] sdhci: Caps:     0x21ed3281 | Caps_1:   0x00000000
> [   13.986428] sdhci: Cmd:      0x0000063a | Max curr: 0x00000000
> [   13.992252] sdhci: Host ctl2: 0x00000000
> [   13.996166] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x7c048200
> [   14.001990] sdhci: ===========================================
> [   14.009802] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.
>
> Cc: stable@vger.kernel.org
> Tested-by: Peter Griffin <peter.griffin@linaro.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  arch/arm/boot/dts/stih407-family.dtsi | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
> index 55ecfbe..744c5bc 100644
> --- a/arch/arm/boot/dts/stih407-family.dtsi
> +++ b/arch/arm/boot/dts/stih407-family.dtsi
> @@ -550,8 +550,9 @@
>  			interrupt-names = "mmcirq";
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_mmc0>;
> -			clock-names = "mmc";
> -			clocks = <&clk_s_c0_flexgen CLK_MMC_0>;
> +			clock-names = "mmc", "icn";
> +			clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
>  			bus-width = <8>;
>  		};
>  
> @@ -564,8 +565,9 @@
>  			interrupt-names = "mmcirq";
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_sd1>;
> -			clock-names = "mmc";
> -			clocks = <&clk_s_c0_flexgen CLK_MMC_1>;
> +			clock-names = "mmc", "icn";
> +			clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
>  			resets = <&softreset STIH407_MMC1_SOFTRESET>;
>  			bus-width = <4>;
>  		};

Applied

Thanks

[toc] | [prev] | [next] | [standalone]


#1478962 — [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB)

FromLee Jones <lee.jones@linaro.org>
Date2016-09-08 11:20 +0200
Subject[PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB)
Message-ID<sf3F0-3UY-43@gated-at.bofh.it>
In reply to#1478956
The STiH4{07,10} platform contains some interconnect clocks which are used
by various IPs.  If this clock isn't handled correctly by ST's EHCI/OHCI
drivers, their hub won't be found, the following error be shown and the
result will be non-working USB:

  [   97.221963] hub 2-1:1.0: hub_ext_port_status failed (err = -110)

Cc: stable@vger.kernel.org
Tested-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/stih410.dtsi | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi
index 9ee5e20..f1aa34c 100644
--- a/arch/arm/boot/dts/stih410.dtsi
+++ b/arch/arm/boot/dts/stih410.dtsi
@@ -41,7 +41,8 @@
 			compatible = "st,st-ohci-300x";
 			reg = <0x9a03c00 0x100>;
 			interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>;
-			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
+			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
+				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
 			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
 				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
 			reset-names = "power", "softreset";
@@ -57,7 +58,8 @@
 			interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usb0>;
-			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
+			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
+				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
 			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
 				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
 			reset-names = "power", "softreset";
@@ -71,7 +73,8 @@
 			compatible = "st,st-ohci-300x";
 			reg = <0x9a83c00 0x100>;
 			interrupts = <GIC_SPI 181 IRQ_TYPE_NONE>;
-			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
+			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
+				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
 			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
 				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
 			reset-names = "power", "softreset";
@@ -87,7 +90,8 @@
 			interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usb1>;
-			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
+			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
+				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
 			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
 				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
 			reset-names = "power", "softreset";
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1479251 — Re: [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB)

FromPatrice Chotard <patrice.chotard@st.com>
Date2016-09-08 16:00 +0200
SubjectRe: [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB)
Message-ID<sf81Y-6tT-21@gated-at.bofh.it>
In reply to#1478962
Hi Lee


On 09/08/2016 11:11 AM, Lee Jones wrote:
> The STiH4{07,10} platform contains some interconnect clocks which are used
> by various IPs.  If this clock isn't handled correctly by ST's EHCI/OHCI
> drivers, their hub won't be found, the following error be shown and the
> result will be non-working USB:
>
>   [   97.221963] hub 2-1:1.0: hub_ext_port_status failed (err = -110)
>
> Cc: stable@vger.kernel.org
> Tested-by: Peter Griffin <peter.griffin@linaro.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  arch/arm/boot/dts/stih410.dtsi | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi
> index 9ee5e20..f1aa34c 100644
> --- a/arch/arm/boot/dts/stih410.dtsi
> +++ b/arch/arm/boot/dts/stih410.dtsi
> @@ -41,7 +41,8 @@
>  			compatible = "st,st-ohci-300x";
>  			reg = <0x9a03c00 0x100>;
>  			interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
>  			reset-names = "power", "softreset";
> @@ -57,7 +58,8 @@
>  			interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_usb0>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
>  			reset-names = "power", "softreset";
> @@ -71,7 +73,8 @@
>  			compatible = "st,st-ohci-300x";
>  			reg = <0x9a83c00 0x100>;
>  			interrupts = <GIC_SPI 181 IRQ_TYPE_NONE>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
>  			reset-names = "power", "softreset";
> @@ -87,7 +90,8 @@
>  			interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_usb1>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
>  			reset-names = "power", "softreset";
Acked-by: Patrice Chotard <patrice.chotard@st.com>

[toc] | [prev] | [next] | [standalone]


#1479256 — Re: [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB)

FromPatrice Chotard <patrice.chotard@st.com>
Date2016-09-08 16:10 +0200
SubjectRe: [PATCH 1/4] ARM: dts: STiH410: Handle interconnect clock required by EHCI/OHCI (USB)
Message-ID<sf8bD-6MK-3@gated-at.bofh.it>
In reply to#1478962
Hi Lee

On 09/08/2016 11:11 AM, Lee Jones wrote:
> The STiH4{07,10} platform contains some interconnect clocks which are used
> by various IPs.  If this clock isn't handled correctly by ST's EHCI/OHCI
> drivers, their hub won't be found, the following error be shown and the
> result will be non-working USB:
>
>   [   97.221963] hub 2-1:1.0: hub_ext_port_status failed (err = -110)
>
> Cc: stable@vger.kernel.org
> Tested-by: Peter Griffin <peter.griffin@linaro.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  arch/arm/boot/dts/stih410.dtsi | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi
> index 9ee5e20..f1aa34c 100644
> --- a/arch/arm/boot/dts/stih410.dtsi
> +++ b/arch/arm/boot/dts/stih410.dtsi
> @@ -41,7 +41,8 @@
>  			compatible = "st,st-ohci-300x";
>  			reg = <0x9a03c00 0x100>;
>  			interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
>  			reset-names = "power", "softreset";
> @@ -57,7 +58,8 @@
>  			interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_usb0>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
>  			reset-names = "power", "softreset";
> @@ -71,7 +73,8 @@
>  			compatible = "st,st-ohci-300x";
>  			reg = <0x9a83c00 0x100>;
>  			interrupts = <GIC_SPI 181 IRQ_TYPE_NONE>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
>  			reset-names = "power", "softreset";
> @@ -87,7 +90,8 @@
>  			interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&pinctrl_usb1>;
> -			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;
> +			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
> +				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
>  			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
>  				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
>  			reset-names = "power", "softreset";

Applied

thanks

[toc] | [prev] | [next] | [standalone]


#1478963 — [PATCH 3/4] dt-bindings: mmc: sdhci-st: Mention the discretionary "icn" clock

FromLee Jones <lee.jones@linaro.org>
Date2016-09-08 11:20 +0200
Subject[PATCH 3/4] dt-bindings: mmc: sdhci-st: Mention the discretionary "icn" clock
Message-ID<sf3F0-3UY-47@gated-at.bofh.it>
In reply to#1478956
The interconnect (ICN) clock is required for functional working of
MMC on some ST platforms.  When not supplied it can result in
broken MMC and the following output:

        [   13.916949] mmc0: Timeout waiting for hardware interrupt.
        [   13.922349] sdhci: =========== REGISTER DUMP (mmc0)===========
        [   13.928175] sdhci: Sys addr: 0x00000000 | Version:  0x00001002
        [   13.933999] sdhci: Blk size: 0x00007040 | Blk cnt:  0x00000001
        [   13.939825] sdhci: Argument: 0x00fffff0 | Trn mode: 0x00000013
        [   13.945650] sdhci: Present:  0x1fff0206 | Host ctl: 0x00000011
        [   13.951475] sdhci: Power:    0x0000000f | Blk gap:  0x00000080
        [   13.957300] sdhci: Wake-up:  0x00000000 | Clock:    0x00003f07
        [   13.963126] sdhci: Timeout:  0x00000004 | Int stat: 0x00000000
        [   13.968952] sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b
        [   13.974777] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
        [   13.980602] sdhci: Caps:     0x21ed3281 | Caps_1:   0x00000000
        [   13.986428] sdhci: Cmd:      0x0000063a | Max curr: 0x00000000
        [   13.992252] sdhci: Host ctl2: 0x00000000
        [   13.996166] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x7c048200
        [   14.001990] sdhci: ===========================================
        [   14.009802] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 Documentation/devicetree/bindings/mmc/sdhci-st.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mmc/sdhci-st.txt b/Documentation/devicetree/bindings/mmc/sdhci-st.txt
index 88faa91..3cd4c43 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-st.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-st.txt
@@ -10,7 +10,7 @@ Required properties:
 			subsystem (mmcss) inside the FlashSS (available in STiH407 SoC
 			family).
 
-- clock-names:		Should be "mmc".
+- clock-names:		Should be "mmc" and "icn".  (NB: The latter is not compulsory)
 			See: Documentation/devicetree/bindings/resource-names.txt
 - clocks:		Phandle to the clock.
 			See: Documentation/devicetree/bindings/clock/clock-bindings.txt
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1479921 — Re: [PATCH 3/4] dt-bindings: mmc: sdhci-st: Mention the discretionary "icn" clock

FromUlf Hansson <ulf.hansson@linaro.org>
Date2016-09-09 14:00 +0200
SubjectRe: [PATCH 3/4] dt-bindings: mmc: sdhci-st: Mention the discretionary "icn" clock
Message-ID<sfsDn-2kg-15@gated-at.bofh.it>
In reply to#1478963
On 8 September 2016 at 11:11, Lee Jones <lee.jones@linaro.org> wrote:
> The interconnect (ICN) clock is required for functional working of
> MMC on some ST platforms.  When not supplied it can result in
> broken MMC and the following output:
>
>         [   13.916949] mmc0: Timeout waiting for hardware interrupt.
>         [   13.922349] sdhci: =========== REGISTER DUMP (mmc0)===========
>         [   13.928175] sdhci: Sys addr: 0x00000000 | Version:  0x00001002
>         [   13.933999] sdhci: Blk size: 0x00007040 | Blk cnt:  0x00000001
>         [   13.939825] sdhci: Argument: 0x00fffff0 | Trn mode: 0x00000013
>         [   13.945650] sdhci: Present:  0x1fff0206 | Host ctl: 0x00000011
>         [   13.951475] sdhci: Power:    0x0000000f | Blk gap:  0x00000080
>         [   13.957300] sdhci: Wake-up:  0x00000000 | Clock:    0x00003f07
>         [   13.963126] sdhci: Timeout:  0x00000004 | Int stat: 0x00000000
>         [   13.968952] sdhci: Int enab: 0x02ff008b | Sig enab: 0x02ff008b
>         [   13.974777] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
>         [   13.980602] sdhci: Caps:     0x21ed3281 | Caps_1:   0x00000000
>         [   13.986428] sdhci: Cmd:      0x0000063a | Max curr: 0x00000000
>         [   13.992252] sdhci: Host ctl2: 0x00000000
>         [   13.996166] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x7c048200
>         [   14.001990] sdhci: ===========================================
>         [   14.009802] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  Documentation/devicetree/bindings/mmc/sdhci-st.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-st.txt b/Documentation/devicetree/bindings/mmc/sdhci-st.txt
> index 88faa91..3cd4c43 100644
> --- a/Documentation/devicetree/bindings/mmc/sdhci-st.txt
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-st.txt
> @@ -10,7 +10,7 @@ Required properties:
>                         subsystem (mmcss) inside the FlashSS (available in STiH407 SoC
>                         family).
>
> -- clock-names:         Should be "mmc".
> +- clock-names:         Should be "mmc" and "icn".  (NB: The latter is not compulsory)
>                         See: Documentation/devicetree/bindings/resource-names.txt
>  - clocks:              Phandle to the clock.
>                         See: Documentation/devicetree/bindings/clock/clock-bindings.txt
> --
> 2.9.3
>

This looks good to me!

I am guessing you want this to go through my mmc tree, as I think
patch 3 and patch 4 should go together. If not, tell me.

Kind regards
Uffe

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web