[U-Boot] Porting DDR, LAN

Srinivasan S srinivasan.s at tataelxsi.co.in
Fri Apr 10 07:57:16 CEST 2015


Dear U-boot Technical Team,


Please kindly do the needful in clarifying the below queries as early as possible
1) DDR
=======
1) Could you please provide any review inputs for the above query

2) Could you please let me know is there any other configurations that needs to be done apart from the below structures & macros for DDR
ie., ddr3_beagleblack_data, &ddr3_beagleblack_cmd_ctrl_data, &ddr3_beagleblack_emif_reg_data

#define MT41K128M16HA125_EMIF_READ_LATENCY
#define MT41K128M16HA125_EMIF_TIM1
#define MT41K128M16HA125_EMIF_TIM2
#define MT41K128M16HA125_EMIF_TIM3
#define MT41K128M16HA125_EMIF_SDCFG
#define MT41K128M16HA125_EMIF_SDREF
#define MT41K128M16HA125_ZQ_CFG
#define MT41K128M16HA125_RATIO
#define MT41K128M16HA125_INVERT_CLKOUT
#define MT41K128M16HA125_RD_DQS
#define MT41K128M16HA125_WR_DQS
#define MT41K128M16HA125_PHY_WR_DATA
#define MT41K128M16HA125_PHY_FIFO_WE
#define MT41K128M16HA125_IOCTRL_VALUE

void sdram_init(void)
{
config_ddr(400, MT41K128M16HA125_IOCTRL_VALUE,
&ddr3_beagleblack_data,
&ddr3_beagleblack_cmd_ctrl_data,
&ddr3_beagleblack_emif_reg_data, 0);
}

3) Could you please let me know where I can find the starting address of RAM, because I need to verify the entire RAM(ie., 256MB) by writing & reading back & please let me know how this 256MB can be verified, could you please let me know whether this starting address changes due to this RAM size change from 4Gb to 2Gb

4) Could you please let me know is there any explicit memory mappings is required in kernel due the above RAM size change from 4Gb to 2Gb


2) LAN
=====
1) As am new to PHY porting, could you pls let me is there any other configurations needs to be done apart from the below in uboot

#define CONFIG_PHY_MICREL

static struct phy_driver KSZ8081_driver = {
.name = "Micrel KSZ8081",
.uid = 0x221560,
.mask = 0xfffff0,
.features = PHY_BASIC_FEATURES,
.config = &genphy_config,
.startup = &genphy_startup,
.shutdown = &genphy_shutdown,
};


int phy_micrel_init(void)
{
phy_register(&KSZ8081_driver);
}

static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208,
.sliver_reg_ofs = 0xd80,
.phy_addr = 0,
},
{
.slave_reg_ofs = 0x308,
.sliver_reg_ofs = 0xdc0,
.phy_addr = 1,
},
};

static struct cpsw_platform_data cpsw_data = {
.mdio_base = CPSW_MDIO_BASE,
.cpsw_base = CPSW_BASE,
.mdio_div = 0xff,
.channels = 8,
.cpdma_reg_ofs = 0x800,
.slaves = 1,
.slave_data = cpsw_slaves,
.ale_reg_ofs = 0xd00,
.ale_entries = 1024,
.host_port_reg_ofs = 0x108,
.hw_stats_reg_ofs = 0x900,
.bd_ram_ofs = 0x2000,
.mac_control = (1 << 5),
.control = cpsw_control,
.host_port_num = 0,
.version = CPSW_CTRL_VERSION_2,
};
#endif

2) Could you please how this is getting referenced in the board file of uboot, first I tried to figure it out for SMSC LAN8710A how this is getting referenced in board file of uboot, but I was unable to find, could you please help me out how this is referenced in board file of uboot

3)Could you please let me know how this can be tested (any utilites in uboot??) once intial bringup is done for PHY

Kindly do the needful as early as possible,

Awaiting fro your replies?


Many Many Thanks in advance,



More information about the U-Boot mailing list