From patchwork Tue Mar 9 01:21:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Evgeny Boger X-Patchwork-Id: 12123713 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49470C433E0 for ; Tue, 9 Mar 2021 01:23:51 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B9EF3651B7 for ; Tue, 9 Mar 2021 01:23:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B9EF3651B7 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=wirenboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:MIME-Version:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=lQJHdHOCYb4punm4Wrnt/AZglCUnFdhUbgr++yvjdHg=; b=BUYAK/iwLsQMPGPE8OLlRFV8EX b3XfKXaUF/l1utC/bl+0Y9gWeAc5YSlspmWPpDuRoB6BjU1F5Ww2ioQW4BcYQZii4NS1cx/PIMcPi c1V6tZ3jMubq83zssrwSzGgOt+xkuhHI4XjnoSzv4zwf3p/oMMnbyP7oTmReRaGkQbc4R6Q8iVBHn 9ohrTwFJoEJFthIuoYiPYVwmeJnkmNbrbuPC1lasUTQpk12XkDDV90Bimbuooxf3yzdjaH8PEcUEA izE8IDeduugW7zKcnGYpPpeNkuxaLiihKsdjCYuyKZnUGt08xJjSFdyNvCmuyUpl+t7m4i5mTE3pm Fs5wR73A==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lJR4h-003Zg6-1o; Tue, 09 Mar 2021 01:22:15 +0000 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lJR4Z-003Zea-Jq for linux-arm-kernel@lists.infradead.org; Tue, 09 Mar 2021 01:22:09 +0000 Received: by mail-lj1-x232.google.com with SMTP id h4so18583913ljl.0 for ; Mon, 08 Mar 2021 17:22:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wirenboard-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=sv6Vbw1Oc2G6knz+M18/XZuiOqYFlQF9/Df8eSYIEM0=; b=T64RNAeJlRAxUpzgT4lP3yq50zSgt3tfmpgYNXesFoK0QMlJNs1J0Iue41seiMiv/n rD+9zBz0hQDcu77ixWDutGpv6gzTMIOWxEFBlwj1enK7N6B9lsy1vWXOQyoyPjY355Y0 ZDXosS3+StW9f9ERv0ILtI9UI6pOU754QlehGtbS9f786IUvx8FjMqjLTtnPm4Aq3lv7 QMwk/KW0f1nPwoV3nSSrniA+nQr7038CYuAmzi9ZmUSrs8WW9oleiUOFW7U9Qro6lnQD lbRHJ38dxAxgxwbc/sIkF88jzKqpRljvsaW78TT0hiMDvk4Kes6Mr1Z3aQR5WyoatW/D Fz6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=sv6Vbw1Oc2G6knz+M18/XZuiOqYFlQF9/Df8eSYIEM0=; b=VpYjaMyt/9uX5WuKEzSRWYotpFPSDipB/yMH3mPQaTWVv5Oq3qPNaQ09ikvjRrMrzb FGDcks95EH2HCdNWoe6pfLJLAi4xJAl4FSc+nXIRbnGvtkTa/l576+Eni2g0wKAsQvfo 5+8HJ5BSxGTEdNEhab9mrjsBrOcA/fZF2wwOSzoy02Y+EGlMGdsqq9maoP/xCUzMWi3i rV0NjsuUgdNypYGhqE/cR2YvozTQ6h9T+pKVU/ug3oQ9Jmr9sDJ82NJN47QZdAm3FVhu dnLlnB6AX6G4TM/A2oeKJjPzHcPlKrGm7dkRPoFG1jbThM7VhawzGHY0LOKptnkZzikb K/7Q== X-Gm-Message-State: AOAM531bjE9oFlicEouRde9quEFTrUQNzPtWrw8Tut/TmmKfVSe4BXcF hYiLW/oJH2U82OMqXA0jQgGQXQ== X-Google-Smtp-Source: ABdhPJyvu02BnKVXFC5Nrg6sS6wCrwvVmzwrb8hK5C+TR9wc0kMXLFIsw9OlLSJmzCzwA3Mx0ZzKUQ== X-Received: by 2002:a2e:b895:: with SMTP id r21mr15630176ljp.506.1615252926882; Mon, 08 Mar 2021 17:22:06 -0800 (PST) Received: from boger-laptop.lan (81.5.99.6.dhcp.mipt-telecom.ru. [81.5.99.6]) by smtp.gmail.com with ESMTPSA id o11sm1538395lfu.157.2021.03.08.17.22.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 17:22:06 -0800 (PST) From: Evgeny Boger To: Maxime Ripard , Chen-Yu Tsai , linux-arm-kernel@lists.infradead.org Cc: Evgeny Boger , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Rob Herring Subject: [PATCH v2 1/2] net: allwinner: reset control support Date: Tue, 9 Mar 2021 04:21:15 +0300 Message-Id: <20210309012116.2944-2-boger@wirenboard.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210309012116.2944-1-boger@wirenboard.com> References: <20210309012116.2944-1-boger@wirenboard.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210309_012207_727135_755F623D X-CRM114-Status: GOOD ( 20.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org R40 (aka V40/A40i/T3) and A10/A20 share the same EMAC IP. However, on R40 the EMAC is gated by default. Signed-off-by: Evgeny Boger --- .../net/allwinner,sun4i-a10-emac.yaml | 11 +++- drivers/net/ethernet/allwinner/sun4i-emac.c | 65 +++++++++++++++++-- 2 files changed, 70 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-a10-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun4i-a10-emac.yaml index 8d8560a67abf..27f99372d153 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun4i-a10-emac.yaml +++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-a10-emac.yaml @@ -15,7 +15,12 @@ maintainers: properties: compatible: - const: allwinner,sun4i-a10-emac + oneOf: + - const: allwinner,sun4i-a10-emac + - const: allwinner,sun4i-r40-emac + - items: + - const: allwinner,sun4i-r40-emac + - const: allwinner,sun4i-a10-emac reg: maxItems: 1 @@ -30,6 +35,9 @@ properties: description: Phandle to the device SRAM $ref: /schemas/types.yaml#/definitions/phandle-array + resets: + maxItems: 1 + required: - compatible - reg @@ -47,6 +55,7 @@ examples: reg = <0x01c0b000 0x1000>; interrupts = <55>; clocks = <&ahb_gates 17>; + resets = <&ccu RST_BUS_EMAC>; phy-handle = <&phy0>; allwinner,sram = <&emac_sram 1>; }; diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c index 5ed80d9a6b9f..b26913610a38 100644 --- a/drivers/net/ethernet/allwinner/sun4i-emac.c +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "sun4i-emac.h" @@ -68,6 +69,15 @@ MODULE_PARM_DESC(watchdog, "transmit timeout in milliseconds"); * devices, EMACA and EMACB. */ +/** + * struct emac_quirks - Differences between SoC variants. + * + * @has_reset: SoC needs reset deasserted. + */ +struct emac_quirks { + bool has_reset; +}; + struct emac_board_info { struct clk *clk; struct device *dev; @@ -85,6 +95,7 @@ struct emac_board_info { unsigned int link; unsigned int speed; unsigned int duplex; + struct reset_control *reset; phy_interface_t phy_interface; }; @@ -791,6 +802,7 @@ static int emac_probe(struct platform_device *pdev) struct net_device *ndev; int ret = 0; const char *mac_addr; + const struct emac_quirks *quirks; ndev = alloc_etherdev(sizeof(struct emac_board_info)); if (!ndev) { @@ -809,6 +821,13 @@ static int emac_probe(struct platform_device *pdev) spin_lock_init(&db->lock); + quirks = of_device_get_match_data(&pdev->dev); + if (!quirks) { + dev_err(&pdev->dev, "Failed to determine the quirks to use\n"); + ret = -ENODEV; + goto out; + } + db->membase = of_iomap(np, 0); if (!db->membase) { dev_err(&pdev->dev, "failed to remap registers\n"); @@ -825,16 +844,31 @@ static int emac_probe(struct platform_device *pdev) goto out_iounmap; } + if (quirks->has_reset) { + db->reset = devm_reset_control_get_exclusive(&pdev->dev, NULL); + if (IS_ERR(db->reset)) { + dev_err(&pdev->dev, "unable to request reset\n"); + ret = PTR_ERR(db->reset); + goto out_dispose_mapping; + } + + ret = reset_control_deassert(db->reset); + if (ret) { + dev_err(&pdev->dev, "could not deassert EMAC reset\n"); + goto out_dispose_mapping; + } + } + db->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(db->clk)) { ret = PTR_ERR(db->clk); - goto out_dispose_mapping; + goto out_assert_reset; } ret = clk_prepare_enable(db->clk); if (ret) { dev_err(&pdev->dev, "Error couldn't enable clock (%d)\n", ret); - goto out_dispose_mapping; + goto out_assert_reset; } ret = sunxi_sram_claim(&pdev->dev); @@ -852,6 +886,7 @@ static int emac_probe(struct platform_device *pdev) goto out_release_sram; } + /* Read MAC-address from DT */ mac_addr = of_get_mac_address(np); if (!IS_ERR(mac_addr)) @@ -893,6 +928,8 @@ static int emac_probe(struct platform_device *pdev) sunxi_sram_release(&pdev->dev); out_clk_disable_unprepare: clk_disable_unprepare(db->clk); +out_assert_reset: + reset_control_assert(db->reset); out_dispose_mapping: irq_dispose_mapping(ndev->irq); out_iounmap: @@ -913,6 +950,7 @@ static int emac_remove(struct platform_device *pdev) unregister_netdev(ndev); sunxi_sram_release(&pdev->dev); clk_disable_unprepare(db->clk); + reset_control_assert(db->reset); irq_dispose_mapping(ndev->irq); iounmap(db->membase); free_netdev(ndev); @@ -944,11 +982,28 @@ static int emac_resume(struct platform_device *dev) return 0; } -static const struct of_device_id emac_of_match[] = { - {.compatible = "allwinner,sun4i-a10-emac",}, +static const struct emac_quirks sun4i_a10_emac_quirks = { + .has_reset = false, +}; +static const struct emac_quirks sun4i_r40_emac_quirks = { + .has_reset = true, +}; + +static const struct of_device_id emac_of_match[] = { + { + .compatible = "allwinner,sun4i-a10-emac", + .data = &sun4i_a10_emac_quirks + }, + { + .compatible = "allwinner,sun4i-r40-emac", + .data = &sun4i_r40_emac_quirks + }, /* Deprecated */ - {.compatible = "allwinner,sun4i-emac",}, + { + .compatible = "allwinner,sun4i-emac", + .data = &sun4i_a10_emac_quirks + }, {}, }; From patchwork Tue Mar 9 01:21:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Evgeny Boger X-Patchwork-Id: 12123715 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEA57C433E0 for ; Tue, 9 Mar 2021 01:24:01 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 942876527C for ; Tue, 9 Mar 2021 01:24:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 942876527C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=wirenboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:MIME-Version:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ar/X3xwFOyDnyRvOz57K/cJGK742PBQWCWKFae/l50A=; b=lMbot0FKjNbvEHhdfOcgAW4JkZ TYCG7cLTZY3/t4nTYTvYi5hPzAfenKpisk7337Jrz5XLtsfmW/Q+EoY4v1DytJtUNyRMYS0KvEw08 2R+5U4KmXKbRP8rb53A7v0NZ20SkYQGLS+IXE9wO38tSUJsT5y83bHKIqRPej1aJRKwPf4ytsdC02 n/Sut7wOfrH0L41mVYp1cjCWp0TRgSeepY9jDkhDbmno6v5dXBHOL9vNt1SGZQmYmsE5VzRyeHlJU 6MIitR5Nvmryl0VjHMRENjaqFCi3rQJYFjlKMEMUg47oI6EASNeAVkmbkG19UClXHF1uOudlIEvWG 3qIbHAGg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lJR4r-003Zjl-5U; Tue, 09 Mar 2021 01:22:25 +0000 Received: from mail-lj1-x22e.google.com ([2a00:1450:4864:20::22e]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lJR4b-003ZfC-1V for linux-arm-kernel@lists.infradead.org; Tue, 09 Mar 2021 01:22:10 +0000 Received: by mail-lj1-x22e.google.com with SMTP id q14so18572799ljp.4 for ; Mon, 08 Mar 2021 17:22:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wirenboard-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=RxYnecloaGvVUTXfLbyGGnFAcsYJu5ZgYtu8FBQ5fBc=; b=LCKdRI2yDlmKErcJM0u5rRo35wCCUgmxsRZX30cARJru5O+9N28v7xS5xcjd7lx7qg LukOl5cSKvz38CEGTC85VsoBfPc3Ra4AFQs5sJJV9CotnFYp4Ks8LIZUuv1WwL6JFqp3 NL7UNf1YfPqAEgoAbUwz23ttY4aAybjUTxun1bgiCKp+z/DsRoLAiYxJwuCYb/6wdBpP wu80L6TPND27PxYr1z0bAgSY9fih+BQvkN55zgKi8D/POpct/bPsMLq5gkSHUleu+3Mv 3HeWoBR74op+m5U8NGjp/z8rDO8HcK9Iiu2uTL9K4l4jld3+wFovyAuOHOZq4KzVcNaZ mioA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=RxYnecloaGvVUTXfLbyGGnFAcsYJu5ZgYtu8FBQ5fBc=; b=ChEmJwGwsqZbJEgx4xjtI0FmU5eLHfbdYOIpW7B4sT2mw/RiNQJj9lSogcz9u2dLY+ rNhWseLtWtZXhadJSs9ASnMM+TvoOZNiHQ99+uUAH7EyvLleklCJLUnq90WsMZ8CPTl8 EgzTR1UiOowKFbFt4/X0WpBc7fgAFr5eQsyQcwb4Bd1WBiqBpQtYKL44F/trpsXb/qIl rZyj6Pv6RZ8+g/aqV5KuIxrYbm5w67A1fMNf6KAC8RY6hXpwqlglYEYjBvfQJNRHDUkJ X8YZTi8qcK5rDm3dP+1lAo8ToGpFMN750YJkXzTUw+ll9Qi7vknYW4PpdNvJanHOB58N AR+g== X-Gm-Message-State: AOAM533EdkK6Z37dmsnYNHy1zYX+wehdgPTNrZbYLSS9+1B+Q9c8tAvp lgsnoyCv3E1zN5ET3c4Es8obkw== X-Google-Smtp-Source: ABdhPJxzN23lxW9jmifFdPJhsdhPzsOdKGADxu6jPQV1o55WrXjtjoy0Eozu0nrhhcEVp/DiMqKvSg== X-Received: by 2002:a2e:96c3:: with SMTP id d3mr16046309ljj.284.1615252928545; Mon, 08 Mar 2021 17:22:08 -0800 (PST) Received: from boger-laptop.lan (81.5.99.6.dhcp.mipt-telecom.ru. [81.5.99.6]) by smtp.gmail.com with ESMTPSA id o11sm1538395lfu.157.2021.03.08.17.22.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Mar 2021 17:22:08 -0800 (PST) From: Evgeny Boger To: Maxime Ripard , Chen-Yu Tsai , linux-arm-kernel@lists.infradead.org Cc: Evgeny Boger , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Rob Herring Subject: [PATCH v2 2/2] dts: r40: add second ethernet support Date: Tue, 9 Mar 2021 04:21:16 +0300 Message-Id: <20210309012116.2944-3-boger@wirenboard.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210309012116.2944-1-boger@wirenboard.com> References: <20210309012116.2944-1-boger@wirenboard.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210309_012209_297601_5A1B541C X-CRM114-Status: GOOD ( 13.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org R40 (aka V40, A40i, T3) has two different Ethernet IP called EMAC and GMAC. EMAC only support 10/100 Mbit in MII mode, while GMAC support both 10/100 (MII) and 10/100/1000 (RGMII). In contrast to A10/A20 where GMAC and EMAC share the same pins making EMAC somewhat pointless, on R40 EMAC can be routed to port H. Both EMAC (on port H) and GMAC (on port A) can be then enabled at the same time, allowing for two ethernet ports. Signed-off-by: Evgeny Boger --- arch/arm/boot/dts/sun8i-r40.dtsi | 59 ++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi index d5ad3b9efd12..c31386e421b1 100644 --- a/arch/arm/boot/dts/sun8i-r40.dtsi +++ b/arch/arm/boot/dts/sun8i-r40.dtsi @@ -217,6 +217,20 @@ #size-cells = <1>; ranges; + sram_a: sram@0 { + compatible = "mmio-sram"; + reg = <0x00000000 0xc000>; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x00000000 0xc000>; + + emac_sram: sram-section@8000 { + compatible = "allwinner,sun4i-a10-sram-a3-a4"; + reg = <0x8000 0x4000>; + status = "okay"; + }; + }; + sram_c: sram@1d00000 { compatible = "mmio-sram"; reg = <0x01d00000 0xd0000>; @@ -541,6 +555,33 @@ drive-strength = <40>; }; + emac_pa_pins: emac-pa-pins { + pins = "PA0", "PA1", "PA2", + "PA3", "PA4", "PA5", "PA6", + "PA7", "PA8", "PA9", "PA10", + "PA11", "PA12", "PA13", "PA14", + "PA15", "PA16"; + function = "emac"; + }; + + emac_ph_pins: emac-ph-pins { + pins = "PH8", "PH9", "PH10", "PH11", + "PH14", "PH15", "PH16", "PH17", + "PH18","PH19", "PH20", "PH21", + "PH22", "PH23", "PH24", "PH25", + "PH26", "PH27"; + function = "emac"; + }; + + emac_pa_pins: emac-pa-pins { + pins = "PA0", "PA1", "PA2", + "PA3", "PA4", "PA5", "PA6", + "PA7", "PA8", "PA9", "PA10", + "PA11", "PA12", "PA13", "PA14", + "PA15", "PA16"; + function = "emac"; + }; + i2c0_pins: i2c0-pins { pins = "PB0", "PB1"; function = "i2c0"; @@ -885,6 +926,24 @@ }; }; + emac: ethernet@1c0b000 { + compatible = "allwinner,sun4i-r40-emac"; + reg = <0x01c0b000 0x1000>; + interrupts = ; + clocks = <&ccu CLK_BUS_EMAC>; + resets = <&ccu RST_BUS_EMAC>; + allwinner,sram = <&emac_sram 1>; + status = "disabled"; + }; + + emac_mdio: mdio@1c0b080 { + compatible = "allwinner,sun4i-a10-mdio"; + reg = <0x01c0b080 0x14>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + mbus: dram-controller@1c62000 { compatible = "allwinner,sun8i-r40-mbus"; reg = <0x01c62000 0x1000>;