* ix2-200 device tree related fixes
@ 2013-03-31 4:13 Nigel Roberts
2013-03-31 4:13 ` [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200 Nigel Roberts
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Nigel Roberts @ 2013-03-31 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
These are a couple of fixed I needed to make for my ix2-200 to
get the rebuild LED and eth1 working. I hope they can be included
upstream.
Regards,
Nigel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200
2013-03-31 4:13 ix2-200 device tree related fixes Nigel Roberts
@ 2013-03-31 4:13 ` Nigel Roberts
2013-03-31 12:23 ` Sergei Shtylyov
2013-03-31 21:14 ` Jason Cooper
2013-03-31 4:13 ` [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY Nigel Roberts
2013-03-31 21:11 ` ix2-200 device tree related fixes Jason Cooper
2 siblings, 2 replies; 10+ messages in thread
From: Nigel Roberts @ 2013-03-31 4:13 UTC (permalink / raw)
To: linux-arm-kernel
---
arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
index 93c3afb..3694e94 100644
--- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
@@ -96,11 +96,11 @@
marvell,function = "gpio";
};
pmx_led_rebuild_brt_ctrl_1: pmx-led-rebuild-brt-ctrl-1 {
- marvell,pins = "mpp44";
+ marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_led_rebuild_brt_ctrl_2: pmx-led-rebuild-brt-ctrl-2 {
- marvell,pins = "mpp45";
+ marvell,pins = "mpp47";
marvell,function = "gpio";
};
@@ -157,14 +157,14 @@
gpios = <&gpio0 16 0>;
linux,default-trigger = "default-on";
};
- health_led1 {
+ rebuild_led {
+ label = "status:white:rebuild_led";
+ gpios = <&gpio1 4 0>;
+ };
+ health_led {
label = "status:red:health_led";
gpios = <&gpio1 5 0>;
};
- health_led2 {
- label = "status:white:health_led";
- gpios = <&gpio1 4 0>;
- };
backup_led {
label = "status:blue:backup_led";
gpios = <&gpio0 15 0>;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY
2013-03-31 4:13 ix2-200 device tree related fixes Nigel Roberts
2013-03-31 4:13 ` [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200 Nigel Roberts
@ 2013-03-31 4:13 ` Nigel Roberts
2013-03-31 21:23 ` Jason Cooper
2013-04-10 16:55 ` Jason Cooper
2013-03-31 21:11 ` ix2-200 device tree related fixes Jason Cooper
2 siblings, 2 replies; 10+ messages in thread
From: Nigel Roberts @ 2013-03-31 4:13 UTC (permalink / raw)
To: linux-arm-kernel
---
arch/arm/mach-kirkwood/board-iomega_ix2_200.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-kirkwood/board-iomega_ix2_200.c b/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
index f655b26..e5f7041 100644
--- a/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
+++ b/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
@@ -20,10 +20,15 @@ static struct mv643xx_eth_platform_data iomega_ix2_200_ge00_data = {
.duplex = DUPLEX_FULL,
};
+static struct mv643xx_eth_platform_data iomega_ix2_200_ge01_data = {
+ .phy_addr = MV643XX_ETH_PHY_ADDR(11),
+};
+
void __init iomega_ix2_200_init(void)
{
/*
* Basic setup. Needs to be called early.
*/
- kirkwood_ge01_init(&iomega_ix2_200_ge00_data);
+ kirkwood_ge00_init(&iomega_ix2_200_ge00_data);
+ kirkwood_ge01_init(&iomega_ix2_200_ge01_data);
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200
2013-03-31 4:13 ` [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200 Nigel Roberts
@ 2013-03-31 12:23 ` Sergei Shtylyov
2013-03-31 21:14 ` Jason Cooper
1 sibling, 0 replies; 10+ messages in thread
From: Sergei Shtylyov @ 2013-03-31 12:23 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
Your patches miss your signoff, so they can't be appplied.
WBR, Sergei
^ permalink raw reply [flat|nested] 10+ messages in thread
* ix2-200 device tree related fixes
2013-03-31 4:13 ix2-200 device tree related fixes Nigel Roberts
2013-03-31 4:13 ` [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200 Nigel Roberts
2013-03-31 4:13 ` [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY Nigel Roberts
@ 2013-03-31 21:11 ` Jason Cooper
2013-03-31 21:25 ` Jason Cooper
2 siblings, 1 reply; 10+ messages in thread
From: Jason Cooper @ 2013-03-31 21:11 UTC (permalink / raw)
To: linux-arm-kernel
Nigel,
Thanks for the patches!
On Sun, Mar 31, 2013 at 03:13:22PM +1100, Nigel Roberts wrote:
> These are a couple of fixed I needed to make for my ix2-200 to
> get the rebuild LED and eth1 working. I hope they can be included
> upstream.
It shouldn't be a problem, except for the Signed-off-by:, as already
mentioned. Also, could you please Cc the kirkwood maintainers (Andrew
Lunn, and myself) for the next version?
thx,
Jason.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200
2013-03-31 4:13 ` [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200 Nigel Roberts
2013-03-31 12:23 ` Sergei Shtylyov
@ 2013-03-31 21:14 ` Jason Cooper
1 sibling, 0 replies; 10+ messages in thread
From: Jason Cooper @ 2013-03-31 21:14 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Mar 31, 2013 at 03:13:23PM +1100, Nigel Roberts wrote:
> ---
> arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
Ahhh, it looks like the conversion to pinctrl did this. The original
patch adding support for this board:
4f48b7f ARM: Kirkwood: Iomega ix2-200 DT support
has the pins set as you describe.
thx,
Jason.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY
2013-03-31 4:13 ` [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY Nigel Roberts
@ 2013-03-31 21:23 ` Jason Cooper
2013-04-01 11:39 ` Nigel Roberts
2013-04-10 16:55 ` Jason Cooper
1 sibling, 1 reply; 10+ messages in thread
From: Jason Cooper @ 2013-03-31 21:23 UTC (permalink / raw)
To: linux-arm-kernel
Nigel,
On Sun, Mar 31, 2013 at 03:13:24PM +1100, Nigel Roberts wrote:
Please include a description here about the problem and how this fixed
it.
Also, please Cc: Alan Butler alanbutty12 at gmail.com, he's the original
author of the support for this board. I'd like to know why it
(hopefully) worked for him, but doesn't work for you.
> ---
> arch/arm/mach-kirkwood/board-iomega_ix2_200.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-kirkwood/board-iomega_ix2_200.c b/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
> index f655b26..e5f7041 100644
> --- a/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
> +++ b/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
> @@ -20,10 +20,15 @@ static struct mv643xx_eth_platform_data iomega_ix2_200_ge00_data = {
> .duplex = DUPLEX_FULL,
> };
>
> +static struct mv643xx_eth_platform_data iomega_ix2_200_ge01_data = {
> + .phy_addr = MV643XX_ETH_PHY_ADDR(11),
> +};
> +
> void __init iomega_ix2_200_init(void)
> {
> /*
> * Basic setup. Needs to be called early.
> */
> - kirkwood_ge01_init(&iomega_ix2_200_ge00_data);
> + kirkwood_ge00_init(&iomega_ix2_200_ge00_data);
> + kirkwood_ge01_init(&iomega_ix2_200_ge01_data);
This looks a lot more legit, have you tried removing .speed and .duplex
from ge00? We see that a lot with boards converted from out-of-tree
legacy board files, I'm not certain those declarations are necessary.
thx,
Jason.
^ permalink raw reply [flat|nested] 10+ messages in thread
* ix2-200 device tree related fixes
2013-03-31 21:11 ` ix2-200 device tree related fixes Jason Cooper
@ 2013-03-31 21:25 ` Jason Cooper
0 siblings, 0 replies; 10+ messages in thread
From: Jason Cooper @ 2013-03-31 21:25 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Mar 31, 2013 at 05:11:50PM -0400, Jason Cooper wrote:
> Nigel,
>
> Thanks for the patches!
>
> On Sun, Mar 31, 2013 at 03:13:22PM +1100, Nigel Roberts wrote:
> > These are a couple of fixed I needed to make for my ix2-200 to
> > get the rebuild LED and eth1 working. I hope they can be included
> > upstream.
>
> It shouldn't be a problem, except for the Signed-off-by:, as already
> mentioned. Also, could you please Cc the kirkwood maintainers (Andrew
> Lunn, and myself) for the next version?
Gah! I forgot one more thing. please start each patch Subject with
"[PATCH X/Y] ARM: Kirkwood: ..." It helps us spot patches we're
responsible for more easily.
thx,
Jason.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY
2013-03-31 21:23 ` Jason Cooper
@ 2013-04-01 11:39 ` Nigel Roberts
0 siblings, 0 replies; 10+ messages in thread
From: Nigel Roberts @ 2013-04-01 11:39 UTC (permalink / raw)
To: linux-arm-kernel
On 01/04/2013, at 8:23 AM, Jason Cooper <jason@lakedaemon.net> wrote:
> Nigel,
>
> On Sun, Mar 31, 2013 at 03:13:24PM +1100, Nigel Roberts wrote:
>
> Please include a description here about the problem and how this fixed
> it.
>
> Also, please Cc: Alan Butler alanbutty12 at gmail.com, he's the original
> author of the support for this board. I'd like to know why it
> (hopefully) worked for him, but doesn't work for you.
Thanks Jason.
With the original version of board-iomega_ix2_200.c provided by Alan, the PHY for GE1 (port 1) is not configured because of the use of MV643XX_ETH_PHY_NONE. The speed and duplex are also forced to 1000/full, which means I can't use a 100mb port on my router. It will work just fine for people who use just 1000Mb switch ports, which is why Alan probably didn't have any problems with it.
If I only attempt to initialise GE01 with the correct address of the PHY without initialising GE00 first, I get a kernel panic. This is probably a bug in arch/arm/plat-orion/common.c, but I haven't figured out how to fix it. I'll keep investigating what other changes I need to make so that initialising only GE1 with the correct PHY address doesn't cause this panic. Maybe this will be fixed once the mv643xx_eth driver works properly with device trees.
[ 21.139765] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[ 21.146715] Unable to handle kernel NULL pointer dereference at virtual address 00000008
[ 21.154859] pgd = c0004000
[ 21.157576] [00000008] *pgd=00000000
[ 21.161182] Internal error: Oops: 5 [#1] ARM
[ 21.165466] Modules linked in:
[ 21.168540] CPU: 0 Not tainted (3.8.5 #9)
[ 21.172924] PC is at mv643xx_eth_probe+0x254/0x67c
[ 21.177739] LR is at mv643xx_eth_probe+0x234/0x67c
[ 21.182555] pc : [<c021d3a4>] lr : [<c021d384>] psr: 20000013
[ 21.182555] sp : cf83fe78 ip : 00000000 fp : 00000000
[ 21.194080] r10: c0425208 r9 : c0448e2c r8 : c0458848
[ 21.199330] r7 : cf861a80 r6 : c0457b48 r5 : cf814440 r4 : cf814000
[ 21.205886] r3 : 00000001 r2 : 0000000b r1 : 00000000 r0 : 00000000
[ 21.212445] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 21.219786] Control: 0005397f Table: 00004000 DAC: 00000017
[ 21.225558] Process swapper (pid: 1, stack limit = 0xcf83e1b8)
[ 21.231418] Stack: (0xcf83fe78 to 0xcf840000)
[ 21.235798] fe60: cf805bac c0458858
[ 21.244018] fe80: cf861f40 00000000 c045888c c0458858 c045888c c0477e8c c0477e8c 0000003d
[ 21.252240] fea0: c0448e2c c0425208 00000000 c01deb64 c01deb50 c01ddc5c 00000000 c0458858
[ 21.260454] fec0: c045888c c0477e8c 00000000 c01dddf4 c0477e8c cf83fee0 c01ddd94 c01dc738
[ 21.268669] fee0: cf805b8c cf834c90 c0477e8c c0477e8c ceabb300 c0472c00 00000000 c01dd3dc
[ 21.276891] ff00: c03a8ca2 c03a8cae c0477e8c c043d724 00000000 c0481240 0000003d c01de0a0
[ 21.285106] ff20: c01deb88 00000000 c043d724 00000000 c0481240 0000003d c0425208 c043d740
[ 21.293318] ff40: 00000006 c0008598 00000006 00000006 00000000 00000006 c0444a90 00000006
[ 21.301534] ff60: c0444a94 c0444a74 c0481240 0000003d c0448e2c c0425890 00000006 00000006
[ 21.309747] ff80: c0425208 00000000 00000000 c030083c 00000000 00000000 00000000 00000000
[ 21.317962] ffa0: 00000000 c0300844 00000000 c0009110 00000000 00000000 00000000 00000000
[ 21.326175] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 21.334389] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00210007 00450000
[ 21.342621] [<c021d3a4>] (mv643xx_eth_probe+0x254/0x67c) from [<c01deb64>] (platform_drv_probe+0x14/0x18)
[ 21.352236] [<c01deb64>] (platform_drv_probe+0x14/0x18) from [<c01ddc5c>] (driver_probe_device+0xb8/0x1f0)
[ 21.361938] [<c01ddc5c>] (driver_probe_device+0xb8/0x1f0) from [<c01dddf4>] (__driver_attach+0x60/0x84)
[ 21.371382] [<c01dddf4>] (__driver_attach+0x60/0x84) from [<c01dc738>] (bus_for_each_dev+0x50/0x84)
[ 21.380477] [<c01dc738>] (bus_for_each_dev+0x50/0x84) from [<c01dd3dc>] (bus_add_driver+0xa8/0x21c)
[ 21.389562] [<c01dd3dc>] (bus_add_driver+0xa8/0x21c) from [<c01de0a0>] (driver_register+0x9c/0x138)
[ 21.398653] [<c01de0a0>] (driver_register+0x9c/0x138) from [<c043d740>] (mv643xx_eth_init_module+0x1c/0x3c)
[ 21.408445] [<c043d740>] (mv643xx_eth_init_module+0x1c/0x3c) from [<c0008598>] (do_one_initcall+0x90/0x168)
[ 21.418242] [<c0008598>] (do_one_initcall+0x90/0x168) from [<c0425890>] (kernel_init_freeable+0x118/0x1e4)
[ 21.427948] [<c0425890>] (kernel_init_freeable+0x118/0x1e4) from [<c0300844>] (kernel_init+0x8/0xe4)
[ 21.437125] [<c0300844>] (kernel_init+0x8/0xe4) from [<c0009110>] (ret_from_fork+0x14/0x24)
[ 21.445518] Code: e3520000 1202201f e5931004 13a03001 (e591b008)
[ 21.451690] ---[ end trace 1baf370a96a1315c ]---
[ 21.456349] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 21.456349]
>
>> ---
>> arch/arm/mach-kirkwood/board-iomega_ix2_200.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/mach-kirkwood/board-iomega_ix2_200.c b/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
>> index f655b26..e5f7041 100644
>> --- a/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
>> +++ b/arch/arm/mach-kirkwood/board-iomega_ix2_200.c
>> @@ -20,10 +20,15 @@ static struct mv643xx_eth_platform_data iomega_ix2_200_ge00_data = {
>> .duplex = DUPLEX_FULL,
>> };
>>
>> +static struct mv643xx_eth_platform_data iomega_ix2_200_ge01_data = {
>> + .phy_addr = MV643XX_ETH_PHY_ADDR(11),
>> +};
>> +
>> void __init iomega_ix2_200_init(void)
>> {
>> /*
>> * Basic setup. Needs to be called early.
>> */
>> - kirkwood_ge01_init(&iomega_ix2_200_ge00_data);
>> + kirkwood_ge00_init(&iomega_ix2_200_ge00_data);
>> + kirkwood_ge01_init(&iomega_ix2_200_ge01_data);
>
> This looks a lot more legit, have you tried removing .speed and .duplex
> from ge00? We see that a lot with boards converted from out-of-tree
> legacy board files, I'm not certain those declarations are necessary.
They're used by mv643xx_eth if you don't specify a PHY address, which is necessary as per the above.
Thanks,
Nigel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY
2013-03-31 4:13 ` [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY Nigel Roberts
2013-03-31 21:23 ` Jason Cooper
@ 2013-04-10 16:55 ` Jason Cooper
1 sibling, 0 replies; 10+ messages in thread
From: Jason Cooper @ 2013-04-10 16:55 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Mar 31, 2013 at 03:13:24PM +1100, Nigel Roberts wrote:
> ---
> arch/arm/mach-kirkwood/board-iomega_ix2_200.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
Applied to mvebu/fixes
thx,
Jason.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-04-10 16:55 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-31 4:13 ix2-200 device tree related fixes Nigel Roberts
2013-03-31 4:13 ` [PATCH 1/2] Fix typo in the definition of rebuild LED pins for ix2-200 Nigel Roberts
2013-03-31 12:23 ` Sergei Shtylyov
2013-03-31 21:14 ` Jason Cooper
2013-03-31 4:13 ` [PATCH 2/2] Fix GE0/GE1 init on ix2-200 as GE0 has no PHY Nigel Roberts
2013-03-31 21:23 ` Jason Cooper
2013-04-01 11:39 ` Nigel Roberts
2013-04-10 16:55 ` Jason Cooper
2013-03-31 21:11 ` ix2-200 device tree related fixes Jason Cooper
2013-03-31 21:25 ` Jason Cooper
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox