[net-next,v7,5/5] ARM: dts: qcom: ipq4019: Add description for the IPQESS Ethernet controller
Message ID | 20221104142746.350468-6-maxime.chevallier@bootlin.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp441265wru; Fri, 4 Nov 2022 07:36:14 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6wDf2ZAgHEmTUMZl0wXLVJvBJfUANptMMq1SreC3+jm9v39FK/5d2PCUtQfmmR4mwPRuZO X-Received: by 2002:a17:902:64c1:b0:186:827e:a0da with SMTP id y1-20020a17090264c100b00186827ea0damr36137138pli.94.1667572574105; Fri, 04 Nov 2022 07:36:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667572574; cv=none; d=google.com; s=arc-20160816; b=TmXc+8rh9e057ogBOtzKr7eqpCnROCrJl+cprxmcFIBzlwfjCDRJljeF7WTB1eqrvn BgMz9KNFf0ee8Mmo0Tzex056wIc8xaLOsYskeweJOw2C1gP16njhpOx1kc8+1PjIIXa5 Vw6T+EXgUffzqp6uFXQ13O4C3aC9/0wwe0ERm5a1EuW0dzJQrjOtoW3f5nIHTE9dbLVj 9vSIM7lJ+mC7Y6hlCewWJoAyMEZ+XicqLvFGHOWC0JgqhwKG6MX9umyt5BYlzoyQIo4J aIVYhWXxs4Qgee7biBsnKuGg1IN6oLKyQ7s31redyYQgt4g9qaDL72zo3gLLKpgk3SjL CvtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=N4H9heDGWlyybibpeQVan2sHfk653swA/LCvVtdBxVE=; b=WOrTZsZSk66/tWjo4JXMZK2A6z6VBy0iVnQstSq9Qrc/kIRtu5nsf9v2XSDB1US5Pt +EohIjAsnlX6i+vCMWAMnAMLrFznQU3GhIh/VRVSdgf+mT2cUhH63fgXIBOhd5zQB5DD lD6ouNDbsJzu5IWLKHxwF7JsjY8SVwcPnMZ4eHgW7/c5+3IXXHNWAgHCPPBRnziC/NEo t5zL4Umy587u/u4PFJPB3NkqzCfKJGIrENxDzbJn6PmP3bp01n+iYUAVIJrqa4Syzbb7 hXUEmcEQlfma3a/Td+bY0uo3VbYlw8gwEZYjQ74yPyMCoaiC56uaZHk31USk/pVvMBro wwZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=RE2XDDxB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y2-20020a636402000000b0047022e0d7a3si5392008pgb.624.2022.11.04.07.36.01; Fri, 04 Nov 2022 07:36:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=RE2XDDxB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231881AbiKDOa3 (ORCPT <rfc822;jimliu8233@gmail.com> + 99 others); Fri, 4 Nov 2022 10:30:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232269AbiKDO3v (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 4 Nov 2022 10:29:51 -0400 Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::221]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC605317E6; Fri, 4 Nov 2022 07:28:07 -0700 (PDT) Received: (Authenticated sender: maxime.chevallier@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 3B0CF240008; Fri, 4 Nov 2022 14:28:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1667572086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N4H9heDGWlyybibpeQVan2sHfk653swA/LCvVtdBxVE=; b=RE2XDDxBtp/NvYYadbfvp1yz/fdy6gDteYOCHBLfJTzvrE32UNrHWXUfHlHdldaL73R2LR vZnRBog4uesBXX1U3YCMgMr6Hj/g3bWSePWao1ZVtDdEolO9+6Spg2kGwyQmFZL8C67tIh HZZVdYr1kimNBN6FpzwjCwiw+r9vlVZcVCaccCQHXMlbO33SZIgNEzkeOc4W0EOKZNZ2cW HkTi6R2S8Z1mgexJ48Ou5tNjH50A567qkYf4vtTT5Rg/7D8dmvar2DaTVmcfBhxJVus2cj 5RaJomUAkDnfIEfdUUl5pMXMBuWAiN50JIfld1TGsYcX1vhed2E97Y888bHuJg== From: Maxime Chevallier <maxime.chevallier@bootlin.com> To: davem@davemloft.net, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: Maxime Chevallier <maxime.chevallier@bootlin.com>, Jakub Kicinski <kuba@kernel.org>, Eric Dumazet <edumazet@google.com>, Paolo Abeni <pabeni@redhat.com>, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, thomas.petazzoni@bootlin.com, Andrew Lunn <andrew@lunn.ch>, Florian Fainelli <f.fainelli@gmail.com>, Heiner Kallweit <hkallweit1@gmail.com>, Russell King <linux@armlinux.org.uk>, linux-arm-kernel@lists.infradead.org, Vladimir Oltean <vladimir.oltean@nxp.com>, Luka Perkov <luka.perkov@sartura.hr>, Robert Marko <robert.marko@sartura.hr>, Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@somainline.org>, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Subject: [PATCH net-next v7 5/5] ARM: dts: qcom: ipq4019: Add description for the IPQESS Ethernet controller Date: Fri, 4 Nov 2022 15:27:46 +0100 Message-Id: <20221104142746.350468-6-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221104142746.350468-1-maxime.chevallier@bootlin.com> References: <20221104142746.350468-1-maxime.chevallier@bootlin.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748576579170247258?= X-GMAIL-MSGID: =?utf-8?q?1748576579170247258?= |
Series |
net: ipqess: introduce Qualcomm IPQESS driver
|
|
Commit Message
Maxime Chevallier
Nov. 4, 2022, 2:27 p.m. UTC
The Qualcomm IPQ4019 includes an internal 5 ports switch, which is connected to the CPU through the internal IPQESS Ethernet controller. Add support for this internal interface, which is internally connected to a modified version of the QCA8K Ethernet switch. This Ethernet controller only support a specific internal interface mode for connection to the switch. Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- V6->V7: - No Changes V5->V6: - Removed extra blank lines - Put the status property last V4->V5: - Reword the commit log V3->V4: - No Changes V2->V3: - No Changes V1->V2: - Added clock and resets arch/arm/boot/dts/qcom-ipq4019.dtsi | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
Comments
On 04/11/2022 10:27, Maxime Chevallier wrote: > The Qualcomm IPQ4019 includes an internal 5 ports switch, which is > connected to the CPU through the internal IPQESS Ethernet controller. > > Add support for this internal interface, which is internally connected to a > modified version of the QCA8K Ethernet switch. > > This Ethernet controller only support a specific internal interface mode > for connection to the switch. > > Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > V6->V7: > - No Changes > V5->V6: > - Removed extra blank lines > - Put the status property last > V4->V5: > - Reword the commit log > V3->V4: > - No Changes > V2->V3: > - No Changes > V1->V2: > - Added clock and resets > > arch/arm/boot/dts/qcom-ipq4019.dtsi | 44 +++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi > index b23591110bd2..5fa1af147df9 100644 > --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi > +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi > @@ -38,6 +38,7 @@ aliases { > spi1 = &blsp1_spi2; > i2c0 = &blsp1_i2c3; > i2c1 = &blsp1_i2c4; > + ethernet0 = &gmac; Hm, I have doubts about this one. Why alias is needed and why it is a property of a SoC? Not every board has Ethernet enabled, so this looks like board property. I also wonder why do you need it at all? Best regards, Krzysztof
On Fri, Nov 04, 2022 at 10:31:06AM -0400, Krzysztof Kozlowski wrote: > > diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi > > index b23591110bd2..5fa1af147df9 100644 > > --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi > > +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi > > @@ -38,6 +38,7 @@ aliases { > > spi1 = &blsp1_spi2; > > i2c0 = &blsp1_i2c3; > > i2c1 = &blsp1_i2c4; > > + ethernet0 = &gmac; > > Hm, I have doubts about this one. Why alias is needed and why it is a > property of a SoC? Not every board has Ethernet enabled, so this looks > like board property. > > I also wonder why do you need it at all? In general, Ethernet aliases are needed so that the bootloader can fix up the MAC address of each port's OF node with values it gets from the U-Boot environment or an AT24 EEPROM or something like that.
On 04/11/2022 10:32, Vladimir Oltean wrote: > On Fri, Nov 04, 2022 at 10:31:06AM -0400, Krzysztof Kozlowski wrote: >>> diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi >>> index b23591110bd2..5fa1af147df9 100644 >>> --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi >>> +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi >>> @@ -38,6 +38,7 @@ aliases { >>> spi1 = &blsp1_spi2; >>> i2c0 = &blsp1_i2c3; >>> i2c1 = &blsp1_i2c4; >>> + ethernet0 = &gmac; >> >> Hm, I have doubts about this one. Why alias is needed and why it is a >> property of a SoC? Not every board has Ethernet enabled, so this looks >> like board property. >> >> I also wonder why do you need it at all? > > In general, Ethernet aliases are needed so that the bootloader can fix > up the MAC address of each port's OF node with values it gets from the > U-Boot environment or an AT24 EEPROM or something like that. Assuming that's the case here, my other part of question remains - is this property of SoC or board? The buses (SPI, I2C) are properties of boards, even though were incorrectly put here. If the board has multiple ethernets, the final ordering is the property of the board, not SoC. I would assume that bootloader also configures the MAC address based on the board config, not per SoC... Best regards, Krzysztof
On Fri, Nov 04, 2022 at 11:08:07AM -0400, Krzysztof Kozlowski wrote: > On 04/11/2022 10:32, Vladimir Oltean wrote: > > On Fri, Nov 04, 2022 at 10:31:06AM -0400, Krzysztof Kozlowski wrote: > >>> diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi > >>> index b23591110bd2..5fa1af147df9 100644 > >>> --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi > >>> +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi > >>> @@ -38,6 +38,7 @@ aliases { > >>> spi1 = &blsp1_spi2; > >>> i2c0 = &blsp1_i2c3; > >>> i2c1 = &blsp1_i2c4; > >>> + ethernet0 = &gmac; > >> > >> Hm, I have doubts about this one. Why alias is needed and why it is a > >> property of a SoC? Not every board has Ethernet enabled, so this looks > >> like board property. > >> > >> I also wonder why do you need it at all? > > > > In general, Ethernet aliases are needed so that the bootloader can fix > > up the MAC address of each port's OF node with values it gets from the > > U-Boot environment or an AT24 EEPROM or something like that. > > Assuming that's the case here, my other part of question remains - is > this property of SoC or board? The buses (SPI, I2C) are properties of > boards, even though were incorrectly put here. If the board has multiple > ethernets, the final ordering is the property of the board, not SoC. I > would assume that bootloader also configures the MAC address based on > the board config, not per SoC... I don't disagree. On NXP LS1028A, we also have all aliases in board device trees and not in the SoC dtsi.
Hello Krzysztof, Vladimir, On Fri, 4 Nov 2022 15:40:48 +0000 Vladimir Oltean <vladimir.oltean@nxp.com> wrote: > On Fri, Nov 04, 2022 at 11:08:07AM -0400, Krzysztof Kozlowski wrote: > > On 04/11/2022 10:32, Vladimir Oltean wrote: > > > On Fri, Nov 04, 2022 at 10:31:06AM -0400, Krzysztof Kozlowski > > > wrote: > > >>> diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi > > >>> b/arch/arm/boot/dts/qcom-ipq4019.dtsi index > > >>> b23591110bd2..5fa1af147df9 100644 --- > > >>> a/arch/arm/boot/dts/qcom-ipq4019.dtsi +++ > > >>> b/arch/arm/boot/dts/qcom-ipq4019.dtsi @@ -38,6 +38,7 @@ aliases > > >>> { spi1 = &blsp1_spi2; > > >>> i2c0 = &blsp1_i2c3; > > >>> i2c1 = &blsp1_i2c4; > > >>> + ethernet0 = &gmac; > > >> > > >> Hm, I have doubts about this one. Why alias is needed and why it > > >> is a property of a SoC? Not every board has Ethernet enabled, so > > >> this looks like board property. > > >> > > >> I also wonder why do you need it at all? > > > > > > In general, Ethernet aliases are needed so that the bootloader > > > can fix up the MAC address of each port's OF node with values it > > > gets from the U-Boot environment or an AT24 EEPROM or something > > > like that. > > > > Assuming that's the case here, my other part of question remains - > > is this property of SoC or board? The buses (SPI, I2C) are > > properties of boards, even though were incorrectly put here. If the > > board has multiple ethernets, the final ordering is the property of > > the board, not SoC. I would assume that bootloader also configures > > the MAC address based on the board config, not per SoC... > > I don't disagree. On NXP LS1028A, we also have all aliases in board > device trees and not in the SoC dtsi. You're right indeed, it was put there so that it's alongside the other aliases, but it makes more sense to include it in the board file. I'll respin with the alias removed. Thanks, Maxime
On Fri, Nov 4, 2022 at 3:28 PM Maxime Chevallier <maxime.chevallier@bootlin.com> wrote: > > The Qualcomm IPQ4019 includes an internal 5 ports switch, which is > connected to the CPU through the internal IPQESS Ethernet controller. > > Add support for this internal interface, which is internally connected to a > modified version of the QCA8K Ethernet switch. > > This Ethernet controller only support a specific internal interface mode > for connection to the switch. > > Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > V6->V7: > - No Changes > V5->V6: > - Removed extra blank lines > - Put the status property last > V4->V5: > - Reword the commit log > V3->V4: > - No Changes > V2->V3: > - No Changes > V1->V2: > - Added clock and resets > > arch/arm/boot/dts/qcom-ipq4019.dtsi | 44 +++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi > index b23591110bd2..5fa1af147df9 100644 > --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi > +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi > @@ -38,6 +38,7 @@ aliases { > spi1 = &blsp1_spi2; > i2c0 = &blsp1_i2c3; > i2c1 = &blsp1_i2c4; > + ethernet0 = &gmac; > }; > > cpus { > @@ -591,6 +592,49 @@ wifi1: wifi@a800000 { > status = "disabled"; > }; > > + gmac: ethernet@c080000 { > + compatible = "qcom,ipq4019-ess-edma"; > + reg = <0xc080000 0x8000>; > + resets = <&gcc ESS_RESET>; > + reset-names = "ess"; > + clocks = <&gcc GCC_ESS_CLK>; > + clock-names = "ess"; > + interrupts = <GIC_SPI 65 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 66 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 67 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 69 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 71 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 74 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 76 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 77 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 240 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 242 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 243 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 244 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 245 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 246 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 247 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 248 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 249 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 250 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 251 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 252 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 253 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 254 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 255 IRQ_TYPE_EDGE_RISING>; > + phy-mode = "internal"; > + status = "disabled"; The fixed-link should be defined here AFAIK, otherwise it will fail probing with just internal PHY mode. Regards, Robert > + }; > + > mdio: mdio@90000 { > #address-cells = <1>; > #size-cells = <0>; > -- > 2.37.3 >
On Fri, Nov 04, 2022 at 05:42:30PM +0100, Robert Marko wrote: > > + phy-mode = "internal"; > > + status = "disabled"; > > The fixed-link should be defined here AFAIK, otherwise it will fail probing with > just internal PHY mode. It wouldn't fail to probe because it has status = "disabled" by default, and who enables that would also provide the fixed-link presumably. But if the speed of the pseudo-MAC that goes to the switch is not board specific, indeed the fixed-link belongs to the SoC dtsi.
On Fri, Nov 4, 2022 at 5:45 PM Vladimir Oltean <vladimir.oltean@nxp.com> wrote: > > On Fri, Nov 04, 2022 at 05:42:30PM +0100, Robert Marko wrote: > > > + phy-mode = "internal"; > > > + status = "disabled"; > > > > The fixed-link should be defined here AFAIK, otherwise it will fail probing with > > just internal PHY mode. > > It wouldn't fail to probe because it has status = "disabled" by default, > and who enables that would also provide the fixed-link presumably. > But if the speed of the pseudo-MAC that goes to the switch is not board > specific, indeed the fixed-link belongs to the SoC dtsi. Yes, its directly connected to the switch CPU port and its a part of the SoC, so it should be defined in the SoC DTSI as it cannot really be changed on boards. Regards, Robert
diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi index b23591110bd2..5fa1af147df9 100644 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi @@ -38,6 +38,7 @@ aliases { spi1 = &blsp1_spi2; i2c0 = &blsp1_i2c3; i2c1 = &blsp1_i2c4; + ethernet0 = &gmac; }; cpus { @@ -591,6 +592,49 @@ wifi1: wifi@a800000 { status = "disabled"; }; + gmac: ethernet@c080000 { + compatible = "qcom,ipq4019-ess-edma"; + reg = <0xc080000 0x8000>; + resets = <&gcc ESS_RESET>; + reset-names = "ess"; + clocks = <&gcc GCC_ESS_CLK>; + clock-names = "ess"; + interrupts = <GIC_SPI 65 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 66 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 67 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 69 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 71 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 74 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 76 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 77 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 240 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 242 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 243 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 244 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 245 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 246 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 247 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 248 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 249 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 250 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 251 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 252 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 253 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 254 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 255 IRQ_TYPE_EDGE_RISING>; + phy-mode = "internal"; + status = "disabled"; + }; + mdio: mdio@90000 { #address-cells = <1>; #size-cells = <0>;