Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1518221

Re: [PATCH 3/6] net: mdio-mux: Add MDIO mux driver for NSP SoC

From Andrew Lunn <andrew@lunn.ch>
Newsgroups linux.kernel
Subject Re: [PATCH 3/6] net: mdio-mux: Add MDIO mux driver for NSP SoC
Date 2016-11-09 15:50 +0100
Message-ID <sBCmq-7b-9@gated-at.bofh.it> (permalink)
References <sBxwm-5sn-11@gated-at.bofh.it> <sBxwm-5sn-33@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


> +#define NSP_MDIO_EXT_BUS_START_ADDR		16
> +#define NSP_MDIO_EXT_SELECT_BIT			BIT(9)
> +
> +static int mdio_mux_nsp_switch_fn(int current_child, int desired_child,
> +				  void *priv)
> +{
> +	struct nsp_mdiomux_desc *md = priv;
> +	u32 data, bus_id;
> +
> +	/* select internal or external bus */
> +	data = readl(md->mgmt_ctrl);
> +	if (desired_child == NSP_MDIO_EXT_BUS_START_ADDR)
> +		data |= NSP_MDIO_EXT_SELECT_BIT;
> +	else
> +		data &= ~NSP_MDIO_EXT_SELECT_BIT;
> +	writel(data, md->mgmt_ctrl);
> +
> +	/* select bus number */
> +	if (md->bus_ctrl) {
> +		bus_id = desired_child & (NSP_MDIO_EXT_BUS_START_ADDR - 1);
> +		writel(bus_id, md->bus_ctrl);
> +	}
> +
> +	return 0;

So address 16 is external. What happens which you try to access
address 16 internally? Does the chip raise an abort? Reads just give
0xffff?

I'm wondering if it would be better to implement this as two nested
muxes. One mux doing internal/external, and the other doing the bus.
If you do that, you can use the existing mdio-mux-mmioreg.c and don't
need any new code at all.

     Andrew

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/6] USB support for Broadcom NSP SoC  Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com> - 2016-11-09 10:40 +0100
  [PATCH 5/6] phy: Add USB3 PHY support for Broadcom NSP SoC Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com> - 2016-11-09 10:40 +0100
  [PATCH 3/6] net: mdio-mux: Add MDIO mux driver for NSP SoC Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com> - 2016-11-09 10:40 +0100
    Re: [PATCH 3/6] net: mdio-mux: Add MDIO mux driver for NSP SoC Andrew Lunn <andrew@lunn.ch> - 2016-11-09 15:50 +0100
  [PATCH 1/6] dt-bindings: mdio-mux: Add documentation for mdio mux for NSP SoC Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com> - 2016-11-09 10:40 +0100
    Re: [PATCH 1/6] dt-bindings: mdio-mux: Add documentation for mdio  mux for NSP SoC Andrew Lunn <andrew@lunn.ch> - 2016-11-09 15:40 +0100
    Re: [PATCH 1/6] dt-bindings: mdio-mux: Add documentation for mdio mux  for NSP SoC Scott Branden <scott.branden@broadcom.com> - 2016-11-09 23:30 +0100
  [PATCH 2/6] dt-bindings: phy: Add documentation for NSP USB3 PHY Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com> - 2016-11-09 10:40 +0100
  [PATCH 6/6] arm: dts: nsp: Add USB nodes to device tree Yendapally Reddy Dhananjaya Reddy <yendapally.reddy@broadcom.com> - 2016-11-09 10:40 +0100

csiph-web