From patchwork Mon Dec 18 09:17:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Wojtas X-Patchwork-Id: 849921 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=semihalf-com.20150623.gappssmtp.com header.i=@semihalf-com.20150623.gappssmtp.com header.b="GiF5/ywy"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z0bDF6CnNz9rxm for ; Mon, 18 Dec 2017 20:22:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933444AbdLRJWh (ORCPT ); Mon, 18 Dec 2017 04:22:37 -0500 Received: from mail-lf0-f66.google.com ([209.85.215.66]:33820 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932870AbdLRJSN (ORCPT ); Mon, 18 Dec 2017 04:18:13 -0500 Received: by mail-lf0-f66.google.com with SMTP id y78so11280087lfd.1 for ; Mon, 18 Dec 2017 01:18:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=frTFY9ujV49p+Xr1Qu/6s7mx46k6oXkZadTR2PSrhro=; b=GiF5/ywy+z+k9aGdV308X7qha9drsO0cairdAn9qS9tfTzQ/fJbRp14xorFGTmqhYh qwuzgBjczulDz0Bis0xmwzEO39esB15pmrsu3r+OSnPUmxE0NhILrV6+fzpgaTOTHAjt L3UFtbf6J+iahywFF1SsmUyyp+AAmK1FfSXpCimsMk+Zymroft3MRb5xqawCN77OB5JC b1HpEgx+/sf/qv9gQiNLkMn1BK5PV2394JG8D0vwHhQG7DAgxY4jwiNZIVTtu+F0vRx9 dlJFMtbCsKrQC2bEQDaQLYmoDmGLPf0QOYTY555h0681TCtPuOU4QKh2eawMzhR/yJ9Y Dusw== 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; bh=frTFY9ujV49p+Xr1Qu/6s7mx46k6oXkZadTR2PSrhro=; b=REvTQfU7j6ClWlpcQD9RZhPBnShENwD0wxj4Fkuk4gfHHTpV/pa2tT5PLPTwpSFNri dyEo9w7T0l4IZV6Hfd6VkroulQ4TjAwXTTXFqAGaKb1Yz8sfQnVbvaY/Y+D7YOugdjtq b4PVnurLAmJBwAWR9JIGKxZo4aAch/1/iijCndpYV2iq2V8pKwgPMTgKsYbb2X0I79tW Cpz709vmteP0sPYJu8siHQXBfR1nBWXRjlfsLl88yd/VTNtX5F1+tSenilfTUedBEb+o JRXQGU3TLY36Yb5kaURIV2/xvW/xcU3prUsJhjTAwYpAcExvjc8HJxIy2E4WJJHTmoyv 8q3Q== X-Gm-Message-State: AKGB3mKhcyKJYyQ/Tonw6bo2gDbqz337U4Msgk2MFmG1dSnlSAV40q1H IypKpkktAmW5eLOky5sISuwuvA== X-Google-Smtp-Source: ACJfBoud3eFtt/c0pU6lrhIhMCyY9UHpX6YF+aWODj8XjBwEqaE/dgsjDCzthH5t53BOCoJGVu6xwA== X-Received: by 10.25.56.17 with SMTP id f17mr11005150lfa.17.1513588691828; Mon, 18 Dec 2017 01:18:11 -0800 (PST) Received: from gilgamesh.semihalf.com (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id r16sm2407186ljd.18.2017.12.18.01.18.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 18 Dec 2017 01:18:11 -0800 (PST) From: Marcin Wojtas To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org Cc: davem@davemloft.net, linux@arm.linux.org.uk, rafael.j.wysocki@intel.com, andrew@lunn.ch, f.fainelli@gmail.com, antoine.tenart@free-electrons.com, thomas.petazzoni@free-electrons.com, gregory.clement@free-electrons.com, ezequiel.garcia@free-electrons.com, nadavh@marvell.com, neta@marvell.com, ard.biesheuvel@linaro.org, mw@semihalf.com, jaz@semihalf.com, tn@semihalf.com Subject: [net-next: PATCH 0/8] Armada 7k/8k PP2 ACPI support Date: Mon, 18 Dec 2017 10:17:56 +0100 Message-Id: <1513588684-15647-1-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi, This patchset introduces ACPI support in mvpp2 and mvmdio drivers. First three patches introduce fwnode helpers for obtaining PHY information from nodes and also MDIO fwnode API for registering the bus with its PHY/devices. Following patches update code of the mvmdio and mvpp2 drivers to support ACPI tables handling. The latter is done in 4 steps, as can be seen in the commits. For the details, please refer to the commit messages. Drivers operation was tested on top of the net-next branch with both DT and ACPI. Although for compatibility reasons with older platforms, the mvmdio driver keeps using of_ MDIO registering, new fwnode_ one proved to fully work with DT as well (tested on MacchiatoBin board). mvpp2/mvmdio driver can work with the ACPI representation, as exposed on a public branch: https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/marvell-armada-wip It was compiled together with the most recent Tianocore EDK2 revision. Please refer to the firmware build instruction on MacchiatoBin board: http://wiki.macchiatobin.net/tiki-index.php?page=Build+from+source+-+UEFI+EDK+II Above support configures 1G to use its PHY normally. 10G can work now only with the link interrupt mode. Somehow reading of the string property in fwnode_mdiobus_child_is_phy works only with DT and cannot cope with 10G PHY nodes as in: https://pastebin.com/3JnYpU0A Above root cause will be further checked. In the meantime I will appreciate any comments or remarks for the kernel patches. Best regards, Marcin Marcin Wojtas (8): device property: Introduce fwnode_get_mac_address() device property: Introduce fwnode_get_phy_mode() mdio_bus: Introduce fwnode MDIO helpers net: mvmdio: add ACPI support net: mvpp2: simplify maintaining enabled ports' list net: mvpp2: use device_*/fwnode_* APIs instead of of_* net: mvpp2: handle PHY with its fwnode net: mvpp2: enable ACPI support in the driver drivers/base/property.c | 52 +++-- drivers/net/ethernet/marvell/mvmdio.c | 42 +++- drivers/net/ethernet/marvell/mvpp2.c | 246 ++++++++++++-------- drivers/net/phy/mdio_bus.c | 218 +++++++++++++++++ include/linux/mdio.h | 3 + include/linux/property.h | 3 + 6 files changed, 454 insertions(+), 110 deletions(-) Tested-by: Antoine Tenart