diff options
Diffstat (limited to 'package/boot/uboot-layerscape/patches/0051-PPFE-warnings-Fix.patch')
-rw-r--r-- | package/boot/uboot-layerscape/patches/0051-PPFE-warnings-Fix.patch | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/package/boot/uboot-layerscape/patches/0051-PPFE-warnings-Fix.patch b/package/boot/uboot-layerscape/patches/0051-PPFE-warnings-Fix.patch new file mode 100644 index 0000000000..5397616cd8 --- /dev/null +++ b/package/boot/uboot-layerscape/patches/0051-PPFE-warnings-Fix.patch @@ -0,0 +1,283 @@ +From 4332e5748301df5b608f894e451999f873bda307 Mon Sep 17 00:00:00 2001 +From: Bhaskar Upadhaya <Bhaskar.Upadhaya@freescale.com> +Date: Wed, 1 Jun 2016 05:18:38 +0530 +Subject: [PATCH 51/93] PPFE warnings Fix + +Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@freescale.com> +--- + Makefile | 1 + + arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 1 + + board/freescale/ls1012aqds/eth.c | 4 ++-- + board/freescale/ls1012ardb/eth.c | 1 + + common/cmd_pfe_commands.c | 7 +++++-- + drivers/net/pfe_eth/pfe.c | 7 ++++--- + drivers/net/pfe_eth/pfe/pfe.h | 2 +- + drivers/net/pfe_eth/pfe_driver.c | 8 ++++---- + drivers/net/pfe_eth/pfe_eth.c | 7 +------ + drivers/net/pfe_eth/pfe_eth.h | 6 +++++- + drivers/net/pfe_eth/pfe_firmware.c | 2 +- + 11 files changed, 26 insertions(+), 20 deletions(-) + +diff --git a/Makefile b/Makefile +index 100de92..1c2818c 100644 +--- a/Makefile ++++ b/Makefile +@@ -612,6 +612,7 @@ UBOOTINCLUDE := \ + $(if $(CONFIG_SYS_THUMB_BUILD), $(if $(CONFIG_HAS_THUMB2),, \ + -I$(srctree)/arch/$(ARCH)/thumb1/include),) \ + -I$(srctree)/arch/$(ARCH)/include \ ++ -I$(srctree)/drivers/net/pfe_eth \ + -include $(srctree)/include/linux/kconfig.h + + NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) +diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +index 8f59577..bfd7078 100644 +--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c ++++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +@@ -20,6 +20,7 @@ + #include <fm_eth.h> + #include <fsl_debug_server.h> + #include <fsl-mc/fsl_mc.h> ++#include <pfe_eth.h> + #ifdef CONFIG_FSL_ESDHC + #include <fsl_esdhc.h> + #endif +diff --git a/board/freescale/ls1012aqds/eth.c b/board/freescale/ls1012aqds/eth.c +index 1bd7c9d..6fbbdbe 100644 +--- a/board/freescale/ls1012aqds/eth.c ++++ b/board/freescale/ls1012aqds/eth.c +@@ -27,8 +27,6 @@ + + #define DEFAULT_PFE_MDIO_NAME "PFE_MDIO" + +-static int mdio_mux[NUM_FM_PORTS]; +- + static const char * const mdio_names[] = { + "NULL", + "LS1012AQDS_MDIO_RGMII", +@@ -85,6 +83,8 @@ static int ls1012aqds_mdio_reset(struct mii_dev *bus) + + if(priv->realbus->reset) + return priv->realbus->reset(priv->realbus); ++ else ++ return -1; + } + + static int ls1012aqds_mdio_init(char *realbusname, u8 muxval) +diff --git a/board/freescale/ls1012ardb/eth.c b/board/freescale/ls1012ardb/eth.c +index 638db95..7b0e450 100644 +--- a/board/freescale/ls1012ardb/eth.c ++++ b/board/freescale/ls1012ardb/eth.c +@@ -17,6 +17,7 @@ + + #include "../../../drivers/net/pfe_eth/pfe_eth.h" + #include <asm/arch-fsl-layerscape/immap_lsch2.h> ++#include <i2c.h> + + #define DEFAULT_PFE_MDIO_NAME "PFE_MDIO" + +diff --git a/common/cmd_pfe_commands.c b/common/cmd_pfe_commands.c +index ca479d7..84999a6 100644 +--- a/common/cmd_pfe_commands.c ++++ b/common/cmd_pfe_commands.c +@@ -602,7 +602,6 @@ void bmu(int id, void *base) + static void pfe_pe_status(int argc, char * const argv[]) + { + int do_clear = 0; +- int j; + u32 id; + u32 dmem_addr; + u32 cpu_state; +@@ -612,9 +611,11 @@ static void pfe_pe_status(int argc, char * const argv[]) + u32 drop; + char statebuf[5]; + u32 class_debug_reg = 0; ++#ifdef CONFIG_PFE_WARN_WA + u32 debug_indicator; + u32 debug[16]; +- ++ int j; ++#endif + if (argc == 4 && strcmp(argv[3], "clear") == 0) + do_clear = 1; + +@@ -684,6 +685,7 @@ static void pfe_pe_status(int argc, char * const argv[]) + statebuf, cpu_to_be32(activity_counter), + cpu_to_be32(rx), cpu_to_be32(tx), cpu_to_be32(drop)); + } ++#ifdef CONFIG_PFE_WARN_WA + debug_indicator = pe_dmem_read(id, dmem_addr, 4); + dmem_addr += 4; + if (debug_indicator == cpu_to_be32('DBUG')) +@@ -705,6 +707,7 @@ static void pfe_pe_status(int argc, char * const argv[]) + printf("%08x%s", cpu_to_be32(debug[j]), (j & 0x7) == 0x7 || j == last - 1 ? "\n" : " "); + } + } ++#endif + } + + } +diff --git a/drivers/net/pfe_eth/pfe.c b/drivers/net/pfe_eth/pfe.c +index 2c31cad..94cfe4e 100644 +--- a/drivers/net/pfe_eth/pfe.c ++++ b/drivers/net/pfe_eth/pfe.c +@@ -368,6 +368,7 @@ void pe_lmem_write(u32 *src, u32 len, u32 offset) + class_bus_write(*src, PE_LMEM_BASE_ADDR + offset, (len & 0x03)); + } + ++#if !defined(CONFIG_UTIL_PE_DISABLED) + /** Writes UTIL program memory (DDR) from the host. + * + * @param[in] addr Address to write (virtual, must be aligned on size) +@@ -413,7 +414,7 @@ static void util_pmem_memcpy(void *dst, const void *src, unsigned int len) + if (len & 0x2) + util_pmem_write(*(u16 *)src, dst, len & 0x2); + } +- ++#endif + + /** Loads an elf section into pmem + * Code needs to be at least 16bit aligned and only PROGBITS sections are supported +@@ -581,7 +582,7 @@ static int pe_load_ddr_section(int id, const void *data, Elf32_Shdr *shdr) + return -1; + } + +- memcpy(DDR_PFE_TO_VIRT(addr), data + offset, size); ++ memcpy((void *)DDR_PFE_TO_VIRT(addr), data + offset, size); + } + } + +@@ -620,7 +621,7 @@ static int pe_load_ddr_section(int id, const void *data, Elf32_Shdr *shdr) + } + else + { +- memcpy(DDR_PFE_TO_VIRT(addr), data + offset, size); ++ memcpy((void *)DDR_PFE_TO_VIRT(addr), data + offset, size); + } + + break; +diff --git a/drivers/net/pfe_eth/pfe/pfe.h b/drivers/net/pfe_eth/pfe/pfe.h +index 6994a20..9445155 100644 +--- a/drivers/net/pfe_eth/pfe/pfe.h ++++ b/drivers/net/pfe_eth/pfe/pfe.h +@@ -50,7 +50,7 @@ extern void *ddr_base_addr; + #define PFE_CBUS_PHYS_BASE_ADDR 0xc0000000 /**< CBUS physical base address as seen by PE's. */ + + /* Host<->PFE Mapping */ +-#define DDR_PFE_TO_VIRT(p) ((p ) + 0x80000000) ++#define DDR_PFE_TO_VIRT(p) ((unsigned long int)((p ) + 0x80000000)) + #define CBUS_VIRT_TO_PFE(v) (((v) - CBUS_BASE_ADDR) + PFE_CBUS_PHYS_BASE_ADDR) + #define CBUS_PFE_TO_VIRT(p) (((p) - PFE_CBUS_PHYS_BASE_ADDR) + CBUS_BASE_ADDR) + +diff --git a/drivers/net/pfe_eth/pfe_driver.c b/drivers/net/pfe_eth/pfe_driver.c +index b06a352..2f4c385 100644 +--- a/drivers/net/pfe_eth/pfe_driver.c ++++ b/drivers/net/pfe_eth/pfe_driver.c +@@ -87,7 +87,7 @@ int pfe_recv(unsigned int *pkt_ptr, int *phy_port) + } + #endif + +- *pkt_ptr = (unsigned int )(hif_header + 1); ++ *pkt_ptr = (unsigned long)(hif_header + 1); + *phy_port = hif_header->port_no; + len -= sizeof(struct hif_header_s); + +@@ -174,7 +174,7 @@ int pfe_send(int phy_port, void *data, int length) + length = MIN_PKT_SIZE; + } + +- tx_buf_va = (u8 *)DDR_PFE_TO_VIRT(bd->data); ++ tx_buf_va = (void *)DDR_PFE_TO_VIRT(bd->data); + dprint("%s: tx_buf_va: %p, tx_buf_pa: %08x\n", __func__, tx_buf_va, bd->data); + + /* Fill the gemac/phy port number to send this packet out */ +@@ -388,7 +388,7 @@ static int hif_rx_desc_init(struct pfe *pfe) + ctrl = (MAX_FRAME_SIZE | BD_CTRL_DESC_EN | BD_CTRL_DIR | BD_CTRL_LIFM); + #endif + for (i=0; i < rx_desc->rxRingSize; i++) { +- bd_va->next = (u32 )(bd_pa + 1); ++ bd_va->next = (unsigned long)(bd_pa + 1); + bd_va->ctrl = ctrl; + bd_va->data = rx_buf_pa + (i * MAX_FRAME_SIZE); + // printf("status: %08x, ctrl: %08x, data: %08x, next: %p\n", +@@ -476,7 +476,7 @@ static int hif_tx_desc_init(struct pfe *pfe) + tx_buf_pa = pfe->ddr_phys_baseaddr + HIF_TX_PKT_DDR_BASEADDR; + + for (i=0; i < tx_desc->txRingSize; i++) { +- bd_va->next = (u32 )(bd_pa + 1); ++ bd_va->next = (unsigned long)(bd_pa + 1); + bd_va->data = tx_buf_pa + (i * MAX_FRAME_SIZE); + // printf("status: %08x, ctrl: %08x, data: %08x, next: %p\n", + // bd_va->status, bd_va->ctrl, bd_va->data, bd_va->next); +diff --git a/drivers/net/pfe_eth/pfe_eth.c b/drivers/net/pfe_eth/pfe_eth.c +index 4aa318d..4a935ca 100644 +--- a/drivers/net/pfe_eth/pfe_eth.c ++++ b/drivers/net/pfe_eth/pfe_eth.c +@@ -53,10 +53,6 @@ static void ls1012a_gemac_disable(void *gemac_base) + writel(readl(gemac_base + EMAC_ECNTRL_REG) & ~EMAC_ECNTRL_ETHER_EN, gemac_base + EMAC_ECNTRL_REG); + } + +-static void ls1012a_gemac_set_mode(void *gemac_base, u32 mode) +-{ +-} +- + static void ls1012a_gemac_set_speed(void *gemac_base, u32 speed) + { + struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR; +@@ -125,7 +121,6 @@ static int ls1012a_eth_init(struct eth_device *dev, bd_t * bd) + struct ls1012a_eth_dev *priv = (struct ls1012a_eth_dev *)dev->priv; + struct gemac_s *gem = priv->gem; + int speed; +- int tmp; + + /* set ethernet mac address */ + ls1012a_gemac_set_ethaddr(gem->gemac_base, dev->enetaddr); +@@ -220,7 +215,7 @@ static int ls1012a_eth_recv(struct eth_device *dev) + } + + // Pass the packet up to the protocol layers. +- net_process_received_packet((uchar *)pkt_buf, len); ++ net_process_received_packet((void *)(long int)pkt_buf, len); + + return 0; + } +diff --git a/drivers/net/pfe_eth/pfe_eth.h b/drivers/net/pfe_eth/pfe_eth.h +index c16b8c0..af6191d 100644 +--- a/drivers/net/pfe_eth/pfe_eth.h ++++ b/drivers/net/pfe_eth/pfe_eth.h +@@ -26,6 +26,7 @@ + + + #include "pfe_driver.h" ++#include <phy.h> + + #ifndef SZ_1K + #define SZ_1K 1024 +@@ -151,7 +152,10 @@ struct firmware { + + int pfe_probe(struct pfe *pfe); + int pfe_remove(struct pfe *pfe); +- ++struct mii_dev *ls1012a_mdio_init(struct mdio_info *mdio_info); ++void ls1012a_set_mdio(int dev_id, struct mii_dev *bus); ++void ls1012a_set_phy_address_mode(int dev_id, int phy_id, int phy_mode); ++int ls1012a_gemac_initialize(bd_t * bis, int dev_id, char *devname); + + //#define dprint(fmt, arg...) printf(fmt, ##arg) + #define dprint(fmt, arg...) +diff --git a/drivers/net/pfe_eth/pfe_firmware.c b/drivers/net/pfe_eth/pfe_firmware.c +index 165eb3c..5957afd 100644 +--- a/drivers/net/pfe_eth/pfe_firmware.c ++++ b/drivers/net/pfe_eth/pfe_firmware.c +@@ -45,7 +45,7 @@ int pfe_load_elf(int pe_mask, const struct firmware *fw) + printf("%s: no of sections: %d\n", __func__, sections); + + /* Some sanity checks */ +- if (strncmp(&elf_hdr->e_ident[EI_MAG0], ELFMAG, SELFMAG)) ++ if (strncmp((char *)&elf_hdr->e_ident[EI_MAG0], ELFMAG, SELFMAG)) + { + printf("%s: incorrect elf magic number\n", __func__); + return -1; +-- +1.7.9.5 + |