2015-08-03 18:12:45

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 1/2] ARM: dts: keystone: fix the clock node for mdio

Currently the MDIO clock is pointing to clkpa instead of clkcpgmac.
MDIO is part of the ethss and the clock should be clkcpgmac.

Signed-off-by: Murali Karicheri <[email protected]>
---
arch/arm/boot/dts/keystone.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
index e7a6f6d..6245a17 100644
--- a/arch/arm/boot/dts/keystone.dtsi
+++ b/arch/arm/boot/dts/keystone.dtsi
@@ -273,7 +273,7 @@
#size-cells = <0>;
reg = <0x02090300 0x100>;
status = "disabled";
- clocks = <&clkpa>;
+ clocks = <&clkcpgmac>;
clock-names = "fck";
bus_freq = <2500000>;
};
--
1.9.1


2015-08-03 18:12:51

by Karicheri, Muralidharan

[permalink] [raw]
Subject: [PATCH 2/2] ARM: dts: keystone: Fix the mdio bindings by moving it to soc specific file

Currently mdio bindings are defined in keystone.dtsi and this results
in incorrect unit address for the node on K2E and K2L SoCs. Fix this
by moving them to SoC specific DTS file.

Signed-off-by: Murali Karicheri <[email protected]>
---
arch/arm/boot/dts/k2e.dtsi | 15 +++++++++++----
arch/arm/boot/dts/k2hk.dtsi | 11 +++++++++++
arch/arm/boot/dts/k2l.dtsi | 16 +++++++++++-----
arch/arm/boot/dts/keystone.dtsi | 11 -----------
4 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/arch/arm/boot/dts/k2e.dtsi b/arch/arm/boot/dts/k2e.dtsi
index 1b6494f..675fb8e 100644
--- a/arch/arm/boot/dts/k2e.dtsi
+++ b/arch/arm/boot/dts/k2e.dtsi
@@ -131,10 +131,17 @@
<GIC_SPI 376 IRQ_TYPE_EDGE_RISING>;
};
};
+
+ mdio: mdio@24200f00 {
+ compatible = "ti,keystone_mdio", "ti,davinci_mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x24200f00 0x100>;
+ status = "disabled";
+ clocks = <&clkcpgmac>;
+ clock-names = "fck";
+ bus_freq = <2500000>;
+ };
/include/ "k2e-netcp.dtsi"
};
};
-
-&mdio {
- reg = <0x24200f00 0x100>;
-};
diff --git a/arch/arm/boot/dts/k2hk.dtsi b/arch/arm/boot/dts/k2hk.dtsi
index ae64724..d0810a5 100644
--- a/arch/arm/boot/dts/k2hk.dtsi
+++ b/arch/arm/boot/dts/k2hk.dtsi
@@ -98,6 +98,17 @@
#gpio-cells = <2>;
gpio,syscon-dev = <&devctrl 0x25c>;
};
+
+ mdio: mdio@02090300 {
+ compatible = "ti,keystone_mdio", "ti,davinci_mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x02090300 0x100>;
+ status = "disabled";
+ clocks = <&clkcpgmac>;
+ clock-names = "fck";
+ bus_freq = <2500000>;
+ };
/include/ "k2hk-netcp.dtsi"
};
};
diff --git a/arch/arm/boot/dts/k2l.dtsi b/arch/arm/boot/dts/k2l.dtsi
index 0e00748..49fd414 100644
--- a/arch/arm/boot/dts/k2l.dtsi
+++ b/arch/arm/boot/dts/k2l.dtsi
@@ -29,7 +29,6 @@
};

soc {
-
/include/ "k2l-clocks.dtsi"

uart2: serial@02348400 {
@@ -79,6 +78,17 @@
#gpio-cells = <2>;
gpio,syscon-dev = <&devctrl 0x24c>;
};
+
+ mdio: mdio@26200f00 {
+ compatible = "ti,keystone_mdio", "ti,davinci_mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x26200f00 0x100>;
+ status = "disabled";
+ clocks = <&clkcpgmac>;
+ clock-names = "fck";
+ bus_freq = <2500000>;
+ };
/include/ "k2l-netcp.dtsi"
};
};
@@ -96,7 +106,3 @@
/* Pin muxed. Enabled and configured by Bootloader */
status = "disabled";
};
-
-&mdio {
- reg = <0x26200f00 0x100>;
-};
diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
index 6245a17..72816d6 100644
--- a/arch/arm/boot/dts/keystone.dtsi
+++ b/arch/arm/boot/dts/keystone.dtsi
@@ -267,17 +267,6 @@
1 0 0x21000A00 0x00000100>;
};

- mdio: mdio@02090300 {
- compatible = "ti,keystone_mdio", "ti,davinci_mdio";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x02090300 0x100>;
- status = "disabled";
- clocks = <&clkcpgmac>;
- clock-names = "fck";
- bus_freq = <2500000>;
- };
-
kirq0: keystone_irq@26202a0 {
compatible = "ti,keystone-irq";
interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
--
1.9.1

2015-08-03 18:23:00

by Karicheri, Muralidharan

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: keystone: fix the clock node for mdio

On 08/03/2015 02:11 PM, Murali Karicheri wrote:
> Currently the MDIO clock is pointing to clkpa instead of clkcpgmac.
> MDIO is part of the ethss and the clock should be clkcpgmac.
>
> Signed-off-by: Murali Karicheri <[email protected]>
> ---
> arch/arm/boot/dts/keystone.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
> index e7a6f6d..6245a17 100644
> --- a/arch/arm/boot/dts/keystone.dtsi
> +++ b/arch/arm/boot/dts/keystone.dtsi
> @@ -273,7 +273,7 @@
> #size-cells = <0>;
> reg = <0x02090300 0x100>;
> status = "disabled";
> - clocks = <&clkpa>;
> + clocks = <&clkcpgmac>;
> clock-names = "fck";
> bus_freq = <2500000>;
> };
>
Santosh,

This is a big fix and needs to go in v4.2-rc. So please review and apply
asap. v4.2 is the first release that has netcp driver fully functional
and I want to fix as many known bugs as possible.

Thanks.

--
Murali Karicheri
Linux Kernel, Keystone

2015-08-03 18:31:07

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: keystone: fix the clock node for mdio

On 8/3/15 11:22 AM, Murali Karicheri wrote:
> On 08/03/2015 02:11 PM, Murali Karicheri wrote:
>> Currently the MDIO clock is pointing to clkpa instead of clkcpgmac.
>> MDIO is part of the ethss and the clock should be clkcpgmac.
>>
>> Signed-off-by: Murali Karicheri <[email protected]>
>> ---
>> arch/arm/boot/dts/keystone.dtsi | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/boot/dts/keystone.dtsi
>> b/arch/arm/boot/dts/keystone.dtsi
>> index e7a6f6d..6245a17 100644
>> --- a/arch/arm/boot/dts/keystone.dtsi
>> +++ b/arch/arm/boot/dts/keystone.dtsi
>> @@ -273,7 +273,7 @@
>> #size-cells = <0>;
>> reg = <0x02090300 0x100>;
>> status = "disabled";
>> - clocks = <&clkpa>;
>> + clocks = <&clkcpgmac>;
>> clock-names = "fck";
>> bus_freq = <2500000>;
>> };
>>
> Santosh,
>
> This is a big fix and needs to go in v4.2-rc. So please review and apply
> asap. v4.2 is the first release that has netcp driver fully functional
> and I want to fix as many known bugs as possible.
>
Do you have more fixes ? If yes, please post them so that I can include
them along with these two. I will try to send them up next week.

Thanks !!

Regards,
Santosh

2015-08-03 18:51:08

by Karicheri, Muralidharan

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: keystone: fix the clock node for mdio

On 08/03/2015 02:30 PM, [email protected] wrote:
> On 8/3/15 11:22 AM, Murali Karicheri wrote:
>> On 08/03/2015 02:11 PM, Murali Karicheri wrote:
>>> Currently the MDIO clock is pointing to clkpa instead of clkcpgmac.
>>> MDIO is part of the ethss and the clock should be clkcpgmac.
>>>
>>> Signed-off-by: Murali Karicheri <[email protected]>
>>> ---
>>> arch/arm/boot/dts/keystone.dtsi | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/boot/dts/keystone.dtsi
>>> b/arch/arm/boot/dts/keystone.dtsi
>>> index e7a6f6d..6245a17 100644
>>> --- a/arch/arm/boot/dts/keystone.dtsi
>>> +++ b/arch/arm/boot/dts/keystone.dtsi
>>> @@ -273,7 +273,7 @@
>>> #size-cells = <0>;
>>> reg = <0x02090300 0x100>;
>>> status = "disabled";
>>> - clocks = <&clkpa>;
>>> + clocks = <&clkcpgmac>;
>>> clock-names = "fck";
>>> bus_freq = <2500000>;
>>> };
>>>
>> Santosh,
>>
>> This is a big fix and needs to go in v4.2-rc. So please review and apply
>> asap. v4.2 is the first release that has netcp driver fully functional
>> and I want to fix as many known bugs as possible.
>>
> Do you have more fixes ? If yes, please post them so that I can include
> them along with these two. I will try to send them up next week.

I think we have got most of the know issues fixed in the netcp driver
and dts for v4.2-rc. Another lingering issue is the one with multiple
clock handling not supported in run time pm API causing us to use the
work around 'clk_ignore_unused'. Probably this needs to be addressed in
the future as fixing this is not trivial. Generic PD support would
partially solve the issue for Keystone, but also needs to handle
multiple clocks for keystone.

Another option is to fix the NetCP and QMSS/KNAV driver for now in
v4.0-rc using explicit clock APIs so that we don't have to use
'clk_ignore_unused'. And then migrate all of the drivers to run time PM
API later when proper framework is implemented along with K2G support.
Does this make sense?

Anyways, please submit these patches at your earliest opportunity.

Thanks

Murali

>
> Thanks !!
>
> Regards,
> Santosh
>
>


--
Murali Karicheri
Linux Kernel, Keystone

2015-08-03 19:01:15

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: keystone: fix the clock node for mdio



On 8/3/15 11:50 AM, Murali Karicheri wrote:
> On 08/03/2015 02:30 PM, [email protected] wrote:
>> On 8/3/15 11:22 AM, Murali Karicheri wrote:
>>> On 08/03/2015 02:11 PM, Murali Karicheri wrote:
>>>> Currently the MDIO clock is pointing to clkpa instead of clkcpgmac.
>>>> MDIO is part of the ethss and the clock should be clkcpgmac.
>>>>
>>>> Signed-off-by: Murali Karicheri <[email protected]>
>>>> ---
>>>> arch/arm/boot/dts/keystone.dtsi | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/keystone.dtsi
>>>> b/arch/arm/boot/dts/keystone.dtsi
>>>> index e7a6f6d..6245a17 100644
>>>> --- a/arch/arm/boot/dts/keystone.dtsi
>>>> +++ b/arch/arm/boot/dts/keystone.dtsi
>>>> @@ -273,7 +273,7 @@
>>>> #size-cells = <0>;
>>>> reg = <0x02090300 0x100>;
>>>> status = "disabled";
>>>> - clocks = <&clkpa>;
>>>> + clocks = <&clkcpgmac>;
>>>> clock-names = "fck";
>>>> bus_freq = <2500000>;
>>>> };
>>>>
>>> Santosh,
>>>
>>> This is a big fix and needs to go in v4.2-rc. So please review and apply
>>> asap. v4.2 is the first release that has netcp driver fully functional
>>> and I want to fix as many known bugs as possible.
>>>
>> Do you have more fixes ? If yes, please post them so that I can include
>> them along with these two. I will try to send them up next week.
>
> I think we have got most of the know issues fixed in the netcp driver
> and dts for v4.2-rc. Another lingering issue is the one with multiple
> clock handling not supported in run time pm API causing us to use the
> work around 'clk_ignore_unused'. Probably this needs to be addressed in
> the future as fixing this is not trivial. Generic PD support would
> partially solve the issue for Keystone, but also needs to handle
> multiple clocks for keystone.
>
Yeah. I was also wondering on what happened to that work which was
active at some point of time.

> Another option is to fix the NetCP and QMSS/KNAV driver for now in
> v4.0-rc using explicit clock APIs so that we don't have to use
> 'clk_ignore_unused'. And then migrate all of the drivers to run time PM
> API later when proper framework is implemented along with K2G support.
> Does this make sense?
>
Multiple clock node support work which was started needs to be revived.
Direct clock isn't the way to go about it.

> Anyways, please submit these patches at your earliest opportunity.
>
Sure.

Regards,
Santosh