diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2017-04-18 11:48:25 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-04-20 20:48:54 +0300 |
commit | a1292595e006075792d6961fcb7de5e862a77aa8 (patch) | |
tree | 6e9442bb69f9c49bb70d0711f44b69832bbe591d /drivers/net/dsa/lan9303.h | |
parent | e8fe177a62feaf576cd9869d9bfedf9c9574bb12 (diff) | |
download | linux-a1292595e006075792d6961fcb7de5e862a77aa8.tar.xz |
net: dsa: add new DSA switch driver for the SMSC-LAN9303
The SMSC/Microchip LAN9303 is an ethernet switch device with one CPU port
and two external ethernet ports with built-in phys.
This driver uses the DSA framework, but is currently only capable of
separating the two external ports. There is no offload support yet.
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/lan9303.h')
-rw-r--r-- | drivers/net/dsa/lan9303.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/dsa/lan9303.h b/drivers/net/dsa/lan9303.h new file mode 100644 index 000000000000..d1512dad2d90 --- /dev/null +++ b/drivers/net/dsa/lan9303.h @@ -0,0 +1,19 @@ +#include <linux/regmap.h> +#include <linux/device.h> +#include <net/dsa.h> + +struct lan9303 { + struct device *dev; + struct regmap *regmap; + struct regmap_irq_chip_data *irq_data; + struct gpio_desc *reset_gpio; + u32 reset_duration; /* in [ms] */ + bool phy_addr_sel_strap; + struct dsa_switch *ds; + struct mutex indirect_mutex; /* protect indexed register access */ +}; + +extern const struct regmap_access_table lan9303_register_set; + +int lan9303_probe(struct lan9303 *chip, struct device_node *np); +int lan9303_remove(struct lan9303 *chip); |