bmips: backport bcm6368-mdio-mux support
This patch has been accepted for linux v5.13. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
		| @@ -0,0 +1,96 @@ | |||||||
|  | From da6557edb9f3f4513b01d9a20a36c2fbc31810a1 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | ||||||
|  | Date: Mon, 15 Mar 2021 16:45:27 +0100 | ||||||
|  | Subject: [PATCH 1/2] dt-bindings: net: Add bcm6368-mdio-mux bindings | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset=UTF-8 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  |  | ||||||
|  | Add documentations for bcm6368 mdio mux driver. | ||||||
|  |  | ||||||
|  | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | Signed-off-by: David S. Miller <davem@davemloft.net> | ||||||
|  | --- | ||||||
|  |  .../bindings/net/brcm,bcm6368-mdio-mux.yaml   | 76 +++++++++++++++++++ | ||||||
|  |  1 file changed, 76 insertions(+) | ||||||
|  |  create mode 100644 Documentation/devicetree/bindings/net/brcm,bcm6368-mdio-mux.yaml | ||||||
|  |  | ||||||
|  | --- /dev/null | ||||||
|  | +++ b/Documentation/devicetree/bindings/net/brcm,bcm6368-mdio-mux.yaml | ||||||
|  | @@ -0,0 +1,76 @@ | ||||||
|  | +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | ||||||
|  | +%YAML 1.2 | ||||||
|  | +--- | ||||||
|  | +$id: http://devicetree.org/schemas/net/brcm,bcm6368-mdio-mux.yaml# | ||||||
|  | +$schema: http://devicetree.org/meta-schemas/core.yaml# | ||||||
|  | + | ||||||
|  | +title: Broadcom BCM6368 MDIO bus multiplexer | ||||||
|  | + | ||||||
|  | +maintainers: | ||||||
|  | +  - Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | + | ||||||
|  | +description: | ||||||
|  | +  This MDIO bus multiplexer defines buses that could be internal as well as | ||||||
|  | +  external to SoCs. When child bus is selected, one needs to select these two | ||||||
|  | +  properties as well to generate desired MDIO transaction on appropriate bus. | ||||||
|  | + | ||||||
|  | +allOf: | ||||||
|  | +  - $ref: "mdio.yaml#" | ||||||
|  | + | ||||||
|  | +properties: | ||||||
|  | +  compatible: | ||||||
|  | +    const: brcm,bcm6368-mdio-mux | ||||||
|  | + | ||||||
|  | +  "#address-cells": | ||||||
|  | +    const: 1 | ||||||
|  | + | ||||||
|  | +  "#size-cells": | ||||||
|  | +    const: 0 | ||||||
|  | + | ||||||
|  | +  reg: | ||||||
|  | +    maxItems: 1 | ||||||
|  | + | ||||||
|  | +required: | ||||||
|  | +  - compatible | ||||||
|  | +  - reg | ||||||
|  | + | ||||||
|  | +patternProperties: | ||||||
|  | +  '^mdio@[0-1]$': | ||||||
|  | +    type: object | ||||||
|  | +    properties: | ||||||
|  | +      reg: | ||||||
|  | +        maxItems: 1 | ||||||
|  | + | ||||||
|  | +      "#address-cells": | ||||||
|  | +        const: 1 | ||||||
|  | + | ||||||
|  | +      "#size-cells": | ||||||
|  | +        const: 0 | ||||||
|  | + | ||||||
|  | +    required: | ||||||
|  | +      - reg | ||||||
|  | +      - "#address-cells" | ||||||
|  | +      - "#size-cells" | ||||||
|  | + | ||||||
|  | +unevaluatedProperties: false | ||||||
|  | + | ||||||
|  | +examples: | ||||||
|  | +  - | | ||||||
|  | +    mdio0: mdio@10e000b0 { | ||||||
|  | +      #address-cells = <1>; | ||||||
|  | +      #size-cells = <0>; | ||||||
|  | +      compatible = "brcm,bcm6368-mdio-mux"; | ||||||
|  | +      reg = <0x10e000b0 0x6>; | ||||||
|  | + | ||||||
|  | +      mdio_int: mdio@0 { | ||||||
|  | +        #address-cells = <1>; | ||||||
|  | +        #size-cells = <0>; | ||||||
|  | +        reg = <0>; | ||||||
|  | +      }; | ||||||
|  | + | ||||||
|  | +      mdio_ext: mdio@1 { | ||||||
|  | +        #address-cells = <1>; | ||||||
|  | +        #size-cells = <0>; | ||||||
|  | +        reg = <1>; | ||||||
|  | +      }; | ||||||
|  | +    }; | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| From b6ecb2bca2b8ff80ae4b1b15f09dcf071f4ceaf4 Mon Sep 17 00:00:00 2001 | From e239756717b5c866958823a1609e2ccf268435be Mon Sep 17 00:00:00 2001 | ||||||
| From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com> | ||||||
| Date: Mon, 1 Mar 2021 16:42:12 +0100 | Date: Mon, 15 Mar 2021 16:45:28 +0100 | ||||||
| Subject: [PATCH] net: mdio: Add BCM6368 MDIO mux bus controller | Subject: [PATCH 2/2] net: mdio: Add BCM6368 MDIO mux bus controller | ||||||
| MIME-Version: 1.0 | MIME-Version: 1.0 | ||||||
| Content-Type: text/plain; charset=UTF-8 | Content-Type: text/plain; charset=UTF-8 | ||||||
| Content-Transfer-Encoding: 8bit | Content-Transfer-Encoding: 8bit | ||||||
| @@ -10,11 +10,12 @@ This controller is present on BCM6318, BCM6328, BCM6362, BCM6368 and BCM63268 | |||||||
| SoCs. | SoCs. | ||||||
| 
 | 
 | ||||||
| Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | ||||||
|  | Signed-off-by: David S. Miller <davem@davemloft.net> | ||||||
| ---
 | ---
 | ||||||
|  drivers/net/mdio/Kconfig            |  11 ++ |  drivers/net/mdio/Kconfig            |  11 ++ | ||||||
|  drivers/net/mdio/Makefile           |   1 + |  drivers/net/mdio/Makefile           |   1 + | ||||||
|  drivers/net/mdio/mdio-mux-bcm6368.c | 179 ++++++++++++++++++++++++++++ |  drivers/net/mdio/mdio-mux-bcm6368.c | 184 ++++++++++++++++++++++++++++ | ||||||
|  3 files changed, 191 insertions(+) |  3 files changed, 196 insertions(+) | ||||||
|  create mode 100644 drivers/net/mdio/mdio-mux-bcm6368.c |  create mode 100644 drivers/net/mdio/mdio-mux-bcm6368.c | ||||||
| 
 | 
 | ||||||
| --- a/drivers/net/mdio/Kconfig
 | --- a/drivers/net/mdio/Kconfig
 | ||||||
| @@ -49,7 +50,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
|  obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A)	+= mdio-mux-meson-g12a.o |  obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A)	+= mdio-mux-meson-g12a.o | ||||||
| --- /dev/null
 | --- /dev/null
 | ||||||
| +++ b/drivers/net/mdio/mdio-mux-bcm6368.c
 | +++ b/drivers/net/mdio/mdio-mux-bcm6368.c
 | ||||||
| @@ -0,0 +1,179 @@
 | @@ -0,0 +1,184 @@
 | ||||||
| +// SPDX-License-Identifier: GPL-2.0+
 | +// SPDX-License-Identifier: GPL-2.0+
 | ||||||
| +/*
 | +/*
 | ||||||
| + * Broadcom BCM6368 mdiomux bus controller driver
 | + * Broadcom BCM6368 mdiomux bus controller driver
 | ||||||
| @@ -154,7 +155,8 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
| +	if (!res)
 | +	if (!res)
 | ||||||
| +		return -EINVAL;
 | +		return -EINVAL;
 | ||||||
| +
 | +
 | ||||||
| +	/* Just ioremap, as this MDIO block is usually integrated into an
 | +	/*
 | ||||||
|  | +	 * Just ioremap, as this MDIO block is usually integrated into an
 | ||||||
| +	 * Ethernet MAC controller register range
 | +	 * Ethernet MAC controller register range
 | ||||||
| +	 */
 | +	 */
 | ||||||
| +	md->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
 | +	md->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
 | ||||||
| @@ -229,3 +231,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> | |||||||
| +	.remove	= bcm6368_mdiomux_remove,
 | +	.remove	= bcm6368_mdiomux_remove,
 | ||||||
| +};
 | +};
 | ||||||
| +module_platform_driver(bcm6368_mdiomux_driver);
 | +module_platform_driver(bcm6368_mdiomux_driver);
 | ||||||
|  | +
 | ||||||
|  | +MODULE_AUTHOR("Álvaro Fernández Rojas <noltari@gmail.com>");
 | ||||||
|  | +MODULE_DESCRIPTION("BCM6368 mdiomux bus controller driver");
 | ||||||
|  | +MODULE_LICENSE("GPL v2");
 | ||||||
		Reference in New Issue
	
	Block a user
	 Álvaro Fernández Rojas
					Álvaro Fernández Rojas