From: Andrew Lunn <andrew@lunn.ch>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: f.fainelli@gmail.com, vivien.didelot@gmail.com,
davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linus.walleij@linaro.org,
georg.waibel@sensor-technik.de
Subject: Re: [PATCH net-next 10/17] net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch
Date: Tue, 2 Apr 2019 23:55:22 +0200 [thread overview]
Message-ID: <20190402215522.GJ22349@lunn.ch> (raw)
In-Reply-To: <20190331174232.22060-11-olteanv@gmail.com>
> +static int sja1105_init_mii_settings(struct sja1105_private *priv,
> + struct sja1105_dt_port *ports)
> +{
> + struct device *dev = &priv->spidev->dev;
> + struct sja1105_xmii_params_entry *mii;
> + struct sja1105_table *table;
> + int i;
> +
> + table = &priv->static_config.tables[BLK_IDX_XMII_PARAMS];
> +
> + /* Discard previous xMII Mode Parameters Table */
> + if (table->entry_count) {
> + kfree(table->entries);
> + table->entry_count = 0;
> + }
> +
> + table->entries = kcalloc(MAX_XMII_PARAMS_COUNT,
> + table->ops->unpacked_entry_size, GFP_KERNEL);
> + if (!table->entries)
> + return -ENOMEM;
> +
> + /* Override table based on phylib DT bindings */
> + table->entry_count = MAX_XMII_PARAMS_COUNT;
> +
> + mii = table->entries;
> +
> + for (i = 0; i < SJA1105_NUM_PORTS; i++) {
> + switch (ports[i].phy_mode) {
> + case PHY_INTERFACE_MODE_MII:
> + mii->xmii_mode[i] = XMII_MODE_MII;
> + break;
> + case PHY_INTERFACE_MODE_RMII:
> + mii->xmii_mode[i] = XMII_MODE_RMII;
> + break;
> + case PHY_INTERFACE_MODE_RGMII:
> + case PHY_INTERFACE_MODE_RGMII_ID:
> + case PHY_INTERFACE_MODE_RGMII_RXID:
> + case PHY_INTERFACE_MODE_RGMII_TXID:
> + mii->xmii_mode[i] = XMII_MODE_RGMII;
> + break;
https://www.nxp.com/docs/en/data-sheet/SJA1105.pdf
Section 6.2.3 RGMII signaling and encoding
Note that RGMII requires an external delay of between 1.5 ns and 2 ns
on TXC and RXC.
So it sounds like the switch only supports PHY_INTERFACE_MODE_RGMII.
If the port is in MAC mode, you should pass this phy-mode to the PHY
when you connect to it. The PHY can then add the delay if needed.
If however, the port is in PHY mode, and it is asked to do RGMII other
than PHY_INTERFACE_MODE_RGMII, you should report an error. It cannot
do it.
Andrew
next prev parent reply other threads:[~2019-04-02 21:55 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-31 17:42 [PATCH net-next 00/17] NXP SJA1105 DSA driver Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 01/17] lib: Add support for generic packing operations Vladimir Oltean
2019-04-04 9:19 ` Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 02/17] net: dsa: Fix pharse -> phase typo Vladimir Oltean
2019-04-02 20:45 ` Andrew Lunn
2019-03-31 17:42 ` [PATCH net-next 03/17] net: dsa: Store vlan_filtering as a property of dsa_port Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 04/17] net: dsa: mt7530: Use vlan_filtering property from dsa_port Vladimir Oltean
2019-04-02 20:47 ` Andrew Lunn
2019-03-31 17:42 ` [PATCH net-next 05/17] net: dsa: Add more convenient functions for installing port VLANs Vladimir Oltean
2019-04-02 20:54 ` Andrew Lunn
2019-03-31 17:42 ` [PATCH net-next 06/17] net: dsa: Call driver's setup callback after setting up its switchdev notifier Vladimir Oltean
2019-04-02 21:03 ` Andrew Lunn
2019-04-03 9:58 ` Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 07/17] net: dsa: Optional VLAN-based port separation for switches without tagging Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 08/17] net: dsa: Be aware of switches where VLAN filtering is a global setting Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 09/17] net: dsa: b53: Let DSA handle mismatched VLAN filtering settings Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 10/17] net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch Vladimir Oltean
2019-04-02 21:55 ` Andrew Lunn [this message]
2019-03-31 17:42 ` [PATCH net-next 11/17] net: dsa: sja1105: Add support for FDB and MDB management Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 12/17] net: dsa: sja1105: Add support for VLAN operations Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 13/17] net: dsa: sja1105: Add support for ethtool port counters Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 14/17] net: dsa: sja1105: Add support for traffic through standalone ports Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 15/17] net: dsa: sja1105: Add support for Spanning Tree Protocol Vladimir Oltean
2019-03-31 17:42 ` [PATCH net-next 16/17] Documentation: networking: dsa: Add details about NXP SJA1105 driver Vladimir Oltean
2019-04-02 21:24 ` Andrew Lunn
2019-04-03 10:09 ` Vladimir Oltean
2019-04-03 15:07 ` Florian Fainelli
2019-03-31 17:42 ` [PATCH net-next 17/17] dt-bindings: net: dsa: Add documentation for " Vladimir Oltean
2019-04-02 21:38 ` Andrew Lunn
2019-04-03 9:53 ` Vladimir Oltean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190402215522.GJ22349@lunn.ch \
--to=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=georg.waibel@sensor-technik.de \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox