Skip to content

Commit

Permalink
mv643xx_eth: Split off mv643xx_eth platform device data
Browse files Browse the repository at this point in the history
The mv643xx ethernet silicon block is also found in a couple of other
Marvell chips.  As a first step towards splitting off the mv643xx_eth
bits from the rest of the mv643xx bits, this patch splits the mv643xx
ethernet platform device data struct in linux/mv643xx.h off into
linux/mv643xx_eth.h, and includes the latter from the former.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
  • Loading branch information
Lennert Buytenhek authored and Dale Farnsworth committed Oct 23, 2007
1 parent e8b8c97 commit c4a6a2a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 25 deletions.
26 changes: 1 addition & 25 deletions include/linux/mv643xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#define __ASM_MV643XX_H

#include <asm/types.h>
#include <linux/mv643xx_eth.h>

/****************************************/
/* Processor Address Space */
Expand Down Expand Up @@ -658,9 +659,6 @@
/* Ethernet Unit Registers */
/****************************************/

#define MV643XX_ETH_SHARED_REGS 0x2000
#define MV643XX_ETH_SHARED_REGS_SIZE 0x2000

#define MV643XX_ETH_PHY_ADDR_REG 0x2000
#define MV643XX_ETH_SMI_REG 0x2004
#define MV643XX_ETH_UNIT_DEFAULT_ADDR_REG 0x2008
Expand Down Expand Up @@ -1280,28 +1278,6 @@ struct mv64xxx_i2c_pdata {

#define MV643XX_ETH_DESC_SIZE 64

#define MV643XX_ETH_SHARED_NAME "mv643xx_eth_shared"
#define MV643XX_ETH_NAME "mv643xx_eth"

struct mv643xx_eth_platform_data {
int port_number;
u16 force_phy_addr; /* force override if phy_addr == 0 */
u16 phy_addr;

/* If speed is 0, then speed and duplex are autonegotiated. */
int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */
int duplex; /* DUPLEX_HALF or DUPLEX_FULL */

/* non-zero values of the following fields override defaults */
u32 tx_queue_size;
u32 rx_queue_size;
u32 tx_sram_addr;
u32 tx_sram_size;
u32 rx_sram_addr;
u32 rx_sram_size;
u8 mac_addr[6]; /* mac address if non-zero*/
};

/* Watchdog Platform Device, Driver Data */
#define MV64x60_WDT_NAME "mv64x60_wdt"

Expand Down
31 changes: 31 additions & 0 deletions include/linux/mv643xx_eth.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* MV-643XX ethernet platform device data definition file.
*/
#ifndef __LINUX_MV643XX_ETH_H
#define __LINUX_MV643XX_ETH_H

#define MV643XX_ETH_SHARED_NAME "mv643xx_eth_shared"
#define MV643XX_ETH_NAME "mv643xx_eth"
#define MV643XX_ETH_SHARED_REGS 0x2000
#define MV643XX_ETH_SHARED_REGS_SIZE 0x2000

struct mv643xx_eth_platform_data {
int port_number;
u16 force_phy_addr; /* force override if phy_addr == 0 */
u16 phy_addr;

/* If speed is 0, then speed and duplex are autonegotiated. */
int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */
int duplex; /* DUPLEX_HALF or DUPLEX_FULL */

/* non-zero values of the following fields override defaults */
u32 tx_queue_size;
u32 rx_queue_size;
u32 tx_sram_addr;
u32 tx_sram_size;
u32 rx_sram_addr;
u32 rx_sram_size;
u8 mac_addr[6]; /* mac address if non-zero*/
};

#endif /* __LINUX_MV643XX_ETH_H */

0 comments on commit c4a6a2a

Please sign in to comment.