Enumeration
Allocate ATS struct during enumeration (Bjorn Helgaas)
Embed ATS info directly into struct pci_dev (Bjorn Helgaas)
Reduce size of ATS structure elements (Bjorn Helgaas)
Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas)
iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas)
Move MPS configuration check to pci_configure_device() (Bjorn Helgaas)
Set MPS to match upstream bridge (Keith Busch)
ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri)
Add pci_scan_root_bus_msi() (Lorenzo Pieralisi)
ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi)
Resource management
Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi)
PCI device hotplug
pciehp: Remove unused interrupt events (Bjorn Helgaas)
pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas)
pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson)
pciehp: Simplify pcie_poll_cmd() (Yijing Wang)
Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang)
Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang)
Hold pci_slot_mutex while searching bus->slots list (Yijing Wang)
Power management
Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui)
Virtualization
Add ACS quirks for Intel I219-LM/V (Alex Williamson)
Restore ACS configuration as part of pci_restore_state() (Alexander Duyck)
MSI
Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu)
Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu)
ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi)
Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi)
Generic host bridge driver
Remove dependency on ARM-specific struct hw_pci (Jayachandran C)
Build setup-irq.o for arm64 (Jayachandran C)
Add arm64 support (Jayachandran C)
APM X-Gene host bridge driver
Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang)
Add support for a 64-bit prefetchable memory window (Duc Dang)
Drop owner assignment from platform_driver (Krzysztof Kozlowski)
Broadcom iProc host bridge driver
Allow BCMA bus driver to be built as module (Hauke Mehrtens)
Delete unnecessary checks before phy calls (Markus Elfring)
Add arm64 support (Ray Jui)
Synopsys DesignWare host bridge driver
Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri)
TI DRA7xx host bridge driver
Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I)
Add PM support (Kishon Vijay Abraham I)
Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I)
Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I)
Xilinx AXI host bridge driver
Check for MSI interrupt flag before handling as INTx (Russell Joyce)
Miscellaneous
Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof Hałasa)
Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas)
Fix generic NCR 53c810 class code quirk (Bjorn Helgaas)
Fix TI816X class code quirk (Bjorn Helgaas)
Remove unused "pci_probe" flags (Bjorn Helgaas)
Host bridge driver code simplifications (Fabio Estevam)
Add dev_flags bit to access VPD through function 0 (Mark Rustad)
Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad)
Kill off set_irq_flags() usage (Rob Herring)
Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar)
Clean up pci_find_capability() (Wei Yang)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJV5FE/AAoJEFmIoMA60/r8I2QP/R9b9MrvH2i9tN98/lTDl7g3
czE58ZM1d4kMYtW3Pm/DrYI6y6RprAaB4ZEp5rHxlFLqBPZEQwWodA19NkjECcb6
g5qKWOdIWA4T6Jaab6a/yCmAFa0jni7iAmmTYqca9o3Xj7tFovxDxqPSYkh+rer0
v+1sAr/4HXSiN339KR6teEF3VZqLFp6ewMydQlVS+R7kAOHHYQDqoo9WF6JnIoL5
PO3Kbmr1WN3fZY3s98yLq1x6XmLrLlmGdJI+2r+KewO4r/05CL6wTVP/oTMi+Eti
dueseeISlOTcTAUhk87Vap23uJPeB/rJbYoFdCr7+0AkZGe/U/E2dpZm2wyMcCvq
OrATuFymgzIuJm5uUPsdH4lzsX97U9BcDccracfC38rYnP5u3bqHCjw8HJzANR7p
VYbFBzc5ZCCUYtQAjyrKt2820AvTFo+Bu+z75IsJO8LQQgv/zGtQQ8grIQeAjH+l
sAe3xOTwzZnq6Obl4qb/GElHmIGUbQ1X4Dx1mliiijKMKkhYHOA0iFnB/OBILmEZ
wHzKU8chWcI9lip0aaX8q9i/qovdVUt2+rdo/N40l7YY66x4jkNgQQXZX+FSKk6H
stTvEBQgK28EKCHDxMsgzTGIqllSyk4DnRMA7ij1hRWqdUbGk7wOPTvm9QSwNDWe
SokuWzAQD9YeMRGdsYjZ
=DX1r
-----END PGP SIGNATURE-----
Merge tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"PCI changes for the v4.3 merge window:
Enumeration:
- Allocate ATS struct during enumeration (Bjorn Helgaas)
- Embed ATS info directly into struct pci_dev (Bjorn Helgaas)
- Reduce size of ATS structure elements (Bjorn Helgaas)
- Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas)
- iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas)
- Move MPS configuration check to pci_configure_device() (Bjorn Helgaas)
- Set MPS to match upstream bridge (Keith Busch)
- ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri)
- Add pci_scan_root_bus_msi() (Lorenzo Pieralisi)
- ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi)
Resource management:
- Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi)
PCI device hotplug:
- pciehp: Remove unused interrupt events (Bjorn Helgaas)
- pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas)
- pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson)
- pciehp: Simplify pcie_poll_cmd() (Yijing Wang)
- Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang)
- Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang)
- Hold pci_slot_mutex while searching bus->slots list (Yijing Wang)
Power management:
- Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui)
Virtualization:
- Add ACS quirks for Intel I219-LM/V (Alex Williamson)
- Restore ACS configuration as part of pci_restore_state() (Alexander Duyck)
MSI:
- Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
- x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
- Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu)
- Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu)
- ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi)
- Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi)
Generic host bridge driver:
- Remove dependency on ARM-specific struct hw_pci (Jayachandran C)
- Build setup-irq.o for arm64 (Jayachandran C)
- Add arm64 support (Jayachandran C)
APM X-Gene host bridge driver:
- Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang)
- Add support for a 64-bit prefetchable memory window (Duc Dang)
- Drop owner assignment from platform_driver (Krzysztof Kozlowski)
Broadcom iProc host bridge driver:
- Allow BCMA bus driver to be built as module (Hauke Mehrtens)
- Delete unnecessary checks before phy calls (Markus Elfring)
- Add arm64 support (Ray Jui)
Synopsys DesignWare host bridge driver:
- Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri)
TI DRA7xx host bridge driver:
- Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I)
- Add PM support (Kishon Vijay Abraham I)
- Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I)
- Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I)
Xilinx AXI host bridge driver:
- Check for MSI interrupt flag before handling as INTx (Russell Joyce)
Miscellaneous:
- Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof Hałasa)
- Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas)
- Fix generic NCR 53c810 class code quirk (Bjorn Helgaas)
- Fix TI816X class code quirk (Bjorn Helgaas)
- Remove unused "pci_probe" flags (Bjorn Helgaas)
- Host bridge driver code simplifications (Fabio Estevam)
- Add dev_flags bit to access VPD through function 0 (Mark Rustad)
- Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad)
- Kill off set_irq_flags() usage (Rob Herring)
- Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar)
- Clean up pci_find_capability() (Wei Yang)"
* tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (72 commits)
PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI
PCI: Set MPS to match upstream bridge
PCI: Move MPS configuration check to pci_configure_device()
PCI: Drop references acquired by of_parse_phandle()
PCI/MSI: Remove unused pcibios_msi_controller() hook
ARM/PCI: Remove msi_controller from struct pci_sys_data
ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi()
PCI: Add pci_scan_root_bus_msi()
ARM/PCI: Replace panic with WARN messages on failures
PCI: generic: Add arm64 support
PCI: Build setup-irq.o for arm64
PCI: generic: Remove dependency on ARM-specific struct hw_pci
PCI: imx6: Simplify a trivial if-return sequence
PCI: spear: Use BUG_ON() instead of condition followed by BUG()
PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE()
PCI: Remove pci_ats_enabled()
PCI: Stop caching ATS Invalidate Queue Depth
PCI: Move ATS declarations to linux/pci.h so they're all together
PCI: Clean up ATS error handling
PCI: Use pci_physfn() rather than looking up physfn by hand
...
842 lines
23 KiB
Text
842 lines
23 KiB
Text
/*
|
|
* dts file for AppliedMicro (APM) X-Gene Storm SOC
|
|
*
|
|
* Copyright (C) 2013, Applied Micro Circuits Corporation
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
/ {
|
|
compatible = "apm,xgene-storm";
|
|
interrupt-parent = <&gic>;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
cpus {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
|
|
cpu@000 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x000>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@001 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x001>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@100 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x100>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@101 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x101>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@200 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x200>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@201 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x201>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@300 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x300>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
cpu@301 {
|
|
device_type = "cpu";
|
|
compatible = "apm,potenza", "arm,armv8";
|
|
reg = <0x0 0x301>;
|
|
enable-method = "spin-table";
|
|
cpu-release-addr = <0x1 0x0000fff8>;
|
|
};
|
|
};
|
|
|
|
gic: interrupt-controller@78010000 {
|
|
compatible = "arm,cortex-a15-gic";
|
|
#interrupt-cells = <3>;
|
|
interrupt-controller;
|
|
reg = <0x0 0x78010000 0x0 0x1000>, /* GIC Dist */
|
|
<0x0 0x78020000 0x0 0x1000>, /* GIC CPU */
|
|
<0x0 0x78040000 0x0 0x2000>, /* GIC VCPU Control */
|
|
<0x0 0x78060000 0x0 0x2000>; /* GIC VCPU */
|
|
interrupts = <1 9 0xf04>; /* GIC Maintenence IRQ */
|
|
};
|
|
|
|
timer {
|
|
compatible = "arm,armv8-timer";
|
|
interrupts = <1 0 0xff01>, /* Secure Phys IRQ */
|
|
<1 13 0xff01>, /* Non-secure Phys IRQ */
|
|
<1 14 0xff01>, /* Virt IRQ */
|
|
<1 15 0xff01>; /* Hyp IRQ */
|
|
clock-frequency = <50000000>;
|
|
};
|
|
|
|
soc {
|
|
compatible = "simple-bus";
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>;
|
|
|
|
clocks {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
refclk: refclk {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <1>;
|
|
clock-frequency = <100000000>;
|
|
clock-output-names = "refclk";
|
|
};
|
|
|
|
pcppll: pcppll@17000100 {
|
|
compatible = "apm,xgene-pcppll-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&refclk 0>;
|
|
clock-names = "pcppll";
|
|
reg = <0x0 0x17000100 0x0 0x1000>;
|
|
clock-output-names = "pcppll";
|
|
type = <0>;
|
|
};
|
|
|
|
socpll: socpll@17000120 {
|
|
compatible = "apm,xgene-socpll-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&refclk 0>;
|
|
clock-names = "socpll";
|
|
reg = <0x0 0x17000120 0x0 0x1000>;
|
|
clock-output-names = "socpll";
|
|
type = <1>;
|
|
};
|
|
|
|
socplldiv2: socplldiv2 {
|
|
compatible = "fixed-factor-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socpll 0>;
|
|
clock-names = "socplldiv2";
|
|
clock-mult = <1>;
|
|
clock-div = <2>;
|
|
clock-output-names = "socplldiv2";
|
|
};
|
|
|
|
qmlclk: qmlclk {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
clock-names = "qmlclk";
|
|
reg = <0x0 0x1703C000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "qmlclk";
|
|
};
|
|
|
|
ethclk: ethclk {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
clock-names = "ethclk";
|
|
reg = <0x0 0x17000000 0x0 0x1000>;
|
|
reg-names = "div-reg";
|
|
divider-offset = <0x238>;
|
|
divider-width = <0x9>;
|
|
divider-shift = <0x0>;
|
|
clock-output-names = "ethclk";
|
|
};
|
|
|
|
menetclk: menetclk {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <ðclk 0>;
|
|
reg = <0x0 0x1702C000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "menetclk";
|
|
};
|
|
|
|
sge0clk: sge0clk@1f21c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f21c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
csr-mask = <0x3>;
|
|
clock-output-names = "sge0clk";
|
|
};
|
|
|
|
sge1clk: sge1clk@1f21c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f21c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
csr-mask = <0xc>;
|
|
clock-output-names = "sge1clk";
|
|
};
|
|
|
|
xge0clk: xge0clk@1f61c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f61c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
csr-mask = <0x3>;
|
|
clock-output-names = "xge0clk";
|
|
};
|
|
|
|
sataphy1clk: sataphy1clk@1f21c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f21c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "sataphy1clk";
|
|
status = "disabled";
|
|
csr-offset = <0x4>;
|
|
csr-mask = <0x00>;
|
|
enable-offset = <0x0>;
|
|
enable-mask = <0x06>;
|
|
};
|
|
|
|
sataphy2clk: sataphy1clk@1f22c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f22c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "sataphy2clk";
|
|
status = "ok";
|
|
csr-offset = <0x4>;
|
|
csr-mask = <0x3a>;
|
|
enable-offset = <0x0>;
|
|
enable-mask = <0x06>;
|
|
};
|
|
|
|
sataphy3clk: sataphy1clk@1f23c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f23c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "sataphy3clk";
|
|
status = "ok";
|
|
csr-offset = <0x4>;
|
|
csr-mask = <0x3a>;
|
|
enable-offset = <0x0>;
|
|
enable-mask = <0x06>;
|
|
};
|
|
|
|
sata01clk: sata01clk@1f21c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f21c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "sata01clk";
|
|
csr-offset = <0x4>;
|
|
csr-mask = <0x05>;
|
|
enable-offset = <0x0>;
|
|
enable-mask = <0x39>;
|
|
};
|
|
|
|
sata23clk: sata23clk@1f22c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f22c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "sata23clk";
|
|
csr-offset = <0x4>;
|
|
csr-mask = <0x05>;
|
|
enable-offset = <0x0>;
|
|
enable-mask = <0x39>;
|
|
};
|
|
|
|
sata45clk: sata45clk@1f23c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f23c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "sata45clk";
|
|
csr-offset = <0x4>;
|
|
csr-mask = <0x05>;
|
|
enable-offset = <0x0>;
|
|
enable-mask = <0x39>;
|
|
};
|
|
|
|
rtcclk: rtcclk@17000000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x17000000 0x0 0x2000>;
|
|
reg-names = "csr-reg";
|
|
csr-offset = <0xc>;
|
|
csr-mask = <0x2>;
|
|
enable-offset = <0x10>;
|
|
enable-mask = <0x2>;
|
|
clock-output-names = "rtcclk";
|
|
};
|
|
|
|
rngpkaclk: rngpkaclk@17000000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x17000000 0x0 0x2000>;
|
|
reg-names = "csr-reg";
|
|
csr-offset = <0xc>;
|
|
csr-mask = <0x10>;
|
|
enable-offset = <0x10>;
|
|
enable-mask = <0x10>;
|
|
clock-output-names = "rngpkaclk";
|
|
};
|
|
|
|
pcie0clk: pcie0clk@1f2bc000 {
|
|
status = "disabled";
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f2bc000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "pcie0clk";
|
|
};
|
|
|
|
pcie1clk: pcie1clk@1f2cc000 {
|
|
status = "disabled";
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f2cc000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "pcie1clk";
|
|
};
|
|
|
|
pcie2clk: pcie2clk@1f2dc000 {
|
|
status = "disabled";
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f2dc000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "pcie2clk";
|
|
};
|
|
|
|
pcie3clk: pcie3clk@1f50c000 {
|
|
status = "disabled";
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f50c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "pcie3clk";
|
|
};
|
|
|
|
pcie4clk: pcie4clk@1f51c000 {
|
|
status = "disabled";
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f51c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "pcie4clk";
|
|
};
|
|
|
|
dmaclk: dmaclk@1f27c000 {
|
|
compatible = "apm,xgene-device-clock";
|
|
#clock-cells = <1>;
|
|
clocks = <&socplldiv2 0>;
|
|
reg = <0x0 0x1f27c000 0x0 0x1000>;
|
|
reg-names = "csr-reg";
|
|
clock-output-names = "dmaclk";
|
|
};
|
|
};
|
|
|
|
msi: msi@79000000 {
|
|
compatible = "apm,xgene1-msi";
|
|
msi-controller;
|
|
reg = <0x00 0x79000000 0x0 0x900000>;
|
|
interrupts = < 0x0 0x10 0x4
|
|
0x0 0x11 0x4
|
|
0x0 0x12 0x4
|
|
0x0 0x13 0x4
|
|
0x0 0x14 0x4
|
|
0x0 0x15 0x4
|
|
0x0 0x16 0x4
|
|
0x0 0x17 0x4
|
|
0x0 0x18 0x4
|
|
0x0 0x19 0x4
|
|
0x0 0x1a 0x4
|
|
0x0 0x1b 0x4
|
|
0x0 0x1c 0x4
|
|
0x0 0x1d 0x4
|
|
0x0 0x1e 0x4
|
|
0x0 0x1f 0x4>;
|
|
};
|
|
|
|
csw: csw@7e200000 {
|
|
compatible = "apm,xgene-csw", "syscon";
|
|
reg = <0x0 0x7e200000 0x0 0x1000>;
|
|
};
|
|
|
|
mcba: mcba@7e700000 {
|
|
compatible = "apm,xgene-mcb", "syscon";
|
|
reg = <0x0 0x7e700000 0x0 0x1000>;
|
|
};
|
|
|
|
mcbb: mcbb@7e720000 {
|
|
compatible = "apm,xgene-mcb", "syscon";
|
|
reg = <0x0 0x7e720000 0x0 0x1000>;
|
|
};
|
|
|
|
efuse: efuse@1054a000 {
|
|
compatible = "apm,xgene-efuse", "syscon";
|
|
reg = <0x0 0x1054a000 0x0 0x20>;
|
|
};
|
|
|
|
edac@78800000 {
|
|
compatible = "apm,xgene-edac";
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
regmap-csw = <&csw>;
|
|
regmap-mcba = <&mcba>;
|
|
regmap-mcbb = <&mcbb>;
|
|
regmap-efuse = <&efuse>;
|
|
reg = <0x0 0x78800000 0x0 0x100>;
|
|
interrupts = <0x0 0x20 0x4>,
|
|
<0x0 0x21 0x4>,
|
|
<0x0 0x27 0x4>;
|
|
|
|
edacmc@7e800000 {
|
|
compatible = "apm,xgene-edac-mc";
|
|
reg = <0x0 0x7e800000 0x0 0x1000>;
|
|
memory-controller = <0>;
|
|
};
|
|
|
|
edacmc@7e840000 {
|
|
compatible = "apm,xgene-edac-mc";
|
|
reg = <0x0 0x7e840000 0x0 0x1000>;
|
|
memory-controller = <1>;
|
|
};
|
|
|
|
edacmc@7e880000 {
|
|
compatible = "apm,xgene-edac-mc";
|
|
reg = <0x0 0x7e880000 0x0 0x1000>;
|
|
memory-controller = <2>;
|
|
};
|
|
|
|
edacmc@7e8c0000 {
|
|
compatible = "apm,xgene-edac-mc";
|
|
reg = <0x0 0x7e8c0000 0x0 0x1000>;
|
|
memory-controller = <3>;
|
|
};
|
|
|
|
edacpmd@7c000000 {
|
|
compatible = "apm,xgene-edac-pmd";
|
|
reg = <0x0 0x7c000000 0x0 0x200000>;
|
|
pmd-controller = <0>;
|
|
};
|
|
|
|
edacpmd@7c200000 {
|
|
compatible = "apm,xgene-edac-pmd";
|
|
reg = <0x0 0x7c200000 0x0 0x200000>;
|
|
pmd-controller = <1>;
|
|
};
|
|
|
|
edacpmd@7c400000 {
|
|
compatible = "apm,xgene-edac-pmd";
|
|
reg = <0x0 0x7c400000 0x0 0x200000>;
|
|
pmd-controller = <2>;
|
|
};
|
|
|
|
edacpmd@7c600000 {
|
|
compatible = "apm,xgene-edac-pmd";
|
|
reg = <0x0 0x7c600000 0x0 0x200000>;
|
|
pmd-controller = <3>;
|
|
};
|
|
};
|
|
|
|
pcie0: pcie@1f2b0000 {
|
|
status = "disabled";
|
|
device_type = "pci";
|
|
compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
|
|
#interrupt-cells = <1>;
|
|
#size-cells = <2>;
|
|
#address-cells = <3>;
|
|
reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */
|
|
0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
|
|
reg-names = "csr", "cfg";
|
|
ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */
|
|
0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000 /* mem */
|
|
0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
|
|
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
|
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
|
|
0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
|
|
0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
|
|
0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
|
|
dma-coherent;
|
|
clocks = <&pcie0clk 0>;
|
|
msi-parent = <&msi>;
|
|
};
|
|
|
|
pcie1: pcie@1f2c0000 {
|
|
status = "disabled";
|
|
device_type = "pci";
|
|
compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
|
|
#interrupt-cells = <1>;
|
|
#size-cells = <2>;
|
|
#address-cells = <3>;
|
|
reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */
|
|
0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
|
|
reg-names = "csr", "cfg";
|
|
ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000 /* io */
|
|
0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000 /* mem */
|
|
0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
|
|
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
|
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
|
|
0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
|
|
0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
|
|
0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
|
|
dma-coherent;
|
|
clocks = <&pcie1clk 0>;
|
|
msi-parent = <&msi>;
|
|
};
|
|
|
|
pcie2: pcie@1f2d0000 {
|
|
status = "disabled";
|
|
device_type = "pci";
|
|
compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
|
|
#interrupt-cells = <1>;
|
|
#size-cells = <2>;
|
|
#address-cells = <3>;
|
|
reg = < 0x00 0x1f2d0000 0x0 0x00010000 /* Controller registers */
|
|
0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
|
|
reg-names = "csr", "cfg";
|
|
ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000 /* io */
|
|
0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000 /* mem */
|
|
0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
|
|
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
|
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
|
|
0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
|
|
0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
|
|
0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
|
|
dma-coherent;
|
|
clocks = <&pcie2clk 0>;
|
|
msi-parent = <&msi>;
|
|
};
|
|
|
|
pcie3: pcie@1f500000 {
|
|
status = "disabled";
|
|
device_type = "pci";
|
|
compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
|
|
#interrupt-cells = <1>;
|
|
#size-cells = <2>;
|
|
#address-cells = <3>;
|
|
reg = < 0x00 0x1f500000 0x0 0x00010000 /* Controller registers */
|
|
0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
|
|
reg-names = "csr", "cfg";
|
|
ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000 /* io */
|
|
0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000 /* mem */
|
|
0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
|
|
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
|
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
|
|
0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
|
|
0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
|
|
0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
|
|
dma-coherent;
|
|
clocks = <&pcie3clk 0>;
|
|
msi-parent = <&msi>;
|
|
};
|
|
|
|
pcie4: pcie@1f510000 {
|
|
status = "disabled";
|
|
device_type = "pci";
|
|
compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
|
|
#interrupt-cells = <1>;
|
|
#size-cells = <2>;
|
|
#address-cells = <3>;
|
|
reg = < 0x00 0x1f510000 0x0 0x00010000 /* Controller registers */
|
|
0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
|
|
reg-names = "csr", "cfg";
|
|
ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000 /* io */
|
|
0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000 /* mem */
|
|
0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
|
|
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
|
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
|
|
0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
|
|
0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
|
|
0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
|
|
dma-coherent;
|
|
clocks = <&pcie4clk 0>;
|
|
msi-parent = <&msi>;
|
|
};
|
|
|
|
serial0: serial@1c020000 {
|
|
status = "disabled";
|
|
device_type = "serial";
|
|
compatible = "ns16550a";
|
|
reg = <0 0x1c020000 0x0 0x1000>;
|
|
reg-shift = <2>;
|
|
clock-frequency = <10000000>; /* Updated by bootloader */
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0x0 0x4c 0x4>;
|
|
};
|
|
|
|
serial1: serial@1c021000 {
|
|
status = "disabled";
|
|
device_type = "serial";
|
|
compatible = "ns16550a";
|
|
reg = <0 0x1c021000 0x0 0x1000>;
|
|
reg-shift = <2>;
|
|
clock-frequency = <10000000>; /* Updated by bootloader */
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0x0 0x4d 0x4>;
|
|
};
|
|
|
|
serial2: serial@1c022000 {
|
|
status = "disabled";
|
|
device_type = "serial";
|
|
compatible = "ns16550a";
|
|
reg = <0 0x1c022000 0x0 0x1000>;
|
|
reg-shift = <2>;
|
|
clock-frequency = <10000000>; /* Updated by bootloader */
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0x0 0x4e 0x4>;
|
|
};
|
|
|
|
serial3: serial@1c023000 {
|
|
status = "disabled";
|
|
device_type = "serial";
|
|
compatible = "ns16550a";
|
|
reg = <0 0x1c023000 0x0 0x1000>;
|
|
reg-shift = <2>;
|
|
clock-frequency = <10000000>; /* Updated by bootloader */
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0x0 0x4f 0x4>;
|
|
};
|
|
|
|
phy1: phy@1f21a000 {
|
|
compatible = "apm,xgene-phy";
|
|
reg = <0x0 0x1f21a000 0x0 0x100>;
|
|
#phy-cells = <1>;
|
|
clocks = <&sataphy1clk 0>;
|
|
status = "disabled";
|
|
apm,tx-boost-gain = <30 30 30 30 30 30>;
|
|
apm,tx-eye-tuning = <2 10 10 2 10 10>;
|
|
};
|
|
|
|
phy2: phy@1f22a000 {
|
|
compatible = "apm,xgene-phy";
|
|
reg = <0x0 0x1f22a000 0x0 0x100>;
|
|
#phy-cells = <1>;
|
|
clocks = <&sataphy2clk 0>;
|
|
status = "ok";
|
|
apm,tx-boost-gain = <30 30 30 30 30 30>;
|
|
apm,tx-eye-tuning = <1 10 10 2 10 10>;
|
|
};
|
|
|
|
phy3: phy@1f23a000 {
|
|
compatible = "apm,xgene-phy";
|
|
reg = <0x0 0x1f23a000 0x0 0x100>;
|
|
#phy-cells = <1>;
|
|
clocks = <&sataphy3clk 0>;
|
|
status = "ok";
|
|
apm,tx-boost-gain = <31 31 31 31 31 31>;
|
|
apm,tx-eye-tuning = <2 10 10 2 10 10>;
|
|
};
|
|
|
|
sata1: sata@1a000000 {
|
|
compatible = "apm,xgene-ahci";
|
|
reg = <0x0 0x1a000000 0x0 0x1000>,
|
|
<0x0 0x1f210000 0x0 0x1000>,
|
|
<0x0 0x1f21d000 0x0 0x1000>,
|
|
<0x0 0x1f21e000 0x0 0x1000>,
|
|
<0x0 0x1f217000 0x0 0x1000>;
|
|
interrupts = <0x0 0x86 0x4>;
|
|
dma-coherent;
|
|
status = "disabled";
|
|
clocks = <&sata01clk 0>;
|
|
phys = <&phy1 0>;
|
|
phy-names = "sata-phy";
|
|
};
|
|
|
|
sata2: sata@1a400000 {
|
|
compatible = "apm,xgene-ahci";
|
|
reg = <0x0 0x1a400000 0x0 0x1000>,
|
|
<0x0 0x1f220000 0x0 0x1000>,
|
|
<0x0 0x1f22d000 0x0 0x1000>,
|
|
<0x0 0x1f22e000 0x0 0x1000>,
|
|
<0x0 0x1f227000 0x0 0x1000>;
|
|
interrupts = <0x0 0x87 0x4>;
|
|
dma-coherent;
|
|
status = "ok";
|
|
clocks = <&sata23clk 0>;
|
|
phys = <&phy2 0>;
|
|
phy-names = "sata-phy";
|
|
};
|
|
|
|
sata3: sata@1a800000 {
|
|
compatible = "apm,xgene-ahci";
|
|
reg = <0x0 0x1a800000 0x0 0x1000>,
|
|
<0x0 0x1f230000 0x0 0x1000>,
|
|
<0x0 0x1f23d000 0x0 0x1000>,
|
|
<0x0 0x1f23e000 0x0 0x1000>;
|
|
interrupts = <0x0 0x88 0x4>;
|
|
dma-coherent;
|
|
status = "ok";
|
|
clocks = <&sata45clk 0>;
|
|
phys = <&phy3 0>;
|
|
phy-names = "sata-phy";
|
|
};
|
|
|
|
sbgpio: sbgpio@17001000{
|
|
compatible = "apm,xgene-gpio-sb";
|
|
reg = <0x0 0x17001000 0x0 0x400>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
interrupts = <0x0 0x28 0x1>,
|
|
<0x0 0x29 0x1>,
|
|
<0x0 0x2a 0x1>,
|
|
<0x0 0x2b 0x1>,
|
|
<0x0 0x2c 0x1>,
|
|
<0x0 0x2d 0x1>;
|
|
};
|
|
|
|
rtc: rtc@10510000 {
|
|
compatible = "apm,xgene-rtc";
|
|
reg = <0x0 0x10510000 0x0 0x400>;
|
|
interrupts = <0x0 0x46 0x4>;
|
|
#clock-cells = <1>;
|
|
clocks = <&rtcclk 0>;
|
|
};
|
|
|
|
menet: ethernet@17020000 {
|
|
compatible = "apm,xgene-enet";
|
|
status = "disabled";
|
|
reg = <0x0 0x17020000 0x0 0xd100>,
|
|
<0x0 0X17030000 0x0 0Xc300>,
|
|
<0x0 0X10000000 0x0 0X200>;
|
|
reg-names = "enet_csr", "ring_csr", "ring_cmd";
|
|
interrupts = <0x0 0x3c 0x4>;
|
|
dma-coherent;
|
|
clocks = <&menetclk 0>;
|
|
/* mac address will be overwritten by the bootloader */
|
|
local-mac-address = [00 00 00 00 00 00];
|
|
phy-connection-type = "rgmii";
|
|
phy-handle = <&menetphy>;
|
|
mdio {
|
|
compatible = "apm,xgene-mdio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
menetphy: menetphy@3 {
|
|
compatible = "ethernet-phy-id001c.c915";
|
|
reg = <0x3>;
|
|
};
|
|
|
|
};
|
|
};
|
|
|
|
sgenet0: ethernet@1f210000 {
|
|
compatible = "apm,xgene1-sgenet";
|
|
status = "disabled";
|
|
reg = <0x0 0x1f210000 0x0 0xd100>,
|
|
<0x0 0x1f200000 0x0 0Xc300>,
|
|
<0x0 0x1B000000 0x0 0X200>;
|
|
reg-names = "enet_csr", "ring_csr", "ring_cmd";
|
|
interrupts = <0x0 0xA0 0x4>,
|
|
<0x0 0xA1 0x4>;
|
|
dma-coherent;
|
|
clocks = <&sge0clk 0>;
|
|
local-mac-address = [00 00 00 00 00 00];
|
|
phy-connection-type = "sgmii";
|
|
};
|
|
|
|
sgenet1: ethernet@1f210030 {
|
|
compatible = "apm,xgene1-sgenet";
|
|
status = "disabled";
|
|
reg = <0x0 0x1f210030 0x0 0xd100>,
|
|
<0x0 0x1f200000 0x0 0Xc300>,
|
|
<0x0 0x1B000000 0x0 0X8000>;
|
|
reg-names = "enet_csr", "ring_csr", "ring_cmd";
|
|
interrupts = <0x0 0xAC 0x4>,
|
|
<0x0 0xAD 0x4>;
|
|
port-id = <1>;
|
|
dma-coherent;
|
|
clocks = <&sge1clk 0>;
|
|
local-mac-address = [00 00 00 00 00 00];
|
|
phy-connection-type = "sgmii";
|
|
};
|
|
|
|
xgenet: ethernet@1f610000 {
|
|
compatible = "apm,xgene1-xgenet";
|
|
status = "disabled";
|
|
reg = <0x0 0x1f610000 0x0 0xd100>,
|
|
<0x0 0x1f600000 0x0 0Xc300>,
|
|
<0x0 0x18000000 0x0 0X200>;
|
|
reg-names = "enet_csr", "ring_csr", "ring_cmd";
|
|
interrupts = <0x0 0x60 0x4>,
|
|
<0x0 0x61 0x4>;
|
|
dma-coherent;
|
|
clocks = <&xge0clk 0>;
|
|
/* mac address will be overwritten by the bootloader */
|
|
local-mac-address = [00 00 00 00 00 00];
|
|
phy-connection-type = "xgmii";
|
|
};
|
|
|
|
rng: rng@10520000 {
|
|
compatible = "apm,xgene-rng";
|
|
reg = <0x0 0x10520000 0x0 0x100>;
|
|
interrupts = <0x0 0x41 0x4>;
|
|
clocks = <&rngpkaclk 0>;
|
|
};
|
|
|
|
dma: dma@1f270000 {
|
|
compatible = "apm,xgene-storm-dma";
|
|
device_type = "dma";
|
|
reg = <0x0 0x1f270000 0x0 0x10000>,
|
|
<0x0 0x1f200000 0x0 0x10000>,
|
|
<0x0 0x1b000000 0x0 0x400000>,
|
|
<0x0 0x1054a000 0x0 0x100>;
|
|
interrupts = <0x0 0x82 0x4>,
|
|
<0x0 0xb8 0x4>,
|
|
<0x0 0xb9 0x4>,
|
|
<0x0 0xba 0x4>,
|
|
<0x0 0xbb 0x4>;
|
|
dma-coherent;
|
|
clocks = <&dmaclk 0>;
|
|
};
|
|
};
|
|
};
|