[U-Boot] [Patch v2 07/16] net/fm: fix MDIO controller base on FMAN2

Scott Wood scottwood at freescale.com
Thu Sep 17 20:04:58 CEST 2015


On Thu, 2015-09-17 at 15:06 +0800, Gong Qianyu wrote:
> From: Shaohui Xie <Shaohui.Xie at freescale.com>
> 
> MDIO controller base on FMAN2 was defined as CONFIG_SYS_FSL_FM2_ADDR
> plus offset, but CONFIG_SYS_FSL_FM2_ADDR only defined when there are two
> FMANs, so we should only define MDIO controller base on FMAN2 when there
> is FMAN2.
> 
> Signed-off-by: Shaohui Xie <Shaohui.Xie at freescale.com>
> Signed-off-by: Mingkai Hu <Mingkai.Hu at freescale.com>
> Signed-off-by: Gong Qianyu <Qianyu.Gong at freescale.com>
> ---
>  include/fm_eth.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/include/fm_eth.h b/include/fm_eth.h
> index 3e1b9f4..d43f801 100644
> --- a/include/fm_eth.h
> +++ b/include/fm_eth.h
> @@ -45,8 +45,10 @@ enum fm_eth_type {
>  #ifdef CONFIG_SYS_FMAN_V3
>  #define CONFIG_SYS_FM1_DTSEC_MDIO_ADDR       (CONFIG_SYS_FSL_FM1_ADDR + 0xfc000)
>  #define CONFIG_SYS_FM1_TGEC_MDIO_ADDR        (CONFIG_SYS_FSL_FM1_ADDR + 0xfd000)
> +#if (CONFIG_SYS_NUM_FMAN == 2)
>  #define CONFIG_SYS_FM2_DTSEC_MDIO_ADDR       (CONFIG_SYS_FSL_FM2_ADDR + 0xfc000)
>  #define CONFIG_SYS_FM2_TGEC_MDIO_ADDR        (CONFIG_SYS_FSL_FM2_ADDR + 0xfd000)
> +#endif
>  #else
>  #define CONFIG_SYS_FM1_DTSEC1_MDIO_ADDR      (CONFIG_SYS_FSL_FM1_ADDR + 0xe1120)
>  #define CONFIG_SYS_FM1_TGEC_MDIO_ADDR        (CONFIG_SYS_FSL_FM1_ADDR + 0xf1000)
> @@ -89,6 +91,7 @@ enum fm_eth_type {
>                                offsetof(struct ccsr_fman, memac[n-1]),\
>  }
>  #else
> +#if (CONFIG_SYS_NUM_FMAN == 2)
> #define FM_TGEC_INFO_INITIALIZER(idx, n) \
>  {                                                                    \
>       FM_ETH_INFO_INITIALIZER(idx, CONFIG_SYS_FM2_TGEC_MDIO_ADDR)     \
> @@ -101,6 +104,20 @@ enum fm_eth_type {
>       .compat_offset  = CONFIG_SYS_FSL_FM##idx##_OFFSET +             \
>                               offsetof(struct ccsr_fman, memac[n-1+8]),\
>  }
> +#else
> +#define FM_TGEC_INFO_INITIALIZER(idx, n) \
> +{                                                                    \
> +     FM_ETH_INFO_INITIALIZER(idx, CONFIG_SYS_FM1_TGEC_MDIO_ADDR)     \
> +     .index          = idx,                                          \
> +     .num            = n - 1,                                        \
> +     .type           = FM_ETH_10G_E,                                 \
> +     .port           = FM##idx##_10GEC##n,                           \
> +     .rx_port_id     = RX_PORT_10G_BASE + n - 1,                     \
> +     .tx_port_id     = TX_PORT_10G_BASE + n - 1,                     \
> +     .compat_offset  = CONFIG_SYS_FSL_FM##idx##_OFFSET +             \
> +                             offsetof(struct ccsr_fman, memac[n-1+8]),\
> +}
> +#endif
>  #endif

doc/README.fsl-dpaa says that CONFIG_FSL_FM_10GEC_REGULAR_NOTATION is for 
newer SoCs.  Presumably this patch is for ls1043a -- is that not considered a 
newer SoC?  Or does the README need to be fixed?

-Scott



More information about the U-Boot mailing list