drivers: net: aquantia: add PHY generation information
authorAlex Marginean <alexandru.marginean@nxp.com>
Thu, 14 Nov 2019 16:28:31 +0000 (18:28 +0200)
committerJoe Hershberger <joe.hershberger@ni.com>
Mon, 9 Dec 2019 15:47:42 +0000 (09:47 -0600)
Uses the data field in phy_driver structure to identify the PHY generation.
This is useful for custom configuration as non-generic PHY registers are
not 100% compatible between generations.

Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/phy/aquantia.c

index 601121dc3a17726f5e03ba743711cc847bf9b916..397abc03806d57ed736a7f98f4f8e3b543a05c3c 100644 (file)
 #define VERSION_STRING_OFFSET 0x0200
 #define HEADER_OFFSET 0x300
 
+/* driver private data */
+#define AQUANTIA_NA            0
+#define AQUANTIA_GEN1          1
+#define AQUANTIA_GEN2          2
+#define AQUANTIA_GEN3          3
+
 #pragma pack(1)
 struct fw_header {
        u8 padding[4];
@@ -467,6 +473,7 @@ struct phy_driver aqr105_driver = {
        .config = &aquantia_config,
        .startup = &aquantia_startup,
        .shutdown = &gen10g_shutdown,
+       .data = AQUANTIA_GEN1,
 };
 
 struct phy_driver aqr106_driver = {
@@ -493,6 +500,7 @@ struct phy_driver aqr107_driver = {
        .config = &aquantia_config,
        .startup = &aquantia_startup,
        .shutdown = &gen10g_shutdown,
+       .data = AQUANTIA_GEN2,
 };
 
 struct phy_driver aqr112_driver = {
@@ -506,6 +514,7 @@ struct phy_driver aqr112_driver = {
        .config = &aquantia_config,
        .startup = &aquantia_startup,
        .shutdown = &gen10g_shutdown,
+       .data = AQUANTIA_GEN3,
 };
 
 struct phy_driver aqr405_driver = {
@@ -519,6 +528,7 @@ struct phy_driver aqr405_driver = {
        .config = &aquantia_config,
        .startup = &aquantia_startup,
        .shutdown = &gen10g_shutdown,
+       .data = AQUANTIA_GEN1,
 };
 
 struct phy_driver aqr412_driver = {
@@ -532,6 +542,7 @@ struct phy_driver aqr412_driver = {
        .config = &aquantia_config,
        .startup = &aquantia_startup,
        .shutdown = &gen10g_shutdown,
+       .data = AQUANTIA_GEN3,
 };
 
 int phy_aquantia_init(void)