* [PATCH v2 0/5] net: Add support for Qualcomm ethqos
@ 2019-01-08 16:29 Vinod Koul
2019-01-08 16:29 ` [PATCH v2 1/5] dt-bindings: net: Add Qualcomm ethqos binding Vinod Koul
0 siblings, 1 reply; 4+ messages in thread
From: Vinod Koul @ 2019-01-08 16:29 UTC (permalink / raw)
To: David S Miller
Cc: netdev, linux-arm-msm, Niklas Cassel, Bjorn Andersson, Vinod Koul,
Rob Herring, Mark Rutland, devicetree, Giuseppe Cavallaro,
Alexandre Torgue, Jose Abreu, Andrew Lunn, Florian Fainelli,
Vivien Didelot
Some Qualcomm SoCs sport a ethqos controller which use DW ip, so add
the glue driver which uses stmmac driver along with DT bindings for
this device.
This controller supports rgmii mode and doesn't work with existing
phy drivers as they do not remove the phy delay delay in this mode,
so fix the two phy drivers tested with this.
Changes in v2:
- Fix the example in dt-binding
- Remove DT property for disable the delay and disable delay for RGMII mode
in AT803x and QCA8K PHY drivers
Vinod Koul (5):
dt-bindings: net: Add Qualcomm ethqos binding
net: stmmac: Add driver for Qualcomm ethqos
MAINTAINER: Add entry for Qualcomm ETHQOS ethernet driver
net: phy: at803x: Disable phy delay for RGMII mode
net: dsa: qca8k: disable delay for RGMII mode
.../devicetree/bindings/net/qcom,dwmac.txt | 129 +++++
MAINTAINERS | 8 +
drivers/net/dsa/qca8k.c | 16 +-
drivers/net/ethernet/stmicro/stmmac/Kconfig | 10 +
drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
.../stmicro/stmmac/dwmac-qcom-ethqos.c | 545 ++++++++++++++++++
drivers/net/phy/at803x.c | 21 +
7 files changed, 718 insertions(+), 12 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/qcom,dwmac.txt
create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
--
2.20.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/5] dt-bindings: net: Add Qualcomm ethqos binding
2019-01-08 16:29 [PATCH v2 0/5] net: Add support for Qualcomm ethqos Vinod Koul
@ 2019-01-08 16:29 ` Vinod Koul
2019-01-15 21:03 ` Rob Herring
0 siblings, 1 reply; 4+ messages in thread
From: Vinod Koul @ 2019-01-08 16:29 UTC (permalink / raw)
To: David S Miller
Cc: netdev, linux-arm-msm, Niklas Cassel, Bjorn Andersson, Vinod Koul,
Rob Herring, Mark Rutland, devicetree
Add support for Qualcomm ethqos found in some SoCs like QCS404.
Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
.../devicetree/bindings/net/qcom,dwmac.txt | 129 ++++++++++++++++++
1 file changed, 129 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/qcom,dwmac.txt
diff --git a/Documentation/devicetree/bindings/net/qcom,dwmac.txt b/Documentation/devicetree/bindings/net/qcom,dwmac.txt
new file mode 100644
index 000000000000..652d2213c3ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/qcom,dwmac.txt
@@ -0,0 +1,129 @@
+Qualcomm Ethernet ETHQOS device
+
+This device has following properties:
+
+Required properties:
+
+- compatible: Should be qcom,ethqos-qcs404"
+
+- reg: Address and length of the register set for the device
+
+- reg-names: Should contain register names "stmmaceth", "rgmii"
+
+- clocks: Should contain phandle to clocks
+
+- clock-names: Should contain clock names "stmmaceth", "pclk",
+ "ptp_ref", "rgmii"
+
+- interrupts: Should contain phandle to interrupts
+
+- interrupt-names: Should contain interrupt names "macirq", "eth_lpi"
+
+Rest of the properties are defined in stmmac.txt file in same directory
+
+
+Example:
+
+ethernet: ethernet@7a80000 {
+ compatible = "qcom,ethqos-qcs404";
+ reg = <0x07a80000 0x10000>,
+ <0x07a96000 0x100>;
+ reg-names = "stmmaceth", "rgmii";
+ clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
+ clocks = <&gcc GCC_ETH_AXI_CLK>,
+ <&gcc GCC_ETH_SLAVE_AHB_CLK>,
+ <&gcc GCC_ETH_PTP_CLK>,
+ <&gcc GCC_ETH_RGMII_CLK>;
+ interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq", "eth_lpi";
+ snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
+ snps,reset-active-low;
+ snps,axi-config = <&stmmac_axi_setup>;
+ snps,mtl-rx-config = <&mtl_rx_setup>;
+ snps,mtl-tx-config = <&mtl_tx_setup>;
+
+ snps,txpbl = <8>;
+ snps,rxpbl = <2>;
+ snps,aal;
+ snps,tso;
+
+ phy-handle = <&phy1>;
+ phy-mode = "rgmii";
+
+ stmmac_axi_setup: stmmac-axi-config {
+ snps,wr_osr_lmt = <15>;
+ snps,rd_osr_lmt = <15>;
+ snps,blen = <256 128 64 32 0 0 0>;
+ };
+
+ mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <4>;
+ snps,rx-sched-sp;
+ queue0 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x0>;
+ snps,priority = <0x0>;
+ };
+ queue1 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x1>;
+ snps,priority = <0x1>;
+ };
+ queue2 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x2>;
+ snps,priority = <0x1>;
+ };
+ queue3 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x3>;
+ snps,priority = <0x1>;
+ };
+ };
+
+ mtl_tx_setup: tx-queues-config {
+ snps,tx-queues-to-use = <4>;
+ snps,tx-sched-wrr;
+ queue0 {
+ snps,weight = <0x10>;
+ snps,dcb-algorithm;
+ snps,priority = <0x0>;
+ };
+ queue1 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3E800>;
+ snps,low_credit = <0xFFC18000>;
+ snps,priority = <0x1>;
+ };
+ queue2 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3E800>;
+ snps,low_credit = <0xFFC18000>;
+ snps,priority = <0x1>;
+ };
+ queue3 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3E800>;
+ snps,low_credit = <0xFFC18000>;
+ snps,priority = <0x1>;
+ };
+ };
+
+ mdio {
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ compatible = "snps,dwmac-mdio";
+ phy1: phy@4 {
+ device_type = "ethernet-phy";
+ reg = <0x4>;
+ };
+ };
+
+};
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: net: Add Qualcomm ethqos binding
2019-01-08 16:29 ` [PATCH v2 1/5] dt-bindings: net: Add Qualcomm ethqos binding Vinod Koul
@ 2019-01-15 21:03 ` Rob Herring
2019-01-17 4:03 ` Vinod Koul
0 siblings, 1 reply; 4+ messages in thread
From: Rob Herring @ 2019-01-15 21:03 UTC (permalink / raw)
To: Vinod Koul
Cc: David S Miller, netdev, linux-arm-msm, Niklas Cassel,
Bjorn Andersson, Mark Rutland, devicetree
On Tue, Jan 08, 2019 at 09:59:22PM +0530, Vinod Koul wrote:
> Add support for Qualcomm ethqos found in some SoCs like QCS404.
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
> .../devicetree/bindings/net/qcom,dwmac.txt | 129 ++++++++++++++++++
> 1 file changed, 129 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/qcom,dwmac.txt
>
> diff --git a/Documentation/devicetree/bindings/net/qcom,dwmac.txt b/Documentation/devicetree/bindings/net/qcom,dwmac.txt
> new file mode 100644
> index 000000000000..652d2213c3ac
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/qcom,dwmac.txt
qcom,ethqos.txt?
> @@ -0,0 +1,129 @@
> +Qualcomm Ethernet ETHQOS device
> +
Perhaps some details like speeds and version of IP. There's lots of
variants.
> +This device has following properties:
> +
> +Required properties:
> +
> +- compatible: Should be qcom,ethqos-qcs404"
qcom,qcs404-ethqos
> +
> +- reg: Address and length of the register set for the device
> +
> +- reg-names: Should contain register names "stmmaceth", "rgmii"
> +
> +- clocks: Should contain phandle to clocks
> +
> +- clock-names: Should contain clock names "stmmaceth", "pclk",
> + "ptp_ref", "rgmii"
> +
> +- interrupts: Should contain phandle to interrupts
> +
> +- interrupt-names: Should contain interrupt names "macirq", "eth_lpi"
> +
> +Rest of the properties are defined in stmmac.txt file in same directory
> +
> +
> +Example:
> +
> +ethernet: ethernet@7a80000 {
> + compatible = "qcom,ethqos-qcs404";
> + reg = <0x07a80000 0x10000>,
> + <0x07a96000 0x100>;
> + reg-names = "stmmaceth", "rgmii";
> + clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
> + clocks = <&gcc GCC_ETH_AXI_CLK>,
> + <&gcc GCC_ETH_SLAVE_AHB_CLK>,
> + <&gcc GCC_ETH_PTP_CLK>,
> + <&gcc GCC_ETH_RGMII_CLK>;
> + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "macirq", "eth_lpi";
> + snps,reset-gpio = <&tlmm 60 GPIO_ACTIVE_LOW>;
> + snps,reset-active-low;
> + snps,axi-config = <&stmmac_axi_setup>;
> + snps,mtl-rx-config = <&mtl_rx_setup>;
> + snps,mtl-tx-config = <&mtl_tx_setup>;
> +
> + snps,txpbl = <8>;
> + snps,rxpbl = <2>;
> + snps,aal;
> + snps,tso;
> +
> + phy-handle = <&phy1>;
> + phy-mode = "rgmii";
> +
> + stmmac_axi_setup: stmmac-axi-config {
> + snps,wr_osr_lmt = <15>;
> + snps,rd_osr_lmt = <15>;
> + snps,blen = <256 128 64 32 0 0 0>;
> + };
> +
> + mtl_rx_setup: rx-queues-config {
> + snps,rx-queues-to-use = <4>;
> + snps,rx-sched-sp;
> + queue0 {
> + snps,dcb-algorithm;
> + snps,map-to-dma-channel = <0x0>;
> + snps,priority = <0x0>;
> + };
> + queue1 {
> + snps,dcb-algorithm;
> + snps,map-to-dma-channel = <0x1>;
> + snps,priority = <0x1>;
> + };
> + queue2 {
> + snps,dcb-algorithm;
> + snps,map-to-dma-channel = <0x2>;
> + snps,priority = <0x1>;
> + };
> + queue3 {
> + snps,dcb-algorithm;
> + snps,map-to-dma-channel = <0x3>;
> + snps,priority = <0x1>;
> + };
> + };
> +
> + mtl_tx_setup: tx-queues-config {
> + snps,tx-queues-to-use = <4>;
> + snps,tx-sched-wrr;
> + queue0 {
> + snps,weight = <0x10>;
> + snps,dcb-algorithm;
> + snps,priority = <0x0>;
> + };
> + queue1 {
> + snps,avb-algorithm;
> + snps,send_slope = <0x1000>;
> + snps,idle_slope = <0x1000>;
> + snps,high_credit = <0x3E800>;
> + snps,low_credit = <0xFFC18000>;
> + snps,priority = <0x1>;
> + };
> + queue2 {
> + snps,avb-algorithm;
> + snps,send_slope = <0x1000>;
> + snps,idle_slope = <0x1000>;
> + snps,high_credit = <0x3E800>;
> + snps,low_credit = <0xFFC18000>;
> + snps,priority = <0x1>;
> + };
> + queue3 {
> + snps,avb-algorithm;
> + snps,send_slope = <0x1000>;
> + snps,idle_slope = <0x1000>;
> + snps,high_credit = <0x3E800>;
> + snps,low_credit = <0xFFC18000>;
> + snps,priority = <0x1>;
> + };
> + };
> +
> + mdio {
> + #address-cells = <0x1>;
> + #size-cells = <0x0>;
> + compatible = "snps,dwmac-mdio";
> + phy1: phy@4 {
> + device_type = "ethernet-phy";
> + reg = <0x4>;
> + };
> + };
> +
> +};
> --
> 2.20.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: net: Add Qualcomm ethqos binding
2019-01-15 21:03 ` Rob Herring
@ 2019-01-17 4:03 ` Vinod Koul
0 siblings, 0 replies; 4+ messages in thread
From: Vinod Koul @ 2019-01-17 4:03 UTC (permalink / raw)
To: Rob Herring
Cc: David S Miller, netdev, linux-arm-msm, Niklas Cassel,
Bjorn Andersson, Mark Rutland, devicetree
On 15-01-19, 15:03, Rob Herring wrote:
> On Tue, Jan 08, 2019 at 09:59:22PM +0530, Vinod Koul wrote:
> > Add support for Qualcomm ethqos found in some SoCs like QCS404.
> >
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> > .../devicetree/bindings/net/qcom,dwmac.txt | 129 ++++++++++++++++++
> > 1 file changed, 129 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/qcom,dwmac.txt
> >
> > diff --git a/Documentation/devicetree/bindings/net/qcom,dwmac.txt b/Documentation/devicetree/bindings/net/qcom,dwmac.txt
> > new file mode 100644
> > index 000000000000..652d2213c3ac
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/qcom,dwmac.txt
>
> qcom,ethqos.txt?
Sure, will update
> > @@ -0,0 +1,129 @@
> > +Qualcomm Ethernet ETHQOS device
> > +
>
> Perhaps some details like speeds and version of IP. There's lots of
> variants.
yeah it does Gigabit, so will update that as well.
>
> > +This device has following properties:
> > +
> > +Required properties:
> > +
> > +- compatible: Should be qcom,ethqos-qcs404"
>
> qcom,qcs404-ethqos
Makes sense, thanks
--
~Vinod
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-01-17 4:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-08 16:29 [PATCH v2 0/5] net: Add support for Qualcomm ethqos Vinod Koul
2019-01-08 16:29 ` [PATCH v2 1/5] dt-bindings: net: Add Qualcomm ethqos binding Vinod Koul
2019-01-15 21:03 ` Rob Herring
2019-01-17 4:03 ` Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).