/linux-6.12.1/Documentation/devicetree/bindings/net/ |
D | mdio-mux-multiplexer.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/mdio-mux-multiplexer.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Properties for an MDIO bus multiplexer consumer device 10 - Andrew Lunn <andrew@lunn.ch> 13 This is a special case of MDIO mux when MDIO mux is defined as a consumer 14 of a mux producer device. The mux producer can be of any type like mmio mux 15 producer, gpio mux producer or generic register based mux producer. 19 - $ref: /schemas/net/mdio-mux.yaml# [all …]
|
D | mdio-mux-mmioreg.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/mdio-mux-mmioreg.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Properties for an MDIO bus multiplexer controlled by a memory-mapped device 10 - Andrew Lunn <andrew@lunn.ch> 13 This is a special case of a MDIO bus multiplexer. A memory-mapped device, 14 like an FPGA, is used to control which child bus is connected. The mdio-mux 15 node must be a child of the memory-mapped device. The driver currently only 16 supports devices with 8, 16 or 32-bit registers. [all …]
|
D | amlogic,g12a-mdio-mux.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/amlogic,g12a-mdio-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MDIO bus multiplexer/glue of Amlogic G12a SoC family 10 This is a special case of a MDIO bus multiplexer. It allows to choose between 11 the internal mdio bus leading to the embedded 10/100 PHY or the external 12 MDIO bus. 15 - Neil Armstrong <neil.armstrong@linaro.org> 18 - $ref: mdio-mux.yaml# [all …]
|
D | brcm,bcm6368-mdio-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/net/brcm,bcm6368-mdio-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Broadcom BCM6368 MDIO bus multiplexer 10 - Álvaro Fernández Rojas <noltari@gmail.com> 13 This MDIO bus multiplexer defines buses that could be internal as well as 15 properties as well to generate desired MDIO transaction on appropriate bus. 18 - $ref: mdio-mux.yaml# 22 const: brcm,bcm6368-mdio-mux [all …]
|
D | amlogic,gxl-mdio-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/net/amlogic,gxl-mdio-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Amlogic GXL MDIO bus multiplexer 10 - Jerome Brunet <jbrunet@baylibre.com> 13 This is a special case of a MDIO bus multiplexer. It allows to choose between 14 the internal mdio bus leading to the embedded 10/100 PHY or the external 15 MDIO bus on the Amlogic GXL SoC family. 18 - $ref: mdio-mux.yaml# [all …]
|
D | brcm,mdio-mux-iproc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/brcm,mdio-mux-iproc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MDIO bus multiplexer found in Broadcom iProc based SoCs. 10 - Florian Fainelli <f.fainelli@gmail.com> 13 This MDIO bus multiplexer defines buses that could be internal as well as 14 external to SoCs and could accept MDIO transaction compatible to C-22 or 15 C-45 Clause. When child bus is selected, one needs to select these two 16 properties as well to generate desired MDIO transaction on appropriate bus. [all …]
|
D | mdio-mux-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/mdio-mux-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Properties for an MDIO bus multiplexer/switch controlled by GPIO pins. 10 - Andrew Lunn <andrew@lunn.ch> 13 This is a special case of a MDIO bus multiplexer. One or more GPIO 17 - $ref: /schemas/net/mdio-mux.yaml# 21 const: mdio-mux-gpio 25 List of GPIOs used to control the multiplexer, least significant bit first. [all …]
|
D | mdio-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/mdio-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Common MDIO bus multiplexer/switch properties. 10 - Andrew Lunn <andrew@lunn.ch> 13 An MDIO bus multiplexer/switch will have several child busses that are 14 numbered uniquely in a device dependent manner. The nodes for an MDIO 15 bus multiplexer/switch will have one child node for each child bus. 18 mdio-parent-bus: [all …]
|
D | keystone-netcp.txt | 6 switch sub-module to send and receive packets. NetCP also includes a packet 13 includes a 3-port Ethernet switch sub-module capable of 10Gb/s and 1Gb/s rates 16 Keystone NetCP driver has a plug-in module architecture where each of the NetCP 17 sub-modules exist as a loadable kernel module which plug in to the netcp core. 18 These sub-modules are represented as "netcp-devices" in the dts bindings. It is 19 mandatory to have the ethernet switch sub-module for the ethernet interface to 20 be operational. Any other sub-module like the PA is optional. 24 ----------------------------- 26 ----------------------------- 28 |-> NetCP Devices -> | [all …]
|
/linux-6.12.1/drivers/net/mdio/ |
D | mdio-mux-multiplexer.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* MDIO bus multiplexer using kernel multiplexer subsystem 7 #include <linux/mdio-mux.h> 9 #include <linux/mux/consumer.h> 19 * mdio_mux_multiplexer_switch_fn - This function is called by the mdio-mux 20 * layer when it thinks the mdio bus 21 * multiplexer needs to switch. 22 * @current_child: current value of the mux register. 23 * @desired_child: value of the 'reg' property of the target child MDIO node. 27 * The first time this function is called, current_child == -1. [all …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 # Makefile for Linux MDIO bus drivers 4 obj-$(CONFIG_ACPI_MDIO) += acpi_mdio.o 5 obj-$(CONFIG_FWNODE_MDIO) += fwnode_mdio.o 6 obj-$(CONFIG_OF_MDIO) += of_mdio.o 8 obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o 9 obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o 10 obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o 11 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o 12 obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o [all …]
|
D | mdio-mux-meson-gxl.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/mdio-mux.h> 59 writel(REG4_PWRUPRSTSIG, priv->regs + ETH_REG4); in gxl_enable_internal_mdio() 60 writel(val, priv->regs + ETH_REG3); in gxl_enable_internal_mdio() 66 * drivers/net/phy/meson-gxl.c to properly match the PHY. in gxl_enable_internal_mdio() 69 priv->regs + ETH_REG2); in gxl_enable_internal_mdio() 73 writel(val, priv->regs + ETH_REG3); in gxl_enable_internal_mdio() 74 writel(0, priv->regs + ETH_REG4); in gxl_enable_internal_mdio() 82 /* Reset the mdio bus mux to the external phy */ in gxl_enable_external_mdio() 83 writel(0, priv->regs + ETH_REG3); in gxl_enable_external_mdio() [all …]
|
D | mdio-mux-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/mdio-mux.h> 15 #define DRV_DESCRIPTION "GPIO controlled MDIO bus multiplexer driver" 33 gpiod_set_array_value_cansleep(s->gpios->ndescs, s->gpios->desc, in mdio_mux_gpio_switch_fn() 34 s->gpios->info, values); in mdio_mux_gpio_switch_fn() 45 gpios = devm_gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW); in mdio_mux_gpio_probe() 49 s = devm_kzalloc(&pdev->dev, sizeof(*s), GFP_KERNEL); in mdio_mux_gpio_probe() 51 return -ENOMEM; in mdio_mux_gpio_probe() 53 s->gpios = gpios; in mdio_mux_gpio_probe() 55 r = mdio_mux_init(&pdev->dev, pdev->dev.of_node, in mdio_mux_gpio_probe() [all …]
|
D | mdio-mux-meson-g12a.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/clk-provider.h> 13 #include <linux/mdio-mux.h> 75 val = readl(pll->base + ETH_PLL_CTL0); in g12a_ephy_pll_recalc_rate() 85 u32 val = readl(pll->base + ETH_PLL_CTL0); in g12a_ephy_pll_enable() 89 writel(val, pll->base + ETH_PLL_CTL0); in g12a_ephy_pll_enable() 93 writel(val, pll->base + ETH_PLL_CTL0); in g12a_ephy_pll_enable() 100 return readl_poll_timeout(pll->base + ETH_PLL_CTL0, val, in g12a_ephy_pll_enable() 109 val = readl(pll->base + ETH_PLL_CTL0); in g12a_ephy_pll_disable() 112 writel(val, pll->base + ETH_PLL_CTL0); in g12a_ephy_pll_disable() [all …]
|
D | mdio-mux-mmioreg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Simple memory-mapped device MDIO MUX driver 11 #include <linux/mdio-mux.h> 26 * MDIO multiplexing switch function 28 * This function is called by the mdio-mux layer when it thinks the mdio bus 29 * multiplexer needs to switch. 31 * 'current_child' is the current value of the mux register (masked via 32 * s->mask). 34 * 'desired_child' is the value of the 'reg' property of the target child MDIO 37 * The first time this function is called, current_child == -1. [all …]
|
D | mdio-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/mdio-mux.h> 13 #define DRV_DESCRIPTION "MDIO bus multiplexer driver" 40 struct mdio_mux_child_bus *cb = bus->priv; in mdio_mux_read() 41 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_read() 44 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_read() 45 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_read() 49 pb->current_child = cb->bus_number; in mdio_mux_read() 51 r = pb->mii_bus->read(pb->mii_bus, phy_id, regnum); in mdio_mux_read() 53 mutex_unlock(&pb->mii_bus->mdio_lock); in mdio_mux_read() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/mux/ |
D | reg-mux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mux/reg-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Generic register bitfield-based multiplexer controller 10 - Peter Rosin <peda@axentia.se> 19 - reg-mux # parent device of mux controller is not syscon device 20 - mmio-mux # parent device of mux controller is syscon device 24 '#mux-control-cells': 27 mux-reg-masks: [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/freescale/ |
D | fsl-lx2160a-qds.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 /dts-v1/; 9 #include "fsl-lx2160a.dtsi" 13 compatible = "fsl,lx2160a-qds", "fsl,lx2160a"; 23 stdout-path = "serial0:115200n8"; 26 sb_3v3: regulator-sb3v3 { 27 compatible = "regulator-fixed"; 28 regulator-name = "MC34717-3.3VSB"; 29 regulator-min-microvolt = <3300000>; 30 regulator-max-microvolt = <3300000>; [all …]
|
D | fsl-lx2162a-qds.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 /dts-v1/; 9 #include "fsl-lx2160a.dtsi" 13 compatible = "fsl,lx2162a-qds", "fsl,lx2160a"; 23 stdout-path = "serial0:115200n8"; 26 sb_3v3: regulator-sb3v3 { 27 compatible = "regulator-fixed"; 28 regulator-name = "LTM4619-3.3VSB"; 29 regulator-min-microvolt = <3300000>; 30 regulator-max-microvolt = <3300000>; [all …]
|
D | fsl-ls1028a-qds.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 11 /dts-v1/; 13 #include "fsl-ls1028a.dtsi" 17 compatible = "fsl,ls1028a-qds", "fsl,ls1028a"; 32 stdout-path = "serial0:115200n8"; 40 sys_mclk: clock-mclk { 41 compatible = "fixed-clock"; 42 #clock-cells = <0>; 43 clock-frequency = <25000000>; 46 reg_1p8v: regulator-1p8v { [all …]
|
/linux-6.12.1/include/linux/ |
D | mdio-mux.h | 2 * MDIO bus multiplexer framwork. 15 /* mdio_mux_init() - Initialize a MDIO mux 16 * @dev The device owning the MDIO mux 17 * @mux_node The device node of the MDIO mux 18 * @switch_fn The function called for switching target MDIO child 19 * mux_handle A pointer to a (void *) used internaly by mdio-mux
|
/linux-6.12.1/arch/arm64/boot/dts/ti/ |
D | k3-am642-evm-icssg1-dualemac.dtso | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 11 #include <dt-bindings/gpio/gpio.h> 12 #include "k3-pinctrl.h" 16 ethernet1 = "/icssg1-eth/ethernet-ports/port@1"; 19 mdio-mux-2 { 20 compatible = "mdio-mux-multiplexer"; 21 mux-controls = <&mdio_mux>; 22 mdio-parent-bus = <&icssg1_mdio>; [all …]
|
D | k3-am642-evm-icssg1-dualemac-mii.dtso | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include <dt-bindings/gpio/gpio.h> 11 #include "k3-pinctrl.h" 15 ethernet1 = "/icssg1-eth/ethernet-ports/port@1"; 18 mdio-mux-2 { 19 compatible = "mdio-mux-multiplexer"; 20 mux-controls = <&mdio_mux>; 21 mdio-parent-bus = <&icssg1_mdio>; [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/amlogic/ |
D | amlogic-c3.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/interrupt-controller/irq.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/reset/amlogic,c3-reset.h> 10 #include <dt-bindings/clock/amlogic,c3-pll-clkc.h> 11 #include <dt-bindings/clock/amlogic,c3-scmi-clkc.h> 12 #include <dt-bindings/clock/amlogic,c3-peripherals-clkc.h> 13 #include <dt-bindings/power/amlogic,c3-pwrc.h> 14 #include <dt-bindings/gpio/amlogic-c3-gpio.h> [all …]
|
D | meson-s4.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/interrupt-controller/irq.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/meson-s4-gpio.h> 10 #include <dt-bindings/clock/amlogic,s4-pll-clkc.h> 11 #include <dt-bindings/clock/amlogic,s4-peripherals-clkc.h> 12 #include <dt-bindings/power/meson-s4-power.h> 13 #include <dt-bindings/reset/amlogic,meson-s4-reset.h> 17 #address-cells = <2>; [all …]
|