kirkwood: update patches and configuration (3.10)
Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 38295v19.07.3_mercusys_ac12_duma
parent
97b15fc45b
commit
38936426f7
@ -1,41 +0,0 @@
|
||||
From 3339170f8adf10c32ad8ba4069f94f1bcd40f46d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Fri, 7 Dec 2012 22:49:57 +0100
|
||||
Subject: [PATCH 08/29] arm: mvebu: update defconfig with PCI and USB support
|
||||
|
||||
Now that we have the necessary drivers and Device Tree informations to
|
||||
support PCIe on Armada 370 and Armada XP, enable the CONFIG_PCI
|
||||
option.
|
||||
|
||||
Also, since the Armada 370 Mirabox has a built-in USB XHCI controller
|
||||
connected on the PCIe bus, enable the corresponding options as well.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
arch/arm/configs/mvebu_defconfig | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig
|
||||
index f3e8ae0..966281e 100644
|
||||
--- a/arch/arm/configs/mvebu_defconfig
|
||||
+++ b/arch/arm/configs/mvebu_defconfig
|
||||
@@ -13,6 +13,8 @@ CONFIG_MACH_ARMADA_370=y
|
||||
CONFIG_MACH_ARMADA_XP=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
# CONFIG_SWP_EMULATE is not set
|
||||
+CONFIG_PCI=y
|
||||
+CONFIG_PCI_MVEBU=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_HIGHMEM=y
|
||||
@@ -60,6 +62,7 @@ CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MVSDIO=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
--
|
||||
1.8.4.rc1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From 3ad3d38d36c51b45668708a42f67b07fc87a53e3 Mon Sep 17 00:00:00 2001
|
||||
From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
|
||||
Date: Mon, 27 May 2013 11:38:41 +0800
|
||||
Subject: [PATCH 08/29] pci: mvebu: fix return value check in
|
||||
mvebu_pcie_probe()
|
||||
|
||||
In case of error, function of_clk_get_by_name() returns
|
||||
ERR_PTR() never returns NULL. The NULL test in the return
|
||||
value check should be replaced with IS_ERR().
|
||||
|
||||
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
|
||||
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
|
||||
---
|
||||
drivers/pci/host/pci-mvebu.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/pci/host/pci-mvebu.c
|
||||
+++ b/drivers/pci/host/pci-mvebu.c
|
||||
@@ -828,7 +828,7 @@ static int __init mvebu_pcie_probe(struc
|
||||
}
|
||||
|
||||
port->clk = of_clk_get_by_name(child, NULL);
|
||||
- if (!port->clk) {
|
||||
+ if (IS_ERR(port->clk)) {
|
||||
dev_err(&pdev->dev, "PCIe%d.%d: cannot get clock\n",
|
||||
port->port, port->lane);
|
||||
iounmap(port->base);
|
@ -1,37 +0,0 @@
|
||||
From f53bb70209838ffea1824ba7c4c7935cf200233f Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 11 Apr 2013 00:18:29 +0200
|
||||
Subject: [PATCH 17/29] arm: kirkwood: update defconfig with PCIe driver and
|
||||
board updates
|
||||
|
||||
This commit enables the mvebu PCIe driver in kirkwood_defconfig and
|
||||
updates various options related to Kirkwood boards.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
arch/arm/configs/kirkwood_defconfig | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig
|
||||
index a1d8252..452adec 100644
|
||||
--- a/arch/arm/configs/kirkwood_defconfig
|
||||
+++ b/arch/arm/configs/kirkwood_defconfig
|
||||
@@ -31,6 +31,7 @@ CONFIG_MACH_T5325=y
|
||||
CONFIG_MACH_TS219=y
|
||||
CONFIG_MACH_TS41X=y
|
||||
CONFIG_MACH_CLOUDBOX_DT=y
|
||||
+CONFIG_MACH_DB88F628X_BP_DT=y
|
||||
CONFIG_MACH_DLINK_KIRKWOOD_DT=y
|
||||
CONFIG_MACH_DOCKSTAR_DT=y
|
||||
CONFIG_MACH_DREAMPLUG_DT=y
|
||||
@@ -53,6 +54,7 @@ CONFIG_MACH_READYNAS_DT=y
|
||||
CONFIG_MACH_TOPKICK_DT=y
|
||||
CONFIG_MACH_TS219_DT=y
|
||||
# CONFIG_CPU_FEROCEON_OLD_ID is not set
|
||||
+CONFIG_PCI_MVEBU=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
--
|
||||
1.8.4.rc1
|
||||
|
@ -0,0 +1,97 @@
|
||||
From 5db3b7ccb319679ac9c5791112c7eb42c25331e3 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 23 May 2013 16:32:51 +0200
|
||||
Subject: [PATCH 17/29] pci: mvebu: no longer fake the slot location of
|
||||
downstream devices
|
||||
|
||||
By default, the Marvell hardware, for each PCIe interface, exhibits
|
||||
the following devices:
|
||||
|
||||
* On slot 0, a "Marvell Memory controller", identical on all PCIe
|
||||
interfaces, and which isn't useful when the Marvell SoC is the PCIe
|
||||
root complex (i.e, the normal case when we run Linux on the Marvell
|
||||
SoC).
|
||||
|
||||
* On slot 1, the real PCIe card connected into the PCIe slot of the
|
||||
board.
|
||||
|
||||
So, what the Marvell PCIe driver was doing in its PCI-to-PCI bridge
|
||||
emulation is that when the Linux PCI core was trying to access the
|
||||
device in slot 0, we were in fact forwarding the configuration
|
||||
transaction to the device in slot 1. For all other slots, we were
|
||||
telling the Linux PCI core that there was no device connected.
|
||||
|
||||
However, new versions of bootloaders from Marvell change the default
|
||||
PCIe configuration, and make the real device appear in slot 0, and the
|
||||
"Marvell Memory controller" in slot 1.
|
||||
|
||||
Therefore, this commit modifies the Marvell PCIe driver to adjust the
|
||||
PCIe hardware configuration to make sure that this behavior (real
|
||||
device in slot 0, "Marvell Memory controller" in slot 1) is the one
|
||||
we'll see regardless of what the bootloader has done. It allows to
|
||||
remove the little hack that was forwarding configuration transactions
|
||||
on slot 0 to slot 1, which is nice.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
|
||||
---
|
||||
drivers/pci/host/pci-mvebu.c | 19 +++++++++++++++----
|
||||
1 file changed, 15 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/pci/host/pci-mvebu.c
|
||||
+++ b/drivers/pci/host/pci-mvebu.c
|
||||
@@ -51,6 +51,7 @@
|
||||
#define PCIE_CTRL_X1_MODE 0x0001
|
||||
#define PCIE_STAT_OFF 0x1a04
|
||||
#define PCIE_STAT_BUS 0xff00
|
||||
+#define PCIE_STAT_DEV 0x1f0000
|
||||
#define PCIE_STAT_LINK_DOWN BIT(0)
|
||||
#define PCIE_DEBUG_CTRL 0x1a60
|
||||
#define PCIE_DEBUG_SOFT_RESET BIT(20)
|
||||
@@ -148,6 +149,16 @@ static void mvebu_pcie_set_local_bus_nr(
|
||||
writel(stat, port->base + PCIE_STAT_OFF);
|
||||
}
|
||||
|
||||
+static void mvebu_pcie_set_local_dev_nr(struct mvebu_pcie_port *port, int nr)
|
||||
+{
|
||||
+ u32 stat;
|
||||
+
|
||||
+ stat = readl(port->base + PCIE_STAT_OFF);
|
||||
+ stat &= ~PCIE_STAT_DEV;
|
||||
+ stat |= nr << 16;
|
||||
+ writel(stat, port->base + PCIE_STAT_OFF);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* Setup PCIE BARs and Address Decode Wins:
|
||||
* BAR[0,2] -> disabled, BAR[1] -> covers all DRAM banks
|
||||
@@ -572,8 +583,7 @@ static int mvebu_pcie_wr_conf(struct pci
|
||||
|
||||
/* Access the real PCIe interface */
|
||||
spin_lock_irqsave(&port->conf_lock, flags);
|
||||
- ret = mvebu_pcie_hw_wr_conf(port, bus,
|
||||
- PCI_DEVFN(1, PCI_FUNC(devfn)),
|
||||
+ ret = mvebu_pcie_hw_wr_conf(port, bus, devfn,
|
||||
where, size, val);
|
||||
spin_unlock_irqrestore(&port->conf_lock, flags);
|
||||
|
||||
@@ -606,8 +616,7 @@ static int mvebu_pcie_rd_conf(struct pci
|
||||
|
||||
/* Access the real PCIe interface */
|
||||
spin_lock_irqsave(&port->conf_lock, flags);
|
||||
- ret = mvebu_pcie_hw_rd_conf(port, bus,
|
||||
- PCI_DEVFN(1, PCI_FUNC(devfn)),
|
||||
+ ret = mvebu_pcie_hw_rd_conf(port, bus, devfn,
|
||||
where, size, val);
|
||||
spin_unlock_irqrestore(&port->conf_lock, flags);
|
||||
|
||||
@@ -817,6 +826,8 @@ static int __init mvebu_pcie_probe(struc
|
||||
continue;
|
||||
}
|
||||
|
||||
+ mvebu_pcie_set_local_dev_nr(port, 1);
|
||||
+
|
||||
if (mvebu_pcie_link_up(port)) {
|
||||
port->haslink = 1;
|
||||
dev_info(&pdev->dev, "PCIe%d.%d: link up\n",
|
@ -0,0 +1,97 @@
|
||||
From ce12bfd48e93b98717a258b8181aed0e19933e1e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 23 May 2013 16:32:52 +0200
|
||||
Subject: [PATCH 18/29] pci: mvebu: allow the enumeration of devices beyond
|
||||
physical bridges
|
||||
|
||||
Until now, the Marvell PCIe driver was only allowing the enumeration
|
||||
of the devices in the secondary bus of the emulated PCI-to-PCI
|
||||
bridge. This works fine when a PCIe device is directly connected into
|
||||
a PCIe slot of the Marvell board.
|
||||
|
||||
However, when the device connected in the PCIe slot is a physical PCIe
|
||||
bridge, beyond which a real PCIe device is connected, it no longer
|
||||
worked, as the driver was preventing the Linux PCI core from seeing
|
||||
such devices.
|
||||
|
||||
This commit fixes that by ensuring that configuration transactions on
|
||||
subordinate busses are properly forwarded on the right PCIe interface.
|
||||
|
||||
Thanks to this patch, a PCIe card beyond a PCIe bridge, itself beyond
|
||||
the emulated PCI-to-PCI bridge is properly detected, with the
|
||||
following layout:
|
||||
|
||||
-[0000:00]-+-01.0-[01]----00.0
|
||||
+-09.0-[02-07]----00.0-[03-07]--+-01.0-[04]--
|
||||
| +-05.0-[05]--
|
||||
| +-07.0-[06]--
|
||||
| \-09.0-[07]----00.0
|
||||
\-0a.0-[08]----00.0
|
||||
|
||||
Where the PCIe interface that sits beyond the emulated PCI-to-PCI
|
||||
bridge at 09.0 allows to access the secondary bus 02, on which there
|
||||
is a PCIe bridge that allows to access the 3 to 7 busses, that are
|
||||
subordinates to this bridge. And on one of this bus (bus 7), there is
|
||||
one real PCIe device connected.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
|
||||
---
|
||||
drivers/pci/host/pci-mvebu.c | 31 ++++++++++++++++++++++++++++---
|
||||
1 file changed, 28 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/drivers/pci/host/pci-mvebu.c
|
||||
+++ b/drivers/pci/host/pci-mvebu.c
|
||||
@@ -554,7 +554,8 @@ mvebu_pcie_find_port(struct mvebu_pcie *
|
||||
if (bus->number == 0 && port->devfn == devfn)
|
||||
return port;
|
||||
if (bus->number != 0 &&
|
||||
- port->bridge.secondary_bus == bus->number)
|
||||
+ bus->number >= port->bridge.secondary_bus &&
|
||||
+ bus->number <= port->bridge.subordinate_bus)
|
||||
return port;
|
||||
}
|
||||
|
||||
@@ -578,7 +579,18 @@ static int mvebu_pcie_wr_conf(struct pci
|
||||
if (bus->number == 0)
|
||||
return mvebu_sw_pci_bridge_write(port, where, size, val);
|
||||
|
||||
- if (!port->haslink || PCI_SLOT(devfn) != 0)
|
||||
+ if (!port->haslink)
|
||||
+ return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
+
|
||||
+ /*
|
||||
+ * On the secondary bus, we don't want to expose any other
|
||||
+ * device than the device physically connected in the PCIe
|
||||
+ * slot, visible in slot 0. In slot 1, there's a special
|
||||
+ * Marvell device that only makes sense when the Armada is
|
||||
+ * used as a PCIe endpoint.
|
||||
+ */
|
||||
+ if (bus->number == port->bridge.secondary_bus &&
|
||||
+ PCI_SLOT(devfn) != 0)
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
|
||||
/* Access the real PCIe interface */
|
||||
@@ -609,7 +621,20 @@ static int mvebu_pcie_rd_conf(struct pci
|
||||
if (bus->number == 0)
|
||||
return mvebu_sw_pci_bridge_read(port, where, size, val);
|
||||
|
||||
- if (!port->haslink || PCI_SLOT(devfn) != 0) {
|
||||
+ if (!port->haslink) {
|
||||
+ *val = 0xffffffff;
|
||||
+ return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * On the secondary bus, we don't want to expose any other
|
||||
+ * device than the device physically connected in the PCIe
|
||||
+ * slot, visible in slot 0. In slot 1, there's a special
|
||||
+ * Marvell device that only makes sense when the Armada is
|
||||
+ * used as a PCIe endpoint.
|
||||
+ */
|
||||
+ if (bus->number == port->bridge.secondary_bus &&
|
||||
+ PCI_SLOT(devfn) != 0) {
|
||||
*val = 0xffffffff;
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
From 370c8181fd848948aeae371bbc1124dc0dead22b Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 23 May 2013 16:32:53 +0200
|
||||
Subject: [PATCH 19/29] pci: mvebu: fix the emulation of the status register
|
||||
|
||||
The status register of the PCI configuration space of PCI-to-PCI
|
||||
bridges contain some read-only bits, and so write-1-to-clear bits. So,
|
||||
the Linux PCI core sometimes writes 0xffff to this status register,
|
||||
and in the current PCI-to-PCI bridge emulation code of the Marvell
|
||||
driver, we do take all those 1s being written. Even the read-only bits
|
||||
are being overwritten.
|
||||
|
||||
For now, all the read-only bits should be emulated to have the zero
|
||||
value.
|
||||
|
||||
The other bits, that are write-1-to-clear bits are used to report
|
||||
various kind of errors, and are never set by the emulated bridge, so
|
||||
there is no need to support this write-1-to-clear bits mechanism.
|
||||
|
||||
As a conclusion, the easiest solution is to simply emulate this status
|
||||
register by returning zero when read, and ignore the writes to it.
|
||||
|
||||
This has two visible effects:
|
||||
|
||||
* The devsel is no longer 'unknown' in, i.e
|
||||
|
||||
Flags: bus master, 66MHz, user-definable features, ?? devsel, latency 0
|
||||
|
||||
becomes:
|
||||
|
||||
Flags: bus master, 66MHz, user-definable features, fast devsel, latency 0
|
||||
|
||||
in lspci -v.
|
||||
|
||||
This was caused by a value of 11b being read for devsel, which is
|
||||
an invalid value. This 11b value being read was due to a previous
|
||||
write of 0xffff into the status register.
|
||||
|
||||
* The capability list is no longer broken, because we indicate to the
|
||||
Linux PCI core that we don't have a Capabilities Pointer in the PCI
|
||||
configuration space of this bridge. The following message is
|
||||
therefore no longer visible in lspci -v:
|
||||
|
||||
Capabilities: [fc] <chain broken>
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
|
||||
---
|
||||
drivers/pci/host/pci-mvebu.c | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/pci/host/pci-mvebu.c
|
||||
+++ b/drivers/pci/host/pci-mvebu.c
|
||||
@@ -69,7 +69,6 @@ struct mvebu_sw_pci_bridge {
|
||||
u16 vendor;
|
||||
u16 device;
|
||||
u16 command;
|
||||
- u16 status;
|
||||
u16 class;
|
||||
u8 interface;
|
||||
u8 revision;
|
||||
@@ -359,7 +358,6 @@ static void mvebu_sw_pci_bridge_init(str
|
||||
|
||||
memset(bridge, 0, sizeof(struct mvebu_sw_pci_bridge));
|
||||
|
||||
- bridge->status = PCI_STATUS_CAP_LIST;
|
||||
bridge->class = PCI_CLASS_BRIDGE_PCI;
|
||||
bridge->vendor = PCI_VENDOR_ID_MARVELL;
|
||||
bridge->device = MARVELL_EMULATED_PCI_PCI_BRIDGE_ID;
|
||||
@@ -386,7 +384,7 @@ static int mvebu_sw_pci_bridge_read(stru
|
||||
break;
|
||||
|
||||
case PCI_COMMAND:
|
||||
- *value = bridge->status << 16 | bridge->command;
|
||||
+ *value = bridge->command;
|
||||
break;
|
||||
|
||||
case PCI_CLASS_REVISION:
|
||||
@@ -479,7 +477,6 @@ static int mvebu_sw_pci_bridge_write(str
|
||||
switch (where & ~3) {
|
||||
case PCI_COMMAND:
|
||||
bridge->command = value & 0xffff;
|
||||
- bridge->status = value >> 16;
|
||||
break;
|
||||
|
||||
case PCI_BASE_ADDRESS_0 ... PCI_BASE_ADDRESS_1:
|
@ -1,439 +0,0 @@
|
||||
From 3bfe255171bf03fa4b776e8e10b93d4dbd7df1e8 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
Date: Tue, 2 Jul 2013 13:00:22 +0200
|
||||
Subject: [PATCH 25/29] ARM: kirkwood: remove redundant DT board files
|
||||
|
||||
With DT support for mv643xx_eth board specific init for some boards now
|
||||
is unneccessary. Remove those board files, Kconfig entries, and
|
||||
corresponding entries in kirkwood_defconfig.
|
||||
|
||||
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
---
|
||||
arch/arm/mach-kirkwood/Kconfig | 148 --------------------------------
|
||||
arch/arm/mach-kirkwood/Makefile | 22 +----
|
||||
arch/arm/mach-kirkwood/board-dnskw.c | 7 --
|
||||
arch/arm/mach-kirkwood/board-dt.c | 80 +----------------
|
||||
arch/arm/mach-kirkwood/board-lsxl.c | 52 -----------
|
||||
arch/arm/mach-kirkwood/board-readynas.c | 28 ------
|
||||
6 files changed, 2 insertions(+), 335 deletions(-)
|
||||
delete mode 100644 arch/arm/mach-kirkwood/board-lsxl.c
|
||||
delete mode 100644 arch/arm/mach-kirkwood/board-readynas.c
|
||||
|
||||
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
|
||||
index b56bd3d..dc99588 100644
|
||||
--- a/arch/arm/mach-kirkwood/Kconfig
|
||||
+++ b/arch/arm/mach-kirkwood/Kconfig
|
||||
@@ -140,20 +140,6 @@ config ARCH_KIRKWOOD_DT
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Marvell Kirkwood using flattened device tree.
|
||||
|
||||
-config MACH_CLOUDBOX_DT
|
||||
- bool "LaCie CloudBox NAS (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the LaCie
|
||||
- CloudBox NAS, using Flattened Device Tree.
|
||||
-
|
||||
-config MACH_DB88F628X_BP_DT
|
||||
- bool "Marvell DB-88F628x-BP Development Board (Flattened Device Tree)"
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the Marvell
|
||||
- DB-88F6281-BP and DB-88F6282-BP Development Board (Flattened
|
||||
- Device Tree).
|
||||
-
|
||||
config MACH_DLINK_KIRKWOOD_DT
|
||||
bool "D-Link Kirkwood-based NAS (Flattened Device Tree)"
|
||||
select ARCH_KIRKWOOD_DT
|
||||
@@ -162,140 +148,6 @@ config MACH_DLINK_KIRKWOOD_DT
|
||||
Kirkwood-based D-Link NASes such as DNS-320 & DNS-325,
|
||||
using Flattened Device Tree.
|
||||
|
||||
-config MACH_DOCKSTAR_DT
|
||||
- bool "Seagate FreeAgent Dockstar (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Seagate FreeAgent Dockstar (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_DREAMPLUG_DT
|
||||
- bool "Marvell DreamPlug (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Marvell DreamPlug (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_GOFLEXNET_DT
|
||||
- bool "Seagate GoFlex Net (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Seagate GoFlex Net (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_GURUPLUG_DT
|
||||
- bool "Marvell GuruPlug Reference Board (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Marvell GuruPlug Reference Board (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_IB62X0_DT
|
||||
- bool "RaidSonic IB-NAS6210, IB-NAS6220 (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- RaidSonic IB-NAS6210 & IB-NAS6220 devices, using
|
||||
- Flattened Device Tree.
|
||||
-
|
||||
-config MACH_ICONNECT_DT
|
||||
- bool "Iomega Iconnect (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here to enable Iomega Iconnect support.
|
||||
-
|
||||
-config MACH_INETSPACE_V2_DT
|
||||
- bool "LaCie Internet Space v2 NAS (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the LaCie
|
||||
- Internet Space v2 NAS, using Flattened Device Tree.
|
||||
-
|
||||
-config MACH_IOMEGA_IX2_200_DT
|
||||
- bool "Iomega StorCenter ix2-200 (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Iomega StorCenter ix2-200 (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_KM_KIRKWOOD_DT
|
||||
- bool "Keymile Kirkwood Reference Design (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
|
||||
-
|
||||
-config MACH_LSXL_DT
|
||||
- bool "Buffalo Linkstation LS-XHL, LS-CHLv2 (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using
|
||||
- Flattened Device Tree.
|
||||
-
|
||||
-config MACH_MPLCEC4_DT
|
||||
- bool "MPL CEC4 (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- MPL CEC4 (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_NETSPACE_LITE_V2_DT
|
||||
- bool "LaCie Network Space Lite v2 NAS (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the LaCie
|
||||
- Network Space Lite v2 NAS, using Flattened Device Tree.
|
||||
-
|
||||
-config MACH_NETSPACE_MAX_V2_DT
|
||||
- bool "LaCie Network Space Max v2 NAS (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the LaCie
|
||||
- Network Space Max v2 NAS, using Flattened Device Tree.
|
||||
-
|
||||
-config MACH_NETSPACE_MINI_V2_DT
|
||||
- bool "LaCie Network Space Mini v2 NAS (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the LaCie
|
||||
- Network Space Mini v2 NAS using Flattened Device Tree.
|
||||
-
|
||||
- This board is embedded in a product named CloudBox, which
|
||||
- provides automatic backup on a 100GB cloud storage. This
|
||||
- should not confused with a more recent LaCie NAS also named
|
||||
- CloudBox. For this last, the disk capacity is 1TB or above.
|
||||
-
|
||||
-config MACH_NETSPACE_V2_DT
|
||||
- bool "LaCie Network Space v2 NAS (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the LaCie
|
||||
- Network Space v2 NAS, using Flattened Device Tree.
|
||||
-
|
||||
-config MACH_OPENBLOCKS_A6_DT
|
||||
- bool "Plat'Home OpenBlocks A6 (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- Plat'Home OpenBlocks A6 (Flattened Device Tree).
|
||||
-
|
||||
-config MACH_READYNAS_DT
|
||||
- bool "NETGEAR ReadyNAS Duo v2 (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- select ARM_APPENDED_DTB
|
||||
- select ARM_ATAG_DTB_COMPAT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- NETGEAR ReadyNAS Duo v2 using Fattened Device Tree.
|
||||
-
|
||||
-config MACH_TOPKICK_DT
|
||||
- bool "USI Topkick (Flattened Device Tree)"
|
||||
- select ARCH_KIRKWOOD_DT
|
||||
- help
|
||||
- Say 'Y' here if you want your kernel to support the
|
||||
- USI Topkick, using Flattened Device Tree
|
||||
-
|
||||
config MACH_TS219_DT
|
||||
bool "Device Tree for QNAP TS-11X, TS-21X NAS"
|
||||
select ARCH_KIRKWOOD_DT
|
||||
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
|
||||
index 2fdc3a7..062f8c7 100644
|
||||
--- a/arch/arm/mach-kirkwood/Makefile
|
||||
+++ b/arch/arm/mach-kirkwood/Makefile
|
||||
@@ -19,25 +19,5 @@ obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o
|
||||
obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
|
||||
|
||||
obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o
|
||||
-obj-$(CONFIG_MACH_CLOUDBOX_DT) += board-ns2.o
|
||||
-obj-$(CONFIG_MACH_DB88F628X_BP_DT) += board-db88f628x-bp.o
|
||||
obj-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += board-dnskw.o
|
||||
-obj-$(CONFIG_MACH_DOCKSTAR_DT) += board-dockstar.o
|
||||
-obj-$(CONFIG_MACH_DREAMPLUG_DT) += board-dreamplug.o
|
||||
-obj-$(CONFIG_MACH_GOFLEXNET_DT) += board-goflexnet.o
|
||||
-obj-$(CONFIG_MACH_GURUPLUG_DT) += board-guruplug.o
|
||||
-obj-$(CONFIG_MACH_IB62X0_DT) += board-ib62x0.o
|
||||
-obj-$(CONFIG_MACH_ICONNECT_DT) += board-iconnect.o
|
||||
-obj-$(CONFIG_MACH_INETSPACE_V2_DT) += board-ns2.o
|
||||
-obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT) += board-iomega_ix2_200.o
|
||||
-obj-$(CONFIG_MACH_KM_KIRKWOOD_DT) += board-km_kirkwood.o
|
||||
-obj-$(CONFIG_MACH_LSXL_DT) += board-lsxl.o
|
||||
-obj-$(CONFIG_MACH_MPLCEC4_DT) += board-mplcec4.o
|
||||
-obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o
|
||||
-obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o
|
||||
-obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o
|
||||
-obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o
|
||||
-obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o
|
||||
-obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o
|
||||
-obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o
|
||||
-obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o
|
||||
+obj-$(CONFIG_MACH_TS219_DT) += tsx1x-common.o
|
||||
diff --git a/arch/arm/mach-kirkwood/board-dnskw.c b/arch/arm/mach-kirkwood/board-dnskw.c
|
||||
index a1aa87f..2af7a95 100644
|
||||
--- a/arch/arm/mach-kirkwood/board-dnskw.c
|
||||
+++ b/arch/arm/mach-kirkwood/board-dnskw.c
|
||||
@@ -14,14 +14,9 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
-#include <linux/mv643xx_eth.h>
|
||||
#include <linux/gpio.h>
|
||||
#include "common.h"
|
||||
|
||||
-static struct mv643xx_eth_platform_data dnskw_ge00_data = {
|
||||
- .phy_addr = MV643XX_ETH_PHY_ADDR(8),
|
||||
-};
|
||||
-
|
||||
/* Register any GPIO for output and set the value */
|
||||
static void __init dnskw_gpio_register(unsigned gpio, char *name, int def)
|
||||
{
|
||||
@@ -36,8 +31,6 @@ static void __init dnskw_gpio_register(unsigned gpio, char *name, int def)
|
||||
|
||||
void __init dnskw_init(void)
|
||||
{
|
||||
- kirkwood_ge00_init(&dnskw_ge00_data);
|
||||
-
|
||||
/* Set NAS to turn back on after a power failure */
|
||||
dnskw_gpio_register(37, "dnskw:power:recover", 1);
|
||||
}
|
||||
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
|
||||
index f5aed1f..15e61c8 100644
|
||||
--- a/arch/arm/mach-kirkwood/board-dt.c
|
||||
+++ b/arch/arm/mach-kirkwood/board-dt.c
|
||||
@@ -106,92 +106,14 @@ static void __init kirkwood_dt_init(void)
|
||||
kexec_reinit = kirkwood_enable_pcie;
|
||||
#endif
|
||||
|
||||
- if (of_machine_is_compatible("globalscale,dreamplug"))
|
||||
- dreamplug_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("globalscale,guruplug"))
|
||||
- guruplug_dt_init();
|
||||
-
|
||||
if (of_machine_is_compatible("dlink,dns-kirkwood"))
|
||||
dnskw_init();
|
||||
|
||||
- if (of_machine_is_compatible("iom,iconnect"))
|
||||
- iconnect_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("raidsonic,ib-nas62x0"))
|
||||
- ib62x0_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("qnap,ts219"))
|
||||
- qnap_dt_ts219_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("seagate,dockstar"))
|
||||
- dockstar_dt_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("seagate,goflexnet"))
|
||||
- goflexnet_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("buffalo,lsxl"))
|
||||
- lsxl_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("iom,ix2-200"))
|
||||
- iomega_ix2_200_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("keymile,km_kirkwood"))
|
||||
- km_kirkwood_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("lacie,cloudbox") ||
|
||||
- of_machine_is_compatible("lacie,inetspace_v2") ||
|
||||
- of_machine_is_compatible("lacie,netspace_lite_v2") ||
|
||||
- of_machine_is_compatible("lacie,netspace_max_v2") ||
|
||||
- of_machine_is_compatible("lacie,netspace_mini_v2") ||
|
||||
- of_machine_is_compatible("lacie,netspace_v2"))
|
||||
- ns2_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("marvell,db-88f6281-bp") ||
|
||||
- of_machine_is_compatible("marvell,db-88f6282-bp"))
|
||||
- db88f628x_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("mpl,cec4"))
|
||||
- mplcec4_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("netgear,readynas-duo-v2"))
|
||||
- netgear_readynas_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("plathome,openblocks-a6"))
|
||||
- openblocks_a6_init();
|
||||
-
|
||||
- if (of_machine_is_compatible("usi,topkick"))
|
||||
- usi_topkick_init();
|
||||
-
|
||||
of_platform_populate(NULL, kirkwood_dt_match_table, NULL, NULL);
|
||||
}
|
||||
|
||||
static const char * const kirkwood_dt_board_compat[] = {
|
||||
- "globalscale,dreamplug",
|
||||
- "globalscale,guruplug",
|
||||
- "dlink,dns-320",
|
||||
- "dlink,dns-325",
|
||||
- "iom,iconnect",
|
||||
- "raidsonic,ib-nas62x0",
|
||||
- "qnap,ts219",
|
||||
- "seagate,dockstar",
|
||||
- "seagate,goflexnet",
|
||||
- "buffalo,lsxl",
|
||||
- "iom,ix2-200",
|
||||
- "keymile,km_kirkwood",
|
||||
- "lacie,cloudbox",
|
||||
- "lacie,inetspace_v2",
|
||||
- "lacie,netspace_lite_v2",
|
||||
- "lacie,netspace_max_v2",
|
||||
- "lacie,netspace_mini_v2",
|
||||
- "lacie,netspace_v2",
|
||||
- "marvell,db-88f6281-bp",
|
||||
- "marvell,db-88f6282-bp",
|
||||
- "mpl,cec4",
|
||||
- "netgear,readynas-duo-v2",
|
||||
- "plathome,openblocks-a6",
|
||||
- "usi,topkick",
|
||||
- "zyxel,nsa310",
|
||||
+ "marvell,kirkwood",
|
||||
NULL
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/mach-kirkwood/board-lsxl.c b/arch/arm/mach-kirkwood/board-lsxl.c
|
||||
deleted file mode 100644
|
||||
index 4ec8b7a..0000000
|
||||
--- a/arch/arm/mach-kirkwood/board-lsxl.c
|
||||
+++ /dev/null
|
||||
@@ -1,52 +0,0 @@
|
||||
-/*
|
||||
- * Copyright 2012 (C), Michael Walle <michael@walle.cc>
|
||||
- *
|
||||
- * arch/arm/mach-kirkwood/board-lsxl.c
|
||||
- *
|
||||
- * Buffalo Linkstation LS-XHL and LS-CHLv2 init for drivers not
|
||||
- * converted to flattened device tree yet.
|
||||
- *
|
||||
- * This file is licensed under the terms of the GNU General Public
|
||||
- * License version 2. This program is licensed "as is" without any
|
||||
- * warranty of any kind, whether express or implied.
|
||||
- */
|
||||
-
|
||||
-#include <linux/kernel.h>
|
||||
-#include <linux/init.h>
|
||||
-#include <linux/platform_device.h>
|
||||
-#include <linux/mv643xx_eth.h>
|
||||
-#include "common.h"
|
||||
-
|
||||
-static struct mv643xx_eth_platform_data lsxl_ge00_data = {
|
||||
- .phy_addr = MV643XX_ETH_PHY_ADDR(0),
|
||||
-};
|
||||
-
|
||||
-static struct mv643xx_eth_platform_data lsxl_ge01_data = {
|
||||
- .phy_addr = MV643XX_ETH_PHY_ADDR(8),
|
||||
-};
|
||||
-
|
||||
-/*
|
||||
- * On the LS-XHL/LS-CHLv2, the shutdown process is following:
|
||||
- * - Userland monitors key events until the power switch goes to off position
|
||||
- * - The board reboots
|
||||
- * - U-boot starts and goes into an idle mode waiting for the user
|
||||
- * to move the switch to ON position
|
||||
- *
|
||||
- */
|
||||
-static void lsxl_power_off(void)
|
||||
-{
|
||||
- kirkwood_restart('h', NULL);
|
||||
-}
|
||||
-
|
||||
-void __init lsxl_init(void)
|
||||
-{
|
||||
- /*
|
||||
- * Basic setup. Needs to be called early.
|
||||
- */
|
||||
-
|
||||
- kirkwood_ge00_init(&lsxl_ge00_data);
|
||||
- kirkwood_ge01_init(&lsxl_ge01_data);
|
||||
-
|
||||
- /* register power-off method */
|
||||
- pm_power_off = lsxl_power_off;
|
||||
-}
|
||||
diff --git a/arch/arm/mach-kirkwood/board-readynas.c b/arch/arm/mach-kirkwood/board-readynas.c
|
||||
deleted file mode 100644
|
||||
index fb42c20..0000000
|
||||
--- a/arch/arm/mach-kirkwood/board-readynas.c
|
||||
+++ /dev/null
|
||||
@@ -1,28 +0,0 @@
|
||||
-/*
|
||||
- * NETGEAR ReadyNAS Duo v2 Board setup for drivers not already
|
||||
- * converted to DT.
|
||||
- *
|
||||
- * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
|
||||
- *
|
||||
- * This program is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU General Public License
|
||||
- * as published by the Free Software Foundation; either version
|
||||
- * 2 of the License, or (at your option) any later version.
|
||||
- */
|
||||
-
|
||||
-#include <linux/kernel.h>
|
||||
-#include <linux/init.h>
|
||||
-#include <linux/platform_device.h>
|
||||
-#include <linux/mv643xx_eth.h>
|
||||
-#include <mach/kirkwood.h>
|
||||
-#include "common.h"
|
||||
-
|
||||
-static struct mv643xx_eth_platform_data netgear_readynas_ge00_data = {
|
||||
- .phy_addr = MV643XX_ETH_PHY_ADDR(0),
|
||||
-};
|
||||
-
|
||||
-void __init netgear_readynas_init(void)
|
||||
-{
|
||||
- kirkwood_ge00_init(&netgear_readynas_ge00_data);
|
||||
- kirkwood_pcie_init(KW_PCIE0);
|
||||
-}
|
||||
--
|
||||
1.8.4.rc1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,84 @@
|
||||
--- a/arch/arm/boot/dts/kirkwood-ib62x0.dts
|
||||
+++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
/ {
|
||||
model = "RaidSonic ICY BOX IB-NAS62x0 (Rev B)";
|
||||
- compatible = "raidsonic,ib-nas6210-b", "raidsonic,ib-nas6220-b", "raidsonic,ib-nas6210", "raidsonic,ib-nas6220", "raidsonic,ib-nas62x0", "marvell,kirkwood-88f6281", "marvell,kirkwood";
|
||||
+ compatible = "raidsonic,ib-nas6210-b", "raidsonic,ib-nas6220-b", "raidsonic,ib-nas6210", "raidsonic,ib-nas6220", "raidsonic,ib-nas62x0", "marvell,kirkwood-88f6281", "marvell,kirkwood";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
@@ -50,6 +50,7 @@
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
};
|
||||
+
|
||||
serial@12000 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -64,19 +65,18 @@
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
- reg = <0x0000000 0x100000>;
|
||||
+ reg = <0x0000000 0xe0000>;
|
||||
};
|
||||
|
||||
- partition@100000 {
|
||||
- label = "uImage";
|
||||
- reg = <0x0100000 0x600000>;
|
||||
+ partition@e0000 {
|
||||
+ label = "u-boot environment";
|
||||
+ reg = <0xe0000 0x100000>;
|
||||
};
|
||||
|
||||
- partition@700000 {
|
||||
- label = "root";
|
||||
- reg = <0x0700000 0xf900000>;
|
||||
+ partition@100000 {
|
||||
+ label = "rootfs";
|
||||
+ reg = <0x100000 0xff00000>;
|
||||
};
|
||||
-
|
||||
};
|
||||
};
|
||||
|
||||
@@ -84,6 +84,7 @@
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
+
|
||||
button@1 {
|
||||
label = "USB Copy";
|
||||
linux,code = <133>;
|
||||
@@ -95,6 +96,7 @@
|
||||
gpios = <&gpio0 28 1>;
|
||||
};
|
||||
};
|
||||
+
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -112,12 +114,11 @@
|
||||
gpios = <&gpio0 27 0>;
|
||||
};
|
||||
};
|
||||
+
|
||||
gpio_poweroff {
|
||||
compatible = "gpio-poweroff";
|
||||
gpios = <&gpio0 24 0>;
|
||||
};
|
||||
-
|
||||
-
|
||||
};
|
||||
|
||||
&mdio {
|
||||
@@ -131,6 +132,7 @@
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
+
|
||||
ethernet0-port@0 {
|
||||
phy-handle = <ðphy0>;
|
||||
};
|
Loading…
Reference in New Issue