diff options
author | Jon Loeliger <jdl@freescale.com> | 2006-09-19 10:02:20 -0500 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2006-09-19 10:02:20 -0500 |
commit | 504b5cd0e2e7b58c6265fb684a850a158c85e1b2 (patch) | |
tree | 2125bf738ec1ea6ea87c807ee045832fecf27fe6 /board/cds/mpc8548cds | |
parent | afbdc649f8751e4f4f1a6f527edfe139773f2c15 (diff) | |
parent | 8272dc2f58f2473d8995fcc9b916440cfba080f0 (diff) |
Merge branch 'mpc85xx'
Conflicts:
drivers/tsec.c
Diffstat (limited to 'board/cds/mpc8548cds')
-rw-r--r-- | board/cds/mpc8548cds/mpc8548cds.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/board/cds/mpc8548cds/mpc8548cds.c b/board/cds/mpc8548cds/mpc8548cds.c index 6eedb4a2095..66219e395b1 100644 --- a/board/cds/mpc8548cds/mpc8548cds.c +++ b/board/cds/mpc8548cds/mpc8548cds.c @@ -27,6 +27,7 @@ #include <asm/processor.h> #include <asm/immap_85xx.h> #include <spd.h> +#include <miiphy.h> #include "../common/cadmus.h" #include "../common/eeprom.h" @@ -327,3 +328,34 @@ pci_init_board(void) pci_mpc85xx_init(&hose); #endif } + +int last_stage_init(void) +{ + unsigned int temp; + + /* Change the resistors for the PHY */ + /* This is needed to get the RGMII working for the 1.3+ + * CDS cards */ + if (get_board_version() == 0x13) { + miiphy_write(CONFIG_MPC85XX_TSEC1_NAME, + TSEC1_PHY_ADDR, 29, 18); + + miiphy_read(CONFIG_MPC85XX_TSEC1_NAME, + TSEC1_PHY_ADDR, 30, &temp); + + temp = (temp & 0xf03f); + temp |= 2 << 9; /* 36 ohm */ + temp |= 2 << 6; /* 39 ohm */ + + miiphy_write(CONFIG_MPC85XX_TSEC1_NAME, + TSEC1_PHY_ADDR, 30, temp); + + miiphy_write(CONFIG_MPC85XX_TSEC1_NAME, + TSEC1_PHY_ADDR, 29, 3); + + miiphy_write(CONFIG_MPC85XX_TSEC1_NAME, + TSEC1_PHY_ADDR, 30, 0x8000); + } + + return 0; +} |