Message ID | 1453803865-2623-23-git-send-email-ricardo.ribalda@gmail.com |
---|---|
State | Accepted |
Delegated to: | Michal Simek |
Headers | show |
Hi Ricardo, On Tue, Jan 26, 2016 at 6:24 PM, Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> wrote: > If the xparameters file contains a LL_TEMAC definition compile its > driver and the net commands. > > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> > --- > .../xilinx/ppc440-generic/xilinx_ppc440_generic.c | 22 ++++++++++++++++++++++ > board/xilinx/ppc440-generic/xparameters.h | 4 ++++ > configs/xilinx-ppc440-generic_defconfig | 5 +++++ > include/configs/xilinx-ppc440-generic.h | 10 ++++++++++ > 4 files changed, 41 insertions(+) > > diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c > index 0e3ab94e31ef..d8233529304d 100644 > --- a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c > +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c > @@ -8,6 +8,7 @@ > > #include <config.h> > #include <common.h> > +#include <netdev.h> > #include <asm/processor.h> > > int checkboard(void) > @@ -34,3 +35,24 @@ void get_sys_info(sys_info_t *sys_info) > int get_serial_clock(void){ > return XPAR_UARTNS550_0_CLOCK_FREQ_HZ; > } > + > +int board_eth_init(bd_t *bis) > +{ > + int ret = 0; > + > + puts("Init xilinx temac\n"); > +#ifdef XPAR_LLTEMAC_0_BASEADDR > + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_0_BASEADDR, > + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, > + XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR); > + > +#endif > + > +#ifdef XPAR_LLTEMAC_1_BASEADDR > + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_1_BASEADDR, > + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, > + XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR); > +#endif No DM ethernet driver for LLTEMAC? > + > + return ret; > +} > diff --git a/board/xilinx/ppc440-generic/xparameters.h b/board/xilinx/ppc440-generic/xparameters.h > index 9685560673ab..b45a6a1d7668 100644 > --- a/board/xilinx/ppc440-generic/xparameters.h > +++ b/board/xilinx/ppc440-generic/xparameters.h > @@ -18,5 +18,9 @@ > #define XPAR_CORE_CLOCK_FREQ_HZ 400000000 > #define XPAR_INTC_MAX_NUM_INTR_INPUTS 32 > #define XPAR_UARTNS550_0_CLOCK_FREQ_HZ 100000000 > +#define XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR 0x80 > +#define XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR 0x98 > +#define XPAR_LLTEMAC_0_BASEADDR 0x83000000 > +#define XPAR_LLTEMAC_1_BASEADDR 0x83000040 > > #endif > diff --git a/configs/xilinx-ppc440-generic_defconfig b/configs/xilinx-ppc440-generic_defconfig > index c66357e08724..64b55ee1359e 100644 > --- a/configs/xilinx-ppc440-generic_defconfig > +++ b/configs/xilinx-ppc440-generic_defconfig > @@ -11,3 +11,8 @@ CONFIG_OF_CONTROL=y > CONFIG_FIT=y > CONFIG_FIT_VERBOSE=y > CONFIG_DEFAULT_DEVICE_TREE="xilinx-ppc440-generic" > +CONFIG_CMD_TFTPPUT=y > +CONFIG_CMD_DHCP=y > +CONFIG_CMD_PING=y > +CONFIG_NETCONSOLE=y > + > diff --git a/include/configs/xilinx-ppc440-generic.h b/include/configs/xilinx-ppc440-generic.h > index 2af5f7fc1de5..8b9d37f42e03 100644 > --- a/include/configs/xilinx-ppc440-generic.h > +++ b/include/configs/xilinx-ppc440-generic.h > @@ -33,6 +33,16 @@ > #define MTDIDS_DEFAULT "nor0=flash" > #define MTDPARTS_DEFAULT "mtdparts=flash:-(user)" > > +/*Net*/ nits: /* Net */ > +#ifdef XPAR_LLTEMAC_0_BASEADDR > +#define CONFIG_XILINX_LL_TEMAC > +#define CONFIG_MII > +#define CONFIG_PHYLIB > +#define CONFIG_PHY_MARVELL > +#define CONFIG_NET_RANDOM_ETHADDR > +#define CONFIG_LIB_RAND I believe we can move part of these into boards' defconfig files, and if with DM ethernet plus OF control we can always enable the driver. > +#endif > + > /*Generic Configs*/ > #include <configs/xilinx-ppc.h> > > -- Regards, Bin
Hello Bin On Tue, Jan 26, 2016 at 1:21 PM, Bin Meng <bmeng.cn@gmail.com> wrote: > Hi Ricardo, > > On Tue, Jan 26, 2016 at 6:24 PM, Ricardo Ribalda Delgado > <ricardo.ribalda@gmail.com> wrote: >> If the xparameters file contains a LL_TEMAC definition compile its >> driver and the net commands. >> >> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >> --- >> .../xilinx/ppc440-generic/xilinx_ppc440_generic.c | 22 ++++++++++++++++++++++ >> board/xilinx/ppc440-generic/xparameters.h | 4 ++++ >> configs/xilinx-ppc440-generic_defconfig | 5 +++++ >> include/configs/xilinx-ppc440-generic.h | 10 ++++++++++ >> 4 files changed, 41 insertions(+) >> >> diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >> index 0e3ab94e31ef..d8233529304d 100644 >> --- a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >> +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >> @@ -8,6 +8,7 @@ >> >> #include <config.h> >> #include <common.h> >> +#include <netdev.h> >> #include <asm/processor.h> >> >> int checkboard(void) >> @@ -34,3 +35,24 @@ void get_sys_info(sys_info_t *sys_info) >> int get_serial_clock(void){ >> return XPAR_UARTNS550_0_CLOCK_FREQ_HZ; >> } >> + >> +int board_eth_init(bd_t *bis) >> +{ >> + int ret = 0; >> + >> + puts("Init xilinx temac\n"); >> +#ifdef XPAR_LLTEMAC_0_BASEADDR >> + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_0_BASEADDR, >> + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, >> + XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR); >> + >> +#endif >> + >> +#ifdef XPAR_LLTEMAC_1_BASEADDR >> + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_1_BASEADDR, >> + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, >> + XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR); >> +#endif > > No DM ethernet driver for LLTEMAC? Not as far as I know > >> + >> + return ret; >> +} >> diff --git a/board/xilinx/ppc440-generic/xparameters.h b/board/xilinx/ppc440-generic/xparameters.h >> index 9685560673ab..b45a6a1d7668 100644 >> --- a/board/xilinx/ppc440-generic/xparameters.h >> +++ b/board/xilinx/ppc440-generic/xparameters.h >> @@ -18,5 +18,9 @@ >> #define XPAR_CORE_CLOCK_FREQ_HZ 400000000 >> #define XPAR_INTC_MAX_NUM_INTR_INPUTS 32 >> #define XPAR_UARTNS550_0_CLOCK_FREQ_HZ 100000000 >> +#define XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR 0x80 >> +#define XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR 0x98 >> +#define XPAR_LLTEMAC_0_BASEADDR 0x83000000 >> +#define XPAR_LLTEMAC_1_BASEADDR 0x83000040 >> >> #endif >> diff --git a/configs/xilinx-ppc440-generic_defconfig b/configs/xilinx-ppc440-generic_defconfig >> index c66357e08724..64b55ee1359e 100644 >> --- a/configs/xilinx-ppc440-generic_defconfig >> +++ b/configs/xilinx-ppc440-generic_defconfig >> @@ -11,3 +11,8 @@ CONFIG_OF_CONTROL=y >> CONFIG_FIT=y >> CONFIG_FIT_VERBOSE=y >> CONFIG_DEFAULT_DEVICE_TREE="xilinx-ppc440-generic" >> +CONFIG_CMD_TFTPPUT=y >> +CONFIG_CMD_DHCP=y >> +CONFIG_CMD_PING=y >> +CONFIG_NETCONSOLE=y >> + >> diff --git a/include/configs/xilinx-ppc440-generic.h b/include/configs/xilinx-ppc440-generic.h >> index 2af5f7fc1de5..8b9d37f42e03 100644 >> --- a/include/configs/xilinx-ppc440-generic.h >> +++ b/include/configs/xilinx-ppc440-generic.h >> @@ -33,6 +33,16 @@ >> #define MTDIDS_DEFAULT "nor0=flash" >> #define MTDPARTS_DEFAULT "mtdparts=flash:-(user)" >> >> +/*Net*/ > > nits: /* Net */ > >> +#ifdef XPAR_LLTEMAC_0_BASEADDR >> +#define CONFIG_XILINX_LL_TEMAC >> +#define CONFIG_MII >> +#define CONFIG_PHYLIB >> +#define CONFIG_PHY_MARVELL >> +#define CONFIG_NET_RANDOM_ETHADDR >> +#define CONFIG_LIB_RAND > > I believe we can move part of these into boards' defconfig files, and > if with DM ethernet plus OF control we can always enable the driver. > I want to build it only when the core is present. This is checked with the definitions from the xparameters.h file, obtained by the fpga syntesis tool. >> +#endif >> + >> /*Generic Configs*/ >> #include <configs/xilinx-ppc.h> >> >> -- > > Regards, > Bin Thanks!
On 26.1.2016 13:43, Ricardo Ribalda Delgado wrote: > Hello Bin > > On Tue, Jan 26, 2016 at 1:21 PM, Bin Meng <bmeng.cn@gmail.com> wrote: >> Hi Ricardo, >> >> On Tue, Jan 26, 2016 at 6:24 PM, Ricardo Ribalda Delgado >> <ricardo.ribalda@gmail.com> wrote: >>> If the xparameters file contains a LL_TEMAC definition compile its >>> driver and the net commands. >>> >>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >>> --- >>> .../xilinx/ppc440-generic/xilinx_ppc440_generic.c | 22 ++++++++++++++++++++++ >>> board/xilinx/ppc440-generic/xparameters.h | 4 ++++ >>> configs/xilinx-ppc440-generic_defconfig | 5 +++++ >>> include/configs/xilinx-ppc440-generic.h | 10 ++++++++++ >>> 4 files changed, 41 insertions(+) >>> >>> diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >>> index 0e3ab94e31ef..d8233529304d 100644 >>> --- a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >>> +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >>> @@ -8,6 +8,7 @@ >>> >>> #include <config.h> >>> #include <common.h> >>> +#include <netdev.h> >>> #include <asm/processor.h> >>> >>> int checkboard(void) >>> @@ -34,3 +35,24 @@ void get_sys_info(sys_info_t *sys_info) >>> int get_serial_clock(void){ >>> return XPAR_UARTNS550_0_CLOCK_FREQ_HZ; >>> } >>> + >>> +int board_eth_init(bd_t *bis) >>> +{ >>> + int ret = 0; >>> + >>> + puts("Init xilinx temac\n"); >>> +#ifdef XPAR_LLTEMAC_0_BASEADDR >>> + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_0_BASEADDR, >>> + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, >>> + XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR); >>> + >>> +#endif >>> + >>> +#ifdef XPAR_LLTEMAC_1_BASEADDR >>> + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_1_BASEADDR, >>> + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, >>> + XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR); >>> +#endif >> >> No DM ethernet driver for LLTEMAC? > > > Not as far as I know I have removed ll_temac support from Microblaze and as we discussed before we are not going to support ppc platforms. That's why if someone wants to use this driver it has to invest time to move it to DM or will be removed at some point in future. Thanks, Michal
hello We are using the driver and can take a look if we can port it to DM. But it wont be in this or next week sorry. Regards! On Tue, Jan 26, 2016 at 3:20 PM, Michal Simek <monstr@monstr.eu> wrote: > On 26.1.2016 13:43, Ricardo Ribalda Delgado wrote: >> Hello Bin >> >> On Tue, Jan 26, 2016 at 1:21 PM, Bin Meng <bmeng.cn@gmail.com> wrote: >>> Hi Ricardo, >>> >>> On Tue, Jan 26, 2016 at 6:24 PM, Ricardo Ribalda Delgado >>> <ricardo.ribalda@gmail.com> wrote: >>>> If the xparameters file contains a LL_TEMAC definition compile its >>>> driver and the net commands. >>>> >>>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >>>> --- >>>> .../xilinx/ppc440-generic/xilinx_ppc440_generic.c | 22 ++++++++++++++++++++++ >>>> board/xilinx/ppc440-generic/xparameters.h | 4 ++++ >>>> configs/xilinx-ppc440-generic_defconfig | 5 +++++ >>>> include/configs/xilinx-ppc440-generic.h | 10 ++++++++++ >>>> 4 files changed, 41 insertions(+) >>>> >>>> diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >>>> index 0e3ab94e31ef..d8233529304d 100644 >>>> --- a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >>>> +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c >>>> @@ -8,6 +8,7 @@ >>>> >>>> #include <config.h> >>>> #include <common.h> >>>> +#include <netdev.h> >>>> #include <asm/processor.h> >>>> >>>> int checkboard(void) >>>> @@ -34,3 +35,24 @@ void get_sys_info(sys_info_t *sys_info) >>>> int get_serial_clock(void){ >>>> return XPAR_UARTNS550_0_CLOCK_FREQ_HZ; >>>> } >>>> + >>>> +int board_eth_init(bd_t *bis) >>>> +{ >>>> + int ret = 0; >>>> + >>>> + puts("Init xilinx temac\n"); >>>> +#ifdef XPAR_LLTEMAC_0_BASEADDR >>>> + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_0_BASEADDR, >>>> + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, >>>> + XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR); >>>> + >>>> +#endif >>>> + >>>> +#ifdef XPAR_LLTEMAC_1_BASEADDR >>>> + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_1_BASEADDR, >>>> + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, >>>> + XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR); >>>> +#endif >>> >>> No DM ethernet driver for LLTEMAC? >> >> >> Not as far as I know > > I have removed ll_temac support from Microblaze and as we discussed > before we are not going to support ppc platforms. That's why if someone > wants to use this driver it has to invest time to move it to DM or will > be removed at some point in future. > > Thanks, > Michal > > -- > Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 > w: www.monstr.eu p: +42-0-721842854 > Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ > Maintainer of Linux kernel - Xilinx Zynq ARM architecture > Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform > >
On 26.1.2016 15:37, Ricardo Ribalda Delgado wrote: > hello > > We are using the driver and can take a look if we can port it to DM. > But it wont be in this or next week sorry. That's not a problem at all. Currently it wired just to xilinx ppc platforms. No pressure on it at all. Simon probably knows when all these non DM drivers will go away. Thanks, Michal
diff --git a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c index 0e3ab94e31ef..d8233529304d 100644 --- a/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c +++ b/board/xilinx/ppc440-generic/xilinx_ppc440_generic.c @@ -8,6 +8,7 @@ #include <config.h> #include <common.h> +#include <netdev.h> #include <asm/processor.h> int checkboard(void) @@ -34,3 +35,24 @@ void get_sys_info(sys_info_t *sys_info) int get_serial_clock(void){ return XPAR_UARTNS550_0_CLOCK_FREQ_HZ; } + +int board_eth_init(bd_t *bis) +{ + int ret = 0; + + puts("Init xilinx temac\n"); +#ifdef XPAR_LLTEMAC_0_BASEADDR + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_0_BASEADDR, + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, + XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR); + +#endif + +#ifdef XPAR_LLTEMAC_1_BASEADDR + ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_1_BASEADDR, + XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB, + XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR); +#endif + + return ret; +} diff --git a/board/xilinx/ppc440-generic/xparameters.h b/board/xilinx/ppc440-generic/xparameters.h index 9685560673ab..b45a6a1d7668 100644 --- a/board/xilinx/ppc440-generic/xparameters.h +++ b/board/xilinx/ppc440-generic/xparameters.h @@ -18,5 +18,9 @@ #define XPAR_CORE_CLOCK_FREQ_HZ 400000000 #define XPAR_INTC_MAX_NUM_INTR_INPUTS 32 #define XPAR_UARTNS550_0_CLOCK_FREQ_HZ 100000000 +#define XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR 0x80 +#define XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR 0x98 +#define XPAR_LLTEMAC_0_BASEADDR 0x83000000 +#define XPAR_LLTEMAC_1_BASEADDR 0x83000040 #endif diff --git a/configs/xilinx-ppc440-generic_defconfig b/configs/xilinx-ppc440-generic_defconfig index c66357e08724..64b55ee1359e 100644 --- a/configs/xilinx-ppc440-generic_defconfig +++ b/configs/xilinx-ppc440-generic_defconfig @@ -11,3 +11,8 @@ CONFIG_OF_CONTROL=y CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_DEFAULT_DEVICE_TREE="xilinx-ppc440-generic" +CONFIG_CMD_TFTPPUT=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PING=y +CONFIG_NETCONSOLE=y + diff --git a/include/configs/xilinx-ppc440-generic.h b/include/configs/xilinx-ppc440-generic.h index 2af5f7fc1de5..8b9d37f42e03 100644 --- a/include/configs/xilinx-ppc440-generic.h +++ b/include/configs/xilinx-ppc440-generic.h @@ -33,6 +33,16 @@ #define MTDIDS_DEFAULT "nor0=flash" #define MTDPARTS_DEFAULT "mtdparts=flash:-(user)" +/*Net*/ +#ifdef XPAR_LLTEMAC_0_BASEADDR +#define CONFIG_XILINX_LL_TEMAC +#define CONFIG_MII +#define CONFIG_PHYLIB +#define CONFIG_PHY_MARVELL +#define CONFIG_NET_RANDOM_ETHADDR +#define CONFIG_LIB_RAND +#endif + /*Generic Configs*/ #include <configs/xilinx-ppc.h>
If the xparameters file contains a LL_TEMAC definition compile its driver and the net commands. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> --- .../xilinx/ppc440-generic/xilinx_ppc440_generic.c | 22 ++++++++++++++++++++++ board/xilinx/ppc440-generic/xparameters.h | 4 ++++ configs/xilinx-ppc440-generic_defconfig | 5 +++++ include/configs/xilinx-ppc440-generic.h | 10 ++++++++++ 4 files changed, 41 insertions(+)