aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-layerscape/patches/0051-PPFE-warnings-Fix.patch
blob: 5397616cd8648643110f4ae44a6832e520b449ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
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