* [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).