* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
2014-11-24 17:25 ` David Daney
@ 2014-11-24 17:37 ` James Cowgill
2014-11-24 18:54 ` Andreas Herrmann
2014-11-24 19:13 ` Aaro Koskinen
2 siblings, 0 replies; 11+ messages in thread
From: James Cowgill @ 2014-11-24 17:37 UTC (permalink / raw)
To: David Daney
Cc: Markos Chandras, Herrmann, Andreas, linux-mips@linux-mips.org,
Ralf Baechle, Aaro Koskinen, David Daney
On Mon, 2014-11-24 at 09:25 -0800, David Daney wrote:
> On 11/24/2014 05:51 AM, James Cowgill wrote:
> > From: Markos Chandras <markos.chandras@imgtec.com>
> >
> > Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
> >
> > Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> > Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
>
> NACK.
>
> As far as I know, these boards have a boot loader that supplies a
> correct device tree, there should be no need to hack up the kernel like
> this.
You might be right (I kind of forgot about doing anything like this) -
I'll try and prod the bootloader a bit on one of the boards we have
tomorrow morning.
James
> As far as I know, Andreas is running a kernel.org kernel on these boards
> without anything like this.
>
> Andreas, can you confirm this?
>
> Thanks,
> David Daney
>
> > ---
> > arch/mips/cavium-octeon/executive/cvmx-helper-board.c | 3 +++
> > arch/mips/include/asm/octeon/cvmx-bootinfo.h | 2 ++
> > 2 files changed, 5 insertions(+)
> >
> > diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> > index 5dfef84..69ba6fb 100644
> > --- a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> > +++ b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> > @@ -186,6 +186,8 @@ int cvmx_helper_board_get_mii_address(int ipd_port)
> > return 7 - ipd_port;
> > else
> > return -1;
> > + case CVMX_BOARD_TYPE_UBNT_E200:
> > + return -1;
> > case CVMX_BOARD_TYPE_CUST_DSR1000N:
> > /*
> > * Port 2 connects to Broadcom PHY (B5081). Other ports (0-1)
> > @@ -759,6 +761,7 @@ enum cvmx_helper_board_usb_clock_types __cvmx_helper_board_usb_get_clock_type(vo
> > case CVMX_BOARD_TYPE_LANAI2_G:
> > case CVMX_BOARD_TYPE_NIC10E_66:
> > case CVMX_BOARD_TYPE_UBNT_E100:
> > + case CVMX_BOARD_TYPE_UBNT_E200:
> > case CVMX_BOARD_TYPE_CUST_DSR1000N:
> > return USB_CLOCK_TYPE_CRYSTAL_12;
> > case CVMX_BOARD_TYPE_NIC10E:
> > diff --git a/arch/mips/include/asm/octeon/cvmx-bootinfo.h b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> > index 2298199..0567847 100644
> > --- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> > +++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> > @@ -228,6 +228,7 @@ enum cvmx_board_types_enum {
> > */
> > CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001,
> > CVMX_BOARD_TYPE_UBNT_E100 = 20002,
> > + CVMX_BOARD_TYPE_UBNT_E200 = 20003,
> > CVMX_BOARD_TYPE_CUST_DSR1000N = 20006,
> > CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000,
> >
> > @@ -328,6 +329,7 @@ static inline const char *cvmx_board_type_to_string(enum
> > /* Customer private range */
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
> > + ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
> > }
> >
>
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
@ 2014-11-24 18:54 ` Andreas Herrmann
0 siblings, 0 replies; 11+ messages in thread
From: Andreas Herrmann @ 2014-11-24 18:54 UTC (permalink / raw)
To: David Daney
Cc: James Cowgill, linux-mips, Ralf Baechle, Aaro Koskinen,
David Daney, Markos Chandras
On Mon, Nov 24, 2014 at 09:25:26AM -0800, David Daney wrote:
> On 11/24/2014 05:51 AM, James Cowgill wrote:
> >From: Markos Chandras <markos.chandras@imgtec.com>
> >
> >Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
> >
> >Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> >Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
>
> NACK.
>
> As far as I know, these boards have a boot loader that supplies a
> correct device tree, there should be no need to hack up the kernel
> like this.
>
> As far as I know, Andreas is running a kernel.org kernel on these
> boards without anything like this.
>
> Andreas, can you confirm this?
Yes, a device tree is supported and most stuff works with mainline and
the USB patches posted recently.
Andreas
> Thanks,
> David Daney
>
> >---
> > arch/mips/cavium-octeon/executive/cvmx-helper-board.c | 3 +++
> > arch/mips/include/asm/octeon/cvmx-bootinfo.h | 2 ++
> > 2 files changed, 5 insertions(+)
> >
> >diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> >index 5dfef84..69ba6fb 100644
> >--- a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> >+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> >@@ -186,6 +186,8 @@ int cvmx_helper_board_get_mii_address(int ipd_port)
> > return 7 - ipd_port;
> > else
> > return -1;
> >+ case CVMX_BOARD_TYPE_UBNT_E200:
> >+ return -1;
> > case CVMX_BOARD_TYPE_CUST_DSR1000N:
> > /*
> > * Port 2 connects to Broadcom PHY (B5081). Other ports (0-1)
> >@@ -759,6 +761,7 @@ enum cvmx_helper_board_usb_clock_types __cvmx_helper_board_usb_get_clock_type(vo
> > case CVMX_BOARD_TYPE_LANAI2_G:
> > case CVMX_BOARD_TYPE_NIC10E_66:
> > case CVMX_BOARD_TYPE_UBNT_E100:
> >+ case CVMX_BOARD_TYPE_UBNT_E200:
> > case CVMX_BOARD_TYPE_CUST_DSR1000N:
> > return USB_CLOCK_TYPE_CRYSTAL_12;
> > case CVMX_BOARD_TYPE_NIC10E:
> >diff --git a/arch/mips/include/asm/octeon/cvmx-bootinfo.h b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> >index 2298199..0567847 100644
> >--- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> >+++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> >@@ -228,6 +228,7 @@ enum cvmx_board_types_enum {
> > */
> > CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001,
> > CVMX_BOARD_TYPE_UBNT_E100 = 20002,
> >+ CVMX_BOARD_TYPE_UBNT_E200 = 20003,
> > CVMX_BOARD_TYPE_CUST_DSR1000N = 20006,
> > CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000,
> >
> >@@ -328,6 +329,7 @@ static inline const char *cvmx_board_type_to_string(enum
> > /* Customer private range */
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
> >+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
> > }
> >
>
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
@ 2014-11-24 18:54 ` Andreas Herrmann
0 siblings, 0 replies; 11+ messages in thread
From: Andreas Herrmann @ 2014-11-24 18:54 UTC (permalink / raw)
To: David Daney
Cc: James Cowgill, linux-mips, Ralf Baechle, Aaro Koskinen,
David Daney, Markos Chandras
On Mon, Nov 24, 2014 at 09:25:26AM -0800, David Daney wrote:
> On 11/24/2014 05:51 AM, James Cowgill wrote:
> >From: Markos Chandras <markos.chandras@imgtec.com>
> >
> >Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
> >
> >Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> >Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
>
> NACK.
>
> As far as I know, these boards have a boot loader that supplies a
> correct device tree, there should be no need to hack up the kernel
> like this.
>
> As far as I know, Andreas is running a kernel.org kernel on these
> boards without anything like this.
>
> Andreas, can you confirm this?
Yes, a device tree is supported and most stuff works with mainline and
the USB patches posted recently.
Andreas
> Thanks,
> David Daney
>
> >---
> > arch/mips/cavium-octeon/executive/cvmx-helper-board.c | 3 +++
> > arch/mips/include/asm/octeon/cvmx-bootinfo.h | 2 ++
> > 2 files changed, 5 insertions(+)
> >
> >diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> >index 5dfef84..69ba6fb 100644
> >--- a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> >+++ b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
> >@@ -186,6 +186,8 @@ int cvmx_helper_board_get_mii_address(int ipd_port)
> > return 7 - ipd_port;
> > else
> > return -1;
> >+ case CVMX_BOARD_TYPE_UBNT_E200:
> >+ return -1;
> > case CVMX_BOARD_TYPE_CUST_DSR1000N:
> > /*
> > * Port 2 connects to Broadcom PHY (B5081). Other ports (0-1)
> >@@ -759,6 +761,7 @@ enum cvmx_helper_board_usb_clock_types __cvmx_helper_board_usb_get_clock_type(vo
> > case CVMX_BOARD_TYPE_LANAI2_G:
> > case CVMX_BOARD_TYPE_NIC10E_66:
> > case CVMX_BOARD_TYPE_UBNT_E100:
> >+ case CVMX_BOARD_TYPE_UBNT_E200:
> > case CVMX_BOARD_TYPE_CUST_DSR1000N:
> > return USB_CLOCK_TYPE_CRYSTAL_12;
> > case CVMX_BOARD_TYPE_NIC10E:
> >diff --git a/arch/mips/include/asm/octeon/cvmx-bootinfo.h b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> >index 2298199..0567847 100644
> >--- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> >+++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
> >@@ -228,6 +228,7 @@ enum cvmx_board_types_enum {
> > */
> > CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001,
> > CVMX_BOARD_TYPE_UBNT_E100 = 20002,
> >+ CVMX_BOARD_TYPE_UBNT_E200 = 20003,
> > CVMX_BOARD_TYPE_CUST_DSR1000N = 20006,
> > CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000,
> >
> >@@ -328,6 +329,7 @@ static inline const char *cvmx_board_type_to_string(enum
> > /* Customer private range */
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
> >+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
> > ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
> > }
> >
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
2014-11-24 17:25 ` David Daney
2014-11-24 17:37 ` James Cowgill
2014-11-24 18:54 ` Andreas Herrmann
@ 2014-11-24 19:13 ` Aaro Koskinen
2014-11-24 19:46 ` Aaro Koskinen
2 siblings, 1 reply; 11+ messages in thread
From: Aaro Koskinen @ 2014-11-24 19:13 UTC (permalink / raw)
To: David Daney
Cc: James Cowgill, Herrmann, Andreas, linux-mips, Ralf Baechle,
David Daney, Markos Chandras
Hi,
On Mon, Nov 24, 2014 at 09:25:26AM -0800, David Daney wrote:
> On 11/24/2014 05:51 AM, James Cowgill wrote:
> >From: Markos Chandras <markos.chandras@imgtec.com>
> >
> >Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
> >
> >Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> >Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
>
> NACK.
>
> As far as I know, these boards have a boot loader that supplies a correct
> device tree, there should be no need to hack up the kernel like this.
>
> As far as I know, Andreas is running a kernel.org kernel on these boards
> without anything like this.
It gets called from Octeon Ethernet driver through cvmx_helper_link_get()
frequently so the console gets spammed about unknown board, and probably
also the link status is bogus as a result.
I guess all those board helper functions should be factored
out and Octeon Ethernet should use DT only. I think we need TODO
file under staging/octeon.
A.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
2014-11-24 19:13 ` Aaro Koskinen
@ 2014-11-24 19:46 ` Aaro Koskinen
2014-11-24 19:53 ` David Daney
0 siblings, 1 reply; 11+ messages in thread
From: Aaro Koskinen @ 2014-11-24 19:46 UTC (permalink / raw)
To: David Daney
Cc: James Cowgill, Herrmann, Andreas, linux-mips, Ralf Baechle,
David Daney, Markos Chandras
Hi,
On Mon, Nov 24, 2014 at 09:13:01PM +0200, Aaro Koskinen wrote:
> On Mon, Nov 24, 2014 at 09:25:26AM -0800, David Daney wrote:
> > On 11/24/2014 05:51 AM, James Cowgill wrote:
> > >From: Markos Chandras <markos.chandras@imgtec.com>
> > >
> > >Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
> > >
> > >Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> > >Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
> >
> > NACK.
> >
> > As far as I know, these boards have a boot loader that supplies a correct
> > device tree, there should be no need to hack up the kernel like this.
> >
> > As far as I know, Andreas is running a kernel.org kernel on these boards
> > without anything like this.
>
> It gets called from Octeon Ethernet driver through cvmx_helper_link_get()
> frequently so the console gets spammed about unknown board, and probably
> also the link status is bogus as a result.
Just tested with 3.18-rc6 and this behaviour has been apparently
fixed somehow. Cool.
A.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
2014-11-24 19:46 ` Aaro Koskinen
@ 2014-11-24 19:53 ` David Daney
2014-11-25 11:58 ` James Cowgill
0 siblings, 1 reply; 11+ messages in thread
From: David Daney @ 2014-11-24 19:53 UTC (permalink / raw)
To: Aaro Koskinen
Cc: James Cowgill, Herrmann, Andreas, linux-mips, Ralf Baechle,
David Daney, Markos Chandras
On 11/24/2014 11:46 AM, Aaro Koskinen wrote:
> Hi,
>
> On Mon, Nov 24, 2014 at 09:13:01PM +0200, Aaro Koskinen wrote:
>> On Mon, Nov 24, 2014 at 09:25:26AM -0800, David Daney wrote:
>>> On 11/24/2014 05:51 AM, James Cowgill wrote:
>>>> From: Markos Chandras <markos.chandras@imgtec.com>
>>>>
>>>> Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
>>>>
>>>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
>>>> Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
>>>
>>> NACK.
>>>
>>> As far as I know, these boards have a boot loader that supplies a correct
>>> device tree, there should be no need to hack up the kernel like this.
>>>
>>> As far as I know, Andreas is running a kernel.org kernel on these boards
>>> without anything like this.
>>
>> It gets called from Octeon Ethernet driver through cvmx_helper_link_get()
>> frequently so the console gets spammed about unknown board, and probably
>> also the link status is bogus as a result.
>
> Just tested with 3.18-rc6 and this behaviour has been apparently
> fixed somehow. Cool.
>
It is magic!
If the kernel is built with the proper ethernet phy drivers *and* the
device tree contains proper phy topology information, then the phy
drivers handle link monitoring and none of the cvmx-* crap is used.
So for all boards with bootloaders that supply a device tree, there
should never be any reason to patch in the hacky board identifiers to
the kernel sources.
David.
> A.
>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
2014-11-24 19:53 ` David Daney
@ 2014-11-25 11:58 ` James Cowgill
2014-11-25 12:09 ` Ralf Baechle
0 siblings, 1 reply; 11+ messages in thread
From: James Cowgill @ 2014-11-25 11:58 UTC (permalink / raw)
To: David Daney
Cc: Markos Chandras, Aaro Koskinen, Herrmann, Andreas,
linux-mips@linux-mips.org, Ralf Baechle, David Daney
On Mon, 2014-11-24 at 11:53 -0800, David Daney wrote:
> On 11/24/2014 11:46 AM, Aaro Koskinen wrote:
> > Hi,
> >
> > On Mon, Nov 24, 2014 at 09:13:01PM +0200, Aaro Koskinen wrote:
> >> On Mon, Nov 24, 2014 at 09:25:26AM -0800, David Daney wrote:
> >>> On 11/24/2014 05:51 AM, James Cowgill wrote:
> >>>> From: Markos Chandras <markos.chandras@imgtec.com>
> >>>>
> >>>> Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
> >>>>
> >>>> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> >>>> Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
> >>>
> >>> NACK.
> >>>
> >>> As far as I know, these boards have a boot loader that supplies a correct
> >>> device tree, there should be no need to hack up the kernel like this.
> >>>
> >>> As far as I know, Andreas is running a kernel.org kernel on these boards
> >>> without anything like this.
> >>
> >> It gets called from Octeon Ethernet driver through cvmx_helper_link_get()
> >> frequently so the console gets spammed about unknown board, and probably
> >> also the link status is bogus as a result.
> >
> > Just tested with 3.18-rc6 and this behaviour has been apparently
> > fixed somehow. Cool.
> >
>
> It is magic!
>
> If the kernel is built with the proper ethernet phy drivers *and* the
> device tree contains proper phy topology information, then the phy
> drivers handle link monitoring and none of the cvmx-* crap is used.
>
> So for all boards with bootloaders that supply a device tree, there
> should never be any reason to patch in the hacky board identifiers to
> the kernel sources.
Yep you're right - everything does seem to work. I think I must have
messed up different kernel versions or something when I tested this
before. Sorry for the spam, you can ignore this patch.
Thanks,
James
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] MIPS: octeon: Add support for the UBNT E200 board
2014-11-25 11:58 ` James Cowgill
@ 2014-11-25 12:09 ` Ralf Baechle
0 siblings, 0 replies; 11+ messages in thread
From: Ralf Baechle @ 2014-11-25 12:09 UTC (permalink / raw)
To: James Cowgill
Cc: David Daney, Markos Chandras, Aaro Koskinen, Herrmann, Andreas,
linux-mips@linux-mips.org, David Daney
On Tue, Nov 25, 2014 at 11:58:21AM +0000, James Cowgill wrote:
> > So for all boards with bootloaders that supply a device tree, there
> > should never be any reason to patch in the hacky board identifiers to
> > the kernel sources.
>
> Yep you're right - everything does seem to work. I think I must have
> messed up different kernel versions or something when I tested this
> before. Sorry for the spam, you can ignore this patch.
I already dropped it from patchwork yesterday.
Ralf
^ permalink raw reply [flat|nested] 11+ messages in thread