[U-Boot] Custom MPC8572

Staale.Aakermann at kongsberg.com Staale.Aakermann at kongsberg.com
Mon Jun 28 23:11:46 CEST 2010


Hi,

I'm currently working on bringing life to our custom mpc8572 board. Its equipped with;

- 2 GB ram
- 64 MB NOR
- 1 GB Nand
- TSEC1 connected to single phy with fiber optic transceiver ( use MDIO channel 1 )
- TSEC2,3 & 4 connected to a marvell 81145 quad phy ( use MDIO channel 3 )
- 2 virtex6 connected to each pcie 4x lane

At this moment, the Nand and Nor seems ok. I have flashed the Nor via bdi3000 and u-boot prints out its prompt.

To be able to discover the phy, I had to hardcode the tsec.h to use MDIO offset 0x2600 instead of 0x2400. The phy's are now detected, but there seems to be some problem with the data part.. I'll need to measure some freqs.

Nevertheless, is there some other proper way of configuring MDIO 3 as main MII interface ?
Is it enough to:

mycard.h

#define CONFIG_SYS_MDIO3_OFFSET                 0x26000

#define TSEC1_MDIO_ADDR                       ( CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET )
#define TSEC2_MDIO_ADDR                       ( CONFIG_SYS_IMMR + CONFIG_SYS_MDIO3_OFFSET )
#define TSEC3_MDIO_ADDR                       ( CONFIG_SYS_IMMR + CONFIG_SYS_MDIO3_OFFSET )
#define TSEC4_MDIO_ADDR                       ( CONFIG_SYS_IMMR + CONFIG_SYS_MDIO3_OFFSET )

#define TSEC1_PHY_ADDR                          0
#define TSEC2_PHY_ADDR                          2
#define TSEC3_PHY_ADDR                          3
#define TSEC4_PHY_ADDR                          1

#define TSEC1_FLAGS     ( TSEC_GIGABIT | TSEC_REDUCED | TSEC_FIBER )
#define TSEC2_FLAGS     ( TSEC_GIGABIT | TSEC_SGMII   )
#define TSEC3_FLAGS     ( TSEC_GIGABIT | TSEC_SGMII   )
#define TSEC4_FLAGS     ( TSEC_GIGABIT | TSEC_SGMII   )


tsec.h

#define SET_STD_TSEC_INFO(x, num) \
{                       \
        x.regs = (tsec_t *)(TSEC_BASE_ADDR + ((num - 1) * TSEC_SIZE)); \
        x.miiregs = (tsec_mdio_t *)(TSEC##num##_MDIO_ADDR); \
        x.miiregs_sgmii = (tsec_mdio_t *)(TSEC##num##_MDIO_ADDR \
                                          + (num - 1) * TSEC_MDIO_OFFSET); \
        x.devname = CONFIG_TSEC##num##_NAME; \
        x.phyaddr = TSEC##num##_PHY_ADDR; \
        x.flags = TSEC##num##_FLAGS;\
}



Best regards

Staale Aakermann

CONFIDENTIALITY
This e-mail and any attachment contain KONGSBERG information which may be proprietary, confidential or subject to export regulations, and is only meant for the intended recipient(s). Any disclosure, copying, distribution or use is prohibited, if not otherwise explicitly agreed with KONGSBERG. If received in error, please delete it immediately from your system and notify the sender properly.


More information about the U-Boot mailing list