From: Miquel Raynal <miquel.raynal@bootlin.com> To: Gregory Clement <gregory.clement@bootlin.com>, Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Kishon Vijay Abraham I <kishon@ti.com> Cc: devicetree@vger.kernel.org, Antoine Tenart <antoine.tenart@bootlin.com>, Grzegorz Jaszczyk <jaz@semihalf.com>, Russell King <linux@armlinux.org.uk>, Maxime Chevallier <maxime.chevallier@bootlin.com>, Nadav Haklai <nadavh@marvell.com>, Rob Herring <robh+dt@kernel.org>, Thomas Petazzoni <thomas.petazzoni@bootlin.com>, Miquel Raynal <miquel.raynal@bootlin.com>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 00/19] Enhance CP110 COMPHY support Date: Wed, 31 Jul 2019 14:21:07 +0200 Message-ID: <20190731122126.3049-1-miquel.raynal@bootlin.com> (raw) Armada CP110 have a COMPHY IP which supports configuring SERDES lanes in one mode, either: - SATA - USB3 host - PCIe (several width) - Ethernet (several modes) As of today, only a few Ethernet modes are supported and the code is embedded in the Linux driver. A more complete COMPHY driver that can be used by both Linux and U-Boot is embedded in the firmware and can be run through SMC calls. First the current COMPHY driver is updated to use SMC calls but fallbacks to the already existing functions if the firmware is not up-to-date. Then, more Ethernet modes are added (through SMC calls only). SATA, USB3H and PCIe modes are also supported one by one. There is one subtle difference with the PCIe functions: we must tell the firmware the number of lanes to configure (x1, x2 or x4). This parameter depends on the number of entries in the 'phys' property describing the PCIe PHY. We use the "submode" parameter of the generic PHY API to carry this value. The Armada-8k PCIe driver has been updated to follow this idea and this change has been merged already: http://patchwork.ozlabs.org/patch/1072763/ Thanks, Miquèl Changes since v2: ----------------- * Inverted two arguments in a trace. * Avoid warning the user when EPROBE_DEFER is returned (clocks case). * Added Maxime C. and Grzegorz J. 's Tested-by tags (only on the "introducing SMC calls" patch, but they tested the whole series). * Added Rob's Reviewed-by on the bindings. * Also updated the bindings as suggested by Rob to reflect that there can be from one to four PHYs in the PCIe nodes (hence, the need for the phy-names property). Changes since v1: ----------------- * All modes report their errors to the user. * If the firmware is too old, advise the user to update it. * Credit Grzegorz for his work. * Fix wrong speed in Ethernet modes. * Add COMPHY necessary clocks. * Update bindings. * The security flaw related to the fact that we must give the CP address to the firmware has been mitigated by the addition of extra checks in ATF recently. Grzegorz Jaszczyk (5): phy: mvebu-cp110-comphy: Add SMC call support phy: mvebu-cp110-comphy: Add RXAUI support phy: mvebu-cp110-comphy: Add USB3 host/device support phy: mvebu-cp110-comphy: Add SATA support phy: mvebu-cp110-comphy: Add PCIe support Miquel Raynal (14): phy: mvebu-cp110-comphy: Add clocks support phy: mvebu-cp110-comphy: Explicitly initialize the lane submode phy: mvebu-cp110-comphy: List already supported Ethernet modes phy: mvebu-cp110-comphy: Rename the macro handling only Ethernet modes phy: mvebu-cp110-comphy: Allow non-Ethernet modes to be configured phy: mvebu-cp110-comphy: Cosmetic change in a helper phy: mvebu-cp110-comphy: Update comment about powering off all lanes at boot dt-bindings: phy: Add Marvell COMPHY clocks dt-bindings: pci: add PHY properties to Armada 7K/8K controller bindings arm64: dts: marvell: Add CP110 COMPHY clocks arm64: dts: marvell: Add 7k/8k per-port PHYs in SATA nodes arm64: dts: marvell: Add 7k/8k PHYs in USB3 nodes arm64: dts: marvell: Add 7k/8k PHYs in PCIe nodes arm64: dts: marvell: Convert 7k/8k usb-phy properties to phy-supply .../devicetree/bindings/pci/pci-armada8k.txt | 6 + .../bindings/phy/phy-mvebu-comphy.txt | 10 + .../arm64/boot/dts/marvell/armada-7040-db.dts | 37 +- .../marvell/armada-8040-clearfog-gt-8k.dts | 22 +- .../arm64/boot/dts/marvell/armada-8040-db.dts | 43 +- .../boot/dts/marvell/armada-8040-mcbin.dtsi | 38 +- arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 13 + drivers/phy/marvell/phy-mvebu-cp110-comphy.c | 412 +++++++++++++++--- 8 files changed, 499 insertions(+), 82 deletions(-) -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply index Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-07-31 12:21 Miquel Raynal [this message] 2019-07-31 12:21 ` [PATCH v3 01/19] phy: mvebu-cp110-comphy: Add clocks support Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 02/19] phy: mvebu-cp110-comphy: Explicitly initialize the lane submode Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 03/19] phy: mvebu-cp110-comphy: Add SMC call support Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 04/19] phy: mvebu-cp110-comphy: List already supported Ethernet modes Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 05/19] phy: mvebu-cp110-comphy: Add RXAUI support Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 06/19] phy: mvebu-cp110-comphy: Rename the macro handling only Ethernet modes Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 07/19] phy: mvebu-cp110-comphy: Allow non-Ethernet modes to be configured Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 08/19] phy: mvebu-cp110-comphy: Add USB3 host/device support Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 09/19] phy: mvebu-cp110-comphy: Add SATA support Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 10/19] phy: mvebu-cp110-comphy: Cosmetic change in a helper Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 11/19] phy: mvebu-cp110-comphy: Add PCIe support Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 12/19] phy: mvebu-cp110-comphy: Update comment about powering off all lanes at boot Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 13/19] dt-bindings: phy: Add Marvell COMPHY clocks Miquel Raynal 2019-08-12 21:29 ` Rob Herring 2019-08-19 8:40 ` Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 14/19] dt-bindings: pci: add PHY properties to Armada 7K/8K controller bindings Miquel Raynal 2019-08-21 18:28 ` Rob Herring 2019-08-24 10:15 ` Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 15/19] arm64: dts: marvell: Add CP110 COMPHY clocks Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 16/19] arm64: dts: marvell: Add 7k/8k per-port PHYs in SATA nodes Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 17/19] arm64: dts: marvell: Add 7k/8k PHYs in USB3 nodes Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 18/19] arm64: dts: marvell: Add 7k/8k PHYs in PCIe nodes Miquel Raynal 2019-07-31 12:21 ` [PATCH v3 19/19] arm64: dts: marvell: Convert 7k/8k usb-phy properties to phy-supply Miquel Raynal 2019-08-23 3:16 ` [PATCH v3 00/19] Enhance CP110 COMPHY support Kishon Vijay Abraham I 2019-08-23 7:33 ` Miquel Raynal 2019-08-24 11:54 ` Miquel Raynal 2019-08-26 11:51 ` Kishon Vijay Abraham I 2019-08-26 12:23 ` Miquel Raynal 2019-08-27 14:22 ` Gregory CLEMENT
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=20190731122126.3049-1-miquel.raynal@bootlin.com \ --to=miquel.raynal@bootlin.com \ --cc=andrew@lunn.ch \ --cc=antoine.tenart@bootlin.com \ --cc=devicetree@vger.kernel.org \ --cc=gregory.clement@bootlin.com \ --cc=jason@lakedaemon.net \ --cc=jaz@semihalf.com \ --cc=kishon@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux@armlinux.org.uk \ --cc=maxime.chevallier@bootlin.com \ --cc=nadavh@marvell.com \ --cc=robh+dt@kernel.org \ --cc=sebastian.hesselbarth@gmail.com \ --cc=thomas.petazzoni@bootlin.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
Linux-ARM-Kernel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-arm-kernel/0 linux-arm-kernel/git/0.git git clone --mirror https://lore.kernel.org/linux-arm-kernel/1 linux-arm-kernel/git/1.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-arm-kernel linux-arm-kernel/ https://lore.kernel.org/linux-arm-kernel \ linux-arm-kernel@lists.infradead.org public-inbox-index linux-arm-kernel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.infradead.lists.linux-arm-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git