* 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 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
* [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 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 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
* [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
* 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
* 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
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