<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f5b12be3 - net: dsa: ocelot: fix selecting MFD_OCELOT</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#f5b12be3</link>
        <description>net: dsa: ocelot: fix selecting MFD_OCELOTCommit 3d7316ac81ac (&quot;net: dsa: ocelot: add external ocelot switchcontrol&quot;) adds config NET_DSA_MSCC_OCELOT_EXT, which selects thenon-existing config MFD_OCELOT_CORE.Replace this select with the intended and existing MFD_OCELOT.Signed-off-by: Lukas Bulwahn &lt;lukas.bulwahn@gmail.com&gt;Acked-by: Colin Foster &lt;colin.foster@in-advantage.com&gt;Link: https://lore.kernel.org/r/20230215104631.31568-1-lukas.bulwahn@gmail.comSigned-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Wed, 15 Feb 2023 10:46:31 +0000</pubDate>
        <dc:creator>Lukas Bulwahn &lt;lukas.bulwahn@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f99f22e0 - net: dsa: ocelot: add PTP dependency for NET_DSA_MSCC_OCELOT_EXT</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#f99f22e0</link>
        <description>net: dsa: ocelot: add PTP dependency for NET_DSA_MSCC_OCELOT_EXTA new user of MSCC_OCELOT_SWITCH_LIB was added, bringing back an oldlink failure that was fixed with e5f31552674e (&quot;ethernet: fixPTP_1588_CLOCK dependencies&quot;):x86_64-linux-ld: drivers/net/ethernet/mscc/ocelot_ptp.o: in function `ocelot_ptp_enable&apos;:ocelot_ptp.c:(.text+0x8ee): undefined reference to `ptp_find_pin&apos;x86_64-linux-ld: drivers/net/ethernet/mscc/ocelot_ptp.o: in function `ocelot_get_ts_info&apos;:ocelot_ptp.c:(.text+0xd5d): undefined reference to `ptp_clock_index&apos;x86_64-linux-ld: drivers/net/ethernet/mscc/ocelot_ptp.o: in function `ocelot_init_timestamp&apos;:ocelot_ptp.c:(.text+0x15ca): undefined reference to `ptp_clock_register&apos;x86_64-linux-ld: drivers/net/ethernet/mscc/ocelot_ptp.o: in function `ocelot_deinit_timestamp&apos;:ocelot_ptp.c:(.text+0x16b7): undefined reference to `ptp_clock_unregister&apos;Add the same PTP dependency here, as well as in the MSCC_OCELOT_SWITCH_LIBsymbol itself to make it more obvious what is going on when the nextdriver selects it.Fixes: 3d7316ac81ac (&quot;net: dsa: ocelot: add external ocelot switch control&quot;)Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Acked-by: Colin Foster &lt;colin.foster@in-advantage.com&gt;Link: https://lore.kernel.org/r/20230209124435.1317781-1-arnd@kernel.orgSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Thu, 09 Feb 2023 12:44:17 +0000</pubDate>
        <dc:creator>Arnd Bergmann &lt;arnd@arndb.de&gt;</dc:creator>
    </item>
<item>
        <title>3d7316ac - net: dsa: ocelot: add external ocelot switch control</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#3d7316ac</link>
        <description>net: dsa: ocelot: add external ocelot switch controlAdd control of an external VSC7512 chip.Currently the four copper phy ports are fully functional. Communication toexternal phys is also functional, but the SGMII / QSGMII interfaces arecurrently non-functional.Signed-off-by: Colin Foster &lt;colin.foster@in-advantage.com&gt;Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Tested-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt; # regressionSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Fri, 27 Jan 2023 19:35:58 +0000</pubDate>
        <dc:creator>Colin Foster &lt;colin.foster@in-advantage.com&gt;</dc:creator>
    </item>
<item>
        <title>c8005511 - net: dsa: ocelot: build felix.c into a dedicated kernel module</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#c8005511</link>
        <description>net: dsa: ocelot: build felix.c into a dedicated kernel moduleThe build system currently complains:scripts/Makefile.build:252: drivers/net/dsa/ocelot/Makefile:felix.o is added to multiple modules: mscc_felix mscc_sevilleSince felix.c holds the DSA glue layer, create a mscc_felix_dsa_lib.ko.This is similar to how mscc_ocelot_switch_lib.ko holds a library forconfiguring the hardware.Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Acked-by: Colin Foster &lt;colin.foster@in-advantage.com&gt;Link: https://lore.kernel.org/r/20230125145716.271355-1-vladimir.oltean@nxp.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Wed, 25 Jan 2023 14:57:16 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>10ed11ab - net: dsa: felix: build as module when tc-taprio is module</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#10ed11ab</link>
        <description>net: dsa: felix: build as module when tc-taprio is modulefelix_vsc9959.c calls taprio_offload_get() and taprio_offload_free(),symbols exported by net/sched/sch_taprio.c. As such, we must disallowbuilding the Felix driver as built-in when the symbol exported bytc-taprio isn&apos;t present in the kernel image.Fixes: 1c9017e44af2 (&quot;net: dsa: felix: keep reference on entire tc-taprio config&quot;)Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Link: https://lore.kernel.org/r/20220704190241.1288847-2-vladimir.oltean@nxp.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Mon, 04 Jul 2022 19:02:41 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>b9965845 - net: dsa: ocelot: felix: utilize shared mscc-miim driver for indirect MDIO access</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#b9965845</link>
        <description>net: dsa: ocelot: felix: utilize shared mscc-miim driver for indirect MDIO accessSwitch to a shared MDIO access implementation by way of the mdio-mscc-miimdriver.Signed-off-by: Colin Foster &lt;colin.foster@in-advantage.com&gt;Tested-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Mon, 29 Nov 2021 01:57:37 +0000</pubDate>
        <dc:creator>Colin Foster &lt;colin.foster@in-advantage.com&gt;</dc:creator>
    </item>
<item>
        <title>e5f31552 - ethernet: fix PTP_1588_CLOCK dependencies</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#e5f31552</link>
        <description>ethernet: fix PTP_1588_CLOCK dependenciesThe &apos;imply&apos; keyword does not do what most people think it does, it onlypolitely asks Kconfig to turn on another symbol, but does not preventit from being disabled manually or built as a loadable module when theuser is built-in. In the ICE driver, the latter now causes a link failure:aarch64-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_eth_ioctl&apos;:ice_main.c:(.text+0x13b0): undefined reference to `ice_ptp_get_ts_config&apos;ice_main.c:(.text+0x13b0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `ice_ptp_get_ts_config&apos;aarch64-linux-ld: ice_main.c:(.text+0x13bc): undefined reference to `ice_ptp_set_ts_config&apos;ice_main.c:(.text+0x13bc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `ice_ptp_set_ts_config&apos;aarch64-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_prepare_for_reset&apos;:ice_main.c:(.text+0x31fc): undefined reference to `ice_ptp_release&apos;ice_main.c:(.text+0x31fc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `ice_ptp_release&apos;aarch64-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_rebuild&apos;:This is a recurring problem in many drivers, and we have discussedit several times befores, without reaching a consensus. I&apos;m providinga link to the previous email thread for reference, which discussessome related problems.To solve the dependency issue better than the &apos;imply&apos; keyword, introduce aseparate Kconfig symbol &quot;CONFIG_PTP_1588_CLOCK_OPTIONAL&quot; that any drivercan depend on if it is able to use PTP support when available, but worksfine without it. Whenever CONFIG_PTP_1588_CLOCK=m, those drivers arethen prevented from being built-in, the same way as with a &apos;depends onPTP_1588_CLOCK || !PTP_1588_CLOCK&apos; dependency that does the same trick,but that can be rather confusing when you first see it.Since this should cover the dependencies correctly, the IS_REACHABLE()hack in the header is no longer needed now, and can be turned backinto a normal IS_ENABLED() check. Any driver that gets the dependencywrong will now cause a link time failure rather than being unable to usePTP support when that is in a loadable module.However, the two recently added ptp_get_vclocks_index() andptp_convert_timestamp() interfaces are only called from builtin code withethtool and socket timestamps, so keep the current behavior by stubbingthose out completely when PTP is in a loadable module. This should beaddressed properly in a follow-up.As Richard suggested, we may want to actually turn PTP support into a&apos;bool&apos; option later on, preventing it from being a loadable modulealtogether, which would be one way to solve the problem with the ethtoolinterface.Fixes: 06c16d89d2cb (&quot;ice: register 1588 PTP clock device object for E810 devices&quot;)Link: https://lore.kernel.org/netdev/20210804121318.337276-1-arnd@kernel.org/Link: https://lore.kernel.org/netdev/CAK8P3a06enZOf=XyZ+zcAwBczv41UuCTz+=0FMf2gBz1_cOnZQ@mail.gmail.com/Link: https://lore.kernel.org/netdev/CAK8P3a3=eOxE-K25754+fB_-i_0BZzf9a9RfPTX3ppSwu9WZXw@mail.gmail.com/Link: https://lore.kernel.org/netdev/20210726084540.3282344-1-arnd@kernel.org/Acked-by: Shannon Nelson &lt;snelson@pensando.io&gt;Acked-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;Acked-by: Richard Cochran &lt;richardcochran@gmail.com&gt;Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Link: https://lore.kernel.org/r/20210812183509.1362782-1-arnd@kernel.orgSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Thu, 12 Aug 2021 18:33:58 +0000</pubDate>
        <dc:creator>Arnd Bergmann &lt;arnd@arndb.de&gt;</dc:creator>
    </item>
<item>
        <title>7c83a7c5 - net: dsa: add a second tagger for Ocelot switches based on tag_8021q</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#7c83a7c5</link>
        <description>net: dsa: add a second tagger for Ocelot switches based on tag_8021qThere are use cases for which the existing tagger, based on the NPI(Node Processor Interface) functionality, is insufficient.Namely:- Frames injected through the NPI port bypass the frame analyzer, so no  source address learning is performed, no TSN stream classification,  etc.- Flow control is not functional over an NPI port (PAUSE frames are  encapsulated in the same Extraction Frame Header as all other frames)- There can be at most one NPI port configured for an Ocelot switch. But  in NXP LS1028A and T1040 there are two Ethernet CPU ports. The non-NPI  port is currently either disabled, or operated as a plain user port  (albeit an internally-facing one). Having the ability to configure the  two CPU ports symmetrically could pave the way for e.g. creating a LAG  between them, to increase bandwidth seamlessly for the system.So there is a desire to have an alternative to the NPI mode. This changekeeps the default tagger for the Seville and Felix switches as &quot;ocelot&quot;,but it can be changed via the following device attribute:echo ocelot-8021q &gt; /sys/class/&lt;dsa-master&gt;/dsa/taggingSigned-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Fri, 29 Jan 2021 01:00:08 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>d60bc62d - net: dsa: seville: build as separate module</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#d60bc62d</link>
        <description>net: dsa: seville: build as separate moduleSeville does not need to depend on PCI or on the ENETC MDIO controller.There will also be other compile-time differences in the future.Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Fri, 18 Sep 2020 10:57:53 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>588d0550 - net: dsa: ocelot: use the Lynx PCS helpers in Felix and Seville</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#588d0550</link>
        <description>net: dsa: ocelot: use the Lynx PCS helpers in Felix and SevilleUse the helper functions introduced by the newly addedLynx PCS MDIO module in the Felix VSC9959 and Seville VSC9953.Instead of representing the PCS as a phy_device, a mdio_device structurewill be passed to the Lynx module which is now actually implementing allthe PCS configuration and status reporting.All code previously used for PCS monitoring and runtime configurationis removed and replaced will calls to the Lynx PCS operations.Tested on the following SERDES protocols of LS1028A: 0x7777(2500Base-X), 0x85bb (QSGMII), 0x9999 (SGMII) and 0x13bb (USXGMII).Signed-off-by: Ioana Ciornei &lt;ioana.ciornei@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Sun, 30 Aug 2020 08:34:02 +0000</pubDate>
        <dc:creator>Ioana Ciornei &lt;ioana.ciornei@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>17340552 - net: mscc: ocelot: remove duplicate &quot;the the&quot; phrase in Kconfig text</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#17340552</link>
        <description>net: mscc: ocelot: remove duplicate &quot;the the&quot; phrase in Kconfig textThe Kconfig help text contains the phrase &quot;the the&quot; in the helptext. Fix this.Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Mon, 17 Aug 2020 22:40:42 +0000</pubDate>
        <dc:creator>Colin Ian King &lt;colin.king@canonical.com&gt;</dc:creator>
    </item>
<item>
        <title>89e35f66 - net: mscc: ocelot: rethink Kconfig dependencies again</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#89e35f66</link>
        <description>net: mscc: ocelot: rethink Kconfig dependencies againHaving the users of MSCC_OCELOT_SWITCH_LIB depend on REGMAP_MMIO was abad idea, since that symbol is not user-selectable. So we should havekept a &apos;select REGMAP_MMIO&apos;.When we do that, we run into 2 more problems:- By depending on GENERIC_PHY, we are causing a recursive dependency.  But it looks like GENERIC_PHY has no other dependencies, and other  drivers select it, so we can select it too:drivers/of/Kconfig:69:error: recursive dependency detected!drivers/of/Kconfig:69:  symbol OF_IRQ depends on IRQ_DOMAINkernel/irq/Kconfig:68:  symbol IRQ_DOMAIN is selected by REGMAPdrivers/base/regmap/Kconfig:7:  symbol REGMAP default is visible depending on REGMAP_MMIOdrivers/base/regmap/Kconfig:39: symbol REGMAP_MMIO is selected by MSCC_OCELOT_SWITCH_LIBdrivers/net/ethernet/mscc/Kconfig:15:   symbol MSCC_OCELOT_SWITCH_LIB is selected by MSCC_OCELOT_SWITCHdrivers/net/ethernet/mscc/Kconfig:22:   symbol MSCC_OCELOT_SWITCH depends on GENERIC_PHYdrivers/phy/Kconfig:8:  symbol GENERIC_PHY is selected by PHY_BCM_NS_USB3drivers/phy/broadcom/Kconfig:41:        symbol PHY_BCM_NS_USB3 depends on MDIO_BUSdrivers/net/phy/Kconfig:13:     symbol MDIO_BUS depends on MDIO_DEVICEdrivers/net/phy/Kconfig:6:      symbol MDIO_DEVICE is selected by PHYLIBdrivers/net/phy/Kconfig:254:    symbol PHYLIB is selected by ARC_EMAC_COREdrivers/net/ethernet/arc/Kconfig:19:    symbol ARC_EMAC_CORE is selected by ARC_EMACdrivers/net/ethernet/arc/Kconfig:25:    symbol ARC_EMAC depends on OF_IRQ- By depending on PHYLIB, we are causing a recursive dependency. PHYLIB  only has a single dependency, &quot;depends on NETDEVICES&quot;, which we are  already depending on, so we can again hack our way into conformance by  turning the PHYLIB dependency into a select.drivers/of/Kconfig:69:error: recursive dependency detected!drivers/of/Kconfig:69:  symbol OF_IRQ depends on IRQ_DOMAINkernel/irq/Kconfig:68:  symbol IRQ_DOMAIN is selected by REGMAPdrivers/base/regmap/Kconfig:7:  symbol REGMAP default is visible depending on REGMAP_MMIOdrivers/base/regmap/Kconfig:39: symbol REGMAP_MMIO is selected by MSCC_OCELOT_SWITCH_LIBdrivers/net/ethernet/mscc/Kconfig:15:   symbol MSCC_OCELOT_SWITCH_LIB is selected by MSCC_OCELOT_SWITCHdrivers/net/ethernet/mscc/Kconfig:22:   symbol MSCC_OCELOT_SWITCH depends on PHYLIBdrivers/net/phy/Kconfig:254:    symbol PHYLIB is selected by ARC_EMAC_COREdrivers/net/ethernet/arc/Kconfig:19:    symbol ARC_EMAC_CORE is selected by ARC_EMACdrivers/net/ethernet/arc/Kconfig:25:    symbol ARC_EMAC depends on OF_IRQFixes: f4d0323bae4e (&quot;net: mscc: ocelot: convert MSCC_OCELOT_SWITCH into a library&quot;)Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Sun, 12 Jul 2020 21:28:33 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>84705fc1 - net: dsa: felix: introduce support for Seville VSC9953 switch</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#84705fc1</link>
        <description>net: dsa: felix: introduce support for Seville VSC9953 switchThis is another switch from Vitesse / Microsemi / Microchip, that has10 ports (8 external, 2 internal) and is integrated into the Freescale /NXP T1040 PowerPC SoC. It is very similar to Felix from NXP LS1028A,except that this is a platform device and Felix is a PCI device, and itdoesn&apos;t support IEEE 1588 and TSN.Like Felix, this driver configures its own PCS on the internal MDIO bususing a phy_device abstraction for it (yes, it will be refactored to usea raw mdio_device, like other phylink drivers do, but let&apos;s keep it likethat for now). But unlike Felix, the MDIO bus and the PCS are not fromthe same vendor. The PCS is the same QorIQ/Layerscape PCS as found inFelix/ENETC/DPAA*, but the internal MDIO bus that is used to access itis actually an instantiation of drivers/net/phy/mdio-mscc-miim.c. But itwould be difficult to reuse that driver (it doesn&apos;t even use regmap, andit&apos;s less than 200 lines of code), so we hand-roll here some internalMDIO bus accessors within seville_vsc9953.c, which serves the purpose ofdriving the PCS absolutely fine.Also, same as Felix, the PCS doesn&apos;t support dynamic reconfiguration ofSerDes protocol, so we need to do pre-validation of PHY mode from devicetree and not let phylink change it.Signed-off-by: Maxim Kochetkov &lt;fido_max@inbox.ru&gt;Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Reviewed-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Mon, 13 Jul 2020 16:57:10 +0000</pubDate>
        <dc:creator>Maxim Kochetkov &lt;fido_max@inbox.ru&gt;</dc:creator>
    </item>
<item>
        <title>f4d0323b - net: mscc: ocelot: convert MSCC_OCELOT_SWITCH into a library</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#f4d0323b</link>
        <description>net: mscc: ocelot: convert MSCC_OCELOT_SWITCH into a libraryHide the CONFIG_MSCC_OCELOT_SWITCH option from users. It is meant to beonly a hardware library which is selected by the drivers that use it(ocelot, felix).Since it is &quot;selected&quot; from Kconfig, all its dependencies are manuallytransferred to the driver that selects it. This is because &quot;select&quot; inKconfig language is a bit of a mess, and doesn&apos;t handle dependencies ofselected options quite right.Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Sat, 20 Jun 2020 15:43:41 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>bdeced75 - net: dsa: felix: Add PCS operations for PHYLINK</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#bdeced75</link>
        <description>net: dsa: felix: Add PCS operations for PHYLINKLayerscape SoCs traditionally expose the SerDes configuration/status forEthernet protocols (PCS for SGMII/USXGMII/10GBase-R etc etc) in a registerformat that is compatible with clause 22 or clause 45 (depending onSerDes protocol). Each MAC has its own internal MDIO bus on which thereis one or more of these PCS&apos;s, responding to commands at a configurablePHY address. The per-port internal MDIO bus (which is just for PCSs) istotally separate and has nothing to do with the dedicated external MDIOcontroller (which is just for PHYs), but the register map for the MDIOcontroller is the same.The VSC9959 (Felix) switch instantiated in the LS1028A is integratedin hardware with the ENETC PCS of its DSA master, and reuses its MDIOcontroller driver, so Felix has been made to depend on it in Kconfig. +------------------------------------------------------------------------+ |                   +--------+ GMII (typically disabled via RCW)         | | ENETC PCI         |  ENETC |--------------------------+                | | Root Complex      | port 3 |-----------------------+  |                | | Integrated        +--------+                       |  |                | | Endpoint                                           |  |                | |                   +--------+ 2.5G GMII             |  |                | |                   |  ENETC |--------------+        |  |                | |                   | port 2 |-----------+  |        |  |                | |                   +--------+           |  |        |  |                | |                                     +--------+  +--------+             | |                                     |  Felix |  |  Felix |             | |                                     | port 4 |  | port 5 |             | |                                     +--------+  +--------+             | |                                                                        | | +--------+  +--------+  +--------+  +--------+  +--------+  +--------+ | | |  ENETC |  |  ENETC |  |  Felix |  |  Felix |  |  Felix |  |  Felix | | | | port 0 |  | port 1 |  | port 0 |  | port 1 |  | port 2 |  | port 3 | | +------------------------------------------------------------------------+ |    ||||  SerDes |          ||||        ||||        ||||        ||||    | | +--------+block |       +--------------------------------------------+ | | |  ENETC |      |       |       ENETC port 2 internal MDIO bus       | | | | port 0 |      |       |  PCS         PCS          PCS        PCS   | | | |   PCS  |      |       |   0           1            2          3    | | +-----------------|------------------------------------------------------+        v          v           v           v            v          v     SGMII/      RGMII    QSGMII/QSXGMII/4xSGMII/4x1000Base-X/4x2500Base-X    USXGMII/   (bypasses  1000Base-X/   SerDes)  2500Base-XIn the LS1028A SoC described above, the VSC9959 Felix switch is PF5 ofthe ENETC root complex, and has 2 BARs:- BAR 4: the switch&apos;s effective registers- BAR 0: the MDIO controller register map lended from ENETC port 2         (PF2), for accessing its associated PCS&apos;s.This explanation is necessary because the patch does some renaming&quot;pci_bar&quot; -&gt; &quot;switch_pci_bar&quot; for clarity, which would otherwise appeara bit obtuse.The fact that the internal MDIO bus is &quot;borrowed&quot; is relevant becausethe register map is found in PF5 (the switch) but it triggers an accessfault if PF2 (the ENETC DSA master) is not enabled. This is not treatedin any way (and I don&apos;t think it can be treated).All of this is so SoC-specific, that it was contained as much aspossible in the platform-integration file felix_vsc9959.c.We need to parse and pre-validate the device tree because of 2 reasons:- The PHY mode (SerDes protocol) cannot change at runtime due to SoC  design.- There is a circular dependency in that we need to know what clause the  PCS speaks in order to find it on the internal MDIO bus. But the  clause of the PCS depends on what phy-mode it is configured for.The goal of this patch is to make steps towards removing the bootloaderdependency for SGMII PCS pre-configuration, as well as to add supportfor monitoring the in-band SGMII AN between the PCS and the system-sidelink partner (PHY or other MAC).In practice the bootloader dependency is not completely removed. U-Bootpre-programs the PHY address at which each PCS can be found on theinternal MDIO bus (MDEV_PORT). This is needed because the PCS of eachport has the same out-of-reset PHY address of zero. The SerDes registerfor changing MDEV_PORT is pretty deep in the SoC (outside the addressesof the ENETC PCI BARs) and therefore inaccessible to us from here.Felix VSC9959 and Ocelot VSC7514 are integrated very differently intheir respective SoCs, and for that reason Felix does not use the Ocelotcore library for PHYLINK. On one hand we don&apos;t want to impose thefixed phy-mode limitation to Ocelot, and on the other hand Felix doesn&apos;tneed to force the MAC link speed the way Ocelot does, since the MAC isconnected to the PCS through a fixed GMII, and the PCS is the one whodoes the rate adaptation at lower link speeds, which the MAC does noteven need to know about. In fact changing the GMII speed for Felixirrecoverably breaks transmission through that port until a reset.The pair with ENETC port 3 and Felix port 5 is optional and doesn&apos;tsupport tagging. When we enable it, swp5 is a regular slave port, albeitan internal one. The trouble is that it doesn&apos;t work, and that isbecause the DSA PHYLIB adaptation layer doesn&apos;t treat fixed-link slaveports. So that is yet another reason for wanting to convert Felix to thenative PHYLINK API.Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Mon, 06 Jan 2020 01:34:17 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
<item>
        <title>95bed1a9 - net: dsa: ocelot: add NET_VENDOR_MICROSEMI dependency</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#95bed1a9</link>
        <description>net: dsa: ocelot: add NET_VENDOR_MICROSEMI dependencySelecting MSCC_OCELOT_SWITCH is not possible when NET_VENDOR_MICROSEMIis disabled:WARNING: unmet direct dependencies detected for MSCC_OCELOT_SWITCH  Depends on [n]: NETDEVICES [=y] &amp;&amp; ETHERNET [=n] &amp;&amp; NET_VENDOR_MICROSEMI [=n] &amp;&amp; NET_SWITCHDEV [=y] &amp;&amp; HAS_IOMEM [=y]  Selected by [m]:  - NET_DSA_MSCC_FELIX [=m] &amp;&amp; NETDEVICES [=y] &amp;&amp; HAVE_NET_DSA [=y] &amp;&amp; NET_DSA [=y] &amp;&amp; PCI [=y]Add a Kconfig dependency on NET_VENDOR_MICROSEMI, which also impliesCONFIG_NETDEVICES.Depending on a vendor config violates menuconfig locality for the DSAdriver, but is the smallest compromise since all other solutions aremuch more complicated (see [0]).https://www.spinics.net/lists/netdev/msg618808.htmlFixes: 56051948773e (&quot;net: dsa: ocelot: add driver for Felix switch family&quot;)Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: Mao Wenan &lt;maowenan@huawei.com&gt;Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Sun, 15 Dec 2019 22:12:14 +0000</pubDate>
        <dc:creator>Arnd Bergmann &lt;arnd@arndb.de&gt;</dc:creator>
    </item>
<item>
        <title>56051948 - net: dsa: ocelot: add driver for Felix switch family</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/dsa/ocelot/Kconfig#56051948</link>
        <description>net: dsa: ocelot: add driver for Felix switch familyThis supports an Ethernet switching core from Vitesse / Microsemi /Microchip (VSC9959) which is part of the Ocelot family (a brand name),and whose code name is Felix. The switch can be (and is) integrated ondifferent SoCs as a PCIe endpoint device.The functionality is provided by the core of the Ocelot switch driver(drivers/net/ethernet/mscc). In this regard, the current driver is aninstance of Microsemi&apos;s Ocelot core driver, with a DSA front-end. Itinherits its name from VSC9959&apos;s code name, to distinguish itself fromthe switchdev ocelot driver.The patch adds the logic for probing a PCI device and defines theregister map for the VSC9959 switch core, since it has some differencesin register addresses and bitfield mappings compared to the other Ocelotswitches (VSC7511, VSC7512, VSC7513, VSC7514).The Felix driver declares the register map as part of the &quot;instancetable&quot;. Currently the VSC9959 inside NXP LS1028A is the only instance,but presumably it can support other switches in the Ocelot family, whenused in DSA mode (Linux running on the external CPU, and not on theembedded MIPS).In a few cases, some h/w operations have to be done differently onVSC9959 due to missing bitfields.  This is the case for the switch corereset and init.  Because for this operation Ocelot uses some bits thatare not present on Felix, the latter has to use a register from theglobal registers block (GCB) instead.Although it is a PCI driver, it relies on DT bindings for compatibilitywith DSA (CPU port link, PHY library). It does not have any customdevice tree bindings, since we would like to minimize its dependency ondevice tree though.Signed-off-by: Claudiu Manoil &lt;claudiu.manoil@nxp.com&gt;Signed-off-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/dsa/ocelot/Kconfig</description>
        <pubDate>Thu, 14 Nov 2019 15:03:30 +0000</pubDate>
        <dc:creator>Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;</dc:creator>
    </item>
</channel>
</rss>
