summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers/net/phy/mvsw61xx.h
diff options
context:
space:
mode:
authorJonas Gorski <jonas.gorski@gmail.com>2016-09-24 12:36:34 +0200
committerJonas Gorski <jonas.gorski@gmail.com>2016-09-26 13:03:58 +0200
commit92dcaecee3ee1d05aa2c174fe7b159fcb4d97726 (patch)
tree9a76205aa7aaf2775028f4c08a54c5ed0f9eeb2b /target/linux/generic/files/drivers/net/phy/mvsw61xx.h
parentf2102b484ba17bcfcf3f1cff4f19c077431c25cf (diff)
downloadmaster-31e0f0ae-92dcaecee3ee1d05aa2c174fe7b159fcb4d97726.tar.gz
master-31e0f0ae-92dcaecee3ee1d05aa2c174fe7b159fcb4d97726.tar.bz2
master-31e0f0ae-92dcaecee3ee1d05aa2c174fe7b159fcb4d97726.zip
mvsw61xx: reset phys on probe to enable switch ports on clearfog pro
The clearfog u-boot does not initialize the switch at all, so we need to power up the phys ourselves. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Acked-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/mvsw61xx.h')
-rw-r--r--target/linux/generic/files/drivers/net/phy/mvsw61xx.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/mvsw61xx.h b/target/linux/generic/files/drivers/net/phy/mvsw61xx.h
index ae78f5769d..64db6d3aab 100644
--- a/target/linux/generic/files/drivers/net/phy/mvsw61xx.h
+++ b/target/linux/generic/files/drivers/net/phy/mvsw61xx.h
@@ -162,6 +162,8 @@ enum {
#define MV_GLOBALREG(_type) MV_SWITCH_GLOBAL, MV_GLOBAL_##_type
enum {
+ MV_GLOBAL2_SMI_OP = 0x18,
+ MV_GLOBAL2_SMI_DATA = 0x19,
MV_GLOBAL2_SDET_POLARITY = 0x1d,
};
#define MV_GLOBAL2REG(_type) MV_SWITCH_GLOBAL2, MV_GLOBAL2_##_type
@@ -229,6 +231,14 @@ enum {
#define MV_FDB_HI_SHIFT 4
#define MV_FDB_LO_SHIFT 12
+/* Marvell Specific PHY register */
+#define MII_MV_SPEC_CTRL 16
+enum {
+ MV_SPEC_MDI_CROSS_AUTO = (0x6 << 4),
+ MV_SPEC_ENERGY_DETECT = (0x3 << 8),
+ MV_SPEC_DOWNSHIFT_COUNTER = (0x3 << 12),
+};
+
struct mvsw61xx_state {
struct switch_dev dev;
struct mii_bus *bus;