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

Reply via email to