[U-Boot] net/fm: Update FMan Compatibels
Scott Wood
scottwood at freescale.com
Thu May 28 17:47:54 CEST 2015
On Mon, May 18, 2015 at 02:46:30PM +0300, Igal.Liberman wrote:
> From: Igal Liberman <igal.liberman at freescale.com>
>
> During FMan upstreaming, the FMan Port and MAC compatibles changed.
> This patch aligns the FMan Port and MAC compatibles to the FMan
> device tree binding document.
>
> The FMan device tree binding document can be found in the Linux kernel:
> ./Documentation/devicetree/bindings/powerpc/fsl/fman.txt
>
> Signed-off-by: Igal Liberman <igal.liberman at freescale.com>
> ---
> arch/powerpc/include/asm/fsl_liodn.h | 20 ++++++++++++++++----
> drivers/net/fm/init.c | 4 ++--
> 2 files changed, 18 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/fsl_liodn.h b/arch/powerpc/include/asm/fsl_liodn.h
> index 811f034..d493f8c 100644
> --- a/arch/powerpc/include/asm/fsl_liodn.h
> +++ b/arch/powerpc/include/asm/fsl_liodn.h
> @@ -133,15 +133,27 @@ extern void fdt_fixup_liodn(void *blob);
> CONFIG_SYS_FSL_FM##fmNum##_OFFSET + \
> offsetof(struct ccsr_fman, fm_bmi_common.fmbm_ppid[portID - 1])
>
> -/* enetNum is 0, 1, 2... so we + 8 for 1g to get to HW Port ID */
> +#ifdef CONFIG_SYS_FMAN_V3
> +#define SET_FMAN_RX_1G_LIODN(fmNum, enetNum, liodn) \
> + _SET_FMAN_RX_1G_LIODN("fsl,fman-v3-port-rx", fmNum, enetNum, liodn)
> +#define SET_FMAN_RX_10G_LIODN(fmNum, enetNum, liodn) \
> + _SET_FMAN_RX_10G_LION("fsl,fman-v3-port-rx", fmNum, enetNum, liodn)
> +#else
> #define SET_FMAN_RX_1G_LIODN(fmNum, enetNum, liodn) \
> - SET_LIODN_ENTRY_1("fsl,fman-port-1g-rx", liodn, \
> + _SET_FMAN_RX_1G_LIODN("fsl,fman-v2-port-rx", fmNum, enetNum, liodn)
> +#define SET_FMAN_RX_10G_LIODN(fmNum, enetNum, liodn) \
> + _SET_FMAN_RX_10G_LIODN("fsl,fman-v2-port-rx", fmNum, enetNum, liodn)
> +#endif
> +
> +/* enetNum is 0, 1, 2... so we + 8 for 1g to get to HW Port ID */
> +#define _SET_FMAN_RX_1G_LIODN(compatible, fmNum, enetNum, liodn) \
> + SET_LIODN_ENTRY_1(compatible, liodn, \
> FM_PPID_RX_PORT_OFFSET(fmNum, enetNum + 8), \
> CONFIG_SYS_FSL_FM##fmNum##_RX##enetNum##_1G_OFFSET) \
>
> /* enetNum is 0, 1, 2... so we + 16 for 10g to get to HW Port ID */
> -#define SET_FMAN_RX_10G_LIODN(fmNum, enetNum, liodn) \
> - SET_LIODN_ENTRY_1("fsl,fman-port-10g-rx", liodn, \
> +#define _SET_FMAN_RX_10G_LIODN(compatible, fmNum, enetNum, liodn) \
> + SET_LIODN_ENTRY_1(compatible, liodn, \
> FM_PPID_RX_PORT_OFFSET(fmNum, enetNum + 16), \
> CONFIG_SYS_FSL_FM##fmNum##_RX##enetNum##_10G_OFFSET) \
>
> diff --git a/drivers/net/fm/init.c b/drivers/net/fm/init.c
> index 9a8a007..4e43cca 100644
> --- a/drivers/net/fm/init.c
> +++ b/drivers/net/fm/init.c
> @@ -306,9 +306,9 @@ void fdt_fixup_fman_ethernet(void *blob)
> #else
> for (i = 0; i < ARRAY_SIZE(fm_info); i++) {
> if (fm_info[i].type == FM_ETH_1G_E)
> - ft_fixup_port(blob, &fm_info[i], "fsl,fman-1g-mac");
> + ft_fixup_port(blob, &fm_info[i], "fsl,fman-dtsec");
> else
> - ft_fixup_port(blob, &fm_info[i], "fsl,fman-10g-mac");
> + ft_fixup_port(blob, &fm_info[i], "fsl,fman-xgec");
Please make this accept either compatible so that we don't break using
upstream U-Boot with SDK kernels which is a scenario that currently
works.
-Scott
More information about the U-Boot
mailing list