Patchwork [U-Boot,6/8] microblaze: Add faked LL_TEMAC driver configuration

login
register
mail settings
Submitter Stephan Linz
Date Jan. 29, 2012, 3:54 p.m.
Message ID <9de5c65c73e877595e72747427c4a5e57c5a8a57.1327848193.git.linz@li-pro.net>
Download mbox | patch
Permalink /patch/138450/
State Rejected
Delegated to: Michal Simek
Headers show

Comments

Stephan Linz - Jan. 29, 2012, 3:54 p.m.
Expand the specific configuration for the microblaze-generic
board in xparameters.h with a faked setup to enable the
LL_TEMAC driver.

Note: From now the microblaze-generic board is no longer a
valid board configuration for a real piece of hardware. Rather
than, we use the file config.mk and xparameters.h as a faked
board configuration to force the compilation of all potential
driver code for Microblaze systems.

Signed-off-by: Stephan Linz <linz@li-pro.net>
---
 board/xilinx/microblaze-generic/config.mk     |    6 ++++--
 board/xilinx/microblaze-generic/xparameters.h |   24 ++++++++++++++++++++++--
 2 files changed, 26 insertions(+), 4 deletions(-)
Michal Simek - Jan. 31, 2012, 9:01 a.m.
Stephan Linz wrote:
> Expand the specific configuration for the microblaze-generic
> board in xparameters.h with a faked setup to enable the
> LL_TEMAC driver.
> 
> Note: From now the microblaze-generic board is no longer a
> valid board configuration for a real piece of hardware. Rather
> than, we use the file config.mk and xparameters.h as a faked
> board configuration to force the compilation of all potential
> driver code for Microblaze systems.
> 
> Signed-off-by: Stephan Linz <linz@li-pro.net>
> ---
>  board/xilinx/microblaze-generic/config.mk     |    6 ++++--
>  board/xilinx/microblaze-generic/xparameters.h |   24 ++++++++++++++++++++++--
>  2 files changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
> index f8d7e26..9fd1015 100644
> --- a/board/xilinx/microblaze-generic/config.mk
> +++ b/board/xilinx/microblaze-generic/config.mk
> @@ -21,8 +21,10 @@
>  # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>  # MA 02111-1307 USA
>  #
> -# CAUTION: This file is automatically generated by libgen.
> -# Version: Xilinx EDK 6.3 EDK_Gmm.12.3
> +# CAUTION: This file is a faked configuration !!!
> +#          There is no real target for the microblaze-generic
> +#          configuration. You have to replace this file with
> +#          the generated file from your Xilinx design flow.
>  #
>  
>  CONFIG_SYS_TEXT_BASE = 0x29000000
> diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h
> index fae03bf..69758c3 100644
> --- a/board/xilinx/microblaze-generic/xparameters.h
> +++ b/board/xilinx/microblaze-generic/xparameters.h
> @@ -21,8 +21,10 @@
>   * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>   * MA 02111-1307 USA
>   *
> - * CAUTION: This file is automatically generated by libgen.
> - * Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
> + * CAUTION: This file is a faked configuration !!!
> + *          There is no real target for the microblaze-generic
> + *          configuration. You have to replace this file with
> + *          the generated file from your Xilinx design flow.
>   */
>  
>  #define XILINX_BOARD_NAME	microblaze-generic
> @@ -69,3 +71,21 @@
>  
>  /* Ethernet controller is Ethernet_MAC */
>  #define XILINX_EMACLITE_BASEADDR       0x40C00000
> +
> +/* Ethernet controller is Ethernet_MAC */
> +#define XILINX_LLTEMAC_BASEADDR			0x44000000
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR	0x42000180
> +#define XILINX_LLTEMAC_BASEADDR1		0x44000040
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR1	0x42000200

> +#define XILINX_LLTEMAC_BASEADDR2		0x44100000
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR2	0x42000280
> +#define XILINX_LLTEMAC_BASEADDR3		0x44100040
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR3	0x42000300

Do these two options test anything?

> +#define XILINX_LLTEMAC_BASEADDR4		0x44200000
> +#define XILINX_LLTEMAC_FIFO_BASEADDR4		0x42100000
> +#define XILINX_LLTEMAC_BASEADDR5		0x44200040
> +#define XILINX_LLTEMAC_FIFO_BASEADDR5		0x42110000

> +#define XILINX_LLTEMAC_BASEADDR6		0x44300000
> +#define XILINX_LLTEMAC_FIFO_BASEADDR6		0x42120000
> +#define XILINX_LLTEMAC_BASEADDR7		0x44300040
> +#define XILINX_LLTEMAC_FIFO_BASEADDR7		0x42130000

The same here.

Michal
Stephan Linz - Jan. 31, 2012, 7:27 p.m.
Am Dienstag, den 31.01.2012, 10:01 +0100 schrieb Michal Simek: 
> Stephan Linz wrote:
> > Expand the specific configuration for the microblaze-generic
> > board in xparameters.h with a faked setup to enable the
> > LL_TEMAC driver.
> > 
> > Note: From now the microblaze-generic board is no longer a
> > valid board configuration for a real piece of hardware. Rather
> > than, we use the file config.mk and xparameters.h as a faked
> > board configuration to force the compilation of all potential
> > driver code for Microblaze systems.
> > 
> > Signed-off-by: Stephan Linz <linz@li-pro.net>
> > ---
> >  board/xilinx/microblaze-generic/config.mk     |    6 ++++--
> >  board/xilinx/microblaze-generic/xparameters.h |   24 ++++++++++++++++++++++--
> >  2 files changed, 26 insertions(+), 4 deletions(-)
> > 
> > diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
> > index f8d7e26..9fd1015 100644
> > --- a/board/xilinx/microblaze-generic/config.mk
> > +++ b/board/xilinx/microblaze-generic/config.mk
> > @@ -21,8 +21,10 @@
> >  # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> >  # MA 02111-1307 USA
> >  #
> > -# CAUTION: This file is automatically generated by libgen.
> > -# Version: Xilinx EDK 6.3 EDK_Gmm.12.3
> > +# CAUTION: This file is a faked configuration !!!
> > +#          There is no real target for the microblaze-generic
> > +#          configuration. You have to replace this file with
> > +#          the generated file from your Xilinx design flow.
> >  #
> >  
> >  CONFIG_SYS_TEXT_BASE = 0x29000000
> > diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h
> > index fae03bf..69758c3 100644
> > --- a/board/xilinx/microblaze-generic/xparameters.h
> > +++ b/board/xilinx/microblaze-generic/xparameters.h
> > @@ -21,8 +21,10 @@
> >   * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> >   * MA 02111-1307 USA
> >   *
> > - * CAUTION: This file is automatically generated by libgen.
> > - * Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
> > + * CAUTION: This file is a faked configuration !!!
> > + *          There is no real target for the microblaze-generic
> > + *          configuration. You have to replace this file with
> > + *          the generated file from your Xilinx design flow.
> >   */
> >  
> >  #define XILINX_BOARD_NAME	microblaze-generic
> > @@ -69,3 +71,21 @@
> >  
> >  /* Ethernet controller is Ethernet_MAC */
> >  #define XILINX_EMACLITE_BASEADDR       0x40C00000
> > +
> > +/* Ethernet controller is Ethernet_MAC */
> > +#define XILINX_LLTEMAC_BASEADDR			0x44000000
> > +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR	0x42000180
> > +#define XILINX_LLTEMAC_BASEADDR1		0x44000040
> > +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR1	0x42000200
> 
> > +#define XILINX_LLTEMAC_BASEADDR2		0x44100000
> > +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR2	0x42000280
> > +#define XILINX_LLTEMAC_BASEADDR3		0x44100040
> > +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR3	0x42000300
> 
> Do these two options test anything?

This is a faked configuration to evaluate the preprocessor stage in
xconversions.h and the ll_temac driver setup in
xilinx_ll_temac_standard_init().

I do not known any FPGA design / board on which I could test it in real
live. But I've run a simple test with BASEADDR1 set to same value of
BASEADDR. So I could test faked memory access to a single TEMAC in
hardware by two driver instance in software -- it works.

> 
> > +#define XILINX_LLTEMAC_BASEADDR4		0x44200000
> > +#define XILINX_LLTEMAC_FIFO_BASEADDR4		0x42100000
> > +#define XILINX_LLTEMAC_BASEADDR5		0x44200040
> > +#define XILINX_LLTEMAC_FIFO_BASEADDR5		0x42110000
> 
> > +#define XILINX_LLTEMAC_BASEADDR6		0x44300000
> > +#define XILINX_LLTEMAC_FIFO_BASEADDR6		0x42120000
> > +#define XILINX_LLTEMAC_BASEADDR7		0x44300040
> > +#define XILINX_LLTEMAC_FIFO_BASEADDR7		0x42130000
> 
> The same here.

The ll_temac driver supports up to eight TEMAC entities in hardware.
That's why I've expand the faked Xilinx parameter list to eight.


br
Stephan
Michal Simek - Feb. 23, 2012, 11:53 a.m.
Stephan Linz wrote:
> Expand the specific configuration for the microblaze-generic
> board in xparameters.h with a faked setup to enable the
> LL_TEMAC driver.
> 
> Note: From now the microblaze-generic board is no longer a
> valid board configuration for a real piece of hardware. Rather
> than, we use the file config.mk and xparameters.h as a faked
> board configuration to force the compilation of all potential
> driver code for Microblaze systems.
> 
> Signed-off-by: Stephan Linz <linz@li-pro.net>
> ---
>  board/xilinx/microblaze-generic/config.mk     |    6 ++++--
>  board/xilinx/microblaze-generic/xparameters.h |   24 ++++++++++++++++++++++--
>  2 files changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
> index f8d7e26..9fd1015 100644
> --- a/board/xilinx/microblaze-generic/config.mk
> +++ b/board/xilinx/microblaze-generic/config.mk
> @@ -21,8 +21,10 @@
>  # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>  # MA 02111-1307 USA
>  #
> -# CAUTION: This file is automatically generated by libgen.
> -# Version: Xilinx EDK 6.3 EDK_Gmm.12.3
> +# CAUTION: This file is a faked configuration !!!
> +#          There is no real target for the microblaze-generic
> +#          configuration. You have to replace this file with
> +#          the generated file from your Xilinx design flow.
>  #
>  
>  CONFIG_SYS_TEXT_BASE = 0x29000000
> diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h
> index fae03bf..69758c3 100644
> --- a/board/xilinx/microblaze-generic/xparameters.h
> +++ b/board/xilinx/microblaze-generic/xparameters.h
> @@ -21,8 +21,10 @@
>   * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>   * MA 02111-1307 USA
>   *
> - * CAUTION: This file is automatically generated by libgen.
> - * Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
> + * CAUTION: This file is a faked configuration !!!
> + *          There is no real target for the microblaze-generic
> + *          configuration. You have to replace this file with
> + *          the generated file from your Xilinx design flow.
>   */
>  
>  #define XILINX_BOARD_NAME	microblaze-generic
> @@ -69,3 +71,21 @@
>  
>  /* Ethernet controller is Ethernet_MAC */
>  #define XILINX_EMACLITE_BASEADDR       0x40C00000
> +
> +/* Ethernet controller is Ethernet_MAC */
> +#define XILINX_LLTEMAC_BASEADDR			0x44000000
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR	0x42000180
> +#define XILINX_LLTEMAC_BASEADDR1		0x44000040
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR1	0x42000200
> +#define XILINX_LLTEMAC_BASEADDR2		0x44100000
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR2	0x42000280
> +#define XILINX_LLTEMAC_BASEADDR3		0x44100040
> +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR3	0x42000300
> +#define XILINX_LLTEMAC_BASEADDR4		0x44200000
> +#define XILINX_LLTEMAC_FIFO_BASEADDR4		0x42100000
> +#define XILINX_LLTEMAC_BASEADDR5		0x44200040
> +#define XILINX_LLTEMAC_FIFO_BASEADDR5		0x42110000
> +#define XILINX_LLTEMAC_BASEADDR6		0x44300000
> +#define XILINX_LLTEMAC_FIFO_BASEADDR6		0x42120000
> +#define XILINX_LLTEMAC_BASEADDR7		0x44300040
> +#define XILINX_LLTEMAC_FIFO_BASEADDR7		0x42130000

I can't see the reason to test 4 sdma cases and 4 fifo cases for fake system configuration.
The same thing will work with one sdma and one fifo.

Michal

Patch

diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
index f8d7e26..9fd1015 100644
--- a/board/xilinx/microblaze-generic/config.mk
+++ b/board/xilinx/microblaze-generic/config.mk
@@ -21,8 +21,10 @@ 
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 # MA 02111-1307 USA
 #
-# CAUTION: This file is automatically generated by libgen.
-# Version: Xilinx EDK 6.3 EDK_Gmm.12.3
+# CAUTION: This file is a faked configuration !!!
+#          There is no real target for the microblaze-generic
+#          configuration. You have to replace this file with
+#          the generated file from your Xilinx design flow.
 #
 
 CONFIG_SYS_TEXT_BASE = 0x29000000
diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h
index fae03bf..69758c3 100644
--- a/board/xilinx/microblaze-generic/xparameters.h
+++ b/board/xilinx/microblaze-generic/xparameters.h
@@ -21,8 +21,10 @@ 
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  *
- * CAUTION: This file is automatically generated by libgen.
- * Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
+ * CAUTION: This file is a faked configuration !!!
+ *          There is no real target for the microblaze-generic
+ *          configuration. You have to replace this file with
+ *          the generated file from your Xilinx design flow.
  */
 
 #define XILINX_BOARD_NAME	microblaze-generic
@@ -69,3 +71,21 @@ 
 
 /* Ethernet controller is Ethernet_MAC */
 #define XILINX_EMACLITE_BASEADDR       0x40C00000
+
+/* Ethernet controller is Ethernet_MAC */
+#define XILINX_LLTEMAC_BASEADDR			0x44000000
+#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR	0x42000180
+#define XILINX_LLTEMAC_BASEADDR1		0x44000040
+#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR1	0x42000200
+#define XILINX_LLTEMAC_BASEADDR2		0x44100000
+#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR2	0x42000280
+#define XILINX_LLTEMAC_BASEADDR3		0x44100040
+#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR3	0x42000300
+#define XILINX_LLTEMAC_BASEADDR4		0x44200000
+#define XILINX_LLTEMAC_FIFO_BASEADDR4		0x42100000
+#define XILINX_LLTEMAC_BASEADDR5		0x44200040
+#define XILINX_LLTEMAC_FIFO_BASEADDR5		0x42110000
+#define XILINX_LLTEMAC_BASEADDR6		0x44300000
+#define XILINX_LLTEMAC_FIFO_BASEADDR6		0x42120000
+#define XILINX_LLTEMAC_BASEADDR7		0x44300040
+#define XILINX_LLTEMAC_FIFO_BASEADDR7		0x42130000