On Thu, Aug 28, 2014 at 09:21:15PM +0200, Axel Rau wrote: > Am 28.08.2014 um 13:51 schrieb Jonathan Gray <j...@jsg.id.au>: > > > Start with the following patch, perhaps there needs to be > > some additional i347 specific handling. > Iâm seeing now: > - - - > em_set_phy_type > Invalid PHY ID 0x1410DC0 > > Error, did not detect valid phy. > > em2: Hardware Initialization Failedem2: Unable to initialize the hardware > - - - > Complete debug output available on request.
Initial support for the i347 phy was added back in March but that wasn't part of 5.5. I suspect you want something along the lines of the following patch: Index: if_em_hw.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_em_hw.c,v retrieving revision 1.77 diff -u -p -r1.77 if_em_hw.c --- if_em_hw.c 22 Feb 2014 04:41:31 -0000 1.77 +++ if_em_hw.c 29 Aug 2014 06:02:46 -0000 @@ -225,8 +225,10 @@ em_set_phy_type(struct em_hw *hw) case M88E1000_I_PHY_ID: case M88E1011_I_PHY_ID: case M88E1111_I_PHY_ID: + case M88E1112_E_PHY_ID: case M88E1543_E_PHY_ID: case I210_I_PHY_ID: + case I347AT4_E_PHY_ID: hw->phy_type = em_phy_m88; break; case IGP01E1000_I_PHY_ID: @@ -5199,7 +5201,9 @@ em_match_gig_phy(struct em_hw *hw) case em_i350: if (hw->phy_id == I82580_I_PHY_ID || hw->phy_id == I210_I_PHY_ID || + hw->phy_id == I347AT4_E_PHY_ID || hw->phy_id == I350_I_PHY_ID || + hw->phy_id == M88E1112_E_PHY_ID || hw->phy_id == M88E1543_E_PHY_ID) { uint32_t mdic; Index: if_em_hw.h =================================================================== RCS file: /cvs/src/sys/dev/pci/if_em_hw.h,v retrieving revision 1.58 diff -u -p -r1.58 if_em_hw.h --- if_em_hw.h 22 Feb 2014 04:41:32 -0000 1.58 +++ if_em_hw.h 29 Aug 2014 06:02:46 -0000 @@ -3381,6 +3381,8 @@ struct em_host_command_info { #define M88E1000_14_PHY_ID M88E1000_E_PHY_ID #define M88E1011_I_REV_4 0x04 #define M88E1111_I_PHY_ID 0x01410CC0 +#define M88E1112_E_PHY_ID 0x01410C90 +#define I347AT4_E_PHY_ID 0x01410DC0 #define L1LXT971A_PHY_ID 0x001378E0 #define GG82563_E_PHY_ID 0x01410CA0 #define BME1000_E_PHY_ID 0x01410CB0