* [PATCH v2 1/2] dt-bindings: net: add marvell smi2usb bindings @ 2020-03-19 13:59 Tobias Waldekranz 2020-03-19 13:59 ` [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller Tobias Waldekranz 0 siblings, 1 reply; 7+ messages in thread From: Tobias Waldekranz @ 2020-03-19 13:59 UTC (permalink / raw) To: netdev; +Cc: andrew, f.fainelli, hkallweit1 Describe how the smi2usb controller can optionally use device tree bindings to reference attached devices such as switches. Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> --- .../bindings/net/marvell,smi2usb.yaml | 65 +++++++++++++++++++ MAINTAINERS | 6 ++ 2 files changed, 71 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/marvell,smi2usb.yaml diff --git a/Documentation/devicetree/bindings/net/marvell,smi2usb.yaml b/Documentation/devicetree/bindings/net/marvell,smi2usb.yaml new file mode 100644 index 000000000000..498a19bf7326 --- /dev/null +++ b/Documentation/devicetree/bindings/net/marvell,smi2usb.yaml @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/marvell,smi2usb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Marvell SMI2USB MDIO Controller + +maintainers: + - Tobias Waldekranz <tobias@waldekranz.com> + +description: |+ + This controller is mounted on development boards for Marvell's Link Street + family of Ethernet switches. It allows you to configure the switch's registers + using the standard MDIO interface. + + Since the device is connected over USB, there is no strict requirement of + having a device tree representation of the device. But in order to use it with + the mv88e6xxx driver, you need a device tree node in which to place the switch + definition. + +allOf: + - $ref: "mdio.yaml#" + +properties: + compatible: + const: usb1286,1fa4 + reg: + maxItems: 1 + description: The USB port number on the host controller + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +examples: + - | + /* USB host controller */ + &usb1 { + smi2usb: mdio@1 { + compatible = "usb1286,1fa4"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + + /* MV88E6390X devboard */ + &smi2usb { + switch@0 { + compatible = "marvell,mv88e6190"; + status = "ok"; + reg = <0x0>; + + ports { + /* Port definitions */ + }; + + mdio { + /* PHY definitions */ + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 5dbee41045bc..83bb7ce3e23e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10096,6 +10096,12 @@ S: Maintained F: drivers/mtd/nand/raw/marvell_nand.c F: Documentation/devicetree/bindings/mtd/marvell-nand.txt +MARVELL SMI2USB MDIO CONTROLLER DRIVER +M: Tobias Waldekranz <tobias@waldekranz.com> +L: netdev@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/net/marvell,smi2usb.yaml + MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER M: Nicolas Pitre <nico@fluxnic.net> S: Odd Fixes -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller 2020-03-19 13:59 [PATCH v2 1/2] dt-bindings: net: add marvell smi2usb bindings Tobias Waldekranz @ 2020-03-19 13:59 ` Tobias Waldekranz 2020-03-19 15:49 ` Andrew Lunn 0 siblings, 1 reply; 7+ messages in thread From: Tobias Waldekranz @ 2020-03-19 13:59 UTC (permalink / raw) To: netdev; +Cc: andrew, f.fainelli, hkallweit1 An MDIO controller present on development boards for Marvell switches from the Link Street (88E6xxx) family. Using this module, you can use the following setup as a development platform for switchdev and DSA related work. .-------. .-----------------. | USB----USB | | SoC | | 88E6390X-DB ETH1-10 | ETH----ETH0 | '-------' '-----------------' Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> --- v1->v2: - Reverse christmas tree ordering of local variables. --- MAINTAINERS | 1 + drivers/net/phy/Kconfig | 7 ++ drivers/net/phy/Makefile | 1 + drivers/net/phy/mdio-smi2usb.c | 137 +++++++++++++++++++++++++++++++++ 4 files changed, 146 insertions(+) create mode 100644 drivers/net/phy/mdio-smi2usb.c diff --git a/MAINTAINERS b/MAINTAINERS index 83bb7ce3e23e..a7771e577832 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10100,6 +10100,7 @@ MARVELL SMI2USB MDIO CONTROLLER DRIVER M: Tobias Waldekranz <tobias@waldekranz.com> L: netdev@vger.kernel.org S: Maintained +F: drivers/net/phy/mdio-smi2usb.c F: Documentation/devicetree/bindings/net/marvell,smi2usb.yaml MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig index cc7f1df855da..ddde79c6f354 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig @@ -189,6 +189,13 @@ config MDIO_OCTEON buses. It is required by the Octeon and ThunderX ethernet device drivers on some systems. +config MDIO_SMI2USB + tristate "Marvell SMI2USB" + depends on OF_MDIO && USB + help + A USB to MDIO converter present on development boards for + Marvell's Link Street family of Ethernet switches. + config MDIO_SUN4I tristate "Allwinner sun4i MDIO interface support" depends on ARCH_SUNXI || COMPILE_TEST diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile index 70774ab474e6..fcbe4bd26747 100644 --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile @@ -41,6 +41,7 @@ obj-$(CONFIG_MDIO_IPQ8064) += mdio-ipq8064.o obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-mscc-miim.o obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o +obj-$(CONFIG_MDIO_SMI2USB) += mdio-smi2usb.o obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o obj-$(CONFIG_MDIO_XGENE) += mdio-xgene.o diff --git a/drivers/net/phy/mdio-smi2usb.c b/drivers/net/phy/mdio-smi2usb.c new file mode 100644 index 000000000000..c4f7f555a091 --- /dev/null +++ b/drivers/net/phy/mdio-smi2usb.c @@ -0,0 +1,137 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/of_mdio.h> +#include <linux/phy.h> +#include <linux/usb.h> + +#define USB_MARVELL_VID 0x1286 + +static const struct usb_device_id smi2usb_table[] = { + { USB_DEVICE(USB_MARVELL_VID, 0x1fa4) }, + + {} +}; +MODULE_DEVICE_TABLE(usb, smi2usb_table); + +enum { + SMI_CMD_PREAMBLE0, + SMI_CMD_PREAMBLE1, + SMI_CMD_ADDR, + SMI_CMD_VAL, +}; + +struct smi2usb { + struct usb_device *udev; + struct usb_interface *intf; + + struct mii_bus *mdio; + + __le16 buf[4]; +}; + +static int smi2usb_mdio_read(struct mii_bus *mdio, int dev, int reg) +{ + struct smi2usb *smi = mdio->priv; + int err, alen; + + if (dev & MII_ADDR_C45) + return -EOPNOTSUPP; + + smi->buf[SMI_CMD_ADDR] = cpu_to_le16(0xa400 | (dev << 5) | reg); + + err = usb_bulk_msg(smi->udev, usb_sndbulkpipe(smi->udev, 2), + smi->buf, 6, &alen, 100); + if (err) + return err; + + err = usb_bulk_msg(smi->udev, usb_rcvbulkpipe(smi->udev, 6), + &smi->buf[SMI_CMD_VAL], 2, &alen, 100); + if (err) + return err; + + return le16_to_cpu(smi->buf[SMI_CMD_VAL]); +} + +static int smi2usb_mdio_write(struct mii_bus *mdio, int dev, int reg, u16 val) +{ + struct smi2usb *smi = mdio->priv; + int alen; + + if (dev & MII_ADDR_C45) + return -EOPNOTSUPP; + + smi->buf[SMI_CMD_ADDR] = cpu_to_le16(0x8000 | (dev << 5) | reg); + smi->buf[SMI_CMD_VAL] = cpu_to_le16(val); + + return usb_bulk_msg(smi->udev, usb_sndbulkpipe(smi->udev, 2), + smi->buf, 8, &alen, 100); +} + +static int smi2usb_probe(struct usb_interface *interface, + const struct usb_device_id *id) +{ + struct device *dev = &interface->dev; + struct mii_bus *mdio; + struct smi2usb *smi; + int err = -ENOMEM; + + mdio = devm_mdiobus_alloc_size(dev, sizeof(*smi)); + if (!mdio) + goto err; + + smi = mdio->priv; + smi->mdio = mdio; + smi->udev = usb_get_dev(interface_to_usbdev(interface)); + smi->intf = usb_get_intf(interface); + + /* Reversed from USB PCAPs, no idea what these mean. */ + smi->buf[SMI_CMD_PREAMBLE0] = cpu_to_le16(0xe800); + smi->buf[SMI_CMD_PREAMBLE1] = cpu_to_le16(0x0001); + + usb_set_intfdata(interface, smi); + + snprintf(mdio->id, MII_BUS_ID_SIZE, "smi2usb-%s", dev_name(dev)); + mdio->name = mdio->id; + mdio->parent = dev; + mdio->read = smi2usb_mdio_read; + mdio->write = smi2usb_mdio_write; + + err = of_mdiobus_register(mdio, dev->of_node); + if (err) + goto err_put; + + return 0; + +err_put: + usb_put_intf(interface); + usb_put_dev(interface_to_usbdev(interface)); +err: + return err; +} + +static void smi2usb_disconnect(struct usb_interface *interface) +{ + struct smi2usb *smi; + + smi = usb_get_intfdata(interface); + mdiobus_unregister(smi->mdio); + usb_set_intfdata(interface, NULL); + + usb_put_intf(interface); + usb_put_dev(interface_to_usbdev(interface)); +} + +static struct usb_driver smi2usb_driver = { + .name = "smi2usb", + .id_table = smi2usb_table, + .probe = smi2usb_probe, + .disconnect = smi2usb_disconnect, +}; + +module_usb_driver(smi2usb_driver); + +MODULE_AUTHOR("Tobias Waldekranz <tobias@waldekranz.com>"); +MODULE_DESCRIPTION("Marvell SMI2USB Adapter"); +MODULE_LICENSE("GPL"); -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller 2020-03-19 13:59 ` [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller Tobias Waldekranz @ 2020-03-19 15:49 ` Andrew Lunn 2020-03-19 22:35 ` Tobias Waldekranz 0 siblings, 1 reply; 7+ messages in thread From: Andrew Lunn @ 2020-03-19 15:49 UTC (permalink / raw) To: Tobias Waldekranz; +Cc: netdev, f.fainelli, hkallweit1 On Thu, Mar 19, 2020 at 02:59:52PM +0100, Tobias Waldekranz wrote: > An MDIO controller present on development boards for Marvell switches > from the Link Street (88E6xxx) family. > > Using this module, you can use the following setup as a development > platform for switchdev and DSA related work. > > .-------. .-----------------. > | USB----USB | > | SoC | | 88E6390X-DB ETH1-10 > | ETH----ETH0 | > '-------' '-----------------' > > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> > --- > > v1->v2: > - Reverse christmas tree ordering of local variables. > > --- > MAINTAINERS | 1 + > drivers/net/phy/Kconfig | 7 ++ > drivers/net/phy/Makefile | 1 + > drivers/net/phy/mdio-smi2usb.c | 137 +++++++++++++++++++++++++++++++++ > 4 files changed, 146 insertions(+) > create mode 100644 drivers/net/phy/mdio-smi2usb.c Hi Tobias Where does the name mii2usb come from? To me, it seems to be the wrong way around, it is USB to MII. I suppose the Marvell Switch team could of given it this name, for them the switch is the centre of their world, and things connect to it? I'm just wondering if we should actually ignore Marvell and call it usb2mii? I also think there should be a marvell prefix in the name, since were could be other implementations of USB/MII. mvusb2mii? Do you know how this is implemented? Is it a product you can purchase? Or a microcontroller on the board which implements this? It would be an interesting product, especially on x86 machines which generally end up doing bit-banging because of the lack of drivers using kernel MDIO. > +static int smi2usb_probe(struct usb_interface *interface, > + const struct usb_device_id *id) > +{ > + struct device *dev = &interface->dev; > + struct mii_bus *mdio; > + struct smi2usb *smi; > + int err = -ENOMEM; > + > + mdio = devm_mdiobus_alloc_size(dev, sizeof(*smi)); > + if (!mdio) > + goto err; > + ... > +static void smi2usb_disconnect(struct usb_interface *interface) > +{ > + struct smi2usb *smi; > + > + smi = usb_get_intfdata(interface); > + mdiobus_unregister(smi->mdio); > + usb_set_intfdata(interface, NULL); > + > + usb_put_intf(interface); > + usb_put_dev(interface_to_usbdev(interface)); > +} I don't know enough about USB. Does disconnect have the same semantics remove()? You used devm_mdiobus_alloc_size() to allocate the bus structure. Will it get freed after disconnect? I've had USB devices connected via flaky USB hubs and they have repeatedly disappeared and reappeared. I wonder if in that case you are leaking memory if disconnect does not release the memory? > + usb_put_intf(interface); > + usb_put_dev(interface_to_usbdev(interface)); > +} Another USB novice question. Is this safe? Could the put of interface cause it to be destroyed? Then interface_to_usbdev() is called on invalid memory? Maybe this should be cross posted to a USB mailing list, so we can get the USB aspects reviewed. The MDIO bits seem good to me. Andrew ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller 2020-03-19 15:49 ` Andrew Lunn @ 2020-03-19 22:35 ` Tobias Waldekranz 2020-03-19 23:00 ` Andrew Lunn 0 siblings, 1 reply; 7+ messages in thread From: Tobias Waldekranz @ 2020-03-19 22:35 UTC (permalink / raw) To: Andrew Lunn; +Cc: netdev, f.fainelli, hkallweit1 On Thu, Mar 19, 2020 at 04:49:37PM +0100, Andrew Lunn wrote: > On Thu, Mar 19, 2020 at 02:59:52PM +0100, Tobias Waldekranz wrote: > > An MDIO controller present on development boards for Marvell switches > > from the Link Street (88E6xxx) family. > > > > Using this module, you can use the following setup as a development > > platform for switchdev and DSA related work. > > > > .-------. .-----------------. > > | USB----USB | > > | SoC | | 88E6390X-DB ETH1-10 > > | ETH----ETH0 | > > '-------' '-----------------' > > > > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> > > --- > > > > v1->v2: > > - Reverse christmas tree ordering of local variables. > > > > --- > > MAINTAINERS | 1 + > > drivers/net/phy/Kconfig | 7 ++ > > drivers/net/phy/Makefile | 1 + > > drivers/net/phy/mdio-smi2usb.c | 137 +++++++++++++++++++++++++++++++++ > > 4 files changed, 146 insertions(+) > > create mode 100644 drivers/net/phy/mdio-smi2usb.c > > Hi Tobias > > Where does the name mii2usb come from? To me, it seems to be the wrong > way around, it is USB to MII. I suppose the Marvell Switch team could > of given it this name, for them the switch is the centre of their > world, and things connect to it? The name is indeed coming from Marvell. They use the term SMI over MDIO in most of their software and documentation. I had the same reaction to the name regarding the ordering of the terms, but felt it was best to go with the vendor's choice. > I'm just wondering if we should actually ignore Marvell and call it > usb2mii? > > I also think there should be a marvell prefix in the name, since were > could be other implementations of USB/MII. mvusb2mii? You're absolutely right that there should be an mv prefix in there. Calling it usb2mii seems like a misnomer though. At least for me, MII relates more to the data interface between a MAC and a PHY, whereas MDIO or SMI refers to the control interface (MDC/MDIO). How about just mdio-mvusb? > Do you know how this is implemented? Is it a product you can purchase? > Or a microcontroller on the board which implements this? It would be > an interesting product, especially on x86 machines which generally end > up doing bit-banging because of the lack of drivers using kernel MDIO. On the 88E6390X-DB, I know that there is a chip by the USB port that is probably either an MCU or a small FPGA. I can have a closer look at it when I'm at the office tomorrow if you'd like. I also remember seeing some docs from Marvell which seemed to indicate that they have a standalone product providing only the USB-to-MDIO functionality. The x86 use-case is interesting. It would be even more so if there was some way of loading a DSA DT fragment so that you could hook it up to your machine's Ethernet port. > > +static int smi2usb_probe(struct usb_interface *interface, > > + const struct usb_device_id *id) > > +{ > > + struct device *dev = &interface->dev; > > + struct mii_bus *mdio; > > + struct smi2usb *smi; > > + int err = -ENOMEM; > > + > > + mdio = devm_mdiobus_alloc_size(dev, sizeof(*smi)); > > + if (!mdio) > > + goto err; > > + > > ... > > > > +static void smi2usb_disconnect(struct usb_interface *interface) > > +{ > > + struct smi2usb *smi; > > + > > + smi = usb_get_intfdata(interface); > > + mdiobus_unregister(smi->mdio); > > + usb_set_intfdata(interface, NULL); > > + > > + usb_put_intf(interface); > > + usb_put_dev(interface_to_usbdev(interface)); > > +} > > I don't know enough about USB. Does disconnect have the same semantics > remove()? You used devm_mdiobus_alloc_size() to allocate the bus > structure. Will it get freed after disconnect? I've had USB devices > connected via flaky USB hubs and they have repeatedly disappeared and > reappeared. I wonder if in that case you are leaking memory if > disconnect does not release the memory? Disclaimer: This is my first ever USB driver. I assumed that since we're removing 'interface', 'interface->dev' will be removed as well and thus calling all devm hooks. > > + usb_put_intf(interface); > > + usb_put_dev(interface_to_usbdev(interface)); > > +} > > Another USB novice question. Is this safe? Could the put of interface > cause it to be destroyed? Then interface_to_usbdev() is called on > invalid memory? That does indeed look scary. I inverted the order of the calls to the _get_ functions, which I got from the USB skeleton driver. I'll try to review some other drivers to see if I can figure this out. > Maybe this should be cross posted to a USB mailing list, so we can get > the USB aspects reviewed. The MDIO bits seem good to me. Good idea. Any chance you can help an LKML rookie out? How does one go about that? Do I simply reply to this thread and add the USB list, or do I post the patches again as a new series? Any special tags? Is there any documentation available? > Andrew ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller 2020-03-19 22:35 ` Tobias Waldekranz @ 2020-03-19 23:00 ` Andrew Lunn 2020-03-20 14:44 ` Tobias Waldekranz 0 siblings, 1 reply; 7+ messages in thread From: Andrew Lunn @ 2020-03-19 23:00 UTC (permalink / raw) To: Tobias Waldekranz; +Cc: netdev, f.fainelli, hkallweit1 Hi Tobias > How about just mdio-mvusb? Yes, i like that. > On the 88E6390X-DB, I know that there is a chip by the USB port that > is probably either an MCU or a small FPGA. I can have a closer look at > it when I'm at the office tomorrow if you'd like. I also remember > seeing some docs from Marvell which seemed to indicate that they have > a standalone product providing only the USB-to-MDIO functionality. I would be interested in knowing more. > The x86 use-case is interesting. It would be even more so if there was > some way of loading a DSA DT fragment so that you could hook it up to > your machine's Ethernet port. We don't have that at the moment. But so long as you only need internal copper PHYs, it is possible to use a platform device and it all just works. > > > +static int smi2usb_probe(struct usb_interface *interface, > > > + const struct usb_device_id *id) > > > +{ > > > + struct device *dev = &interface->dev; > > > + struct mii_bus *mdio; > > > + struct smi2usb *smi; > > > + int err = -ENOMEM; > > > + > > > + mdio = devm_mdiobus_alloc_size(dev, sizeof(*smi)); > > > + if (!mdio) > > > + goto err; > > > + > > > > ... > > > > > > > +static void smi2usb_disconnect(struct usb_interface *interface) > > > +{ > > > + struct smi2usb *smi; > > > + > > > + smi = usb_get_intfdata(interface); > > > + mdiobus_unregister(smi->mdio); > > > + usb_set_intfdata(interface, NULL); > > > + > > > + usb_put_intf(interface); > > > + usb_put_dev(interface_to_usbdev(interface)); > > > +} > > > > I don't know enough about USB. Does disconnect have the same semantics > > remove()? You used devm_mdiobus_alloc_size() to allocate the bus > > structure. Will it get freed after disconnect? I've had USB devices > > connected via flaky USB hubs and they have repeatedly disappeared and > > reappeared. I wonder if in that case you are leaking memory if > > disconnect does not release the memory? > > Disclaimer: This is my first ever USB driver. And i've only ever written one which has been merged. > I assumed that since we're removing 'interface', 'interface->dev' will > be removed as well and thus calling all devm hooks. > > > > + usb_put_intf(interface); > > > + usb_put_dev(interface_to_usbdev(interface)); > > > +} > > > > Another USB novice question. Is this safe? Could the put of interface > > cause it to be destroyed? Then interface_to_usbdev() is called on > > invalid memory? > > That does indeed look scary. I inverted the order of the calls to the > _get_ functions, which I got from the USB skeleton driver. I'll try to > review some other drivers to see if I can figure this out. > > > Maybe this should be cross posted to a USB mailing list, so we can get > > the USB aspects reviewed. The MDIO bits seem good to me. > > Good idea. Any chance you can help an LKML rookie out? How does one go > about that? Do I simply reply to this thread and add the USB list, or > do I post the patches again as a new series? Any special tags? Is > there any documentation available? I would fixup the naming and repost. You can put whatever comments you want under the --- marker. So say this driver should be merged via netdev, but you would appreciate reviews of the USB parts from USB maintainers. linux-usb@vger.kernel.org would be the correct list to add. Andrew ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller 2020-03-19 23:00 ` Andrew Lunn @ 2020-03-20 14:44 ` Tobias Waldekranz 2020-03-21 0:29 ` Andrew Lunn 0 siblings, 1 reply; 7+ messages in thread From: Tobias Waldekranz @ 2020-03-20 14:44 UTC (permalink / raw) To: Andrew Lunn; +Cc: netdev Hi Andrew, > > How about just mdio-mvusb? > > > Yes, i like that. ACK. > > On the 88E6390X-DB, I know that there is a chip by the USB port that > > is probably either an MCU or a small FPGA. I can have a closer look at > > it when I'm at the office tomorrow if you'd like. I also remember > > seeing some docs from Marvell which seemed to indicate that they have > > a standalone product providing only the USB-to-MDIO functionality. > > > I would be interested in knowing more. It seems like they are using the Cypress FX2 controller (CY7C68013). I've used it before on USB device projects. If I remember correctly it has an 8052 core, a USB2 controller and some low-speed I/O blocks. Couldn't locate the slide deck about a standalone device unfortunately. > I would fixup the naming and repost. You can put whatever comments you > want under the --- marker. So say this driver should be merged via > netdev, but you would appreciate reviews of the USB parts from USB > maintainers. linux-usb@vger.kernel.org would be the correct list to > add. Great. Just to make sure I've understood: I'll send v3 with _both_ netdev and linux-usb in "To:"? Thanks, wkz ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller 2020-03-20 14:44 ` Tobias Waldekranz @ 2020-03-21 0:29 ` Andrew Lunn 0 siblings, 0 replies; 7+ messages in thread From: Andrew Lunn @ 2020-03-21 0:29 UTC (permalink / raw) To: Tobias Waldekranz; +Cc: netdev On Fri, Mar 20, 2020 at 03:44:34PM +0100, Tobias Waldekranz wrote: > Hi Andrew, > > > > How about just mdio-mvusb? > > > > > > Yes, i like that. > > ACK. > > > > On the 88E6390X-DB, I know that there is a chip by the USB port that > > > is probably either an MCU or a small FPGA. I can have a closer look at > > > it when I'm at the office tomorrow if you'd like. I also remember > > > seeing some docs from Marvell which seemed to indicate that they have > > > a standalone product providing only the USB-to-MDIO functionality. > > > > > > I would be interested in knowing more. > > It seems like they are using the Cypress FX2 controller > (CY7C68013). I've used it before on USB device projects. If I remember > correctly it has an 8052 core, a USB2 controller and some low-speed > I/O blocks. Couldn't locate the slide deck about a standalone device > unfortunately. > > > I would fixup the naming and repost. You can put whatever comments you > > want under the --- marker. So say this driver should be merged via > > netdev, but you would appreciate reviews of the USB parts from USB > > maintainers. linux-usb@vger.kernel.org would be the correct list to > > add. > > Great. Just to make sure I've understood: I'll send v3 with _both_ > netdev and linux-usb in "To:"? Hi Tobias I normally use To: for the maintainer i expect to merge the patch, i.e. DaveM, and Cc: for lists and other maintainers who should review it. Andrew ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-03-21 0:29 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-03-19 13:59 [PATCH v2 1/2] dt-bindings: net: add marvell smi2usb bindings Tobias Waldekranz 2020-03-19 13:59 ` [PATCH v2 2/2] net: phy: marvell smi2usb mdio controller Tobias Waldekranz 2020-03-19 15:49 ` Andrew Lunn 2020-03-19 22:35 ` Tobias Waldekranz 2020-03-19 23:00 ` Andrew Lunn 2020-03-20 14:44 ` Tobias Waldekranz 2020-03-21 0:29 ` Andrew Lunn
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).