From: florian@openwrt.org (Florian Fainelli)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5 v2] mv643xx_eth: add Device Tree bindings
Date: Thu, 4 Apr 2013 12:27:11 +0200 [thread overview]
Message-ID: <1365071235-11611-2-git-send-email-florian@openwrt.org> (raw)
In-Reply-To: <1365071235-11611-1-git-send-email-florian@openwrt.org>
This patch adds Device Tree bindings following the already defined
bindings at Documentation/devicetree/bindings/marvell.txt. The binding
documentation is also enhanced with new optionnal properties required
for supporting certain devices (RX/TX queue and SRAM). Since we now have
proper support for the orion MDIO bus driver, there is no need to fiddle
around with device tree phandles. PHY-less (MAC connected to switch)
configurations are supported by not specifying any phy phandle for an
ethernet node.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
---
- properly ifdef of_platform_bus_probe with CONFIG_OF
- handle of_platform_bus_probe errors and cleanup accordingly
- use of_property_read_u32 where applicable
- parse "duplex" and "speed" property in PHY-less configuration
Documentation/devicetree/bindings/marvell.txt | 25 +++++-
drivers/net/ethernet/marvell/mv643xx_eth.c | 120 ++++++++++++++++++++++++-
2 files changed, 140 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/marvell.txt b/Documentation/devicetree/bindings/marvell.txt
index f1533d9..e70a013 100644
--- a/Documentation/devicetree/bindings/marvell.txt
+++ b/Documentation/devicetree/bindings/marvell.txt
@@ -112,9 +112,14 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
Required properties:
- #address-cells : <1>
- #size-cells : <0>
- - compatible : "marvell,mv64360-eth-block"
+ - compatible : "marvell,mv64360-eth-block", "marvell,mv64360-eth-group",
+ "marvell,mv643xx-eth-block"
- reg : Offset and length of the register set for this block
+ Optional properties:
+ - tx-csum-limit : Hardware limit above which transmit checksumming
+ is disabled.
+
Example Discovery Ethernet block node:
ethernet-block at 2000 {
#address-cells = <1>;
@@ -130,7 +135,7 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
Required properties:
- device_type : Should be "network".
- - compatible : Should be "marvell,mv64360-eth".
+ - compatible : Should be "marvell,mv64360-eth", "marvell,mv643xx-eth".
- reg : Should be <0>, <1>, or <2>, according to which registers
within the silicon block the device uses.
- interrupts : <a> where a is the interrupt number for the port.
@@ -140,6 +145,22 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
controller.
- local-mac-address : 6 bytes, MAC address
+ Optional properties:
+ - clocks : Phandle to the clock control device and gate bit
+ - clock-names : String describing the clock gate bit
+ - speed : Speed to force the link (10, 100, 1000), used when no
+ phy property is defined
+ - duplex : Duplex to force the link (0: half, 1: full), used when no
+ phy property is defined
+ - rx-queue-count : number of RX queues to use
+ - tx-queue-count : number of TX queues to use
+ - rx-queue-size : size of the RX queue (in bytes)
+ - tx-queue-size : size of the TX queue (in bytes)
+ - rx-sram-addr : address of the SRAM for RX path (non 0 means used)
+ - rx-sram-size : size of the SRAM for RX path (non 0 means used)
+ - tx-sram-addr : address of the SRAM for TX path (non 0 means used)
+ - tx-sram-size : size of the SRAM for TX path (non 0 means used)
+
Example Discovery Ethernet port node:
ethernet at 0 {
device_type = "network";
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index aedbd82..75599a8 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -60,6 +60,10 @@
#include <linux/inet_lro.h>
#include <linux/slab.h>
#include <linux/clk.h>
+#include <linux/stringify.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
+#include <linux/of_net.h>
static char mv643xx_eth_driver_name[] = "mv643xx_eth";
static char mv643xx_eth_driver_version[] = "1.4";
@@ -2542,14 +2546,23 @@ static void infer_hw_params(struct mv643xx_eth_shared_private *msp)
}
}
+static const struct of_device_id mv643xx_eth_match[] = {
+ { .compatible = "marvell,mv64360-eth" },
+ { .compatible = "marvell,mv643xx-eth" },
+ { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, mv643xx_eth_match);
+
static int mv643xx_eth_shared_probe(struct platform_device *pdev)
{
static int mv643xx_eth_version_printed;
+ struct device_node *np = pdev->dev.of_node;
struct mv643xx_eth_shared_platform_data *pd = pdev->dev.platform_data;
struct mv643xx_eth_shared_private *msp;
const struct mbus_dram_target_info *dram;
struct resource *res;
int ret;
+ int tx_csum_limit = 0;
if (!mv643xx_eth_version_printed++)
pr_notice("MV-643xx 10/100/1000 ethernet driver version %s\n",
@@ -2576,13 +2589,23 @@ static int mv643xx_eth_shared_probe(struct platform_device *pdev)
if (dram)
mv643xx_eth_conf_mbus_windows(msp, dram);
- msp->tx_csum_limit = (pd != NULL && pd->tx_csum_limit) ?
- pd->tx_csum_limit : 9 * 1024;
+ if (np)
+ of_property_read_u32(np, "tx-csum-limit", &tx_csum_limit);
+ else
+ tx_csum_limit = pd->tx_csum_limit;
+
+ msp->tx_csum_limit = tx_csum_limit ? tx_csum_limit : 9 * 1024;
infer_hw_params(msp);
platform_set_drvdata(pdev, msp);
+ ret = 0;
- return 0;
+#ifdef CONFIG_OF
+ ret = of_platform_bus_probe(np, mv643xx_eth_match, &pdev->dev);
+ if (ret)
+ goto out_free;
+#endif
+ return ret;
out_free:
kfree(msp);
@@ -2600,12 +2623,22 @@ static int mv643xx_eth_shared_remove(struct platform_device *pdev)
return 0;
}
+static const struct of_device_id mv643xx_eth_shared_match[] = {
+ { .compatible = "marvell,mv64360-eth-group" },
+ { .compatible = "marvell,mv64360-eth-block" },
+ { .compatible = "marvell,mv643xx-eth-group" },
+ { .compatible = "marvell,mv643xx-eth-block" },
+ { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, mv643xx_eth_shared_match);
+
static struct platform_driver mv643xx_eth_shared_driver = {
.probe = mv643xx_eth_shared_probe,
.remove = mv643xx_eth_shared_remove,
.driver = {
.name = MV643XX_ETH_SHARED_NAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(mv643xx_eth_shared_match),
},
};
@@ -2764,6 +2797,74 @@ static const struct net_device_ops mv643xx_eth_netdev_ops = {
#endif
};
+#ifdef CONFIG_OF
+static int mv643xx_eth_of_probe(struct platform_device *pdev)
+{
+ struct mv643xx_eth_platform_data *pd;
+ struct device_node *np = pdev->dev.of_node;
+ struct device_node *shared = of_get_parent(np);
+ struct device_node *phy_node;
+ const int *prop;
+ const char *mac_addr;
+
+ if (!pdev->dev.of_node)
+ return 0;
+
+ pd = kzalloc(sizeof(*pd), GFP_KERNEL);
+ if (!pd)
+ return -ENOMEM;
+
+ pdev->dev.platform_data = pd;
+
+ pd->shared = of_find_device_by_node(shared);
+ if (!pd->shared)
+ return -ENODEV;
+
+ prop = of_get_property(np, "reg", NULL);
+ if (!prop)
+ return -EINVAL;
+
+ pd->port_number = be32_to_cpup(prop);
+
+ phy_node = of_parse_phandle(np, "phy", 0);
+ if (!phy_node) {
+ pd->phy_addr = MV643XX_ETH_PHY_NONE;
+
+ of_property_read_u32(np, "speed", &pd->speed);
+ of_property_read_u32(np, "duplex", &pd->duplex);
+ } else {
+ prop = of_get_property(phy_node, "reg", NULL);
+ if (prop)
+ pd->phy_addr = be32_to_cpup(prop);
+ }
+
+ mac_addr = of_get_mac_address(np);
+ if (mac_addr)
+ memcpy(pd->mac_addr, mac_addr, ETH_ALEN);
+
+#define rx_tx_queue_sram_property(_name) \
+ prop = of_get_property(np, __stringify(_name), NULL); \
+ if (prop) \
+ pd->_name = be32_to_cpup(prop);
+
+ rx_tx_queue_sram_property(rx_queue_count);
+ rx_tx_queue_sram_property(tx_queue_count);
+ rx_tx_queue_sram_property(rx_queue_size);
+ rx_tx_queue_sram_property(tx_queue_size);
+ rx_tx_queue_sram_property(rx_sram_addr);
+ rx_tx_queue_sram_property(rx_sram_size);
+ rx_tx_queue_sram_property(tx_sram_addr);
+ rx_tx_queue_sram_property(rx_sram_size);
+
+ return 0;
+}
+#else
+static inline int mv643xx_eth_of_probe(struct platform_device *dev)
+{
+ return 0;
+}
+#endif
+
static int mv643xx_eth_probe(struct platform_device *pdev)
{
struct mv643xx_eth_platform_data *pd;
@@ -2772,7 +2873,12 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
struct resource *res;
int err;
+ err = mv643xx_eth_of_probe(pdev);
+ if (err)
+ return err;
+
pd = pdev->dev.platform_data;
+
if (pd == NULL) {
dev_err(&pdev->dev, "no mv643xx_eth_platform_data\n");
return -ENODEV;
@@ -2896,6 +3002,8 @@ out:
}
#endif
free_netdev(dev);
+ if (pdev->dev.of_node)
+ kfree(pd);
return err;
}
@@ -2903,6 +3011,7 @@ out:
static int mv643xx_eth_remove(struct platform_device *pdev)
{
struct mv643xx_eth_private *mp = platform_get_drvdata(pdev);
+ struct mv643xx_eth_platform_data *pd = pdev->dev.platform_data;
unregister_netdev(mp->dev);
if (mp->phy != NULL)
@@ -2918,6 +3027,9 @@ static int mv643xx_eth_remove(struct platform_device *pdev)
free_netdev(mp->dev);
+ if (pdev->dev.of_node)
+ kfree(pd);
+
platform_set_drvdata(pdev, NULL);
return 0;
@@ -2935,6 +3047,7 @@ static void mv643xx_eth_shutdown(struct platform_device *pdev)
port_reset(mp);
}
+
static struct platform_driver mv643xx_eth_driver = {
.probe = mv643xx_eth_probe,
.remove = mv643xx_eth_remove,
@@ -2942,6 +3055,7 @@ static struct platform_driver mv643xx_eth_driver = {
.driver = {
.name = MV643XX_ETH_NAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(mv643xx_eth_match),
},
};
--
1.7.10.4
WARNING: multiple messages have this Message-ID (diff)
From: Florian Fainelli <florian@openwrt.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree-discuss@lists.ozlabs.org,
thomas.petazzoni@free-electrons.com, jm@lentin.co.uk,
moinejf@free.fr, sebastian.hesselbarth@gmail.com,
buytenh@wantstofly.org, andrew@lunn.ch, jason@lakedaemon.net,
grant.likely@secretlab.ca, rob.herring@calxeda.com,
jogo@openwrt.org, Florian Fainelli <florian@openwrt.org>
Subject: [PATCH 1/5 v2] mv643xx_eth: add Device Tree bindings
Date: Thu, 4 Apr 2013 12:27:11 +0200 [thread overview]
Message-ID: <1365071235-11611-2-git-send-email-florian@openwrt.org> (raw)
In-Reply-To: <1365071235-11611-1-git-send-email-florian@openwrt.org>
This patch adds Device Tree bindings following the already defined
bindings at Documentation/devicetree/bindings/marvell.txt. The binding
documentation is also enhanced with new optionnal properties required
for supporting certain devices (RX/TX queue and SRAM). Since we now have
proper support for the orion MDIO bus driver, there is no need to fiddle
around with device tree phandles. PHY-less (MAC connected to switch)
configurations are supported by not specifying any phy phandle for an
ethernet node.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
---
- properly ifdef of_platform_bus_probe with CONFIG_OF
- handle of_platform_bus_probe errors and cleanup accordingly
- use of_property_read_u32 where applicable
- parse "duplex" and "speed" property in PHY-less configuration
Documentation/devicetree/bindings/marvell.txt | 25 +++++-
drivers/net/ethernet/marvell/mv643xx_eth.c | 120 ++++++++++++++++++++++++-
2 files changed, 140 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/marvell.txt b/Documentation/devicetree/bindings/marvell.txt
index f1533d9..e70a013 100644
--- a/Documentation/devicetree/bindings/marvell.txt
+++ b/Documentation/devicetree/bindings/marvell.txt
@@ -112,9 +112,14 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
Required properties:
- #address-cells : <1>
- #size-cells : <0>
- - compatible : "marvell,mv64360-eth-block"
+ - compatible : "marvell,mv64360-eth-block", "marvell,mv64360-eth-group",
+ "marvell,mv643xx-eth-block"
- reg : Offset and length of the register set for this block
+ Optional properties:
+ - tx-csum-limit : Hardware limit above which transmit checksumming
+ is disabled.
+
Example Discovery Ethernet block node:
ethernet-block@2000 {
#address-cells = <1>;
@@ -130,7 +135,7 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
Required properties:
- device_type : Should be "network".
- - compatible : Should be "marvell,mv64360-eth".
+ - compatible : Should be "marvell,mv64360-eth", "marvell,mv643xx-eth".
- reg : Should be <0>, <1>, or <2>, according to which registers
within the silicon block the device uses.
- interrupts : <a> where a is the interrupt number for the port.
@@ -140,6 +145,22 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd.
controller.
- local-mac-address : 6 bytes, MAC address
+ Optional properties:
+ - clocks : Phandle to the clock control device and gate bit
+ - clock-names : String describing the clock gate bit
+ - speed : Speed to force the link (10, 100, 1000), used when no
+ phy property is defined
+ - duplex : Duplex to force the link (0: half, 1: full), used when no
+ phy property is defined
+ - rx-queue-count : number of RX queues to use
+ - tx-queue-count : number of TX queues to use
+ - rx-queue-size : size of the RX queue (in bytes)
+ - tx-queue-size : size of the TX queue (in bytes)
+ - rx-sram-addr : address of the SRAM for RX path (non 0 means used)
+ - rx-sram-size : size of the SRAM for RX path (non 0 means used)
+ - tx-sram-addr : address of the SRAM for TX path (non 0 means used)
+ - tx-sram-size : size of the SRAM for TX path (non 0 means used)
+
Example Discovery Ethernet port node:
ethernet@0 {
device_type = "network";
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index aedbd82..75599a8 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -60,6 +60,10 @@
#include <linux/inet_lro.h>
#include <linux/slab.h>
#include <linux/clk.h>
+#include <linux/stringify.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
+#include <linux/of_net.h>
static char mv643xx_eth_driver_name[] = "mv643xx_eth";
static char mv643xx_eth_driver_version[] = "1.4";
@@ -2542,14 +2546,23 @@ static void infer_hw_params(struct mv643xx_eth_shared_private *msp)
}
}
+static const struct of_device_id mv643xx_eth_match[] = {
+ { .compatible = "marvell,mv64360-eth" },
+ { .compatible = "marvell,mv643xx-eth" },
+ { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, mv643xx_eth_match);
+
static int mv643xx_eth_shared_probe(struct platform_device *pdev)
{
static int mv643xx_eth_version_printed;
+ struct device_node *np = pdev->dev.of_node;
struct mv643xx_eth_shared_platform_data *pd = pdev->dev.platform_data;
struct mv643xx_eth_shared_private *msp;
const struct mbus_dram_target_info *dram;
struct resource *res;
int ret;
+ int tx_csum_limit = 0;
if (!mv643xx_eth_version_printed++)
pr_notice("MV-643xx 10/100/1000 ethernet driver version %s\n",
@@ -2576,13 +2589,23 @@ static int mv643xx_eth_shared_probe(struct platform_device *pdev)
if (dram)
mv643xx_eth_conf_mbus_windows(msp, dram);
- msp->tx_csum_limit = (pd != NULL && pd->tx_csum_limit) ?
- pd->tx_csum_limit : 9 * 1024;
+ if (np)
+ of_property_read_u32(np, "tx-csum-limit", &tx_csum_limit);
+ else
+ tx_csum_limit = pd->tx_csum_limit;
+
+ msp->tx_csum_limit = tx_csum_limit ? tx_csum_limit : 9 * 1024;
infer_hw_params(msp);
platform_set_drvdata(pdev, msp);
+ ret = 0;
- return 0;
+#ifdef CONFIG_OF
+ ret = of_platform_bus_probe(np, mv643xx_eth_match, &pdev->dev);
+ if (ret)
+ goto out_free;
+#endif
+ return ret;
out_free:
kfree(msp);
@@ -2600,12 +2623,22 @@ static int mv643xx_eth_shared_remove(struct platform_device *pdev)
return 0;
}
+static const struct of_device_id mv643xx_eth_shared_match[] = {
+ { .compatible = "marvell,mv64360-eth-group" },
+ { .compatible = "marvell,mv64360-eth-block" },
+ { .compatible = "marvell,mv643xx-eth-group" },
+ { .compatible = "marvell,mv643xx-eth-block" },
+ { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, mv643xx_eth_shared_match);
+
static struct platform_driver mv643xx_eth_shared_driver = {
.probe = mv643xx_eth_shared_probe,
.remove = mv643xx_eth_shared_remove,
.driver = {
.name = MV643XX_ETH_SHARED_NAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(mv643xx_eth_shared_match),
},
};
@@ -2764,6 +2797,74 @@ static const struct net_device_ops mv643xx_eth_netdev_ops = {
#endif
};
+#ifdef CONFIG_OF
+static int mv643xx_eth_of_probe(struct platform_device *pdev)
+{
+ struct mv643xx_eth_platform_data *pd;
+ struct device_node *np = pdev->dev.of_node;
+ struct device_node *shared = of_get_parent(np);
+ struct device_node *phy_node;
+ const int *prop;
+ const char *mac_addr;
+
+ if (!pdev->dev.of_node)
+ return 0;
+
+ pd = kzalloc(sizeof(*pd), GFP_KERNEL);
+ if (!pd)
+ return -ENOMEM;
+
+ pdev->dev.platform_data = pd;
+
+ pd->shared = of_find_device_by_node(shared);
+ if (!pd->shared)
+ return -ENODEV;
+
+ prop = of_get_property(np, "reg", NULL);
+ if (!prop)
+ return -EINVAL;
+
+ pd->port_number = be32_to_cpup(prop);
+
+ phy_node = of_parse_phandle(np, "phy", 0);
+ if (!phy_node) {
+ pd->phy_addr = MV643XX_ETH_PHY_NONE;
+
+ of_property_read_u32(np, "speed", &pd->speed);
+ of_property_read_u32(np, "duplex", &pd->duplex);
+ } else {
+ prop = of_get_property(phy_node, "reg", NULL);
+ if (prop)
+ pd->phy_addr = be32_to_cpup(prop);
+ }
+
+ mac_addr = of_get_mac_address(np);
+ if (mac_addr)
+ memcpy(pd->mac_addr, mac_addr, ETH_ALEN);
+
+#define rx_tx_queue_sram_property(_name) \
+ prop = of_get_property(np, __stringify(_name), NULL); \
+ if (prop) \
+ pd->_name = be32_to_cpup(prop);
+
+ rx_tx_queue_sram_property(rx_queue_count);
+ rx_tx_queue_sram_property(tx_queue_count);
+ rx_tx_queue_sram_property(rx_queue_size);
+ rx_tx_queue_sram_property(tx_queue_size);
+ rx_tx_queue_sram_property(rx_sram_addr);
+ rx_tx_queue_sram_property(rx_sram_size);
+ rx_tx_queue_sram_property(tx_sram_addr);
+ rx_tx_queue_sram_property(rx_sram_size);
+
+ return 0;
+}
+#else
+static inline int mv643xx_eth_of_probe(struct platform_device *dev)
+{
+ return 0;
+}
+#endif
+
static int mv643xx_eth_probe(struct platform_device *pdev)
{
struct mv643xx_eth_platform_data *pd;
@@ -2772,7 +2873,12 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
struct resource *res;
int err;
+ err = mv643xx_eth_of_probe(pdev);
+ if (err)
+ return err;
+
pd = pdev->dev.platform_data;
+
if (pd == NULL) {
dev_err(&pdev->dev, "no mv643xx_eth_platform_data\n");
return -ENODEV;
@@ -2896,6 +3002,8 @@ out:
}
#endif
free_netdev(dev);
+ if (pdev->dev.of_node)
+ kfree(pd);
return err;
}
@@ -2903,6 +3011,7 @@ out:
static int mv643xx_eth_remove(struct platform_device *pdev)
{
struct mv643xx_eth_private *mp = platform_get_drvdata(pdev);
+ struct mv643xx_eth_platform_data *pd = pdev->dev.platform_data;
unregister_netdev(mp->dev);
if (mp->phy != NULL)
@@ -2918,6 +3027,9 @@ static int mv643xx_eth_remove(struct platform_device *pdev)
free_netdev(mp->dev);
+ if (pdev->dev.of_node)
+ kfree(pd);
+
platform_set_drvdata(pdev, NULL);
return 0;
@@ -2935,6 +3047,7 @@ static void mv643xx_eth_shutdown(struct platform_device *pdev)
port_reset(mp);
}
+
static struct platform_driver mv643xx_eth_driver = {
.probe = mv643xx_eth_probe,
.remove = mv643xx_eth_remove,
@@ -2942,6 +3055,7 @@ static struct platform_driver mv643xx_eth_driver = {
.driver = {
.name = MV643XX_ETH_NAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(mv643xx_eth_match),
},
};
--
1.7.10.4
next prev parent reply other threads:[~2013-04-04 10:27 UTC|newest]
Thread overview: 357+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-04 10:27 [PATCH 0/5 v2] mv643xx_eth: device tree bindings Florian Fainelli
2013-04-04 10:27 ` Florian Fainelli
2013-04-04 10:27 ` Florian Fainelli [this message]
2013-04-04 10:27 ` [PATCH 1/5 v2] mv643xx_eth: add Device Tree bindings Florian Fainelli
2013-04-04 21:29 ` Simon Baatz
2013-04-04 21:29 ` Simon Baatz
2013-04-05 9:56 ` Florian Fainelli
2013-04-05 9:56 ` Florian Fainelli
2013-04-05 13:58 ` Sebastian Hesselbarth
2013-04-05 13:58 ` Sebastian Hesselbarth
2013-04-05 14:23 ` Florian Fainelli
2013-04-05 14:23 ` Florian Fainelli
2013-04-05 18:04 ` Jason Gunthorpe
2013-04-05 18:04 ` Jason Gunthorpe
2013-04-05 20:35 ` Sebastian Hesselbarth
2013-04-05 20:35 ` Sebastian Hesselbarth
2013-04-04 10:27 ` [PATCH 2/5] mv643xx_eth: update Device Tree bindings documentation Florian Fainelli
2013-04-04 10:27 ` Florian Fainelli
2013-04-04 10:27 ` [PATCH 3/5 v2] ARM: kirkwood: add device node entries for the gigabit interfaces Florian Fainelli
2013-04-04 10:27 ` Florian Fainelli
2013-04-04 21:35 ` Simon Baatz
2013-04-04 21:35 ` Simon Baatz
2013-04-05 9:21 ` Florian Fainelli
2013-04-05 9:21 ` Florian Fainelli
2013-04-04 10:27 ` [PATCH 4/5 v2] ARM: orion5x: add gigabit ethernet device tree node Florian Fainelli
2013-04-04 10:27 ` Florian Fainelli
2013-04-04 10:27 ` [PATCH 5/5 v2] ARM: dove: add gigabit device tree nodes to dove.dtsi Florian Fainelli
2013-04-04 10:27 ` Florian Fainelli
2013-04-11 16:53 ` [PATCH 0/5 v2] mv643xx_eth: device tree bindings Jason Cooper
2013-04-11 16:53 ` Jason Cooper
2013-04-11 17:09 ` Sebastian Hesselbarth
2013-04-11 17:09 ` Sebastian Hesselbarth
2013-04-13 15:21 ` Thomas Petazzoni
2013-04-13 15:21 ` Thomas Petazzoni
2013-04-13 19:00 ` Jason Cooper
2013-04-13 19:00 ` Jason Cooper
2013-04-15 3:07 ` Ben Hutchings
2013-04-15 3:07 ` Ben Hutchings
2013-04-15 13:43 ` Jason Cooper
2013-04-15 13:43 ` Jason Cooper
2013-04-15 10:00 ` Thomas Petazzoni
2013-04-15 10:00 ` Thomas Petazzoni
2013-05-06 15:33 ` [PATCH 0/7] " Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 1/7] net: mv643xx_eth: add Device Tree bindings Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-20 21:19 ` Simon Baatz
2013-05-20 21:19 ` Simon Baatz
2013-05-20 21:34 ` Sebastian Hesselbarth
2013-05-20 21:34 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 2/7] net: mv643xx_eth: update Device Tree bindings documentation Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 3/7] ARM: dove: remove legacy mv643xx_eth setup Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 4/7] ARM: dove: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 5/7] ARM: kirkwood: remove legacy mv643xx_eth board setup Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-06 15:39 ` Thomas Petazzoni
2013-05-06 15:39 ` Thomas Petazzoni
2013-05-06 15:33 ` [PATCH v3 6/7] ARM: kirkwood: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-20 21:27 ` Simon Baatz
2013-05-20 21:27 ` Simon Baatz
2013-05-20 21:38 ` Sebastian Hesselbarth
2013-05-20 21:38 ` Sebastian Hesselbarth
2013-05-06 15:33 ` [PATCH v3 7/7] ARM: kirkwood: remove legacy clk alias for mv643xx_eth Sebastian Hesselbarth
2013-05-06 15:33 ` Sebastian Hesselbarth
2013-05-06 15:38 ` [PATCH 0/7] mv643xx_eth: device tree bindings David Miller
2013-05-06 15:38 ` David Miller
2013-05-06 16:07 ` Jason Cooper
2013-05-06 16:07 ` Jason Cooper
2013-05-06 16:21 ` Sebastian Hesselbarth
2013-05-06 16:21 ` Sebastian Hesselbarth
2013-05-07 9:10 ` Valentin Longchamp
2013-05-07 9:10 ` Valentin Longchamp
2013-05-07 9:10 ` Valentin Longchamp
2013-05-21 16:41 ` [PATCH v4 00/12] net: mv643xx_eth DT support and fixes Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 01/12] net: mv643xx_eth: use phy_disconnect instead of phy_detach Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 02/12] net: mv643xx_eth: use managed devm_ioremap for port registers Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 03/12] net: mv643xx_eth: add phy_node to platform_data struct Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 04/12] net: mv643xx_eth: use of_phy_connect if phy_node present Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 05/12] net: mv643xx_eth: add DT parsing support Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 06/12] ARM: dove: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 17:48 ` Andrew Lunn
2013-05-21 17:48 ` Andrew Lunn
2013-05-21 17:48 ` Andrew Lunn
2013-05-22 9:43 ` Sebastian Hesselbarth
2013-05-22 9:43 ` Sebastian Hesselbarth
2013-05-22 9:43 ` Sebastian Hesselbarth
2013-05-22 10:04 ` tiejun.chen
2013-05-22 10:04 ` tiejun.chen
2013-05-22 10:04 ` tiejun.chen
2013-05-22 10:13 ` Sebastian Hesselbarth
2013-05-22 10:13 ` Sebastian Hesselbarth
2013-05-22 10:13 ` Sebastian Hesselbarth
2013-05-22 13:10 ` Jason Cooper
2013-05-22 13:10 ` Jason Cooper
2013-05-22 13:10 ` Jason Cooper
2013-05-22 16:59 ` Jason Gunthorpe
2013-05-22 16:59 ` Jason Gunthorpe
2013-05-22 16:59 ` Jason Gunthorpe
2013-05-22 17:01 ` Jason Cooper
2013-05-22 17:01 ` Jason Cooper
2013-05-22 17:01 ` Jason Cooper
2013-05-22 17:32 ` Sebastian Hesselbarth
2013-05-22 17:32 ` Sebastian Hesselbarth
2013-05-22 17:32 ` Sebastian Hesselbarth
2013-05-22 17:35 ` Jason Cooper
2013-05-22 17:35 ` Jason Cooper
2013-05-22 17:35 ` Jason Cooper
2013-05-22 17:42 ` Sebastian Hesselbarth
2013-05-22 17:42 ` Sebastian Hesselbarth
2013-05-22 17:42 ` Sebastian Hesselbarth
2013-05-22 17:48 ` Jason Cooper
2013-05-22 17:48 ` Jason Cooper
2013-05-22 17:48 ` Jason Cooper
2013-05-22 18:44 ` Sebastian Hesselbarth
2013-05-22 18:44 ` Sebastian Hesselbarth
2013-05-22 18:44 ` Sebastian Hesselbarth
2013-05-22 18:49 ` Jason Cooper
2013-05-22 18:49 ` Jason Cooper
2013-05-22 18:49 ` Jason Cooper
2013-05-22 18:55 ` Sebastian Hesselbarth
2013-05-22 18:55 ` Sebastian Hesselbarth
2013-05-22 18:55 ` Sebastian Hesselbarth
2013-05-22 18:58 ` Jason Cooper
2013-05-22 18:58 ` Jason Cooper
2013-05-22 18:58 ` Jason Cooper
2013-05-22 19:52 ` Sebastian Hesselbarth
2013-05-22 19:52 ` Sebastian Hesselbarth
2013-05-22 19:52 ` Sebastian Hesselbarth
2013-05-22 18:24 ` Jason Gunthorpe
2013-05-22 18:24 ` Jason Gunthorpe
2013-05-22 18:24 ` Jason Gunthorpe
2013-05-22 18:51 ` Sebastian Hesselbarth
2013-05-22 18:51 ` Sebastian Hesselbarth
2013-05-22 18:51 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 07/12] ARM: kirkwood: " Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 08/12] ARM: orion5x: " Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 09/12] ARM: dove: remove legacy mv643xx_eth setup Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 10/12] ARM: kirkwood: remove legacy clk alias for mv643xx_eth Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 11/12] ARM: kirkwood: remove redundant DT board files Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-22 20:36 ` Simon Baatz
2013-05-22 20:36 ` Simon Baatz
2013-05-22 20:36 ` Simon Baatz
2013-05-22 20:55 ` Sebastian Hesselbarth
2013-05-22 20:55 ` Sebastian Hesselbarth
2013-05-22 20:55 ` Sebastian Hesselbarth
2013-05-22 21:02 ` Jason Cooper
2013-05-22 21:02 ` Jason Cooper
2013-05-22 21:02 ` Jason Cooper
2013-05-22 21:17 ` Sebastian Hesselbarth
2013-05-22 21:17 ` Sebastian Hesselbarth
2013-05-22 21:17 ` Sebastian Hesselbarth
2013-05-21 16:41 ` [PATCH v4 12/12] ARM: orion5x: remove legacy mv643xx_eth board setup Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-21 16:41 ` Sebastian Hesselbarth
2013-05-22 16:16 ` [PATCH v4 00/12] net: mv643xx_eth DT support and fixes Andrew Lunn
2013-05-22 16:16 ` Andrew Lunn
2013-05-22 16:16 ` Andrew Lunn
2013-05-22 20:04 ` [PATCH 1/2] ARM: kirkwood: proper retain MAC address workaround on DT ethernet Sebastian Hesselbarth
2013-05-22 20:04 ` Sebastian Hesselbarth
2013-05-22 20:04 ` Sebastian Hesselbarth
2013-05-22 20:04 ` [PATCH 2/2] net: mv643xx_eth: proper initialization for Kirkwood SoCs Sebastian Hesselbarth
2013-05-22 20:04 ` Sebastian Hesselbarth
2013-05-22 20:04 ` Sebastian Hesselbarth
2013-05-22 20:16 ` Jason Gunthorpe
2013-05-22 20:16 ` Jason Gunthorpe
2013-05-22 20:16 ` Jason Gunthorpe
2013-05-22 21:02 ` Sebastian Hesselbarth
2013-05-22 21:02 ` Sebastian Hesselbarth
2013-05-22 21:02 ` Sebastian Hesselbarth
2013-05-23 16:01 ` Jason Cooper
2013-05-23 16:01 ` Jason Cooper
2013-05-23 16:01 ` Jason Cooper
2013-05-23 17:11 ` Jason Gunthorpe
2013-05-23 17:11 ` Jason Gunthorpe
2013-05-23 17:11 ` Jason Gunthorpe
2013-05-23 17:23 ` Jason Cooper
2013-05-23 17:23 ` Jason Cooper
2013-05-23 17:23 ` Jason Cooper
2013-05-23 17:53 ` Jason Gunthorpe
2013-05-23 17:53 ` Jason Gunthorpe
2013-05-23 17:53 ` Jason Gunthorpe
2013-05-23 18:40 ` Jason Cooper
2013-05-23 18:40 ` Jason Cooper
2013-05-23 18:40 ` Jason Cooper
2013-05-23 19:01 ` Jason Gunthorpe
2013-05-23 19:01 ` Jason Gunthorpe
2013-05-23 19:01 ` Jason Gunthorpe
2013-05-24 16:46 ` Jason Cooper
2013-05-24 16:46 ` Jason Cooper
2013-05-24 16:46 ` Jason Cooper
2013-05-24 16:53 ` Andrew Lunn
2013-05-24 16:53 ` Andrew Lunn
2013-05-24 16:53 ` Andrew Lunn
2013-05-24 17:03 ` Jason Cooper
2013-05-24 17:03 ` Jason Cooper
2013-05-24 17:03 ` Jason Cooper
2013-05-24 17:33 ` Jason Gunthorpe
2013-05-24 17:33 ` Jason Gunthorpe
2013-05-24 17:33 ` Jason Gunthorpe
2013-05-28 18:02 ` Jason Cooper
2013-05-28 18:02 ` Jason Cooper
2013-05-28 18:02 ` Jason Cooper
2013-05-23 22:40 ` Sebastian Hesselbarth
2013-05-23 22:40 ` Sebastian Hesselbarth
2013-05-23 22:40 ` Sebastian Hesselbarth
2013-05-24 11:03 ` Linus Walleij
2013-05-24 11:03 ` Linus Walleij
2013-05-24 11:03 ` Linus Walleij
2013-05-24 17:01 ` Jason Cooper
2013-05-24 17:01 ` Jason Cooper
2013-05-24 17:01 ` Jason Cooper
2013-05-24 17:01 ` Jason Cooper
2013-05-24 17:13 ` Russell King - ARM Linux
2013-05-24 17:13 ` Russell King - ARM Linux
2013-05-24 17:13 ` Russell King - ARM Linux
2013-05-24 17:25 ` Sebastian Hesselbarth
2013-05-24 17:25 ` Sebastian Hesselbarth
2013-05-24 17:25 ` Sebastian Hesselbarth
2013-05-24 16:53 ` Jason Cooper
2013-05-24 16:53 ` Jason Cooper
2013-05-24 16:53 ` Jason Cooper
2013-05-26 4:04 ` [PATCH 1/2] ARM: kirkwood: proper retain MAC address workaround on DT ethernet David Miller
2013-05-26 4:04 ` David Miller
2013-05-26 4:04 ` David Miller
2013-05-26 20:06 ` Sebastian Hesselbarth
2013-05-26 20:06 ` Sebastian Hesselbarth
2013-05-26 20:06 ` Sebastian Hesselbarth
2013-05-27 9:23 ` David Miller
2013-05-27 9:23 ` David Miller
2013-05-27 9:23 ` David Miller
2013-05-27 9:39 ` Benjamin Herrenschmidt
2013-05-27 9:39 ` Benjamin Herrenschmidt
2013-05-27 9:39 ` Benjamin Herrenschmidt
2013-05-27 10:24 ` Sebastian Hesselbarth
2013-05-27 10:24 ` Sebastian Hesselbarth
2013-05-27 10:24 ` Sebastian Hesselbarth
2013-05-27 11:50 ` Benjamin Herrenschmidt
2013-05-27 11:50 ` Benjamin Herrenschmidt
2013-05-27 11:50 ` Benjamin Herrenschmidt
2013-05-27 12:47 ` Arnd Bergmann
2013-05-27 12:47 ` Arnd Bergmann
2013-05-27 12:47 ` Arnd Bergmann
2013-05-27 21:50 ` Benjamin Herrenschmidt
2013-05-27 21:50 ` Benjamin Herrenschmidt
2013-05-27 21:50 ` Benjamin Herrenschmidt
2013-05-27 22:12 ` Sebastian Hesselbarth
2013-05-27 22:12 ` Sebastian Hesselbarth
2013-05-27 22:12 ` Sebastian Hesselbarth
2013-05-27 22:17 ` David Miller
2013-05-27 22:17 ` David Miller
2013-05-27 22:17 ` David Miller
2013-05-27 20:18 ` David Miller
2013-05-27 20:18 ` David Miller
2013-05-27 20:18 ` David Miller
2013-05-27 21:48 ` Benjamin Herrenschmidt
2013-05-27 21:48 ` Benjamin Herrenschmidt
2013-05-27 21:48 ` Benjamin Herrenschmidt
2013-05-27 9:38 ` Benjamin Herrenschmidt
2013-05-27 9:38 ` Benjamin Herrenschmidt
2013-05-27 9:38 ` Benjamin Herrenschmidt
2013-05-29 19:32 ` [PATCH v5 00/13] net: mv643xx_eth DT support and fixes Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 01/13] net: mv643xx_eth: use phy_disconnect instead of phy_detach Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 20:00 ` Jason Cooper
2013-05-29 20:00 ` Jason Cooper
2013-05-29 20:00 ` Jason Cooper
2013-05-29 19:32 ` [PATCH v5 02/13] net: mv643xx_eth: use managed devm_ioremap for port registers Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 03/13] net: mv643xx_eth: add phy_node to platform_data struct Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 04/13] net: mv643xx_eth: use of_phy_connect if phy_node present Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 05/13] net: mv643xx_eth: proper initialization for Kirkwood SoCs Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 06/13] net: mv643xx_eth: add DT parsing support Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 07/13] ARM: dove: add gigabit ethernet and mvmdio device tree nodes Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 08/13] ARM: kirkwood: " Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 09/13] ARM: orion5x: " Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 10/13] ARM: dove: remove legacy mv643xx_eth setup Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 11/13] ARM: kirkwood: remove legacy clk alias for mv643xx_eth Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` [PATCH v5 12/13] ARM: kirkwood: remove redundant DT board files Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-30 9:06 ` Arnaud Ebalard
2013-05-30 9:06 ` Arnaud Ebalard
2013-05-30 9:06 ` Arnaud Ebalard
2013-05-30 9:08 ` Sebastian Hesselbarth
2013-05-30 9:08 ` Sebastian Hesselbarth
2013-05-30 9:08 ` Sebastian Hesselbarth
2013-05-30 19:37 ` Jason Cooper
2013-05-30 19:37 ` Jason Cooper
2013-05-30 19:37 ` Jason Cooper
2013-05-30 22:28 ` Arnaud Ebalard
2013-05-30 22:28 ` Arnaud Ebalard
2013-05-30 22:28 ` Arnaud Ebalard
2013-05-31 11:54 ` Jason Cooper
2013-05-31 11:54 ` Jason Cooper
2013-05-31 11:54 ` Jason Cooper
2013-05-29 19:32 ` [PATCH v5 13/13] ARM: orion5x: remove legacy mv643xx_eth board setup Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-29 19:32 ` Sebastian Hesselbarth
2013-05-31 0:55 ` [PATCH v5 00/13] net: mv643xx_eth DT support and fixes David Miller
2013-05-31 0:55 ` David Miller
2013-05-31 0:55 ` David Miller
2013-05-31 6:28 ` Sebastian Hesselbarth
2013-05-31 6:28 ` Sebastian Hesselbarth
2013-05-31 6:28 ` Sebastian Hesselbarth
2013-05-31 9:32 ` David Miller
2013-05-31 9:32 ` David Miller
2013-05-31 9:32 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1365071235-11611-2-git-send-email-florian@openwrt.org \
--to=florian@openwrt.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.