Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e78e5e5 authored by Kumar Gala's avatar Kumar Gala Committed by Paul Mackerras
Browse files

[PATCH] powerpc: Updated platforms that use gianfar to match driver



The gianfar driver changed how it required MDIO bus and phy id's
to be passed to it.  Also, it no longer passes the physical address
of the MDIO bus.  Instead we have a proper platform device.

Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 135f0b17
Loading
Loading
Loading
Loading
+4 −6
Original line number Original line Diff line number Diff line
@@ -51,9 +51,6 @@


#include <syslib/ppc83xx_setup.h>
#include <syslib/ppc83xx_setup.h>


static const char *GFAR_PHY_0 = "phy0:0";
static const char *GFAR_PHY_1 = "phy0:1";

#ifndef CONFIG_PCI
#ifndef CONFIG_PCI
unsigned long isa_io_base = 0;
unsigned long isa_io_base = 0;
unsigned long isa_mem_base = 0;
unsigned long isa_mem_base = 0;
@@ -129,20 +126,21 @@ mpc834x_sys_setup_arch(void)
	mdata->irq[1] = MPC83xx_IRQ_EXT2;
	mdata->irq[1] = MPC83xx_IRQ_EXT2;
	mdata->irq[2] = -1;
	mdata->irq[2] = -1;
	mdata->irq[31] = -1;
	mdata->irq[31] = -1;
	mdata->paddr += binfo->bi_immr_base;


	/* setup the board related information for the enet controllers */
	/* setup the board related information for the enet controllers */
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC1);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC1);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_0;
		pdata->bus_id = 0;
		pdata->phy_id = 0;
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC2);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC83xx_TSEC2);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_1;
		pdata->bus_id = 0;
		pdata->phy_id = 1;
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
	}
	}


+6 −8
Original line number Original line Diff line number Diff line
@@ -52,10 +52,6 @@


#include <syslib/ppc85xx_setup.h>
#include <syslib/ppc85xx_setup.h>


static const char *GFAR_PHY_0 = "phy0:0";
static const char *GFAR_PHY_1 = "phy0:1";
static const char *GFAR_PHY_3 = "phy0:3";

/* ************************************************************************
/* ************************************************************************
 *
 *
 * Setup the architecture
 * Setup the architecture
@@ -102,27 +98,29 @@ mpc8540ads_setup_arch(void)
	mdata->irq[2] = -1;
	mdata->irq[2] = -1;
	mdata->irq[3] = MPC85xx_IRQ_EXT5;
	mdata->irq[3] = MPC85xx_IRQ_EXT5;
	mdata->irq[31] = -1;
	mdata->irq[31] = -1;
	mdata->paddr += binfo->bi_immr_base;


	/* setup the board related information for the enet controllers */
	/* setup the board related information for the enet controllers */
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_0;
		pdata->bus_id = 0;
		pdata->phy_id = 0;
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_1;
		pdata->bus_id = 0;
		pdata->phy_id = 1;
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_FEC);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_FEC);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = 0;
		pdata->board_flags = 0;
		pdata->bus_id = GFAR_PHY_3;
		pdata->bus_id = 0;
		pdata->phy_id = 3;
		memcpy(pdata->mac_addr, binfo->bi_enet2addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet2addr, 6);
	}
	}


+4 −7
Original line number Original line Diff line number Diff line
@@ -56,10 +56,6 @@
#include <syslib/ppc85xx_setup.h>
#include <syslib/ppc85xx_setup.h>




static const char *GFAR_PHY_0 = "phy0:0";
static const char *GFAR_PHY_1 = "phy0:1";
static const char *GFAR_PHY_3 = "phy0:3";

/* ************************************************************************
/* ************************************************************************
 *
 *
 * Setup the architecture
 * Setup the architecture
@@ -99,20 +95,21 @@ mpc8560ads_setup_arch(void)
	mdata->irq[2] = -1;
	mdata->irq[2] = -1;
	mdata->irq[3] = MPC85xx_IRQ_EXT5;
	mdata->irq[3] = MPC85xx_IRQ_EXT5;
	mdata->irq[31] = -1;
	mdata->irq[31] = -1;
	mdata->paddr += binfo->bi_immr_base;


	/* setup the board related information for the enet controllers */
	/* setup the board related information for the enet controllers */
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_0;
		pdata->bus_id = 0;
		pdata->phy_id = 0;
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_1;
		pdata->bus_id = 0;
		pdata->phy_id = 1;
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
	}
	}


+8 −8
Original line number Original line Diff line number Diff line
@@ -395,9 +395,6 @@ mpc85xx_cds_pcibios_fixup(void)


TODC_ALLOC();
TODC_ALLOC();


static const char *GFAR_PHY_0 = "phy0:0";
static const char *GFAR_PHY_1 = "phy0:1";

/* ************************************************************************
/* ************************************************************************
 *
 *
 * Setup the architecture
 * Setup the architecture
@@ -461,34 +458,37 @@ mpc85xx_cds_setup_arch(void)
	mdata->irq[2] = -1;
	mdata->irq[2] = -1;
	mdata->irq[3] = -1;
	mdata->irq[3] = -1;
	mdata->irq[31] = -1;
	mdata->irq[31] = -1;
	mdata->paddr += binfo->bi_immr_base;


	/* setup the board related information for the enet controllers */
	/* setup the board related information for the enet controllers */
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_0;
		pdata->bus_id = 0;
		pdata->phy_id = 0;
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_1;
		pdata->bus_id = 0;
		pdata->phy_id = 1;
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_eTSEC1);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_eTSEC1);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_0;
		pdata->bus_id = 0;
		pdata->phy_id = 0;
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_eTSEC2);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_eTSEC2);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_1;
		pdata->bus_id = 0;
		pdata->phy_id = 1;
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
	}
	}


+4 −6
Original line number Original line Diff line number Diff line
@@ -91,9 +91,6 @@ sbc8560_early_serial_map(void)
}
}
#endif
#endif


static const char *GFAR_PHY_25 = "phy0:25";
static const char *GFAR_PHY_26 = "phy0:26";

/* ************************************************************************
/* ************************************************************************
 *
 *
 * Setup the architecture
 * Setup the architecture
@@ -136,20 +133,21 @@ sbc8560_setup_arch(void)
	mdata->irq[25] = MPC85xx_IRQ_EXT6;
	mdata->irq[25] = MPC85xx_IRQ_EXT6;
	mdata->irq[26] = MPC85xx_IRQ_EXT7;
	mdata->irq[26] = MPC85xx_IRQ_EXT7;
	mdata->irq[31] = -1;
	mdata->irq[31] = -1;
	mdata->paddr += binfo->bi_immr_base;


	/* setup the board related information for the enet controllers */
	/* setup the board related information for the enet controllers */
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC1);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_25;
		pdata->bus_id = 0;
		pdata->phy_id = 25;
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
	}
	}


	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_TSEC2);
	if (pdata) {
	if (pdata) {
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
		pdata->bus_id = GFAR_PHY_26;
		pdata->bus_id = 0;
		pdata->phy_id = 26;
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
	}
	}


Loading