On 04/11/2014 03:14 AM, Shengzhou Liu wrote: > Add support for Cortina CS4315/CS4340 10G PHY. > - This driver loads CS43xx firmware to initialize Cortina PHY. > - To define macro CONFIG_PHY_CORTINA will enable this driver. > - Cortina PHY has non-standard offset of PHY ID registers, so > define own get_phy_id(). > > Signed-off-by: Shengzhou Liu <shengzhou....@freescale.com> > --- > v4: add support for loading cortina phy ucode from NAND/SPI/SD/REMOTE > v3: move devad as '0' in cortina.c instead of in phy.c > v2: no change. > > drivers/net/phy/Makefile | 1 + > drivers/net/phy/cortina.c | 320 > ++++++++++++++++++++++++++++++++++++++++++++++ > drivers/net/phy/phy.c | 3 + > include/cortina.h | 73 +++++++++++ > include/phy.h | 2 + > 5 files changed, 399 insertions(+) > create mode 100644 drivers/net/phy/cortina.c > create mode 100644 include/cortina.h >
<snip> > +void cs4340_upload_firmware(struct phy_device *phydev) > +{ > + char line_temp[0x50] = {0}; > + char reg_addr[0x50] = {0}; > + char reg_data[0x50] = {0}; > + int i = 0; > + int line_cnt = 0; > + int column_cnt = 0; > + struct cortina_reg_config fw_temp; > + char *addr = NULL; > + > +#if defined(CONFIG_SYS_CORTINA_FW_IN_NOR) || \ > + defined(CONFIG_SYS_CORTINA_FW_IN_REMOTE) > + > + addr = (char *)CONFIG_CORTINA_FW_ADDR; > +#elif defined(CONFIG_SYS_CORTINA_FW_IN_NAND) > + size_t fw_length = CONFIG_CORTINA_FW_LENGTH; > + > + addr = malloc(CONFIG_CORTINA_FW_LENGTH); > + rc = nand_read(&nand_info[0], (loff_t)CONFIG_CORTINA_FW_ADDR, > + &fw_length, (u_char *)addr); > + if (rc == -EUCLEAN) { > + printf("NAND read of Cortina firmware at 0x%x failed %d\n", > + CONFIG_CORTINA_FW_ADDR, rc); > + } Where is "rc" declared? York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot