diff mbox

[U-Boot,2/2,v4] armv8: ls2080aqds: Add support for SD boot

Message ID 1491217279-3915-2-git-send-email-santan.kumar@nxp.com
State Superseded
Delegated to: York Sun
Headers show

Commit Message

Santan Kumar April 3, 2017, 11:01 a.m. UTC
Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Abhimanyu Saini <abhimanyu.saini@nxp.com>
---
Changes for v4:
 Rebased to latest codebase
 Incorporated York's comments to move CONFIG_SPL_MMC_SUPPORT
 to kconfig

Depends on
 York MMU patches: 
	http://patchwork.ozlabs.org/bundle/yorksun/Rewrite_MMU/ 
 For correct type of image creation: 
 	https://patchwork.ozlabs.org/patch/671466/

 arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |  6 +--
 .../cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c    |  6 +--
 board/freescale/ls2080a/ls2080a.c                  |  6 +--
 board/freescale/ls2080aqds/eth.c                   |  8 +---
 board/freescale/ls2080aqds/ls2080aqds.c            |  4 +-
 configs/ls2080aqds_sdcard_defconfig                | 54 ++++++++++++++++++++++
 include/configs/ls2080aqds.h                       |  9 +++-
 7 files changed, 75 insertions(+), 18 deletions(-)
 create mode 100644 configs/ls2080aqds_sdcard_defconfig

Comments

York Sun April 12, 2017, 3:43 p.m. UTC | #1
On 04/03/2017 03:58 AM, Santan Kumar wrote:
> Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
> Signed-off-by: Abhimanyu Saini <abhimanyu.saini@nxp.com>
> ---
> Changes for v4:
>  Rebased to latest codebase
>  Incorporated York's comments to move CONFIG_SPL_MMC_SUPPORT
>  to kconfig
>
> Depends on
>  York MMU patches:
> 	https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatchwork.ozlabs.org%2Fbundle%2Fyorksun%2FRewrite_MMU%2F&data=01%7C01%7Cyork.sun%40nxp.com%7Cb6b2df7806744cde8d4508d47a8065e0%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=AvZVek9YBqogA8SDUuILS1EFkubGSxa7UqhQY9cYi7s%3D&reserved=0
>  For correct type of image creation:
>  	https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.ozlabs.org%2Fpatch%2F671466%2F&data=01%7C01%7Cyork.sun%40nxp.com%7Cb6b2df7806744cde8d4508d47a8065e0%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0&sdata=i7xPTeYu4AGy%2BzGCeGvptGmTTR8H8roYkWk46%2FiibRM%3D&reserved=0
>
>  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |  6 +--
>  .../cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c    |  6 +--
>  board/freescale/ls2080a/ls2080a.c                  |  6 +--
>  board/freescale/ls2080aqds/eth.c                   |  8 +---
>  board/freescale/ls2080aqds/ls2080aqds.c            |  4 +-
>  configs/ls2080aqds_sdcard_defconfig                | 54 ++++++++++++++++++++++
>  include/configs/ls2080aqds.h                       |  9 +++-
>  7 files changed, 75 insertions(+), 18 deletions(-)
>  create mode 100644 configs/ls2080aqds_sdcard_defconfig
>

Please update MAINTAINERS file and add commit message. Please squash 
your patch which enables PPA for this boot config 
http://patchwork.ozlabs.org/patch/741504/

York
Santan Kumar April 13, 2017, 6:18 a.m. UTC | #2
> -----Original Message-----

> From: York Sun [mailto:york.sun@nxp.com]

> Sent: Wednesday, April 12, 2017 9:13 PM

> To: Santan Kumar <santan.kumar@nxp.com>; u-boot@lists.denx.de

> Cc: Priyanka Jain <priyanka.jain@nxp.com>; Abhimanyu Saini

> <abhimanyu.saini@nxp.com>

> Subject: Re: [PATCH 2/2][v4] armv8: ls2080aqds: Add support for SD boot

> 

> On 04/03/2017 03:58 AM, Santan Kumar wrote:

> > Signed-off-by: Santan Kumar <santan.kumar@nxp.com>

> > Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>

> > Signed-off-by: Abhimanyu Saini <abhimanyu.saini@nxp.com>

> > ---

> > Changes for v4:

> >  Rebased to latest codebase

> >  Incorporated York's comments to move CONFIG_SPL_MMC_SUPPORT  to

> > kconfig

> >

> > Depends on

> >  York MMU patches:

> >

> >

> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatc

> >

> hwork.ozlabs.org%2Fbundle%2Fyorksun%2FRewrite_MMU%2F&data=01%7

> C01%7Cyo

> >

> rk.sun%40nxp.com%7Cb6b2df7806744cde8d4508d47a8065e0%7C686ea1d3bc

> 2b4c6f

> >

> a92cd99c5c301635%7C0&sdata=AvZVek9YBqogA8SDUuILS1EFkubGSxa7Uqh

> QY9cYi7s

> > %3D&reserved=0

> >  For correct type of image creation:

> >

> >

> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat

> >

> chwork.ozlabs.org%2Fpatch%2F671466%2F&data=01%7C01%7Cyork.sun%40

> nxp.co

> >

> m%7Cb6b2df7806744cde8d4508d47a8065e0%7C686ea1d3bc2b4c6fa92cd99c5

> c30163

> >

> 5%7C0&sdata=i7xPTeYu4AGy%2BzGCeGvptGmTTR8H8roYkWk46%2FiibRM%

> 3D&reserve

> > d=0

> >

> >  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |  6 +--

> >  .../cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c    |  6 +--

> >  board/freescale/ls2080a/ls2080a.c                  |  6 +--

> >  board/freescale/ls2080aqds/eth.c                   |  8 +---

> >  board/freescale/ls2080aqds/ls2080aqds.c            |  4 +-

> >  configs/ls2080aqds_sdcard_defconfig                | 54

> ++++++++++++++++++++++

> >  include/configs/ls2080aqds.h                       |  9 +++-

> >  7 files changed, 75 insertions(+), 18 deletions(-)  create mode

> > 100644 configs/ls2080aqds_sdcard_defconfig

> >

> 

> Please update MAINTAINERS file and add commit message. Please squash

> your patch which enables PPA for this boot config

> http://patchwork.ozlabs.org/patch/741504/

> 

> York

[Santan Kumar] Ok, I will update the MAINTAINERS file and PPA patch.
In commit message: This patch adds SD boot support for LS2080aqds board.
    The SD boot image need to be programmed into the sdcard first.
    Then the booting will start from sd card.
 Is it ok or do you want me to add any specific information?
York Sun April 13, 2017, 3:45 p.m. UTC | #3
On 04/12/2017 11:18 PM, Santan Kumar wrote:

<snip>

>>>
>>>  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |  6 +--
>>>  .../cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c    |  6 +--
>>>  board/freescale/ls2080a/ls2080a.c                  |  6 +--
>>>  board/freescale/ls2080aqds/eth.c                   |  8 +---
>>>  board/freescale/ls2080aqds/ls2080aqds.c            |  4 +-
>>>  configs/ls2080aqds_sdcard_defconfig                | 54
>> ++++++++++++++++++++++
>>>  include/configs/ls2080aqds.h                       |  9 +++-
>>>  7 files changed, 75 insertions(+), 18 deletions(-)  create mode
>>> 100644 configs/ls2080aqds_sdcard_defconfig
>>>
>>
>> Please update MAINTAINERS file and add commit message. Please squash
>> your patch which enables PPA for this boot config
>> http://patchwork.ozlabs.org/patch/741504/
>>
>> York
> [Santan Kumar] Ok, I will update the MAINTAINERS file and PPA patch.
> In commit message: This patch adds SD boot support for LS2080aqds board.
>     The SD boot image need to be programmed into the sdcard first.
>     Then the booting will start from sd card.
>  Is it ok or do you want me to add any specific information?
>
That's useless. Why do you add SD boot now? If there is a reason we 
couldn't have it before, but we can have it now, please explain.

If there is any particular instruction for SD, please add to the README 
file.

York
Priyanka Jain April 18, 2017, 6:13 a.m. UTC | #4
> -----Original Message-----

> From: York Sun [mailto:york.sun@nxp.com]

> Sent: Thursday, April 13, 2017 9:15 PM

> To: Santan Kumar <santan.kumar@nxp.com>; u-boot@lists.denx.de

> Cc: Priyanka Jain <priyanka.jain@nxp.com>; Abhimanyu Saini

> <abhimanyu.saini@nxp.com>

> Subject: Re: [PATCH 2/2][v4] armv8: ls2080aqds: Add support for SD boot

> 

> On 04/12/2017 11:18 PM, Santan Kumar wrote:

> 

> <snip>

> 

> >>>

> >>>  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |  6 +--

> >>>  .../cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c    |  6 +--

> >>>  board/freescale/ls2080a/ls2080a.c                  |  6 +--

> >>>  board/freescale/ls2080aqds/eth.c                   |  8 +---

> >>>  board/freescale/ls2080aqds/ls2080aqds.c            |  4 +-

> >>>  configs/ls2080aqds_sdcard_defconfig                | 54

> >> ++++++++++++++++++++++

> >>>  include/configs/ls2080aqds.h                       |  9 +++-

> >>>  7 files changed, 75 insertions(+), 18 deletions(-)  create mode

> >>> 100644 configs/ls2080aqds_sdcard_defconfig

> >>>

> >>

> >> Please update MAINTAINERS file and add commit message. Please squash

> >> your patch which enables PPA for this boot config

> >> http://patchwork.ozlabs.org/patch/741504/

> >>

> >> York

> > [Santan Kumar] Ok, I will update the MAINTAINERS file and PPA patch.

> > In commit message: This patch adds SD boot support for LS2080aqds board.

> >     The SD boot image need to be programmed into the sdcard first.

> >     Then the booting will start from sd card.

> >  Is it ok or do you want me to add any specific information?

> >

> That's useless. Why do you add SD boot now? If there is a reason we couldn't

> have it before, but we can have it now, please explain.

> 

> If there is any particular instruction for SD, please add to the README file.

> 

> York

Sd-boot patches has been in-review in upstream from a long time. Also RDB board does not support SD-boot.
As a feature SD-boot feature can only be tested on QDS.
We will update README with proper instructions.

Priyanka
diff mbox

Patch

diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index cebbb0f..58d63df 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -465,7 +465,7 @@  int cpu_eth_init(bd_t *bis)
 {
 	int error = 0;
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	error = fsl_mc_ldpaa_init(bis);
 #endif
 #ifdef CONFIG_FMAN_ENET
@@ -608,7 +608,7 @@  phys_size_t board_reserve_ram_top(phys_size_t ram_size)
 {
 	phys_size_t ram_top = ram_size;
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	/* The start address of MC reserved memory needs to be aligned. */
 	ram_top -= mc_get_dram_block_size();
 	ram_top &= ~(CONFIG_SYS_MC_RSV_MEM_ALIGN - 1);
@@ -723,7 +723,7 @@  void dram_init_banksize(void)
 	}
 #endif	/* CONFIG_SYS_MEM_RESERVE_SECURE */
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	/* Assign memory for MC */
 #ifdef CONFIG_SYS_DDR_BLOCK3_BASE
 	if (gd->bd->bi_dram[2].size >=
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c
index 955e0b7..ef97556 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch3_serdes.c
@@ -18,7 +18,7 @@  static u8 serdes1_prtcl_map[SERDES_PRCTL_COUNT];
 static u8 serdes2_prtcl_map[SERDES_PRCTL_COUNT];
 #endif
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 int xfi_dpmac[XFI8 + 1];
 int sgmii_dpmac[SGMII16 + 1];
 #endif
@@ -110,7 +110,7 @@  void serdes_init(u32 sd, u32 sd_addr, u32 rcwsr, u32 sd_prctl_mask,
 			debug("Unknown SerDes lane protocol %d\n", lane_prtcl);
 		else {
 			serdes_prtcl_map[lane_prtcl] = 1;
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 			switch (lane_prtcl) {
 			case QSGMII_A:
 			case QSGMII_B:
@@ -141,7 +141,7 @@  void serdes_init(u32 sd, u32 sd_addr, u32 rcwsr, u32 sd_prctl_mask,
 
 void fsl_serdes_init(void)
 {
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	int i , j;
 
 	for (i = XFI1, j = 1; i <= XFI8; i++, j++)
diff --git a/board/freescale/ls2080a/ls2080a.c b/board/freescale/ls2080a/ls2080a.c
index 9e7701d..b357eaa 100644
--- a/board/freescale/ls2080a/ls2080a.c
+++ b/board/freescale/ls2080a/ls2080a.c
@@ -64,13 +64,13 @@  int board_eth_init(bd_t *bis)
 	error = smc91111_initialize(0, CONFIG_SMC91111_BASE);
 #endif
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	error = cpu_eth_init(bis);
 #endif
 	return error;
 }
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 void fdt_fixup_board_enet(void *fdt)
 {
 	int offset;
@@ -128,7 +128,7 @@  int ft_board_setup(void *blob, bd_t *bd)
 
 	fdt_fixup_memory_banks(blob, base, size, 2);
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	fdt_fixup_board_enet(blob);
 #endif
 
diff --git a/board/freescale/ls2080aqds/eth.c b/board/freescale/ls2080aqds/eth.c
index 59361e9..302ff76 100644
--- a/board/freescale/ls2080aqds/eth.c
+++ b/board/freescale/ls2080aqds/eth.c
@@ -22,7 +22,7 @@ 
 
 #define MC_BOOT_ENV_VAR "mcinitcmd"
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
  /* - In LS2080A there are only 16 SERDES lanes, spread across 2 SERDES banks.
  *   Bank 1 -> Lanes A, B, C, D, E, F, G, H
  *   Bank 2 -> Lanes A,B, C, D, E, F, G, H
@@ -834,8 +834,8 @@  void ls2080a_handle_phy_interface_xsgmii(int i)
 int board_eth_init(bd_t *bis)
 {
 	int error;
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	char *mc_boot_env_var;
-#ifdef CONFIG_FSL_MC_ENET
 	struct ccsr_gur __iomem *gur = (void *)CONFIG_SYS_FSL_GUTS_ADDR;
 	int serdes1_prtcl = (in_le32(&gur->rcwsr[28]) &
 				FSL_CHASSIS3_RCWSR28_SRDS1_PRTCL_MASK)
@@ -918,7 +918,3 @@  int board_eth_init(bd_t *bis)
 	error = pci_eth_init(bis);
 	return error;
 }
-
-#ifdef CONFIG_FSL_MC_ENET
-
-#endif
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index 6da9c6c..f36fb98 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -280,7 +280,7 @@  int arch_misc_init(void)
 }
 #endif
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 void fdt_fixup_board_enet(void *fdt)
 {
 	int offset;
@@ -336,7 +336,7 @@  int ft_board_setup(void *blob, bd_t *bd)
 
 	fsl_fdt_fixup_dr_usb(blob, bd);
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 	fdt_fixup_board_enet(blob);
 #endif
 
diff --git a/configs/ls2080aqds_sdcard_defconfig b/configs/ls2080aqds_sdcard_defconfig
new file mode 100644
index 0000000..e6f55dd
--- /dev/null
+++ b/configs/ls2080aqds_sdcard_defconfig
@@ -0,0 +1,54 @@ 
+CONFIG_ARM=y
+CONFIG_TARGET_LS2080AQDS=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_SERIAL_SUPPORT=y
+CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
+CONFIG_DEFAULT_DEVICE_TREE="fsl-ls2080a-qds"
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_OF_BOARD_SETUP=y
+CONFIG_OF_STDOUT_VIA_ALIAS=y
+CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4, LS2080A"
+CONFIG_SD_BOOT=y
+CONFIG_BOOTDELAY=10
+CONFIG_SPL=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x8b0
+CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_GREPENV=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_I2C=y
+CONFIG_SPL_MMC_SUPPORT=y
+CONFIG_CMD_USB=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_FAT=y
+CONFIG_OF_CONTROL=y
+CONFIG_OF_EMBED=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_DM=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_NETDEVICES=y
+CONFIG_E1000=y
+CONFIG_PCI=y
+CONFIG_DM_PCI=y
+CONFIG_DM_PCI_COMPAT=y
+CONFIG_PCIE_LAYERSCAPE=y
+CONFIG_SYS_NS16550=y
+CONFIG_DM_SPI=y
+CONFIG_FSL_QSPI=y
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_DWC3=y
+CONFIG_USB_STORAGE=y
+CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/include/configs/ls2080aqds.h b/include/configs/ls2080aqds.h
index 4c48562..e57e038 100644
--- a/include/configs/ls2080aqds.h
+++ b/include/configs/ls2080aqds.h
@@ -165,12 +165,14 @@  unsigned long get_board_ddr_clk(void);
 #define QIXIS_LBMAP_DFLTBANK		0x00
 #define QIXIS_LBMAP_ALTBANK		0x04
 #define QIXIS_LBMAP_NAND		0x09
+#define QIXIS_LBMAP_SD			0x00
 #define QIXIS_LBMAP_QSPI		0x0f
 #define QIXIS_RST_CTL_RESET		0x31
 #define QIXIS_RCFG_CTL_RECONFIG_IDLE	0x20
 #define QIXIS_RCFG_CTL_RECONFIG_START	0x21
 #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE	0x08
 #define QIXIS_RCW_SRC_NAND		0x107
+#define QIXIS_RCW_SRC_SD		0x40
 #define QIXIS_RCW_SRC_QSPI		0x62
 #define	QIXIS_RST_FORCE_MEM		0x01
 
@@ -234,6 +236,11 @@  unsigned long get_board_ddr_clk(void);
 #define CONFIG_SPL_PAD_TO		0x20000
 #define CONFIG_SYS_NAND_U_BOOT_OFFS	(256 * 1024)
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(640 * 1024)
+#elif defined(CONFIG_SD_BOOT)
+#define CONFIG_ENV_OFFSET		0x200000
+#define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_SYS_MMC_ENV_DEV		0
+#define CONFIG_ENV_SIZE			0x20000
 #endif
 #else
 #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
@@ -393,7 +400,7 @@  unsigned long get_board_ddr_clk(void);
 #endif /* CONFIG_SECURE_BOOT */
 
 
-#ifdef CONFIG_FSL_MC_ENET
+#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
 #define CONFIG_FSL_MEMAC
 #define	CONFIG_PHYLIB
 #define CONFIG_PHYLIB_10G