Commit d5e2d008 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc updates from Michael Ellerman:
 "This was delayed a day or two by some build-breakage on old toolchains
  which we've now fixed.

  There's two PCI commits both acked by Bjorn.

  There's one commit to mm/hugepage.c which is (co)authored by Kirill.

  Highlights:
   - Restructure Linux PTE on Book3S/64 to Radix format from Paul
     Mackerras
   - Book3s 64 MMU cleanup in preparation for Radix MMU from Aneesh
     Kumar K.V
   - Add POWER9 cputable entry from Michael Neuling
   - FPU/Altivec/VSX save/restore optimisations from Cyril Bur
   - Add support for new ftrace ABI on ppc64le from Torsten Duwe

  Various cleanups & minor fixes from:
   - Adam Buchbinder, Andrew Donnellan, Balbir Singh, Christophe Leroy,
     Cyril Bur, Luis Henriques, Madhavan Srinivasan, Pan Xinhui, Russell
     Currey, Sukadev Bhattiprolu, Suraj Jitindar Singh.

  General:
   - atomics: Allow architectures to define their own __atomic_op_*
     helpers from Boqun Feng
   - Implement atomic{, 64}_*_return_* variants and acquire/release/
     relaxed variants for (cmp)xchg from Boqun Feng
   - Add powernv_defconfig from Jeremy Kerr
   - Fix BUG_ON() reporting in real mode from Balbir Singh
   - Add xmon command to dump OPAL msglog from Andrew Donnellan
   - Add xmon command to dump process/task similar to ps(1) from Douglas
     Miller
   - Clean up memory hotplug failure paths from David Gibson

  pci/eeh:
   - Redesign SR-IOV on PowerNV to give absolute isolation between VFs
     from Wei Yang.
   - EEH Support for SRIOV VFs from Wei Yang and Gavin Shan.
   - PCI/IOV: Rename and export virtfn_{add, remove} from Wei Yang
   - PCI: Add pcibios_bus_add_device() weak function from Wei Yang
   - MAINTAINERS: Update EEH details and maintainership from Russell
     Currey

  cxl:
   - Support added to the CXL driver for running on both bare-metal and
     hypervisor systems, from Christophe Lombard and Frederic Barrat.
   - Ignore probes for virtual afu pci devices from Vaibhav Jain

  perf:
   - Export Power8 generic and cache events to sysfs from Sukadev
     Bhattiprolu
   - hv-24x7: Fix usage with chip events, display change in counter
     values, display domain indices in sysfs, eliminate domain suffix in
     event names, from Sukadev Bhattiprolu

  Freescale:
   - Updates from Scott: "Highlights include 8xx optimizations, 32-bit
     checksum optimizations, 86xx consolidation, e5500/e6500 cpu
     hotplug, more fman and other dt bits, and minor fixes/cleanup"

* tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (179 commits)
  powerpc: Fix unrecoverable SLB miss during restore_math()
  powerpc/8xx: Fix do_mtspr_cpu6() build on older compilers
  powerpc/rcpm: Fix build break when SMP=n
  powerpc/book3e-64: Use hardcoded mttmr opcode
  powerpc/fsl/dts: Add "jedec,spi-nor" flash compatible
  powerpc/T104xRDB: add tdm riser card node to device tree
  powerpc32: PAGE_EXEC required for inittext
  powerpc/mpc85xx: Add pcsphy nodes to FManV3 device tree
  powerpc/mpc85xx: Add MDIO bus muxing support to the board device tree(s)
  powerpc/86xx: Introduce and use common dtsi
  powerpc/86xx: Update device tree
  powerpc/86xx: Move dts files to fsl directory
  powerpc/86xx: Switch to kconfig fragments approach
  powerpc/86xx: Update defconfigs
  powerpc/86xx: Consolidate common platform code
  powerpc32: Remove one insn in mulhdu
  powerpc32: small optimisation in flush_icache_range()
  powerpc: Simplify test in __dma_sync()
  powerpc32: move xxxxx_dcache_range() functions inline
  powerpc32: Remove clear_pages() and define clear_page() inline
  ...
parents 31e18236 6e669f08
...@@ -159,7 +159,7 @@ Description: read only ...@@ -159,7 +159,7 @@ Description: read only
Decimal value of the Per Process MMIO space length. Decimal value of the Per Process MMIO space length.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>m/pp_mmio_off What: /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
Date: September 2014 Date: September 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
...@@ -183,7 +183,7 @@ Description: read only ...@@ -183,7 +183,7 @@ Description: read only
Identifies the revision level of the PSL. Identifies the revision level of the PSL.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/base_image What: /sys/class/cxl/<card>/base_image (not in a guest)
Date: September 2014 Date: September 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
...@@ -193,7 +193,7 @@ Description: read only ...@@ -193,7 +193,7 @@ Description: read only
during the initial program load. during the initial program load.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/image_loaded What: /sys/class/cxl/<card>/image_loaded (not in a guest)
Date: September 2014 Date: September 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
...@@ -201,7 +201,7 @@ Description: read only ...@@ -201,7 +201,7 @@ Description: read only
onto the card. onto the card.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/load_image_on_perst What: /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
Date: December 2014 Date: December 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
...@@ -224,7 +224,7 @@ Description: write only ...@@ -224,7 +224,7 @@ Description: write only
to reload the FPGA depending on load_image_on_perst. to reload the FPGA depending on load_image_on_perst.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/perst_reloads_same_image What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
Date: July 2015 Date: July 2015
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
......
...@@ -315,6 +315,16 @@ PROPERTIES ...@@ -315,6 +315,16 @@ PROPERTIES
Value type: <phandle> Value type: <phandle>
Definition: A phandle for 1EEE1588 timer. Definition: A phandle for 1EEE1588 timer.
- pcsphy-handle
Usage required for "fsl,fman-memac" MACs
Value type: <phandle>
Definition: A phandle for pcsphy.
- tbi-handle
Usage required for "fsl,fman-dtsec" MACs
Value type: <phandle>
Definition: A phandle for tbiphy.
EXAMPLE EXAMPLE
fman1_tx28: port@a8000 { fman1_tx28: port@a8000 {
...@@ -340,6 +350,7 @@ ethernet@e0000 { ...@@ -340,6 +350,7 @@ ethernet@e0000 {
reg = <0xe0000 0x1000>; reg = <0xe0000 0x1000>;
fsl,fman-ports = <&fman1_rx8 &fman1_tx28>; fsl,fman-ports = <&fman1_rx8 &fman1_tx28>;
ptp-timer = <&ptp-timer>; ptp-timer = <&ptp-timer>;
tbi-handle = <&tbi0>;
}; };
============================================================================ ============================================================================
...@@ -415,6 +426,13 @@ PROPERTIES ...@@ -415,6 +426,13 @@ PROPERTIES
The settings and programming routines for internal/external The settings and programming routines for internal/external
MDIO are different. Must be included for internal MDIO. MDIO are different. Must be included for internal MDIO.
For internal PHY device on internal mdio bus, a PHY node should be created.
See the definition of the PHY node in booting-without-of.txt for an
example of how to define a PHY (Internal PHY has no interrupt line).
- For "fsl,fman-mdio" compatible internal mdio bus, the PHY is TBI PHY.
- For "fsl,fman-memac-mdio" compatible internal mdio bus, the PHY is PCS PHY,
PCS PHY addr must be '0'.
EXAMPLE EXAMPLE
Example for FMan v2 external MDIO: Example for FMan v2 external MDIO:
...@@ -425,12 +443,29 @@ mdio@f1000 { ...@@ -425,12 +443,29 @@ mdio@f1000 {
interrupts = <101 2 0 0>; interrupts = <101 2 0 0>;
}; };
Example for FMan v2 internal MDIO:
mdio@e3120 {
compatible = "fsl,fman-mdio";
reg = <0xe3120 0xee0>;
fsl,fman-internal-mdio;
tbi1: tbi-phy@8 {
reg = <0x8>;
device_type = "tbi-phy";
};
};
Example for FMan v3 internal MDIO: Example for FMan v3 internal MDIO:
mdio@f1000 { mdio@f1000 {
compatible = "fsl,fman-memac-mdio"; compatible = "fsl,fman-memac-mdio";
reg = <0xf1000 0x1000>; reg = <0xf1000 0x1000>;
fsl,fman-internal-mdio; fsl,fman-internal-mdio;
pcsphy6: ethernet-phy@0 {
reg = <0x0>;
};
}; };
============================================================================= =============================================================================
...@@ -568,6 +603,7 @@ fman@400000 { ...@@ -568,6 +603,7 @@ fman@400000 {
cell-index = <0>; cell-index = <0>;
reg = <0xe0000 0x1000>; reg = <0xe0000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>; fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>;
tbi-handle = <&tbi5>;
}; };
ethernet@e2000 { ethernet@e2000 {
...@@ -575,6 +611,7 @@ fman@400000 { ...@@ -575,6 +611,7 @@ fman@400000 {
cell-index = <1>; cell-index = <1>;
reg = <0xe2000 0x1000>; reg = <0xe2000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>; fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>;
tbi-handle = <&tbi6>;
}; };
ethernet@e4000 { ethernet@e4000 {
...@@ -582,6 +619,7 @@ fman@400000 { ...@@ -582,6 +619,7 @@ fman@400000 {
cell-index = <2>; cell-index = <2>;
reg = <0xe4000 0x1000>; reg = <0xe4000 0x1000>;
fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>; fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>;
tbi-handle = <&tbi7>;
}; };
ethernet@e6000 { ethernet@e6000 {
...@@ -589,6 +627,7 @@ fman@400000 { ...@@ -589,6 +627,7 @@ fman@400000 {
cell-index = <3>; cell-index = <3>;
reg = <0xe6000 0x1000>; reg = <0xe6000 0x1000>;
fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>; fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>;
tbi-handle = <&tbi8>;
}; };
ethernet@e8000 { ethernet@e8000 {
...@@ -596,6 +635,7 @@ fman@400000 { ...@@ -596,6 +635,7 @@ fman@400000 {
cell-index = <4>; cell-index = <4>;
reg = <0xf0000 0x1000>; reg = <0xf0000 0x1000>;
fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>; fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>;
tbi-handle = <&tbi9>;
ethernet@f0000 { ethernet@f0000 {
cell-index = <8>; cell-index = <8>;
......
* Run Control and Power Management
-------------------------------------------
The RCPM performs all device-level tasks associated with device run control
and power management.
Required properites:
- reg : Offset and length of the register set of the RCPM block.
- fsl,#rcpm-wakeup-cells : The number of IPPDEXPCR register cells in the
fsl,rcpm-wakeup property.
- compatible : Must contain a chip-specific RCPM block compatible string
and (if applicable) may contain a chassis-version RCPM compatible
string. Chip-specific strings are of the form "fsl,<chip>-rcpm",
such as:
* "fsl,p2041-rcpm"
* "fsl,p5020-rcpm"
* "fsl,t4240-rcpm"
Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>",
such as:
* "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm
* "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm
* "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm
All references to "1.0" and "2.0" refer to the QorIQ chassis version to
which the chip complies.
Chassis Version Example Chips
--------------- -------------------------------
1.0 p4080, p5020, p5040, p2041, p3041
2.0 t4240, b4860, b4420
2.1 t1040, ls1021
Example:
The RCPM node for T4240:
rcpm: global-utilities@e2000 {
compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
reg = <0xe2000 0x1000>;
fsl,#rcpm-wakeup-cells = <2>;
};
* Freescale RCPM Wakeup Source Device Tree Bindings
-------------------------------------------
Required fsl,rcpm-wakeup property should be added to a device node if the device
can be used as a wakeup source.
- fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR
register cells. The number of IPPDEXPCR register cells is defined in
"fsl,#rcpm-wakeup-cells" in the rcpm node. The first register cell is
the bit mask that should be set in IPPDEXPCR0, and the second register
cell is for IPPDEXPCR1, and so on.
Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a
mechanism for keeping certain blocks awake during STANDBY and MEM, in
order to use them as wake-up sources.
Example:
lpuart0: serial@2950000 {
compatible = "fsl,ls1021a-lpuart";
reg = <0x0 0x2950000 0x0 0x1000>;
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&sysclk>;
clock-names = "ipg";
fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>;
};
...@@ -2620,7 +2620,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. ...@@ -2620,7 +2620,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
nolapic_timer [X86-32,APIC] Do not use the local APIC timer. nolapic_timer [X86-32,APIC] Do not use the local APIC timer.
noltlbs [PPC] Do not use large page/tlb entries for kernel noltlbs [PPC] Do not use large page/tlb entries for kernel
lowmem mapping on PPC40x. lowmem mapping on PPC40x and PPC8xx
nomca [IA-64] Disable machine check abort handling nomca [IA-64] Disable machine check abort handling
......
...@@ -116,6 +116,8 @@ Work Element Descriptor (WED) ...@@ -116,6 +116,8 @@ Work Element Descriptor (WED)
User API User API
======== ========
1. AFU character devices
For AFUs operating in AFU directed mode, two character device For AFUs operating in AFU directed mode, two character device
files will be created. /dev/cxl/afu0.0m will correspond to a files will be created. /dev/cxl/afu0.0m will correspond to a
master context and /dev/cxl/afu0.0s will correspond to a slave master context and /dev/cxl/afu0.0s will correspond to a slave
...@@ -362,6 +364,59 @@ read ...@@ -362,6 +364,59 @@ read
reserved fields: reserved fields:
For future extensions and padding For future extensions and padding
2. Card character device (powerVM guest only)
In a powerVM guest, an extra character device is created for the
card. The device is only used to write (flash) a new image on the
FPGA accelerator. Once the image is written and verified, the
device tree is updated and the card is reset to reload the updated
image.
open
----
Opens the device and allocates a file descriptor to be used with
the rest of the API. The device can only be opened once.
ioctl
-----
CXL_IOCTL_DOWNLOAD_IMAGE:
CXL_IOCTL_VALIDATE_IMAGE:
Starts and controls flashing a new FPGA image. Partial
reconfiguration is not supported (yet), so the image must contain
a copy of the PSL and AFU(s). Since an image can be quite large,
the caller may have to iterate, splitting the image in smaller
chunks.
Takes a pointer to a struct cxl_adapter_image:
struct cxl_adapter_image {
__u64 flags;
__u64 data;
__u64 len_data;
__u64 len_image;
__u64 reserved1;
__u64 reserved2;
__u64 reserved3;
__u64 reserved4;
};
flags:
These flags indicate which optional fields are present in
this struct. Currently all fields are mandatory.
data:
Pointer to a buffer with part of the image to write to the
card.
len_data:
Size of the buffer pointed to by data.
len_image:
Full size of the image.
Sysfs Class Sysfs Class
=========== ===========
......
...@@ -4250,13 +4250,6 @@ M: Maxim Levitsky <maximlevitsky@gmail.com> ...@@ -4250,13 +4250,6 @@ M: Maxim Levitsky <maximlevitsky@gmail.com>
S: Maintained S: Maintained
F: drivers/media/rc/ene_ir.* F: drivers/media/rc/ene_ir.*
ENHANCED ERROR HANDLING (EEH)
M: Gavin Shan <shangw@linux.vnet.ibm.com>
L: linuxppc-dev@lists.ozlabs.org
S: Supported
F: Documentation/powerpc/eeh-pci-error-recovery.txt
F: arch/powerpc/kernel/eeh*.c
EPSON S1D13XXX FRAMEBUFFER DRIVER EPSON S1D13XXX FRAMEBUFFER DRIVER
M: Kristoffer Ericson <kristoffer.ericson@gmail.com> M: Kristoffer Ericson <kristoffer.ericson@gmail.com>
S: Maintained S: Maintained
...@@ -8315,6 +8308,15 @@ L: linux-pci@vger.kernel.org ...@@ -8315,6 +8308,15 @@ L: linux-pci@vger.kernel.org
S: Supported S: Supported
F: Documentation/PCI/pci-error-recovery.txt F: Documentation/PCI/pci-error-recovery.txt
PCI ENHANCED ERROR HANDLING (EEH) FOR POWERPC
M: Russell Currey <ruscur@russell.cc>
L: linuxppc-dev@lists.ozlabs.org
S: Supported
F: Documentation/powerpc/eeh-pci-error-recovery.txt
F: arch/powerpc/kernel/eeh*.c
F: arch/powerpc/platforms/*/eeh*.c
F: arch/powerpc/include/*/eeh*.h
PCI SUBSYSTEM PCI SUBSYSTEM
M: Bjorn Helgaas <bhelgaas@google.com> M: Bjorn Helgaas <bhelgaas@google.com>
L: linux-pci@vger.kernel.org L: linux-pci@vger.kernel.org
......
...@@ -94,6 +94,7 @@ config PPC ...@@ -94,6 +94,7 @@ config PPC
select OF_RESERVED_MEM select OF_RESERVED_MEM
select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_DYNAMIC_FTRACE select HAVE_DYNAMIC_FTRACE
select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACER
select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_TRACER
select SYSCTL_EXCEPTION_TRACE select SYSCTL_EXCEPTION_TRACE
...@@ -304,7 +305,7 @@ config ZONE_DMA32 ...@@ -304,7 +305,7 @@ config ZONE_DMA32
config PGTABLE_LEVELS config PGTABLE_LEVELS
int int
default 2 if !PPC64 default 2 if !PPC64
default 3 if PPC_64K_PAGES default 3 if PPC_64K_PAGES && !PPC_BOOK3S_64
default 4 default 4
source "init/Kconfig" source "init/Kconfig"
...@@ -374,6 +375,24 @@ config PPC_TRANSACTIONAL_MEM ...@@ -374,6 +375,24 @@ config PPC_TRANSACTIONAL_MEM
---help--- ---help---
Support user-mode Transactional Memory on POWERPC. Support user-mode Transactional Memory on POWERPC.
config DISABLE_MPROFILE_KERNEL
bool "Disable use of mprofile-kernel for kernel tracing"
depends on PPC64 && CPU_LITTLE_ENDIAN
default y
help
Selecting this options disables use of the mprofile-kernel ABI for
kernel tracing. That will cause options such as live patching
(CONFIG_LIVEPATCH) which depend on CONFIG_DYNAMIC_FTRACE_WITH_REGS to
be disabled also.
If you have a toolchain which supports mprofile-kernel, then you can
enable this. Otherwise leave it disabled. If you're not sure, say
"N".
config MPROFILE_KERNEL
depends on PPC64 && CPU_LITTLE_ENDIAN
def_bool !DISABLE_MPROFILE_KERNEL
config IOMMU_HELPER config IOMMU_HELPER
def_bool PPC64 def_bool PPC64
...@@ -390,7 +409,7 @@ config SWIOTLB ...@@ -390,7 +409,7 @@ config SWIOTLB
config HOTPLUG_CPU config HOTPLUG_CPU
bool "Support for enabling/disabling CPUs" bool "Support for enabling/disabling CPUs"
depends on SMP && (PPC_PSERIES || \ depends on SMP && (PPC_PSERIES || \
PPC_PMAC || PPC_POWERNV || (PPC_85xx && !PPC_E500MC)) PPC_PMAC || PPC_POWERNV || FSL_SOC_BOOKE)
---help--- ---help---
Say Y here to be able to disable and re-enable individual Say Y here to be able to disable and re-enable individual
CPUs at runtime on SMP machines. CPUs at runtime on SMP machines.
......
...@@ -133,6 +133,21 @@ else ...@@ -133,6 +133,21 @@ else
CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
endif endif
ifdef CONFIG_MPROFILE_KERNEL
ifeq ($(shell $(srctree)/arch/powerpc/scripts/gcc-check-mprofile-kernel.sh $(CC) -I$(srctree)/include -D__KERNEL__),OK)
CC_FLAGS_FTRACE := -pg -mprofile-kernel
KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL
else
# If the user asked for mprofile-kernel but the toolchain doesn't
# support it, emit a warning and deliberately break the build later
# with mprofile-kernel-not-supported. We would prefer to make this an
# error right here, but then the user would never be able to run
# oldconfig to change their configuration.
$(warning Compiler does not support mprofile-kernel, set CONFIG_DISABLE_MPROFILE_KERNEL)
CC_FLAGS_FTRACE := -mprofile-kernel-not-supported
endif
endif
CFLAGS-$(CONFIG_CELL_CPU) += $(call cc-option,-mcpu=cell) CFLAGS-$(CONFIG_CELL_CPU) += $(call cc-option,-mcpu=cell)
CFLAGS-$(CONFIG_POWER4_CPU) += $(call cc-option,-mcpu=power4) CFLAGS-$(CONFIG_POWER4_CPU) += $(call cc-option,-mcpu=power4)
CFLAGS-$(CONFIG_POWER5_CPU) += $(call cc-option,-mcpu=power5) CFLAGS-$(CONFIG_POWER5_CPU) += $(call cc-option,-mcpu=power5)
...@@ -310,6 +325,16 @@ corenet64_smp_defconfig: ...@@ -310,6 +325,16 @@ corenet64_smp_defconfig:
$(call merge_into_defconfig,corenet_basic_defconfig,\ $(call merge_into_defconfig,corenet_basic_defconfig,\
85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw) 85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw)
PHONY += mpc86xx_defconfig
mpc86xx_defconfig:
$(call merge_into_defconfig,mpc86xx_basic_defconfig,\
86xx-hw fsl-emb-nonhw)
PHONY += mpc86xx_smp_defconfig
mpc86xx_smp_defconfig:
$(call merge_into_defconfig,mpc86xx_basic_defconfig,\
86xx-smp 86xx-hw fsl-emb-nonhw)
define archhelp define archhelp
@echo '* zImage - Build default images selected by kernel config' @echo '* zImage - Build default images selected by kernel config'
@echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
......
/* /*
* B4860DS Device Tree Source * B4860DS Device Tree Source
* *
* Copyright 2012 Freescale Semiconductor Inc. * Copyright 2012 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -39,12 +39,69 @@ / { ...@@ -39,12 +39,69 @@ / {
model = "fsl,B4860QDS"; model = "fsl,B4860QDS";
compatible = "fsl,B4860QDS"; compatible = "fsl,B4860QDS";
aliases {
phy_sgmii_1e = &phy_sgmii_1e;
phy_sgmii_1f = &phy_sgmii_1f;
phy_xaui_slot1 = &phy_xaui_slot1;
phy_xaui_slot2 = &phy_xaui_slot2;
};
ifc: localbus@ffe124000 { ifc: localbus@ffe124000 {
board-control@3,0 { board-control@3,0 {
compatible = "fsl,b4860qds-fpga", "fsl,fpga-qixis"; compatible = "fsl,b4860qds-fpga", "fsl,fpga-qixis";
}; };
}; };
soc@ffe000000 {
fman@400000 {
ethernet@e8000 {
phy-handle = <&phy_sgmii_1e>;
phy-connection-type = "sgmii";
};
ethernet@ea000 {
phy-handle = <&phy_sgmii_1f>;
phy-connection-type = "sgmii";
};
ethernet@f0000 {
phy-handle = <&phy_xaui_slot1>;
phy-connection-type = "xgmii";
};
ethernet@f2000 {
phy-handle = <&phy_xaui_slot2>;
phy-connection-type = "xgmii";
};
mdio@fc000 {
phy_sgmii_1e: ethernet-phy@1e {
reg = <0x1e>;
status = "disabled";
};
phy_sgmii_1f: ethernet-phy@1f {
reg = <0x1f>;
status = "disabled";
};
};
mdio@fd000 {
phy_xaui_slot1: xaui-phy@slot1 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x7>;
status = "disabled";
};
phy_xaui_slot2: xaui-phy@slot2 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x6>;
status = "disabled";
};
};
};
};
rio: rapidio@ffe0c0000 { rio: rapidio@ffe0c0000 {
reg = <0xf 0xfe0c0000 0 0x11000>; reg = <0xf 0xfe0c0000 0 0x11000>;
...@@ -55,7 +112,6 @@ port2 { ...@@ -55,7 +112,6 @@ port2 {
ranges = <0 0 0xc 0x30000000 0 0x10000000>; ranges = <0 0 0xc 0x30000000 0 0x10000000>;
}; };
}; };
}; };
/include/ "b4860si-post.dtsi" /include/ "b4860si-post.dtsi"
/* /*
* B4420DS Device Tree Source * B4420DS Device Tree Source
* *
* Copyright 2012 - 2014 Freescale Semiconductor, Inc. * Copyright 2012 - 2015 Freescale Semiconductor, Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -39,6 +39,13 @@ / { ...@@ -39,6 +39,13 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases {
phy_sgmii_10 = &phy_sgmii_10;
phy_sgmii_11 = &phy_sgmii_11;
phy_sgmii_1c = &phy_sgmii_1c;
phy_sgmii_1d = &phy_sgmii_1d;
};
ifc: localbus@ffe124000 { ifc: localbus@ffe124000 {
reg = <0xf 0xfe124000 0 0x2000>; reg = <0xf 0xfe124000 0 0x2000>;
ranges = <0 0 0xf 0xe8000000 0x08000000 ranges = <0 0 0xf 0xe8000000 0x08000000
...@@ -135,7 +142,7 @@ spi@110000 { ...@@ -135,7 +142,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "sst,sst25wf040"; compatible = "sst,sst25wf040", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
}; };
...@@ -210,6 +217,47 @@ usb@210000 { ...@@ -210,6 +217,47 @@ usb@210000 {
phy_type = "ulpi"; phy_type = "ulpi";
}; };
fman@400000 {
ethernet@e0000 {
phy-handle = <&phy_sgmii_10>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-handle = <&phy_sgmii_11>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy_sgmii_1c>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&phy_sgmii_1d>;
phy-connection-type = "sgmii";
};
mdio@fc000 {
phy_sgmii_10: ethernet-phy@10 {
reg = <0x10>;
};
phy_sgmii_11: ethernet-phy@11 {
reg = <0x11>;
};
phy_sgmii_1c: ethernet-phy@1c {
reg = <0x1c>;
status = "disabled";
};
phy_sgmii_1d: ethernet-phy@1d {
reg = <0x1d>;
status = "disabled";
};
};
};
}; };
pci0: pcie@ffe200000 { pci0: pcie@ffe200000 {
...@@ -226,7 +274,6 @@ pcie@0 { ...@@ -226,7 +274,6 @@ pcie@0 {
0 0x00010000>; 0 0x00010000>;
}; };
}; };
}; };
/include/ "b4si-post.dtsi" /include/ "b4si-post.dtsi"
...@@ -53,7 +53,7 @@ spi@7000 { ...@@ -53,7 +53,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <50000000>; spi-max-frequency = <50000000>;
......
...@@ -55,7 +55,7 @@ spi@7000 { ...@@ -55,7 +55,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <30000000>; spi-max-frequency = <30000000>;
}; };
......
...@@ -167,7 +167,7 @@ spi@7000 { ...@@ -167,7 +167,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <50000000>; spi-max-frequency = <50000000>;
......
...@@ -18,62 +18,19 @@ ...@@ -18,62 +18,19 @@
* Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts * Compiled with dtc -I dts -O dtb -o gef_ppc9a.dtb gef_ppc9a.dts
*/ */
/dts-v1/; /include/ "mpc8641si-pre.dtsi"
/ { / {
model = "GEF_PPC9A"; model = "GEF_PPC9A";
compatible = "gef,ppc9a"; compatible = "gef,ppc9a";
#address-cells = <1>;
#size-cells = <1>;
aliases {
ethernet0 = &enet0;
ethernet1 = &enet1;
serial0 = &serial0;
serial1 = &serial1;
pci0 = &pci0;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8641@0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <32>; // 32 bytes
i-cache-line-size = <32>; // 32 bytes
d-cache-size = <32768>; // L1, 32K
i-cache-size = <32768>; // L1, 32K
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
PowerPC,8641@1 {
device_type = "cpu";
reg = <1>;
d-cache-line-size = <32>; // 32 bytes
i-cache-line-size = <32>; // 32 bytes
d-cache-size = <32768>; // L1, 32K
i-cache-size = <32768>; // L1, 32K
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
};
memory { memory {
device_type = "memory"; device_type = "memory";
reg = <0x0 0x40000000>; // set by uboot reg = <0x0 0x40000000>; // set by uboot
}; };
localbus@fef05000 { lbc: localbus@fef05000 {
#address-cells = <2>;
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>; reg = <0xfef05000 0x1000>;
interrupts = <19 2>;
interrupt-parent = <&mpic>;
ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash
1 0 0xe8000000 0x08000000 // Paged Flash 0 1 0 0xe8000000 0x08000000 // Paged Flash 0
...@@ -150,9 +107,7 @@ gef_pic: pic@4,4000 { ...@@ -150,9 +107,7 @@ gef_pic: pic@4,4000 {
interrupt-controller; interrupt-controller;
compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00"; compatible = "gef,ppc9a-fpga-pic", "gef,fpga-pic-1.00";
reg = <0x4 0x4000 0x20>; reg = <0x4 0x4000 0x20>;
interrupts = <0x8 interrupts = <0x8 0x9 0 0>;
0x9>;
interrupt-parent = <&mpic>;
}; };
gef_gpio: gpio@7,14000 { gef_gpio: gpio@7,14000 {
...@@ -163,37 +118,10 @@ gef_gpio: gpio@7,14000 { ...@@ -163,37 +118,10 @@ gef_gpio: gpio@7,14000 {
}; };
}; };
soc@fef00000 { soc: soc@fef00000 {
#address-cells = <1>;
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef00000 0x00100000>; ranges = <0x0 0xfef00000 0x00100000>;
bus-frequency = <33333333>;
mcm-law@0 {
compatible = "fsl,mcm-law";
reg = <0x0 0x1000>;
fsl,num-laws = <10>;
};
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
interrupts = <17 2>;
interrupt-parent = <&mpic>;
};
i2c1: i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
interrupts = <0x2b 0x2>;
interrupt-parent = <&mpic>;
dfsrr;
i2c@3000 {
hwmon@48 { hwmon@48 {
compatible = "national,lm92"; compatible = "national,lm92";
reg = <0x48>; reg = <0x48>;
...@@ -215,204 +143,65 @@ eti@6b { ...@@ -215,204 +143,65 @@ eti@6b {
}; };
}; };
i2c2: i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
interrupts = <0x2b 0x2>;
interrupt-parent = <&mpic>;
dfsrr;
};
dma@21300 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,mpc8641-dma", "fsl,eloplus-dma";
reg = <0x21300 0x4>;
ranges = <0x0 0x21100 0x200>;
cell-index = <0>;
dma-channel@0 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
interrupt-parent = <&mpic>;
interrupts = <20 2>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
interrupt-parent = <&mpic>;
interrupts = <21 2>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x100 0x80>;
cell-index = <2>;
interrupt-parent = <&mpic>;
interrupts = <22 2>;
};
dma-channel@180 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x180 0x80>;
cell-index = <3>;
interrupt-parent = <&mpic>;
interrupts = <23 2>;
};
};
enet0: ethernet@24000 { enet0: ethernet@24000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <0>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>; tbi-handle = <&tbi0>;
phy-handle = <&phy0>; phy-handle = <&phy0>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
};
mdio@520 { mdio@24520 {
#address-cells = <1>; phy0: ethernet-phy@0 {
#size-cells = <0>; interrupt-parent = <&gef_pic>;
compatible = "fsl,gianfar-mdio"; interrupts = <0x9 0x4>;
reg = <0x520 0x20>; reg = <1>;
};
phy0: ethernet-phy@0 { phy2: ethernet-phy@2 {
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x9 0x4>; interrupts = <0x8 0x4>;
reg = <1>; reg = <3>;
}; };
phy2: ethernet-phy@2 { tbi0: tbi-phy@11 {
interrupt-parent = <&gef_pic>; reg = <0x11>;
interrupts = <0x8 0x4>; device_type = "tbi-phy";
reg = <3>;
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
}; };
}; };
enet1: ethernet@26000 { enet1: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>; tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
}; };
serial0: serial@4500 { mdio@26520 {
cell-index = <0>; tbi2: tbi-phy@11 {
device_type = "serial"; reg = <0x11>;
compatible = "fsl,ns16550", "ns16550"; device_type = "tbi-phy";
reg = <0x4500 0x100>; };
clock-frequency = <0>;
interrupts = <0x2a 0x2>;
interrupt-parent = <&mpic>;
}; };
serial1: serial@4600 { enet2: ethernet@25000 {
cell-index = <1>; status = "disabled";
device_type = "serial";
compatible = "fsl,ns16550", "ns16550";
reg = <0x4600 0x100>;
clock-frequency = <0>;
interrupts = <0x1c 0x2>;
interrupt-parent = <&mpic>;
}; };
mpic: pic@40000 { mdio@25520 {
clock-frequency = <0>; status = "disabled";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
reg = <0x40000 0x40000>;
compatible = "chrp,open-pic";
device_type = "open-pic";
}; };
msi@41600 { enet3: ethernet@27000 {
compatible = "fsl,mpc8641-msi", "fsl,mpic-msi"; status = "disabled";
reg = <0x41600 0x80>;
msi-available-ranges = <0 0x100>;
interrupts = <
0xe0 0
0xe1 0
0xe2 0
0xe3 0
0xe4 0
0xe5 0
0xe6 0
0xe7 0>;
interrupt-parent = <&mpic>;
}; };
global-utilities@e0000 { mdio@27520 {
compatible = "fsl,mpc8641-guts"; status = "disabled";
reg = <0xe0000 0x1000>;
fsl,has-rstcr;
}; };
}; };
pci0: pcie@fef08000 { pci0: pcie@fef08000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xfef08000 0x1000>; reg = <0xfef08000 0x1000>;
bus-range = <0x0 0xff>;
ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>; 0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
clock-frequency = <33333333>;
interrupt-parent = <&mpic>;
interrupts = <0x18 0x2>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <
0x0000 0x0 0x0 0x1 &mpic 0x0 0x1
0x0000 0x0 0x0 0x2 &mpic 0x1 0x1
0x0000 0x0 0x0 0x3 &mpic 0x2 0x1
0x0000 0x0 0x0 0x4 &mpic 0x3 0x1
>;
pcie@0 { pcie@0 {
reg = <0 0 0 0 0>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
ranges = <0x02000000 0x0 0x80000000 ranges = <0x02000000 0x0 0x80000000
0x02000000 0x0 0x80000000 0x02000000 0x0 0x80000000
0x0 0x40000000 0x0 0x40000000
...@@ -423,3 +212,5 @@ pcie@0 { ...@@ -423,3 +212,5 @@ pcie@0 {
}; };
}; };
}; };
/include/ "mpc8641si-post.dtsi"
...@@ -18,63 +18,23 @@ ...@@ -18,63 +18,23 @@
* Compiled with dtc -I dts -O dtb -o gef_sbc310.dtb gef_sbc310.dts * Compiled with dtc -I dts -O dtb -o gef_sbc310.dtb gef_sbc310.dts
*/ */
/dts-v1/; /include/ "mpc8641si-pre.dtsi"
/ { / {
model = "GEF_SBC310"; model = "GEF_SBC310";
compatible = "gef,sbc310"; compatible = "gef,sbc310";
#address-cells = <1>;
#size-cells = <1>;
aliases { aliases {
ethernet0 = &enet0;
ethernet1 = &enet1;
serial0 = &serial0;
serial1 = &serial1;
pci0 = &pci0;
pci1 = &pci1; pci1 = &pci1;
}; };
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8641@0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <32>; // 32 bytes
i-cache-line-size = <32>; // 32 bytes
d-cache-size = <32768>; // L1, 32K
i-cache-size = <32768>; // L1, 32K
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
PowerPC,8641@1 {
device_type = "cpu";
reg = <1>;
d-cache-line-size = <32>; // 32 bytes
i-cache-line-size = <32>; // 32 bytes
d-cache-size = <32768>; // L1, 32K
i-cache-size = <32768>; // L1, 32K
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
};
memory { memory {
device_type = "memory"; device_type = "memory";
reg = <0x0 0x40000000>; // set by uboot reg = <0x0 0x40000000>; // set by uboot
}; };
localbus@fef05000 { lbc: localbus@fef05000 {
#address-cells = <2>;
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>; reg = <0xfef05000 0x1000>;
interrupts = <19 2>;
interrupt-parent = <&mpic>;
ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash
1 0 0xe0000000 0x08000000 // Paged Flash 0 1 0 0xe0000000 0x08000000 // Paged Flash 0
...@@ -148,9 +108,7 @@ gef_pic: pic@4,4000 { ...@@ -148,9 +108,7 @@ gef_pic: pic@4,4000 {
interrupt-controller; interrupt-controller;
compatible = "gef,sbc310-fpga-pic", "gef,fpga-pic"; compatible = "gef,sbc310-fpga-pic", "gef,fpga-pic";
reg = <0x4 0x4000 0x20>; reg = <0x4 0x4000 0x20>;
interrupts = <0x8 interrupts = <0x8 0x9 0 0>;
0x9>;
interrupt-parent = <&mpic>;
}; };
gef_gpio: gpio@4,8000 { gef_gpio: gpio@4,8000 {
...@@ -161,52 +119,17 @@ gef_gpio: gpio@4,8000 { ...@@ -161,52 +119,17 @@ gef_gpio: gpio@4,8000 {
}; };
}; };
soc@fef00000 { soc: soc@fef00000 {
#address-cells = <1>;
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef00000 0x00100000>; ranges = <0x0 0xfef00000 0x00100000>;
bus-frequency = <33333333>;
mcm-law@0 {
compatible = "fsl,mcm-law";
reg = <0x0 0x1000>;
fsl,num-laws = <10>;
};
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
interrupts = <17 2>;
interrupt-parent = <&mpic>;
};
i2c1: i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
interrupts = <0x2b 0x2>;
interrupt-parent = <&mpic>;
dfsrr;
i2c@3000 {
rtc@51 { rtc@51 {
compatible = "epson,rx8581"; compatible = "epson,rx8581";
reg = <0x00000051>; reg = <0x00000051>;
}; };
}; };
i2c2: i2c@3100 { i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
interrupts = <0x2b 0x2>;
interrupt-parent = <&mpic>;
dfsrr;
hwmon@48 { hwmon@48 {
compatible = "national,lm92"; compatible = "national,lm92";
reg = <0x48>; reg = <0x48>;
...@@ -223,181 +146,63 @@ eti@6b { ...@@ -223,181 +146,63 @@ eti@6b {
}; };
}; };
dma@21300 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,mpc8641-dma", "fsl,eloplus-dma";
reg = <0x21300 0x4>;
ranges = <0x0 0x21100 0x200>;
cell-index = <0>;
dma-channel@0 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
interrupt-parent = <&mpic>;
interrupts = <20 2>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
interrupt-parent = <&mpic>;
interrupts = <21 2>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x100 0x80>;
cell-index = <2>;
interrupt-parent = <&mpic>;
interrupts = <22 2>;
};
dma-channel@180 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x180 0x80>;
cell-index = <3>;
interrupt-parent = <&mpic>;
interrupts = <23 2>;
};
};
enet0: ethernet@24000 { enet0: ethernet@24000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <0>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>; tbi-handle = <&tbi0>;
phy-handle = <&phy0>; phy-handle = <&phy0>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
};
mdio@520 { mdio@24520 {
#address-cells = <1>; phy0: ethernet-phy@0 {
#size-cells = <0>; interrupt-parent = <&gef_pic>;
compatible = "fsl,gianfar-mdio"; interrupts = <0x9 0x4>;
reg = <0x520 0x20>; reg = <1>;
};
phy0: ethernet-phy@0 { phy2: ethernet-phy@2 {
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x9 0x4>; interrupts = <0x8 0x4>;
reg = <1>; reg = <3>;
}; };
phy2: ethernet-phy@2 { tbi0: tbi-phy@11 {
interrupt-parent = <&gef_pic>; reg = <0x11>;
interrupts = <0x8 0x4>; device_type = "tbi-phy";
reg = <3>;
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
}; };
}; };
enet1: ethernet@26000 { enet1: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>; tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
}; };
serial0: serial@4500 { mdio@26520 {
cell-index = <0>; tbi2: tbi-phy@11 {
device_type = "serial"; reg = <0x11>;
compatible = "fsl,ns16550", "ns16550"; device_type = "tbi-phy";
reg = <0x4500 0x100>; };
clock-frequency = <0>;
interrupts = <0x2a 0x2>;
interrupt-parent = <&mpic>;
}; };
serial1: serial@4600 { enet2: ethernet@25000 {
cell-index = <1>; status = "disabled";
device_type = "serial";
compatible = "fsl,ns16550", "ns16550";
reg = <0x4600 0x100>;
clock-frequency = <0>;
interrupts = <0x1c 0x2>;
interrupt-parent = <&mpic>;
}; };
mpic: pic@40000 { mdio@25520 {
clock-frequency = <0>; status = "disabled";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
reg = <0x40000 0x40000>;
compatible = "chrp,open-pic";
device_type = "open-pic";
}; };
msi@41600 { enet3: ethernet@27000 {
compatible = "fsl,mpc8641-msi", "fsl,mpic-msi"; status = "disabled";
reg = <0x41600 0x80>;
msi-available-ranges = <0 0x100>;
interrupts = <
0xe0 0
0xe1 0
0xe2 0
0xe3 0
0xe4 0
0xe5 0
0xe6 0
0xe7 0>;
interrupt-parent = <&mpic>;
}; };
global-utilities@e0000 { mdio@27520 {
compatible = "fsl,mpc8641-guts"; status = "disabled";
reg = <0xe0000 0x1000>;
fsl,has-rstcr;
}; };
}; };
pci0: pcie@fef08000 { pci0: pcie@fef08000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xfef08000 0x1000>; reg = <0xfef08000 0x1000>;
bus-range = <0x0 0xff>;
ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>; 0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
clock-frequency = <33333333>;
interrupt-parent = <&mpic>;
interrupts = <0x18 0x2>;
interrupt-map-mask = <0xff00 0x0 0x0 0x7>; interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
interrupt-map = < interrupt-map = <
0x0000 0x0 0x0 0x1 &mpic 0x0 0x2 0x0000 0x0 0x0 0x1 &mpic 0x0 0x2
...@@ -407,10 +212,6 @@ pci0: pcie@fef08000 { ...@@ -407,10 +212,6 @@ pci0: pcie@fef08000 {
>; >;
pcie@0 { pcie@0 {
reg = <0 0 0 0 0>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
ranges = <0x02000000 0x0 0x80000000 ranges = <0x02000000 0x0 0x80000000
0x02000000 0x0 0x80000000 0x02000000 0x0 0x80000000
0x0 0x40000000 0x0 0x40000000
...@@ -424,16 +225,14 @@ pcie@0 { ...@@ -424,16 +225,14 @@ pcie@0 {
pci1: pcie@fef09000 { pci1: pcie@fef09000 {
compatible = "fsl,mpc8641-pcie"; compatible = "fsl,mpc8641-pcie";
device_type = "pci"; device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>; #size-cells = <2>;
#address-cells = <3>; #address-cells = <3>;
reg = <0xfef09000 0x1000>; reg = <0xfef09000 0x1000>;
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000 ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000
0x01000000 0x0 0x00000000 0xfe400000 0x0 0x00400000>; 0x01000000 0x0 0x00000000 0xfe400000 0x0 0x00400000>;
clock-frequency = <33333333>; clock-frequency = <100000000>;
interrupt-parent = <&mpic>; interrupts = <0x19 0x2 0 0>;
interrupts = <0x19 0x2>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>; interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = < interrupt-map = <
0x0000 0x0 0x0 0x1 &mpic 0x4 0x2 0x0000 0x0 0x0 0x1 &mpic 0x4 0x2
...@@ -457,3 +256,5 @@ pcie@0 { ...@@ -457,3 +256,5 @@ pcie@0 {
}; };
}; };
}; };
/include/ "mpc8641si-post.dtsi"
...@@ -18,62 +18,19 @@ ...@@ -18,62 +18,19 @@
* Compiled with dtc -I dts -O dtb -o gef_sbc610.dtb gef_sbc610.dts * Compiled with dtc -I dts -O dtb -o gef_sbc610.dtb gef_sbc610.dts
*/ */
/dts-v1/; /include/ "mpc8641si-pre.dtsi"
/ { / {
model = "GEF_SBC610"; model = "GEF_SBC610";
compatible = "gef,sbc610"; compatible = "gef,sbc610";
#address-cells = <1>;
#size-cells = <1>;
aliases {
ethernet0 = &enet0;
ethernet1 = &enet1;
serial0 = &serial0;
serial1 = &serial1;
pci0 = &pci0;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8641@0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <32>; // 32 bytes
i-cache-line-size = <32>; // 32 bytes
d-cache-size = <32768>; // L1, 32K
i-cache-size = <32768>; // L1, 32K
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
PowerPC,8641@1 {
device_type = "cpu";
reg = <1>;
d-cache-line-size = <32>; // 32 bytes
i-cache-line-size = <32>; // 32 bytes
d-cache-size = <32768>; // L1, 32K
i-cache-size = <32768>; // L1, 32K
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
};
memory { memory {
device_type = "memory"; device_type = "memory";
reg = <0x0 0x40000000>; // set by uboot reg = <0x0 0x40000000>; // set by uboot
}; };
localbus@fef05000 { lbc: localbus@fef05000 {
#address-cells = <2>;
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xfef05000 0x1000>; reg = <0xfef05000 0x1000>;
interrupts = <19 2>;
interrupt-parent = <&mpic>;
ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash
1 0 0xe8000000 0x08000000 // Paged Flash 0 1 0 0xe8000000 0x08000000 // Paged Flash 0
...@@ -148,9 +105,7 @@ gef_pic: pic@4,4000 { ...@@ -148,9 +105,7 @@ gef_pic: pic@4,4000 {
interrupt-controller; interrupt-controller;
compatible = "gef,fpga-pic"; compatible = "gef,fpga-pic";
reg = <0x4 0x4000 0x20>; reg = <0x4 0x4000 0x20>;
interrupts = <0x8 interrupts = <0x8 0x9 0 0>;
0x9>;
interrupt-parent = <&mpic>;
}; };
gef_gpio: gpio@7,14000 { gef_gpio: gpio@7,14000 {
...@@ -161,37 +116,10 @@ gef_gpio: gpio@7,14000 { ...@@ -161,37 +116,10 @@ gef_gpio: gpio@7,14000 {
}; };
}; };
soc@fef00000 { soc: soc@fef00000 {
#address-cells = <1>;
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
compatible = "simple-bus";
ranges = <0x0 0xfef00000 0x00100000>; ranges = <0x0 0xfef00000 0x00100000>;
bus-frequency = <33333333>;
mcm-law@0 {
compatible = "fsl,mcm-law";
reg = <0x0 0x1000>;
fsl,num-laws = <10>;
};
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
interrupts = <17 2>;
interrupt-parent = <&mpic>;
};
i2c1: i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
interrupts = <0x2b 0x2>;
interrupt-parent = <&mpic>;
dfsrr;
i2c@3000 {
hwmon@48 { hwmon@48 {
compatible = "national,lm92"; compatible = "national,lm92";
reg = <0x48>; reg = <0x48>;
...@@ -213,204 +141,65 @@ eti@6b { ...@@ -213,204 +141,65 @@ eti@6b {
}; };
}; };
i2c2: i2c@3100 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
interrupts = <0x2b 0x2>;
interrupt-parent = <&mpic>;
dfsrr;
};
dma@21300 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,mpc8641-dma", "fsl,eloplus-dma";
reg = <0x21300 0x4>;
ranges = <0x0 0x21100 0x200>;
cell-index = <0>;
dma-channel@0 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
interrupt-parent = <&mpic>;
interrupts = <20 2>;
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
interrupt-parent = <&mpic>;
interrupts = <21 2>;
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x100 0x80>;
cell-index = <2>;
interrupt-parent = <&mpic>;
interrupts = <22 2>;
};
dma-channel@180 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x180 0x80>;
cell-index = <3>;
interrupt-parent = <&mpic>;
interrupts = <23 2>;
};
};
enet0: ethernet@24000 { enet0: ethernet@24000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <0>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>; tbi-handle = <&tbi0>;
phy-handle = <&phy0>; phy-handle = <&phy0>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
};
mdio@520 { mdio@24520 {
#address-cells = <1>; phy0: ethernet-phy@0 {
#size-cells = <0>; interrupt-parent = <&gef_pic>;
compatible = "fsl,gianfar-mdio"; interrupts = <0x9 0x4>;
reg = <0x520 0x20>; reg = <1>;
};
phy0: ethernet-phy@0 { phy2: ethernet-phy@2 {
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x9 0x4>; interrupts = <0x8 0x4>;
reg = <1>; reg = <3>;
}; };
phy2: ethernet-phy@2 { tbi0: tbi-phy@11 {
interrupt-parent = <&gef_pic>; reg = <0x11>;
interrupts = <0x8 0x4>; device_type = "tbi-phy";
reg = <3>;
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
}; };
}; };
enet1: ethernet@26000 { enet1: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>; tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
}; };
serial0: serial@4500 { mdio@26520 {
cell-index = <0>; tbi2: tbi-phy@11 {
device_type = "serial"; reg = <0x11>;
compatible = "fsl,ns16550", "ns16550"; device_type = "tbi-phy";
reg = <0x4500 0x100>; };
clock-frequency = <0>;
interrupts = <0x2a 0x2>;
interrupt-parent = <&mpic>;
}; };
serial1: serial@4600 { enet2: ethernet@25000 {
cell-index = <1>; status = "disabled";
device_type = "serial";
compatible = "fsl,ns16550", "ns16550";
reg = <0x4600 0x100>;
clock-frequency = <0>;
interrupts = <0x1c 0x2>;
interrupt-parent = <&mpic>;
}; };
mpic: pic@40000 { mdio@25520 {
clock-frequency = <0>; status = "disabled";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
reg = <0x40000 0x40000>;
compatible = "chrp,open-pic";
device_type = "open-pic";
}; };
msi@41600 { enet3: ethernet@27000 {
compatible = "fsl,mpc8641-msi", "fsl,mpic-msi"; status = "disabled";
reg = <0x41600 0x80>;
msi-available-ranges = <0 0x100>;
interrupts = <
0xe0 0
0xe1 0
0xe2 0
0xe3 0
0xe4 0
0xe5 0
0xe6 0
0xe7 0>;
interrupt-parent = <&mpic>;
}; };
global-utilities@e0000 { mdio@27520 {
compatible = "fsl,mpc8641-guts"; status = "disabled";
reg = <0xe0000 0x1000>;
fsl,has-rstcr;
}; };
}; };
pci0: pcie@fef08000 { pci0: pcie@fef08000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xfef08000 0x1000>; reg = <0xfef08000 0x1000>;
bus-range = <0x0 0xff>;
ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000
0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>; 0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;
clock-frequency = <33333333>;
interrupt-parent = <&mpic>;
interrupts = <0x18 0x2>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <
0x0000 0x0 0x0 0x1 &mpic 0x0 0x1
0x0000 0x0 0x0 0x2 &mpic 0x1 0x1
0x0000 0x0 0x0 0x3 &mpic 0x2 0x1
0x0000 0x0 0x0 0x4 &mpic 0x3 0x1
>;
pcie@0 { pcie@0 {
reg = <0 0 0 0 0>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
ranges = <0x02000000 0x0 0x80000000 ranges = <0x02000000 0x0 0x80000000
0x02000000 0x0 0x80000000 0x02000000 0x0 0x80000000
0x0 0x40000000 0x0 0x40000000
...@@ -421,3 +210,5 @@ pcie@0 { ...@@ -421,3 +210,5 @@ pcie@0 {
}; };
}; };
}; };
/include/ "mpc8641si-post.dtsi"
...@@ -63,7 +63,7 @@ spi@110000 { ...@@ -63,7 +63,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25fl256s1"; compatible = "spansion,s25fl256s1", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <20000000>; /* input clock */ spi-max-frequency = <20000000>; /* input clock */
}; };
...@@ -77,7 +77,7 @@ network_clock@1 { ...@@ -77,7 +77,7 @@ network_clock@1 {
flash@2 { flash@2 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,m25p32"; compatible = "micron,m25p32", "jedec,spi-nor";
reg = <2>; reg = <2>;
spi-max-frequency = <15000000>; spi-max-frequency = <15000000>;
}; };
......
...@@ -142,7 +142,7 @@ spi@7000 { ...@@ -142,7 +142,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
partition@u-boot { partition@u-boot {
...@@ -166,17 +166,17 @@ partition@fs { ...@@ -166,17 +166,17 @@ partition@fs {
}; };
}; };
flash@1 { flash@1 {
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <1>; reg = <1>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
}; };
flash@2 { flash@2 {
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <2>; reg = <2>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
}; };
flash@3 { flash@3 {
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <3>; reg = <3>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
}; };
......
/*
* MPC8641 Silicon/SoC Device Tree Source (post include)
*
* Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
*
* 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.
*
*/
&lbc {
#address-cells = <2>;
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
interrupts = <19 2 0 0>;
};
&soc {
#address-cells = <1>;
#size-cells = <1>;
device_type = "soc";
compatible = "fsl,mpc8641-soc", "simple-bus";
bus-frequency = <0>;
mcm-law@0 {
compatible = "fsl,mcm-law";
reg = <0x0 0x1000>;
fsl,num-laws = <10>;
};
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
interrupts = <17 2 0 0>;
};
/include/ "pq3-i2c-0.dtsi"
/include/ "pq3-i2c-1.dtsi"
/include/ "pq3-duart-0.dtsi"
serial@4600 {
interrupts = <28 2 0 0>;
};
/include/ "pq3-dma-0.dtsi"
dma@21300 {
compatible = "fsl,mpc8641-dma", "fsl,eloplus-dma";
};
dma-channel@0 {
compatible = "fsl,mpc8641-dma-channel", "fsl,eloplus-dma-channel";
};
dma-channel@80 {
compatible = "fsl,mpc8641-dma-channel", "fsl,eloplus-dma-channel";
};
dma-channel@100 {
compatible = "fsl,mpc8641-dma-channel", "fsl,eloplus-dma-channel";
};
dma-channel@180 {
compatible = "fsl,mpc8641-dma-channel", "fsl,eloplus-dma-channel";
};
/include/ "pq3-etsec1-0.dtsi"
ethernet@24000 {
model = "TSEC";
};
/include/ "pq3-etsec1-1.dtsi"
ethernet@25000 {
model = "TSEC";
};
/include/ "pq3-etsec1-2.dtsi"
ethernet@26000 {
model = "TSEC";
};
/include/ "pq3-etsec1-3.dtsi"
ethernet@27000 {
model = "TSEC";
};
/include/ "qoriq-mpic.dtsi"
msi@41600 {
compatible = "fsl,mpc8641-msi", "fsl,mpic-msi";
};
msi@41800 {
compatible = "fsl,mpc8641-msi", "fsl,mpic-msi";
};
msi@41a00 {
compatible = "fsl,mpc8641-msi", "fsl,mpic-msi";
};
global-utilities@e0000 {
compatible = "fsl,mpc8641-guts";
reg = <0xe0000 0x1000>;
fsl,has-rstcr;
};
};
&pci0 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
#size-cells = <2>;
#address-cells = <3>;
bus-range = <0x0 0xff>;
clock-frequency = <100000000>;
interrupts = <24 2 0 0>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <
0x0000 0x0 0x0 0x1 &mpic 0x0 0x1
0x0000 0x0 0x0 0x2 &mpic 0x1 0x1
0x0000 0x0 0x0 0x3 &mpic 0x2 0x1
0x0000 0x0 0x0 0x4 &mpic 0x3 0x1
>;
pcie@0 {
reg = <0 0 0 0 0>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
};
};
/*
* MPC8641 Silicon/SoC Device Tree Source (pre include)
*
* Copyright 2016 Elettra-Sincrotrone Trieste S.C.p.A.
*
* 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.
*
*/
/dts-v1/;
/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&mpic>;
aliases {
ethernet0 = &enet0;
ethernet1 = &enet1;
ethernet2 = &enet2;
ethernet3 = &enet3;
serial0 = &serial0;
serial1 = &serial1;
pci0 = &pci0;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8641@0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <32768>;
i-cache-size = <32768>;
timebase-frequency = <0>;
bus-frequency = <0>;
clock-frequency = <0>;
};
PowerPC,8641@1 {
device_type = "cpu";
reg = <1>;
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <32768>;
i-cache-size = <32768>;
timebase-frequency = <0>;
bus-frequency = <0>;
clock-frequency = <0>;
};
};
};
...@@ -70,12 +70,12 @@ spi0: spi@7000 { ...@@ -70,12 +70,12 @@ spi0: spi@7000 {
fsl,espi-num-chipselects = <2>; fsl,espi-num-chipselects = <2>;
flash@0 { flash@0 {
compatible = "atmel,at25df641"; compatible = "atmel,at25df641", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
}; };
flash@1 { flash@1 {
compatible = "atmel,at25df641"; compatible = "atmel,at25df641", "jedec,spi-nor";
reg = <1>; reg = <1>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
}; };
......
...@@ -110,7 +110,7 @@ spi@7000 { ...@@ -110,7 +110,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
......
...@@ -151,7 +151,7 @@ spi@7000 { ...@@ -151,7 +151,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
......
...@@ -155,7 +155,7 @@ spi@7000 { ...@@ -155,7 +155,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
/* input clock */ /* input clock */
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
......
...@@ -148,7 +148,7 @@ spi@7000 { ...@@ -148,7 +148,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
......
...@@ -123,7 +123,7 @@ spi@7000 { ...@@ -123,7 +123,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
......
...@@ -150,7 +150,7 @@ spi@7000 { ...@@ -150,7 +150,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
......
...@@ -160,7 +160,7 @@ spi@7000 { ...@@ -160,7 +160,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
......
...@@ -86,7 +86,7 @@ spi@7000 { ...@@ -86,7 +86,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,m25p80"; compatible = "spansion,m25p80", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
partition@0 { partition@0 {
......
...@@ -129,7 +129,7 @@ spi@7000 { ...@@ -129,7 +129,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,m25p80"; compatible = "spansion,m25p80", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
......
...@@ -137,7 +137,7 @@ spi@7000 { ...@@ -137,7 +137,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
......
...@@ -151,7 +151,7 @@ spi@7000 { ...@@ -151,7 +151,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,m25p80"; compatible = "spansion,m25p80", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
......
...@@ -155,7 +155,7 @@ spi@7000 { ...@@ -155,7 +155,7 @@ spi@7000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; spi-max-frequency = <40000000>;
......
/* /*
* P2041RDB Device Tree Source * P2041RDB Device Tree Source
* *
* Copyright 2011 - 2014 Freescale Semiconductor Inc. * Copyright 2011 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -41,6 +41,19 @@ / { ...@@ -41,6 +41,19 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases {
phy_rgmii_0 = &phy_rgmii_0;
phy_rgmii_1 = &phy_rgmii_1;
phy_sgmii_2 = &phy_sgmii_2;
phy_sgmii_3 = &phy_sgmii_3;
phy_sgmii_4 = &phy_sgmii_4;
phy_sgmii_1c = &phy_sgmii_1c;
phy_sgmii_1d = &phy_sgmii_1d;
phy_sgmii_1e = &phy_sgmii_1e;
phy_sgmii_1f = &phy_sgmii_1f;
phy_xgmii_2 = &phy_xgmii_2;
};
memory { memory {
device_type = "memory"; device_type = "memory";
}; };
...@@ -83,7 +96,7 @@ spi@110000 { ...@@ -83,7 +96,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
partition@u-boot { partition@u-boot {
...@@ -137,6 +150,83 @@ eeprom@50 { ...@@ -137,6 +150,83 @@ eeprom@50 {
usb1: usb@211000 { usb1: usb@211000 {
dr_mode = "host"; dr_mode = "host";
}; };
fman@400000 {
ethernet@e0000 {
phy-handle = <&phy_sgmii_2>;
phy-connection-type = "sgmii";
};
mdio@e1120 {
phy_rgmii_0: ethernet-phy@0 {
reg = <0x0>;
};
phy_rgmii_1: ethernet-phy@1 {
reg = <0x1>;
};
phy_sgmii_2: ethernet-phy@2 {
reg = <0x2>;
};
phy_sgmii_3: ethernet-phy@3 {
reg = <0x3>;
};
phy_sgmii_4: ethernet-phy@4 {
reg = <0x4>;
};
phy_sgmii_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
ethernet@e2000 {
phy-handle = <&phy_sgmii_3>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy_sgmii_4>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&phy_rgmii_1>;
phy-connection-type = "rgmii";
};
ethernet@e8000 {
phy-handle = <&phy_rgmii_0>;
phy-connection-type = "rgmii";
};
ethernet@f0000 {
phy-handle = <&phy_xgmii_2>;
phy-connection-type = "xgmii";
};
mdio@f1000 {
phy_xgmii_2: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x0>;
};
};
};
}; };
rio: rapidio@ffe0c0000 { rio: rapidio@ffe0c0000 {
......
/* /*
* P3041DS Device Tree Source * P3041DS Device Tree Source
* *
* Copyright 2010 - 2014 Freescale Semiconductor Inc. * Copyright 2010 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -41,6 +41,20 @@ / { ...@@ -41,6 +41,20 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases{
phy_rgmii_0 = &phy_rgmii_0;
phy_rgmii_1 = &phy_rgmii_1;
phy_sgmii_1c = &phy_sgmii_1c;
phy_sgmii_1d = &phy_sgmii_1d;
phy_sgmii_1e = &phy_sgmii_1e;
phy_sgmii_1f = &phy_sgmii_1f;
phy_xgmii_1 = &phy_xgmii_1;
phy_xgmii_2 = &phy_xgmii_2;
emi1_rgmii = &hydra_mdio_rgmii;
emi1_sgmii = &hydra_mdio_sgmii;
emi2_xgmii = &hydra_mdio_xgmii;
};
memory { memory {
device_type = "memory"; device_type = "memory";
}; };
...@@ -83,7 +97,7 @@ spi@110000 { ...@@ -83,7 +97,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <35000000>; /* input clock */ spi-max-frequency = <35000000>; /* input clock */
partition@u-boot { partition@u-boot {
...@@ -150,6 +164,52 @@ adt7461@4c { ...@@ -150,6 +164,52 @@ adt7461@4c {
reg = <0x4c>; reg = <0x4c>;
}; };
}; };
fman@400000{
ethernet@e0000 {
phy-handle = <&phy_sgmii_1c>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-handle = <&phy_sgmii_1d>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy_sgmii_1e>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&phy_sgmii_1f>;
phy-connection-type = "sgmii";
};
ethernet@e8000 {
phy-handle = <&phy_rgmii_1>;
phy-connection-type = "rgmii";
};
ethernet@f0000 {
phy-handle = <&phy_xgmii_1>;
phy-connection-type = "xgmii";
};
hydra_mdio_xgmii: mdio@f1000 {
status = "disabled";
phy_xgmii_1: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x4>;
};
phy_xgmii_2: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x0>;
};
};
};
}; };
rio: rapidio@ffe0c0000 { rio: rapidio@ffe0c0000 {
...@@ -215,8 +275,58 @@ partition@1f000000 { ...@@ -215,8 +275,58 @@ partition@1f000000 {
}; };
board-control@3,0 { board-control@3,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,p3041ds-fpga", "fsl,fpga-ngpixis"; compatible = "fsl,p3041ds-fpga", "fsl,fpga-ngpixis";
reg = <3 0 0x30>; reg = <3 0 0x30>;
ranges = <0 3 0 0x30>;
mdio-mux-emi1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&mdio0>;
reg = <9 1>;
mux-mask = <0x78>;
hydra_mdio_rgmii: rgmii-mdio@8 {
#address-cells = <1>;
#size-cells = <0>;
reg = <8>;
status = "disabled";
phy_rgmii_0: ethernet-phy@0 {
reg = <0x0>;
};
phy_rgmii_1: ethernet-phy@1 {
reg = <0x1>;
};
};
hydra_mdio_sgmii: sgmii-mdio@28 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x28>;
status = "disabled";
phy_sgmii_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
};
}; };
}; };
......
/* /*
* P4080DS Device Tree Source * P4080DS Device Tree Source
* *
* Copyright 2009 - 2014 Freescale Semiconductor Inc. * Copyright 2009 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -41,6 +41,20 @@ / { ...@@ -41,6 +41,20 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases {
phy_rgmii = &phyrgmii;
phy5_slot3 = &phy5slot3;
phy6_slot3 = &phy6slot3;
phy7_slot3 = &phy7slot3;
phy8_slot3 = &phy8slot3;
emi1_slot3 = &p4080mdio2;
emi1_slot4 = &p4080mdio1;
emi1_slot5 = &p4080mdio3;
emi1_rgmii = &p4080mdio0;
emi2_slot4 = &p4080xmdio1;
emi2_slot5 = &p4080xmdio3;
};
memory { memory {
device_type = "memory"; device_type = "memory";
}; };
...@@ -84,7 +98,7 @@ spi@110000 { ...@@ -84,7 +98,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
partition@u-boot { partition@u-boot {
...@@ -137,6 +151,60 @@ usb1: usb@211000 { ...@@ -137,6 +151,60 @@ usb1: usb@211000 {
dr_mode = "host"; dr_mode = "host";
phy_type = "ulpi"; phy_type = "ulpi";
}; };
fman@400000 {
ethernet@e0000 {
phy-handle = <&phy0>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-handle = <&phy1>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy2>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&phy3>;
phy-connection-type = "sgmii";
};
ethernet@f0000 {
phy-handle = <&phy10>;
phy-connection-type = "xgmii";
};
};
fman@500000 {
ethernet@e0000 {
phy-handle = <&phy5>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-handle = <&phy6>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy7>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&phy8>;
phy-connection-type = "sgmii";
};
ethernet@f0000 {
phy-handle = <&phy11>;
phy-connection-type = "xgmii";
};
};
}; };
rio: rapidio@ffe0c0000 { rio: rapidio@ffe0c0000 {
...@@ -213,6 +281,120 @@ pcie@0 { ...@@ -213,6 +281,120 @@ pcie@0 {
}; };
}; };
mdio-mux-emi1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-gpio", "mdio-mux";
mdio-parent-bus = <&mdio0>;
gpios = <&gpio0 1 0>, <&gpio0 0 0>;
p4080mdio0: mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
phyrgmii: ethernet-phy@0 {
reg = <0x0>;
};
};
p4080mdio1: mdio@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
phy5: ethernet-phy@1c {
reg = <0x1c>;
};
phy6: ethernet-phy@1d {
reg = <0x1d>;
};
phy7: ethernet-phy@1e {
reg = <0x1e>;
};
phy8: ethernet-phy@1f {
reg = <0x1f>;
};
};
p4080mdio2: mdio@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
status = "disabled";
phy5slot3: ethernet-phy@1c {
reg = <0x1c>;
};
phy6slot3: ethernet-phy@1d {
reg = <0x1d>;
};
phy7slot3: ethernet-phy@1e {
reg = <0x1e>;
};
phy8slot3: ethernet-phy@1f {
reg = <0x1f>;
};
};
p4080mdio3: mdio@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
phy0: ethernet-phy@1c {
reg = <0x1c>;
};
phy1: ethernet-phy@1d {
reg = <0x1d>;
};
phy2: ethernet-phy@1e {
reg = <0x1e>;
};
phy3: ethernet-phy@1f {
reg = <0x1f>;
};
};
};
mdio-mux-emi2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-gpio", "mdio-mux";
mdio-parent-bus = <&xmdio0>;
gpios = <&gpio0 3 0>, <&gpio0 2 0>;
p4080xmdio1: mdio@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
phy11: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x0>;
};
};
p4080xmdio3: mdio@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
phy10: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x4>;
};
};
};
}; };
/include/ "p4080si-post.dtsi" /include/ "p4080si-post.dtsi"
/* /*
* P5020DS Device Tree Source * P5020DS Device Tree Source
* *
* Copyright 2010 - 2014 Freescale Semiconductor Inc. * Copyright 2010 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -41,6 +41,20 @@ / { ...@@ -41,6 +41,20 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases {
phy_rgmii_0 = &phy_rgmii_0;
phy_rgmii_1 = &phy_rgmii_1;
phy_sgmii_1c = &phy_sgmii_1c;
phy_sgmii_1d = &phy_sgmii_1d;
phy_sgmii_1e = &phy_sgmii_1e;
phy_sgmii_1f = &phy_sgmii_1f;
phy_xgmii_1 = &phy_xgmii_1;
phy_xgmii_2 = &phy_xgmii_2;
emi1_rgmii = &hydra_mdio_rgmii;
emi1_sgmii = &hydra_mdio_sgmii;
emi2_xgmii = &hydra_mdio_xgmii;
};
memory { memory {
device_type = "memory"; device_type = "memory";
}; };
...@@ -83,7 +97,7 @@ spi@110000 { ...@@ -83,7 +97,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
partition@u-boot { partition@u-boot {
...@@ -150,6 +164,52 @@ adt7461@4c { ...@@ -150,6 +164,52 @@ adt7461@4c {
reg = <0x4c>; reg = <0x4c>;
}; };
}; };
fman@400000 {
ethernet@e0000 {
phy-handle = <&phy_sgmii_1c>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-handle = <&phy_sgmii_1d>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy_sgmii_1e>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&phy_sgmii_1f>;
phy-connection-type = "sgmii";
};
ethernet@e8000 {
phy-handle = <&phy_rgmii_1>;
phy-connection-type = "rgmii";
};
ethernet@f0000 {
phy-handle = <&phy_xgmii_1>;
phy-connection-type = "xgmii";
};
hydra_mdio_xgmii: mdio@f1000 {
status = "disabled";
phy_xgmii_1: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x4>;
};
phy_xgmii_2: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x0>;
};
};
};
}; };
rio: rapidio@ffe0c0000 { rio: rapidio@ffe0c0000 {
...@@ -215,8 +275,58 @@ partition@1f000000 { ...@@ -215,8 +275,58 @@ partition@1f000000 {
}; };
board-control@3,0 { board-control@3,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis"; compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis";
reg = <3 0 0x30>; reg = <3 0 0x30>;
ranges = <0 3 0 0x30>;
mdio-mux-emi1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&mdio0>;
reg = <9 1>;
mux-mask = <0x78>;
hydra_mdio_rgmii: rgmii-mdio@8 {
#address-cells = <1>;
#size-cells = <0>;
reg = <8>;
status = "disabled";
phy_rgmii_0: ethernet-phy@0 {
reg = <0x0>;
};
phy_rgmii_1: ethernet-phy@1 {
reg = <0x1>;
};
};
hydra_mdio_sgmii: sgmii-mdio@28 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x28>;
status = "disabled";
phy_sgmii_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
};
}; };
}; };
......
/* /*
* P5040DS Device Tree Source * P5040DS Device Tree Source
* *
* Copyright 2012 - 2014 Freescale Semiconductor Inc. * Copyright 2012 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -41,6 +41,32 @@ / { ...@@ -41,6 +41,32 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases{
phy_sgmii_slot2_1c = &phy_sgmii_slot2_1c;
phy_sgmii_slot2_1d = &phy_sgmii_slot2_1d;
phy_sgmii_slot2_1e = &phy_sgmii_slot2_1e;
phy_sgmii_slot2_1f = &phy_sgmii_slot2_1f;
phy_sgmii_slot3_1c = &phy_sgmii_slot3_1c;
phy_sgmii_slot3_1d = &phy_sgmii_slot3_1d;
phy_sgmii_slot3_1e = &phy_sgmii_slot3_1e;
phy_sgmii_slot3_1f = &phy_sgmii_slot3_1f;
phy_sgmii_slot5_1c = &phy_sgmii_slot5_1c;
phy_sgmii_slot5_1d = &phy_sgmii_slot5_1d;
phy_sgmii_slot5_1e = &phy_sgmii_slot5_1e;
phy_sgmii_slot5_1f = &phy_sgmii_slot5_1f;
phy_sgmii_slot6_1c = &phy_sgmii_slot6_1c;
phy_sgmii_slot6_1d = &phy_sgmii_slot6_1d;
phy_sgmii_slot6_1e = &phy_sgmii_slot6_1e;
phy_sgmii_slot6_1f = &phy_sgmii_slot6_1f;
hydra_rg = &hydra_rg;
hydra_sg_slot2 = &hydra_sg_slot2;
hydra_sg_slot3 = &hydra_sg_slot3;
hydra_sg_slot5 = &hydra_sg_slot5;
hydra_sg_slot6 = &hydra_sg_slot6;
hydra_xg_slot1 = &hydra_xg_slot1;
hydra_xg_slot2 = &hydra_xg_slot2;
};
memory { memory {
device_type = "memory"; device_type = "memory";
}; };
...@@ -83,7 +109,7 @@ spi@110000 { ...@@ -83,7 +109,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25sl12801"; compatible = "spansion,s25sl12801", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <40000000>; /* input clock */ spi-max-frequency = <40000000>; /* input clock */
partition@u-boot { partition@u-boot {
...@@ -147,6 +173,62 @@ adt7461@4c { ...@@ -147,6 +173,62 @@ adt7461@4c {
reg = <0x4c>; reg = <0x4c>;
}; };
}; };
fman@400000 {
ethernet@e0000 {
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-connection-type = "sgmii";
};
ethernet@e8000 {
phy-handle = <&phy_rgmii_0>;
phy-connection-type = "rgmii";
};
ethernet@f0000 {
phy-handle = <&phy_xgmii_slot_2>;
phy-connection-type = "xgmii";
};
};
fman@500000 {
ethernet@e0000 {
phy-connection-type = "sgmii";
};
ethernet@e2000 {
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-connection-type = "sgmii";
};
ethernet@e8000 {
phy-handle = <&phy_rgmii_1>;
phy-connection-type = "rgmii";
};
ethernet@f0000 {
phy-handle = <&phy_xgmii_slot_1>;
phy-connection-type = "xgmii";
};
};
}; };
lbc: localbus@ffe124000 { lbc: localbus@ffe124000 {
...@@ -200,8 +282,158 @@ partition@1f000000 { ...@@ -200,8 +282,158 @@ partition@1f000000 {
}; };
board-control@3,0 { board-control@3,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,p5040ds-fpga", "fsl,fpga-ngpixis"; compatible = "fsl,p5040ds-fpga", "fsl,fpga-ngpixis";
reg = <3 0 0x40>; reg = <3 0 0x40>;
ranges = <0 3 0 0x40>;
mdio-mux-emi1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&mdio0>;
reg = <9 1>;
mux-mask = <0x78>;
hydra_rg:rgmii-mdio@8 {
#address-cells = <1>;
#size-cells = <0>;
reg = <8>;
status = "disabled";
phy_rgmii_0: ethernet-phy@0 {
reg = <0x0>;
};
phy_rgmii_1: ethernet-phy@1 {
reg = <0x1>;
};
};
hydra_sg_slot2: sgmii-mdio@28 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x28>;
status = "disabled";
phy_sgmii_slot2_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_slot2_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_slot2_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_slot2_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
hydra_sg_slot3: sgmii-mdio@68 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x68>;
status = "disabled";
phy_sgmii_slot3_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_slot3_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_slot3_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_slot3_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
hydra_sg_slot5: sgmii-mdio@38 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x38>;
status = "disabled";
phy_sgmii_slot5_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_slot5_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_slot5_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_slot5_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
hydra_sg_slot6: sgmii-mdio@48 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x48>;
status = "disabled";
phy_sgmii_slot6_1c: ethernet-phy@1c {
reg = <0x1c>;
};
phy_sgmii_slot6_1d: ethernet-phy@1d {
reg = <0x1d>;
};
phy_sgmii_slot6_1e: ethernet-phy@1e {
reg = <0x1e>;
};
phy_sgmii_slot6_1f: ethernet-phy@1f {
reg = <0x1f>;
};
};
};
mdio-mux-emi2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&xmdio0>;
reg = <9 1>;
mux-mask = <0x06>;
hydra_xg_slot1: hydra-xg-slot1@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
status = "disabled";
phy_xgmii_slot_1: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <4>;
};
};
hydra_xg_slot2: hydra-xg-slot2@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
phy_xgmii_slot_2: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0>;
};
};
};
}; };
}; };
......
...@@ -420,6 +420,7 @@ crypto@300000 { ...@@ -420,6 +420,7 @@ crypto@300000 {
fsl,iommu-parent = <&pamu4>; fsl,iommu-parent = <&pamu4>;
}; };
/include/ "qoriq-raid1.0-0.dtsi"
/include/ "qoriq-qman1.dtsi" /include/ "qoriq-qman1.dtsi"
/include/ "qoriq-bman1.dtsi" /include/ "qoriq-bman1.dtsi"
......
...@@ -73,6 +73,12 @@ aliases { ...@@ -73,6 +73,12 @@ aliases {
rtic_d = &rtic_d; rtic_d = &rtic_d;
sec_mon = &sec_mon; sec_mon = &sec_mon;
raideng = &raideng;
raideng_jr0 = &raideng_jr0;
raideng_jr1 = &raideng_jr1;
raideng_jr2 = &raideng_jr2;
raideng_jr3 = &raideng_jr3;
fman0 = &fman0; fman0 = &fman0;
fman1 = &fman1; fman1 = &fman1;
ethernet0 = &enet0; ethernet0 = &enet0;
......
...@@ -55,6 +55,7 @@ ethernet@e0000 { ...@@ -55,6 +55,7 @@ ethernet@e0000 {
reg = <0xe0000 0x1000>; reg = <0xe0000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>; fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy0>;
}; };
mdio@e1000 { mdio@e1000 {
...@@ -62,5 +63,9 @@ mdio@e1000 { ...@@ -62,5 +63,9 @@ mdio@e1000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe1000 0x1000>; reg = <0xe1000 0x1000>;
pcsphy0: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -52,6 +52,7 @@ ethernet@f0000 { ...@@ -52,6 +52,7 @@ ethernet@f0000 {
compatible = "fsl,fman-memac"; compatible = "fsl,fman-memac";
reg = <0xf0000 0x1000>; reg = <0xf0000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>; fsl,fman-ports = <&fman0_rx_0x10 &fman0_tx_0x30>;
pcsphy-handle = <&pcsphy6>;
}; };
mdio@f1000 { mdio@f1000 {
...@@ -59,5 +60,9 @@ mdio@f1000 { ...@@ -59,5 +60,9 @@ mdio@f1000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xf1000 0x1000>; reg = <0xf1000 0x1000>;
pcsphy6: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -55,6 +55,7 @@ ethernet@e2000 { ...@@ -55,6 +55,7 @@ ethernet@e2000 {
reg = <0xe2000 0x1000>; reg = <0xe2000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>; fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy1>;
}; };
mdio@e3000 { mdio@e3000 {
...@@ -62,5 +63,9 @@ mdio@e3000 { ...@@ -62,5 +63,9 @@ mdio@e3000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe3000 0x1000>; reg = <0xe3000 0x1000>;
pcsphy1: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -52,6 +52,7 @@ ethernet@f2000 { ...@@ -52,6 +52,7 @@ ethernet@f2000 {
compatible = "fsl,fman-memac"; compatible = "fsl,fman-memac";
reg = <0xf2000 0x1000>; reg = <0xf2000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>; fsl,fman-ports = <&fman0_rx_0x11 &fman0_tx_0x31>;
pcsphy-handle = <&pcsphy7>;
}; };
mdio@f3000 { mdio@f3000 {
...@@ -59,5 +60,9 @@ mdio@f3000 { ...@@ -59,5 +60,9 @@ mdio@f3000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xf3000 0x1000>; reg = <0xf3000 0x1000>;
pcsphy7: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e0000 { ...@@ -51,6 +51,7 @@ ethernet@e0000 {
reg = <0xe0000 0x1000>; reg = <0xe0000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>; fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy0>;
}; };
mdio@e1000 { mdio@e1000 {
...@@ -58,5 +59,9 @@ mdio@e1000 { ...@@ -58,5 +59,9 @@ mdio@e1000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe1000 0x1000>; reg = <0xe1000 0x1000>;
pcsphy0: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e2000 { ...@@ -51,6 +51,7 @@ ethernet@e2000 {
reg = <0xe2000 0x1000>; reg = <0xe2000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>; fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy1>;
}; };
mdio@e3000 { mdio@e3000 {
...@@ -58,5 +59,9 @@ mdio@e3000 { ...@@ -58,5 +59,9 @@ mdio@e3000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe3000 0x1000>; reg = <0xe3000 0x1000>;
pcsphy1: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e4000 { ...@@ -51,6 +51,7 @@ ethernet@e4000 {
reg = <0xe4000 0x1000>; reg = <0xe4000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>; fsl,fman-ports = <&fman0_rx_0x0a &fman0_tx_0x2a>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy2>;
}; };
mdio@e5000 { mdio@e5000 {
...@@ -58,5 +59,9 @@ mdio@e5000 { ...@@ -58,5 +59,9 @@ mdio@e5000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe5000 0x1000>; reg = <0xe5000 0x1000>;
pcsphy2: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e6000 { ...@@ -51,6 +51,7 @@ ethernet@e6000 {
reg = <0xe6000 0x1000>; reg = <0xe6000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>; fsl,fman-ports = <&fman0_rx_0x0b &fman0_tx_0x2b>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy3>;
}; };
mdio@e7000 { mdio@e7000 {
...@@ -58,5 +59,9 @@ mdio@e7000 { ...@@ -58,5 +59,9 @@ mdio@e7000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe7000 0x1000>; reg = <0xe7000 0x1000>;
pcsphy3: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e8000 { ...@@ -51,6 +51,7 @@ ethernet@e8000 {
reg = <0xe8000 0x1000>; reg = <0xe8000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>; fsl,fman-ports = <&fman0_rx_0x0c &fman0_tx_0x2c>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy4>;
}; };
mdio@e9000 { mdio@e9000 {
...@@ -58,5 +59,9 @@ mdio@e9000 { ...@@ -58,5 +59,9 @@ mdio@e9000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe9000 0x1000>; reg = <0xe9000 0x1000>;
pcsphy4: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@ea000 { ...@@ -51,6 +51,7 @@ ethernet@ea000 {
reg = <0xea000 0x1000>; reg = <0xea000 0x1000>;
fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>; fsl,fman-ports = <&fman0_rx_0x0d &fman0_tx_0x2d>;
ptp-timer = <&ptp_timer0>; ptp-timer = <&ptp_timer0>;
pcsphy-handle = <&pcsphy5>;
}; };
mdio@eb000 { mdio@eb000 {
...@@ -58,5 +59,9 @@ mdio@eb000 { ...@@ -58,5 +59,9 @@ mdio@eb000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xeb000 0x1000>; reg = <0xeb000 0x1000>;
pcsphy5: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -52,6 +52,7 @@ ethernet@f0000 { ...@@ -52,6 +52,7 @@ ethernet@f0000 {
compatible = "fsl,fman-memac"; compatible = "fsl,fman-memac";
reg = <0xf0000 0x1000>; reg = <0xf0000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>; fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>;
pcsphy-handle = <&pcsphy14>;
}; };
mdio@f1000 { mdio@f1000 {
...@@ -59,5 +60,9 @@ mdio@f1000 { ...@@ -59,5 +60,9 @@ mdio@f1000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xf1000 0x1000>; reg = <0xf1000 0x1000>;
pcsphy14: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -52,6 +52,7 @@ ethernet@f2000 { ...@@ -52,6 +52,7 @@ ethernet@f2000 {
compatible = "fsl,fman-memac"; compatible = "fsl,fman-memac";
reg = <0xf2000 0x1000>; reg = <0xf2000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x11 &fman1_tx_0x31>; fsl,fman-ports = <&fman1_rx_0x11 &fman1_tx_0x31>;
pcsphy-handle = <&pcsphy15>;
}; };
mdio@f3000 { mdio@f3000 {
...@@ -59,5 +60,9 @@ mdio@f3000 { ...@@ -59,5 +60,9 @@ mdio@f3000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xf3000 0x1000>; reg = <0xf3000 0x1000>;
pcsphy15: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e0000 { ...@@ -51,6 +51,7 @@ ethernet@e0000 {
reg = <0xe0000 0x1000>; reg = <0xe0000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x08 &fman1_tx_0x28>; fsl,fman-ports = <&fman1_rx_0x08 &fman1_tx_0x28>;
ptp-timer = <&ptp_timer1>; ptp-timer = <&ptp_timer1>;
pcsphy-handle = <&pcsphy8>;
}; };
mdio@e1000 { mdio@e1000 {
...@@ -58,5 +59,9 @@ mdio@e1000 { ...@@ -58,5 +59,9 @@ mdio@e1000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe1000 0x1000>; reg = <0xe1000 0x1000>;
pcsphy8: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e2000 { ...@@ -51,6 +51,7 @@ ethernet@e2000 {
reg = <0xe2000 0x1000>; reg = <0xe2000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x09 &fman1_tx_0x29>; fsl,fman-ports = <&fman1_rx_0x09 &fman1_tx_0x29>;
ptp-timer = <&ptp_timer1>; ptp-timer = <&ptp_timer1>;
pcsphy-handle = <&pcsphy9>;
}; };
mdio@e3000 { mdio@e3000 {
...@@ -58,5 +59,9 @@ mdio@e3000 { ...@@ -58,5 +59,9 @@ mdio@e3000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe3000 0x1000>; reg = <0xe3000 0x1000>;
pcsphy9: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e4000 { ...@@ -51,6 +51,7 @@ ethernet@e4000 {
reg = <0xe4000 0x1000>; reg = <0xe4000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x0a &fman1_tx_0x2a>; fsl,fman-ports = <&fman1_rx_0x0a &fman1_tx_0x2a>;
ptp-timer = <&ptp_timer1>; ptp-timer = <&ptp_timer1>;
pcsphy-handle = <&pcsphy10>;
}; };
mdio@e5000 { mdio@e5000 {
...@@ -58,5 +59,9 @@ mdio@e5000 { ...@@ -58,5 +59,9 @@ mdio@e5000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe5000 0x1000>; reg = <0xe5000 0x1000>;
pcsphy10: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e6000 { ...@@ -51,6 +51,7 @@ ethernet@e6000 {
reg = <0xe6000 0x1000>; reg = <0xe6000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x0b &fman1_tx_0x2b>; fsl,fman-ports = <&fman1_rx_0x0b &fman1_tx_0x2b>;
ptp-timer = <&ptp_timer1>; ptp-timer = <&ptp_timer1>;
pcsphy-handle = <&pcsphy11>;
}; };
mdio@e7000 { mdio@e7000 {
...@@ -58,5 +59,9 @@ mdio@e7000 { ...@@ -58,5 +59,9 @@ mdio@e7000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe7000 0x1000>; reg = <0xe7000 0x1000>;
pcsphy11: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@e8000 { ...@@ -51,6 +51,7 @@ ethernet@e8000 {
reg = <0xe8000 0x1000>; reg = <0xe8000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x0c &fman1_tx_0x2c>; fsl,fman-ports = <&fman1_rx_0x0c &fman1_tx_0x2c>;
ptp-timer = <&ptp_timer1>; ptp-timer = <&ptp_timer1>;
pcsphy-handle = <&pcsphy12>;
}; };
mdio@e9000 { mdio@e9000 {
...@@ -58,5 +59,9 @@ mdio@e9000 { ...@@ -58,5 +59,9 @@ mdio@e9000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xe9000 0x1000>; reg = <0xe9000 0x1000>;
pcsphy12: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -51,6 +51,7 @@ ethernet@ea000 { ...@@ -51,6 +51,7 @@ ethernet@ea000 {
reg = <0xea000 0x1000>; reg = <0xea000 0x1000>;
fsl,fman-ports = <&fman1_rx_0x0d &fman1_tx_0x2d>; fsl,fman-ports = <&fman1_rx_0x0d &fman1_tx_0x2d>;
ptp-timer = <&ptp_timer1>; ptp-timer = <&ptp_timer1>;
pcsphy-handle = <&pcsphy13>;
}; };
mdio@eb000 { mdio@eb000 {
...@@ -58,5 +59,9 @@ mdio@eb000 { ...@@ -58,5 +59,9 @@ mdio@eb000 {
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
reg = <0xeb000 0x1000>; reg = <0xeb000 0x1000>;
pcsphy13: ethernet-phy@0 {
reg = <0x0>;
};
}; };
}; };
...@@ -13,65 +13,23 @@ ...@@ -13,65 +13,23 @@
* option) any later version. * option) any later version.
*/ */
/dts-v1/; /include/ "mpc8641si-pre.dtsi"
/ { / {
model = "SBC8641D"; model = "SBC8641D";
compatible = "wind,sbc8641"; compatible = "wind,sbc8641";
#address-cells = <1>;
#size-cells = <1>;
aliases { aliases {
ethernet0 = &enet0;
ethernet1 = &enet1;
ethernet2 = &enet2;
ethernet3 = &enet3;
serial0 = &serial0;
serial1 = &serial1;
pci0 = &pci0;
pci1 = &pci1; pci1 = &pci1;
}; };
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,8641@0 {
device_type = "cpu";
reg = <0>;
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <32768>; // L1
i-cache-size = <32768>; // L1
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
PowerPC,8641@1 {
device_type = "cpu";
reg = <1>;
d-cache-line-size = <32>;
i-cache-line-size = <32>;
d-cache-size = <32768>;
i-cache-size = <32768>;
timebase-frequency = <0>; // From uboot
bus-frequency = <0>; // From uboot
clock-frequency = <0>; // From uboot
};
};
memory { memory {
device_type = "memory"; device_type = "memory";
reg = <0x00000000 0x20000000>; // 512M at 0x0 reg = <0x00000000 0x20000000>; // 512M at 0x0
}; };
localbus@f8005000 { lbc: localbus@f8005000 {
#address-cells = <2>;
#size-cells = <1>;
compatible = "fsl,mpc8641-localbus", "simple-bus";
reg = <0xf8005000 0x1000>; reg = <0xf8005000 0x1000>;
interrupts = <19 2>;
interrupt-parent = <&mpic>;
ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash
1 0 0xf0000000 0x00010000 // 64KB EEPROM 1 0 0xf0000000 0x00010000 // 64KB EEPROM
...@@ -120,283 +78,81 @@ epld@2,0 { ...@@ -120,283 +78,81 @@ epld@2,0 {
}; };
}; };
soc@f8000000 { soc: soc@f8000000 {
#address-cells = <1>;
#size-cells = <1>;
device_type = "soc";
compatible = "simple-bus";
ranges = <0x00000000 0xf8000000 0x00100000>; ranges = <0x00000000 0xf8000000 0x00100000>;
bus-frequency = <0>;
mcm-law@0 {
compatible = "fsl,mcm-law";
reg = <0x0 0x1000>;
fsl,num-laws = <10>;
};
mcm@1000 {
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
reg = <0x1000 0x1000>;
interrupts = <17 2>;
interrupt-parent = <&mpic>;
};
i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
cell-index = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
interrupts = <43 2>;
interrupt-parent = <&mpic>;
dfsrr;
};
i2c@3100 { enet0: ethernet@24000 {
#address-cells = <1>; tbi-handle = <&tbi0>;
#size-cells = <0>; phy-handle = <&phy0>;
cell-index = <1>; phy-connection-type = "rgmii-id";
compatible = "fsl-i2c";
reg = <0x3100 0x100>;
interrupts = <43 2>;
interrupt-parent = <&mpic>;
dfsrr;
}; };
dma@21300 { mdio@24520 {
#address-cells = <1>; phy0: ethernet-phy@1f {
#size-cells = <1>; reg = <0x1f>;
compatible = "fsl,mpc8641-dma", "fsl,eloplus-dma";
reg = <0x21300 0x4>;
ranges = <0x0 0x21100 0x200>;
cell-index = <0>;
dma-channel@0 {
compatible = "fsl,mpc8641-dma-channel",
"fsl,eloplus-dma-channel";
reg = <0x0 0x80>;
cell-index = <0>;
interrupt-parent = <&mpic>;
interrupts = <20 2>;
}; };
dma-channel@80 { phy1: ethernet-phy@0 {
compatible = "fsl,mpc8641-dma-channel", reg = <0>;
"fsl,eloplus-dma-channel";
reg = <0x80 0x80>;
cell-index = <1>;
interrupt-parent = <&mpic>;
interrupts = <21 2>;
}; };
dma-channel@100 { phy2: ethernet-phy@1 {
compatible = "fsl,mpc8641-dma-channel", reg = <1>;
"fsl,eloplus-dma-channel";
reg = <0x100 0x80>;
cell-index = <2>;
interrupt-parent = <&mpic>;
interrupts = <22 2>;
}; };
dma-channel@180 { phy3: ethernet-phy@2 {
compatible = "fsl,mpc8641-dma-channel", reg = <2>;
"fsl,eloplus-dma-channel";
reg = <0x180 0x80>;
cell-index = <3>;
interrupt-parent = <&mpic>;
interrupts = <23 2>;
}; };
}; tbi0: tbi-phy@11 {
reg = <0x11>;
enet0: ethernet@24000 { device_type = "tbi-phy";
#address-cells = <1>;
#size-cells = <1>;
cell-index = <0>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>;
phy-handle = <&phy0>;
phy-connection-type = "rgmii-id";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-mdio";
reg = <0x520 0x20>;
phy0: ethernet-phy@1f {
reg = <0x1f>;
};
phy1: ethernet-phy@0 {
reg = <0>;
};
phy2: ethernet-phy@1 {
reg = <1>;
};
phy3: ethernet-phy@2 {
reg = <2>;
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
}; };
}; };
enet1: ethernet@25000 { enet1: ethernet@25000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <1>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x25000 0x1000>;
ranges = <0x0 0x25000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <35 2 36 2 40 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi1>; tbi-handle = <&tbi1>;
phy-handle = <&phy1>; phy-handle = <&phy1>;
phy-connection-type = "rgmii-id"; phy-connection-type = "rgmii-id";
};
mdio@520 { mdio@25520 {
#address-cells = <1>; tbi1: tbi-phy@11 {
#size-cells = <0>; reg = <0x11>;
compatible = "fsl,gianfar-tbi"; device_type = "tbi-phy";
reg = <0x520 0x20>;
tbi1: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
}; };
}; };
enet2: ethernet@26000 { enet2: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>; tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "rgmii-id"; phy-connection-type = "rgmii-id";
};
mdio@520 { mdio@26520 {
#address-cells = <1>; tbi2: tbi-phy@11 {
#size-cells = <0>; reg = <0x11>;
compatible = "fsl,gianfar-tbi"; device_type = "tbi-phy";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
}; };
}; };
enet3: ethernet@27000 { enet3: ethernet@27000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <3>;
device_type = "network";
model = "TSEC";
compatible = "gianfar";
reg = <0x27000 0x1000>;
ranges = <0x0 0x27000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <37 2 38 2 39 2>;
interrupt-parent = <&mpic>;
tbi-handle = <&tbi3>; tbi-handle = <&tbi3>;
phy-handle = <&phy3>; phy-handle = <&phy3>;
phy-connection-type = "rgmii-id"; phy-connection-type = "rgmii-id";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi3: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
};
serial0: serial@4500 {
cell-index = <0>;
device_type = "serial";
compatible = "fsl,ns16550", "ns16550";
reg = <0x4500 0x100>;
clock-frequency = <0>;
interrupts = <42 2>;
interrupt-parent = <&mpic>;
};
serial1: serial@4600 {
cell-index = <1>;
device_type = "serial";
compatible = "fsl,ns16550", "ns16550";
reg = <0x4600 0x100>;
clock-frequency = <0>;
interrupts = <28 2>;
interrupt-parent = <&mpic>;
}; };
mpic: pic@40000 { mdio@27520 {
clock-frequency = <0>; tbi3: tbi-phy@11 {
interrupt-controller; reg = <0x11>;
#address-cells = <0>; device_type = "tbi-phy";
#interrupt-cells = <2>; };
reg = <0x40000 0x40000>;
compatible = "chrp,open-pic";
device_type = "open-pic";
big-endian;
};
global-utilities@e0000 {
compatible = "fsl,mpc8641-guts";
reg = <0xe0000 0x1000>;
fsl,has-rstcr;
}; };
}; };
pci0: pcie@f8008000 { pci0: pcie@f8008000 {
compatible = "fsl,mpc8641-pcie";
device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xf8008000 0x1000>; reg = <0xf8008000 0x1000>;
bus-range = <0x0 0xff>;
ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000
0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>; 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
clock-frequency = <33333333>;
interrupt-parent = <&mpic>;
interrupts = <24 2>;
interrupt-map-mask = <0xff00 0 0 7>; interrupt-map-mask = <0xff00 0 0 7>;
interrupt-map = <
/* IDSEL 0x0 */
0x0000 0 0 1 &mpic 0 1
0x0000 0 0 2 &mpic 1 1
0x0000 0 0 3 &mpic 2 1
0x0000 0 0 4 &mpic 3 1
>;
pcie@0 { pcie@0 {
reg = <0 0 0 0 0>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
ranges = <0x02000000 0x0 0x80000000 ranges = <0x02000000 0x0 0x80000000
0x02000000 0x0 0x80000000 0x02000000 0x0 0x80000000
0x0 0x20000000 0x0 0x20000000
...@@ -411,16 +167,14 @@ pcie@0 { ...@@ -411,16 +167,14 @@ pcie@0 {
pci1: pcie@f8009000 { pci1: pcie@f8009000 {
compatible = "fsl,mpc8641-pcie"; compatible = "fsl,mpc8641-pcie";
device_type = "pci"; device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>; #size-cells = <2>;
#address-cells = <3>; #address-cells = <3>;
reg = <0xf8009000 0x1000>; reg = <0xf8009000 0x1000>;
bus-range = <0 0xff>; bus-range = <0 0xff>;
ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000
0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>; 0x01000000 0x0 0x00000000 0xe3000000 0x0 0x00100000>;
clock-frequency = <33333333>; clock-frequency = <100000000>;
interrupt-parent = <&mpic>; interrupts = <25 2 0 0>;
interrupts = <25 2>;
interrupt-map-mask = <0xf800 0 0 7>; interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map = < interrupt-map = <
/* IDSEL 0x0 */ /* IDSEL 0x0 */
...@@ -445,3 +199,5 @@ pcie@0 { ...@@ -445,3 +199,5 @@ pcie@0 {
}; };
}; };
}; };
/include/ "mpc8641si-post.dtsi"
...@@ -79,7 +79,7 @@ spi@110000 { ...@@ -79,7 +79,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "spansion,s25fl512s"; compatible = "spansion,s25fl512s", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; /* input clk */ spi-max-frequency = <10000000>; /* input clk */
}; };
...@@ -111,6 +111,47 @@ current-sensor@41 { ...@@ -111,6 +111,47 @@ current-sensor@41 {
shunt-resistor = <1000>; shunt-resistor = <1000>;
}; };
}; };
fman@400000 {
fm1mac1: ethernet@e0000 {
phy-handle = <&sgmii_rtk_phy2>;
phy-connection-type = "sgmii";
sleep = <&rcpm 0x80000000>;
};
fm1mac2: ethernet@e2000 {
sleep = <&rcpm 0x40000000>;
};
fm1mac3: ethernet@e4000 {
phy-handle = <&sgmii_aqr_phy3>;
phy-connection-type = "sgmii-2500";
sleep = <&rcpm 0x20000000>;
};
fm1mac4: ethernet@e6000 {
phy-handle = <&rgmii_rtk_phy1>;
phy-connection-type = "rgmii";
sleep = <&rcpm 0x10000000>;
};
mdio0: mdio@fc000 {
rgmii_rtk_phy1: ethernet-phy@1 {
reg = <0x1>;
};
sgmii_rtk_phy2: ethernet-phy@3 {
reg = <0x3>;
};
};
xmdio0: mdio@fd000 {
sgmii_aqr_phy3: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x2>;
};
};
};
}; };
pci0: pcie@ffe240000 { pci0: pcie@ffe240000 {
......
...@@ -87,7 +87,7 @@ spi@110000 { ...@@ -87,7 +87,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q128a11"; /* 16MB */ compatible = "micron,n25q128a11", "jedec,spi-nor"; /* 16MB */
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
}; };
...@@ -95,7 +95,7 @@ flash@0 { ...@@ -95,7 +95,7 @@ flash@0 {
flash@1 { flash@1 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "sst,sst25wf040"; /* 512KB */ compatible = "sst,sst25wf040", "jedec,spi-nor"; /* 512KB */
reg = <1>; reg = <1>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
}; };
...@@ -103,7 +103,7 @@ flash@1 { ...@@ -103,7 +103,7 @@ flash@1 {
flash@2 { flash@2 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "eon,en25s64"; /* 8MB */ compatible = "eon,en25s64", "jedec,spi-nor"; /* 8MB */
reg = <2>; reg = <2>;
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
}; };
......
...@@ -89,7 +89,7 @@ spi@110000 { ...@@ -89,7 +89,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q512ax3"; compatible = "micron,n25q512ax3", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; /* input clk */ spi-max-frequency = <10000000>; /* input clk */
}; };
...@@ -140,6 +140,51 @@ pca9546@77 { ...@@ -140,6 +140,51 @@ pca9546@77 {
#size-cells = <0>; #size-cells = <0>;
}; };
}; };
fman@400000 {
fm1mac1: ethernet@e0000 {
phy-handle = <&xg_aqr105_phy3>;
phy-connection-type = "xgmii";
sleep = <&rcpm 0x80000000>;
};
fm1mac2: ethernet@e2000 {
sleep = <&rcpm 0x40000000>;
};
fm1mac3: ethernet@e4000 {
phy-handle = <&rgmii_phy2>;
phy-connection-type = "rgmii";
sleep = <&rcpm 0x20000000>;
};
fm1mac4: ethernet@e6000 {
phy-handle = <&rgmii_phy1>;
phy-connection-type = "rgmii";
sleep = <&rcpm 0x10000000>;
};
mdio0: mdio@fc000 {
rgmii_phy1: ethernet-phy@2 {
reg = <0x2>;
};
rgmii_phy2: ethernet-phy@6 {
reg = <0x6>;
};
};
xmdio0: mdio@fd000 {
xg_aqr105_phy3: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x1>;
};
sg_2500_aqr105_phy4: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x2>;
};
};
};
}; };
pci0: pcie@ffe240000 { pci0: pcie@ffe240000 {
......
/* /*
* T1040RDB Device Tree Source * T1040RDB Device Tree Source
* *
* Copyright 2014 Freescale Semiconductor Inc. * Copyright 2014 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -38,6 +38,36 @@ ...@@ -38,6 +38,36 @@
/ { / {
model = "fsl,T1040RDB"; model = "fsl,T1040RDB";
compatible = "fsl,T1040RDB"; compatible = "fsl,T1040RDB";
aliases {
phy_sgmii_2 = &phy_sgmii_2;
};
soc@ffe000000 {
fman@400000 {
ethernet@e0000 {
fixed-link = <0 1 1000 0 0>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
fixed-link = <1 1 1000 0 0>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy_sgmii_2>;
phy-connection-type = "sgmii";
};
mdio@fc000 {
phy_sgmii_2: ethernet-phy@03 {
reg = <0x03>;
};
};
};
};
ifc: localbus@ffe124000 { ifc: localbus@ffe124000 {
cpld@3,0 { cpld@3,0 {
compatible = "fsl,t1040rdb-cpld"; compatible = "fsl,t1040rdb-cpld";
......
/* /*
* T1042RDB Device Tree Source * T1042RDB Device Tree Source
* *
* Copyright 2014 Freescale Semiconductor Inc. * Copyright 2014 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -38,6 +38,34 @@ ...@@ -38,6 +38,34 @@
/ { / {
model = "fsl,T1042RDB"; model = "fsl,T1042RDB";
compatible = "fsl,T1042RDB"; compatible = "fsl,T1042RDB";
aliases {
phy_sgmii_2 = &phy_sgmii_2;
};
soc@ffe000000 {
fman@400000 {
ethernet@e0000 {
status = "disabled";
};
ethernet@e2000 {
status = "disabled";
};
ethernet@e4000 {
phy-handle = <&phy_sgmii_2>;
phy-connection-type = "sgmii";
};
mdio@fc000 {
phy_sgmii_2: ethernet-phy@03 {
reg = <0x03>;
};
};
};
};
ifc: localbus@ffe124000 { ifc: localbus@ffe124000 {
cpld@3,0 { cpld@3,0 {
compatible = "fsl,t1042rdb-cpld"; compatible = "fsl,t1042rdb-cpld";
......
/* /*
* T1042RDB_PI Device Tree Source * T1042RDB_PI Device Tree Source
* *
* Copyright 2014 Freescale Semiconductor Inc. * Copyright 2014 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -38,11 +38,13 @@ ...@@ -38,11 +38,13 @@
/ { / {
model = "fsl,T1042RDB_PI"; model = "fsl,T1042RDB_PI";
compatible = "fsl,T1042RDB_PI"; compatible = "fsl,T1042RDB_PI";
ifc: localbus@ffe124000 { ifc: localbus@ffe124000 {
cpld@3,0 { cpld@3,0 {
compatible = "fsl,t1042rdb_pi-cpld"; compatible = "fsl,t1042rdb_pi-cpld";
}; };
}; };
soc: soc@ffe000000 { soc: soc@ffe000000 {
i2c@118000 { i2c@118000 {
rtc@68 { rtc@68 {
...@@ -51,6 +53,20 @@ rtc@68 { ...@@ -51,6 +53,20 @@ rtc@68 {
interrupts = <0x2 0x1 0 0>; interrupts = <0x2 0x1 0 0>;
}; };
}; };
fman@400000 {
ethernet@e0000 {
status = "disabled";
};
ethernet@e2000 {
status = "disabled";
};
ethernet@e4000 {
status = "disabled";
};
};
}; };
}; };
......
...@@ -104,7 +104,7 @@ spi@110000 { ...@@ -104,7 +104,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q512ax3"; compatible = "micron,n25q512ax3", "jedec,spi-nor";
reg = <0>; reg = <0>;
/* input clock */ /* input clock */
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
......
/* /*
* T104xQDS Device Tree Source * T104xQDS Device Tree Source
* *
* Copyright 2013 - 2014 Freescale Semiconductor Inc. * Copyright 2013 - 2015 Freescale Semiconductor Inc.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
...@@ -38,6 +38,33 @@ / { ...@@ -38,6 +38,33 @@ / {
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases {
emi1_rgmii0 = &t1040mdio0;
emi1_rgmii1 = &t1040mdio1;
emi1_slot3 = &t1040mdio3;
emi1_slot5 = &t1040mdio5;
emi1_slot6 = &t1040mdio6;
emi1_slot7 = &t1040mdio7;
rgmii_phy1 = &rgmii_phy1;
rgmii_phy2 = &rgmii_phy2;
phy_s3_01 = &phy_s3_01;
phy_s3_02 = &phy_s3_02;
phy_s3_03 = &phy_s3_03;
phy_s3_04 = &phy_s3_04;
phy_s5_01 = &phy_s5_01;
phy_s5_02 = &phy_s5_02;
phy_s5_03 = &phy_s5_03;
phy_s5_04 = &phy_s5_04;
phy_s6_01 = &phy_s6_01;
phy_s6_02 = &phy_s6_02;
phy_s6_03 = &phy_s6_03;
phy_s6_04 = &phy_s6_04;
phy_s7_01 = &phy_s7_01;
phy_s7_02 = &phy_s7_02;
phy_s7_03 = &phy_s7_03;
phy_s7_04 = &phy_s7_04;
};
reserved-memory { reserved-memory {
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
...@@ -85,6 +112,128 @@ board-control@3,0 { ...@@ -85,6 +112,128 @@ board-control@3,0 {
#size-cells = <1>; #size-cells = <1>;
compatible = "fsl,fpga-qixis"; compatible = "fsl,fpga-qixis";
reg = <3 0 0x300>; reg = <3 0 0x300>;
ranges = <0 3 0 0x300>;
mdio-mux-emi1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&mdio0>;
reg = <0x54 1>;
mux-mask = <0xe0>;
t1040mdio0: mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00>;
status = "disabled";
rgmii_phy1: ethernet-phy@1 {
reg = <0x1>;
};
};
t1040mdio1: mdio@20 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x20>;
status = "disabled";
rgmii_phy2: ethernet-phy@2 {
reg = <0x2>;
};
};
t1040mdio3: mdio@60 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x60>;
status = "disabled";
phy_s3_01: ethernet-phy@1c {
reg = <0x1c>;
};
phy_s3_02: ethernet-phy@1d {
reg = <0x1d>;
};
phy_s3_03: ethernet-phy@1e {
reg = <0x1e>;
};
phy_s3_04: ethernet-phy@1f {
reg = <0x1f>;
};
};
t1040mdio5: mdio@a0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0xa0>;
phy_s5_01: ethernet-phy@1c {
reg = <0x14>;
};
phy_s5_02: ethernet-phy@1d {
reg = <0x15>;
};
phy_s5_03: ethernet-phy@1e {
reg = <0x16>;
};
phy_s5_04: ethernet-phy@1f {
reg = <0x17>;
};
};
t1040mdio6: mdio@c0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0xc0>;
phy_s6_01: ethernet-phy@1c {
reg = <0x18>;
};
phy_s6_02: ethernet-phy@1d {
reg = <0x19>;
};
phy_s6_03: ethernet-phy@1e {
reg = <0x1a>;
};
phy_s6_04: ethernet-phy@1f {
reg = <0x1b>;
};
};
t1040mdio7: mdio@e0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0xe0>;
status = "disabled";
phy_s7_01: ethernet-phy@1c {
reg = <0x1c>;
};
phy_s7_02: ethernet-phy@1d {
reg = <0x1d>;
};
phy_s7_03: ethernet-phy@1e {
reg = <0x1e>;
};
phy_s7_04: ethernet-phy@1f {
reg = <0x1f>;
};
};
};
}; };
}; };
...@@ -112,7 +261,7 @@ spi@110000 { ...@@ -112,7 +261,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q128a11"; compatible = "micron,n25q128a11", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; /* input clock */ spi-max-frequency = <10000000>; /* input clock */
}; };
...@@ -129,6 +278,33 @@ rtc@68 { ...@@ -129,6 +278,33 @@ rtc@68 {
interrupts = <0x1 0x1 0 0>; interrupts = <0x1 0x1 0 0>;
}; };
}; };
fman@400000 {
ethernet@e0000 {
fixed-link = <0 1 1000 0 0>;
phy-connection-type = "sgmii";
};
ethernet@e2000 {
fixed-link = <1 1 1000 0 0>;
phy-connection-type = "sgmii";
};
ethernet@e4000 {
phy-handle = <&phy_s7_03>;
phy-connection-type = "sgmii";
};
ethernet@e6000 {
phy-handle = <&rgmii_phy1>;
phy-connection-type = "rgmii";
};
ethernet@e8000 {
phy-handle = <&rgmii_phy2>;
phy-connection-type = "rgmii";
};
};
}; };
pci0: pcie@ffe240000 { pci0: pcie@ffe240000 {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -113,7 +113,7 @@ spi@110000 { ...@@ -113,7 +113,7 @@ spi@110000 {
flash@0 { flash@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q512a"; compatible = "micron,n25q512a", "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <10000000>; /* input clock */ spi-max-frequency = <10000000>; /* input clock */
}; };
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment