* [U-Boot] [PATCH] e1000: fix no nvm build [not found] <03c9982d8450bcbf073530edd6446ef3ec4dfddb.1410127137.git.marcel@ziswiler.com> @ 2014-09-07 22:02 ` Marcel Ziswiler 2014-09-08 2:07 ` Marek Vasut 2014-09-25 14:44 ` [U-Boot] " Tom Rini 2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler 1 sibling, 2 replies; 10+ messages in thread From: Marcel Ziswiler @ 2014-09-07 22:02 UTC (permalink / raw) To: u-boot Fix the following build error in case CONFIG_E1000_NO_NVM is enabled: CC drivers/net/e1000.o drivers/net/e1000.c: In function ?e1000_initialize?: drivers/net/e1000.c:5365:5: error: ?struct e1000_hw? has no member named ?eeprom_semaphore_present? make[1]: *** [drivers/net/e1000.o] Error 1 make: *** [drivers/net] Error 2 -- This got introduced by Marek's i210 support patch commit 951860634fdb557bbb58e0f99215391bc0c29779. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> --- drivers/net/e1000.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 0eba57c..6e8765c 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -5362,7 +5362,9 @@ e1000_initialize(bd_t * bis) hw->autoneg_failed = 0; hw->autoneg = 1; hw->get_link_status = true; +#ifndef CONFIG_E1000_NO_NVM hw->eeprom_semaphore_present = true; +#endif hw->hw_addr = pci_map_bar(devno, PCI_BASE_ADDRESS_0, PCI_REGION_MEM); hw->mac_type = e1000_undefined; -- 1.9.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH] e1000: fix no nvm build 2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler @ 2014-09-08 2:07 ` Marek Vasut 2014-09-25 14:44 ` [U-Boot] " Tom Rini 1 sibling, 0 replies; 10+ messages in thread From: Marek Vasut @ 2014-09-08 2:07 UTC (permalink / raw) To: u-boot On Monday, September 08, 2014 at 12:02:11 AM, Marcel Ziswiler wrote: > Fix the following build error in case CONFIG_E1000_NO_NVM is enabled: > CC drivers/net/e1000.o > drivers/net/e1000.c: In function ?e1000_initialize?: > drivers/net/e1000.c:5365:5: error: ?struct e1000_hw? has no > member named ?eeprom_semaphore_present? > make[1]: *** [drivers/net/e1000.o] Error 1 > make: *** [drivers/net] Error 2 > -- > This got introduced by Marek's i210 support patch commit > 951860634fdb557bbb58e0f99215391bc0c29779. Let me shift the blame to Tim, who should have tested it before submitting ;-D > Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> Thanks for spotting this! Acked-by: Marek Vasut <marex@denx.de> Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] e1000: fix no nvm build 2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler 2014-09-08 2:07 ` Marek Vasut @ 2014-09-25 14:44 ` Tom Rini 1 sibling, 0 replies; 10+ messages in thread From: Tom Rini @ 2014-09-25 14:44 UTC (permalink / raw) To: u-boot On Mon, Sep 08, 2014 at 12:02:11AM +0200, Marcel Ziswiler wrote: > Fix the following build error in case CONFIG_E1000_NO_NVM is enabled: > CC drivers/net/e1000.o > drivers/net/e1000.c: In function ?e1000_initialize?: > drivers/net/e1000.c:5365:5: error: ?struct e1000_hw? has no > member named ?eeprom_semaphore_present? > make[1]: *** [drivers/net/e1000.o] Error 1 > make: *** [drivers/net] Error 2 > Acked-by: Marek Vasut <marex@denx.de> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140925/b0ab8d39/attachment.pgp> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support [not found] <03c9982d8450bcbf073530edd6446ef3ec4dfddb.1410127137.git.marcel@ziswiler.com> 2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler @ 2014-09-07 22:03 ` Marcel Ziswiler 2014-09-08 2:07 ` Marek Vasut 2014-10-27 22:19 ` [U-Boot] " Tom Rini 1 sibling, 2 replies; 10+ messages in thread From: Marcel Ziswiler @ 2014-09-07 22:03 UTC (permalink / raw) To: u-boot This patch adds support for i211 as well as unprogrammed aka tools only i210/i211 chip support. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> --- drivers/net/e1000.c | 6 ++++++ include/pci_ids.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 6e8765c..ce19173 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -92,7 +92,10 @@ static struct pci_device_id e1000_supported[] = { {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_SERDES_DPT}, {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_COPPER_SPT}, {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_80003ES2LAN_SERDES_SPT}, + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED}, + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED}, {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_COPPER}, + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I211_COPPER}, {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_COPPER_FLASHLESS}, {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_SERDES}, {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I210_SERDES_FLASHLESS}, @@ -1374,7 +1377,10 @@ e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_ICH8_IGP_M: hw->mac_type = e1000_ich8lan; break; + case PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED: + case PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED: case PCI_DEVICE_ID_INTEL_I210_COPPER: + case PCI_DEVICE_ID_INTEL_I211_COPPER: case PCI_DEVICE_ID_INTEL_I210_COPPER_FLASHLESS: case PCI_DEVICE_ID_INTEL_I210_SERDES: case PCI_DEVICE_ID_INTEL_I210_SERDES_FLASHLESS: diff --git a/include/pci_ids.h b/include/pci_ids.h index f220c3a..f84c13a 100644 --- a/include/pci_ids.h +++ b/include/pci_ids.h @@ -2547,10 +2547,12 @@ #define PCI_DEVICE_ID_INTEL_82380FB 0x124b #define PCI_DEVICE_ID_INTEL_82439 0x1250 #define PCI_DEVICE_ID_INTEL_I210_UNPROGRAMMED 0x1531 +#define PCI_DEVICE_ID_INTEL_I211_UNPROGRAMMED 0x1532 #define PCI_DEVICE_ID_INTEL_I210_COPPER 0x1533 #define PCI_DEVICE_ID_INTEL_I210_SERDES 0x1536 #define PCI_DEVICE_ID_INTEL_I210_1000BASEKX 0x1537 #define PCI_DEVICE_ID_INTEL_I210_EXTPHY 0x1538 +#define PCI_DEVICE_ID_INTEL_I211_COPPER 0x1539 #define PCI_DEVICE_ID_INTEL_I210_COPPER_FLASHLESS 0x157b #define PCI_DEVICE_ID_INTEL_I210_SERDES_FLASHLESS 0x157c #define PCI_DEVICE_ID_INTEL_80960_RP 0x1960 -- 1.9.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support 2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler @ 2014-09-08 2:07 ` Marek Vasut 2014-09-10 21:18 ` Marcel Ziswiler 2014-10-27 22:19 ` [U-Boot] " Tom Rini 1 sibling, 1 reply; 10+ messages in thread From: Marek Vasut @ 2014-09-08 2:07 UTC (permalink / raw) To: u-boot On Monday, September 08, 2014 at 12:03:50 AM, Marcel Ziswiler wrote: > This patch adds support for i211 as well as unprogrammed aka tools only > i210/i211 chip support. > > Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> Does the network really work with an i21x with unprogrammed iNVM ? Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support 2014-09-08 2:07 ` Marek Vasut @ 2014-09-10 21:18 ` Marcel Ziswiler 2014-09-10 23:46 ` Marek Vasut 0 siblings, 1 reply; 10+ messages in thread From: Marcel Ziswiler @ 2014-09-10 21:18 UTC (permalink / raw) To: u-boot On Mon, 2014-09-08 at 04:07 +0200, Marek Vasut wrote: > Does the network really work with an i21x with unprogrammed iNVM ? Yes, it actually does work quite nicely. However I currently still have to patch it additionally as follows: diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index ce19173..5f9c606 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -1128,7 +1128,7 @@ e1000_swfw_sync_acquire(struct e1000_hw *hw, uint16_t mask) if (!timeout) { DEBUGOUT("Driver can't access resource, SW_FW_SYNC timeout.\n"); - return -E1000_ERR_SWFW_SYNC; +// return -E1000_ERR_SWFW_SYNC; } swfw_sync |= swmask; @@ -4378,7 +4378,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw) if (!timeout) { DEBUGOUT("MNG configuration cycle has not " "completed.\n"); - return -E1000_ERR_RESET; +// return -E1000_ERR_RESET; } break; } Without doing the above it fails as follows (enabled E1000_DEBUG): U-Boot SPL 2014.10-rc2-00043-g80a3caa-dirty (Sep 08 2014 - 12:26:27) U-Boot 2014.10-rc2-00043-g80a3caa-dirty (Sep 08 2014 - 12:26:27) TEGRA30 Board: Toradex Apalis T30 I2C: ready DRAM: 1 GiB MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1, Tegra SD/MMC: 2 tegra-pcie: PCI regions: tegra-pcie: I/O: 0x2000000-0x2010000 tegra-pcie: non-prefetchable memory: 0x20000000-0x30000000 tegra-pcie: prefetchable memory: 0x30000000-0x40000000 tegra-pcie: 4x1, 1x2 configuration tegra-pcie: probing port 2, using 1 lanes In: serial Out: serial Err: serial Net: e1000_initialize e1000: e1000#0: DEBUG: iobase 0x20000000 e1000_set_mac_type e1000_set_media_type copper interface e1000_reset_hw Masking off all interrupts Issuing a global reset to MAC PF OK EEC OK Masking off all interrupts e1000: no NVM e1000#0 Error: e1000#0 address not set. Hit any key to stop autoboot: 0 Apalis T30 # setenv ethaddr 00:14:2d:27:35:8f Apalis T30 # dhcp e1000_reset_hw Masking off all interrupts Issuing a global reset to MAC PF OK EEC OK Masking off all interrupts e1000_init_hw e1000_set_media_type Initializing the IEEE VLAN e1000_init_rx_addrs Programming MAC Address into RAR[0] Clearing RAR[1-15] Zeroing the MTA e1000_setup_link After fix-ups FlowControl is now = 3 e1000_setup_copper_link e1000_copper_link_preconfig e1000_detect_gig_phy e1000_set_phy_type PHY ID 0x1410C00 detected Phy ID = 1410c00 e1000_copper_link_mgp_setup e1000_phy_reset e1000_phy_hw_reset Resetting Phy... e1000_swfw_sync_acquire Driver can't access resource, SW_FW_SYNC timeout. Unable to acquire swfw sync Error Resetting the PHY e1000: e1000#0: ERROR: Hardware Initialization Failed This is both with programmed (iNVM only, haven't tried external serial PROM possible on i210) as well as unprogrammed i210 as well as i211 chips on our Apalis T30 modules. Have you ever seen any such issue? Wondering whether this is a Tegra PCIe related issue. May I ask about your specific platform you tried this on? Could you send some output of a working session with E1000_DEBUG enabled? I plan to try it on a Boundary Devices Nitrogen6X as well as our Apalis iMX6 module as well. ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support 2014-09-10 21:18 ` Marcel Ziswiler @ 2014-09-10 23:46 ` Marek Vasut 0 siblings, 0 replies; 10+ messages in thread From: Marek Vasut @ 2014-09-10 23:46 UTC (permalink / raw) To: u-boot On Wednesday, September 10, 2014 at 11:18:20 PM, Marcel Ziswiler wrote: > On Mon, 2014-09-08 at 04:07 +0200, Marek Vasut wrote: > > Does the network really work with an i21x with unprogrammed iNVM ? > > Yes, it actually does work quite nicely. That's interesting. I never got it working with unprogrammed iNVM, I always had to program it first. > However I currently still have to patch it additionally as follows: > > diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c > index ce19173..5f9c606 100644 > --- a/drivers/net/e1000.c > +++ b/drivers/net/e1000.c > @@ -1128,7 +1128,7 @@ e1000_swfw_sync_acquire(struct e1000_hw *hw, > uint16_t mask) > > if (!timeout) { > DEBUGOUT("Driver can't access resource, SW_FW_SYNC > timeout.\n"); > - return -E1000_ERR_SWFW_SYNC; > +// return -E1000_ERR_SWFW_SYNC; > } > > swfw_sync |= swmask; > @@ -4378,7 +4378,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw) > if (!timeout) { > DEBUGOUT("MNG configuration cycle has not " > "completed.\n"); > - return -E1000_ERR_RESET; > +// return -E1000_ERR_RESET; > } > break; > } > > Without doing the above it fails as follows (enabled E1000_DEBUG): [...] > This is both with programmed (iNVM only, haven't tried external serial > PROM possible on i210) as well as unprogrammed i210 as well as i211 > chips on our Apalis T30 modules. > > Have you ever seen any such issue? No, but this looks like the card cannot acquire a semaphore. You might want to check if there are maybe some pecularities in semaphore handling on this i210 hardware. I remember intel did change the semaphore handling between various intel ethernet cards. > Wondering whether this is a Tegra PCIe related issue. I doubt so. > May I ask about your specific platform you tried this on? The MX6 SabreLite and the MX6 SabreSDP . Both MX6Quad. > Could you send some output of a working session with > E1000_DEBUG enabled? I plan to try it on a Boundary Devices Nitrogen6X > as well as our Apalis iMX6 module as well. I don't have the setup assembled now and the i210 is not available to me now, but you should be getting the same result with the N6X. Right now, I only have the MX6 SabreLite and an another intel NIC available, sorry. Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] e1000: add i211 and unprogrammed i210/i211 support 2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler 2014-09-08 2:07 ` Marek Vasut @ 2014-10-27 22:19 ` Tom Rini 2014-10-28 1:07 ` Marcel Ziswiler 1 sibling, 1 reply; 10+ messages in thread From: Tom Rini @ 2014-10-27 22:19 UTC (permalink / raw) To: u-boot On Mon, Sep 08, 2014 at 12:03:50AM +0200, Marcel Ziswiler wrote: > This patch adds support for i211 as well as unprogrammed aka tools only > i210/i211 chip support. > > Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141027/753e334c/attachment.pgp> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] e1000: add i211 and unprogrammed i210/i211 support 2014-10-27 22:19 ` [U-Boot] " Tom Rini @ 2014-10-28 1:07 ` Marcel Ziswiler 2014-10-28 11:15 ` Tom Rini 0 siblings, 1 reply; 10+ messages in thread From: Marcel Ziswiler @ 2014-10-28 1:07 UTC (permalink / raw) To: u-boot On Mon, 2014-10-27 at 18:19 -0400, Tom Rini wrote: > Applied to u-boot/master, thanks! Please excuse my ignorance but I can't quite make this one out on u-boot/master anywhere. Could you let me know of its commit hash? ^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] e1000: add i211 and unprogrammed i210/i211 support 2014-10-28 1:07 ` Marcel Ziswiler @ 2014-10-28 11:15 ` Tom Rini 0 siblings, 0 replies; 10+ messages in thread From: Tom Rini @ 2014-10-28 11:15 UTC (permalink / raw) To: u-boot On Tue, Oct 28, 2014 at 02:07:08AM +0100, Marcel Ziswiler wrote: > On Mon, 2014-10-27 at 18:19 -0400, Tom Rini wrote: > > Applied to u-boot/master, thanks! > > Please excuse my ignorance but I can't quite make this one out on > u-boot/master anywhere. Could you let me know of its commit hash? Whoops, lost this in some rebase shuffle, applied and pushed now (and it takes a little to sync out sometimes). -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141028/06657b3d/attachment.pgp> ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-10-28 11:15 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <03c9982d8450bcbf073530edd6446ef3ec4dfddb.1410127137.git.marcel@ziswiler.com> 2014-09-07 22:02 ` [U-Boot] [PATCH] e1000: fix no nvm build Marcel Ziswiler 2014-09-08 2:07 ` Marek Vasut 2014-09-25 14:44 ` [U-Boot] " Tom Rini 2014-09-07 22:03 ` [U-Boot] [PATCH] e1000: add i211 and unprogrammed i210/i211 support Marcel Ziswiler 2014-09-08 2:07 ` Marek Vasut 2014-09-10 21:18 ` Marcel Ziswiler 2014-09-10 23:46 ` Marek Vasut 2014-10-27 22:19 ` [U-Boot] " Tom Rini 2014-10-28 1:07 ` Marcel Ziswiler 2014-10-28 11:15 ` Tom Rini
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.