The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/pci/layerscape-pci.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 Freescale Layerscape PCIe controller
    2 
    3 This PCIe host controller is based on the Synopsys DesignWare PCIe IP
    4 and thus inherits all the common properties defined in snps,dw-pcie.yaml.
    5 
    6 This controller derives its clocks from the Reset Configuration Word (RCW)
    7 which is used to describe the PLL settings at the time of chip-reset.
    8 
    9 Also as per the available Reference Manuals, there is no specific 'version'
   10 register available in the Freescale PCIe controller register set,
   11 which can allow determining the underlying DesignWare PCIe controller version
   12 information.
   13 
   14 Required properties:
   15 - compatible: should contain the platform identifier such as:
   16   RC mode:
   17         "fsl,ls1021a-pcie"
   18         "fsl,ls2080a-pcie", "fsl,ls2085a-pcie"
   19         "fsl,ls2088a-pcie"
   20         "fsl,ls1088a-pcie"
   21         "fsl,ls1046a-pcie"
   22         "fsl,ls1043a-pcie"
   23         "fsl,ls1012a-pcie"
   24         "fsl,ls1028a-pcie"
   25   EP mode:
   26         "fsl,ls1028a-pcie-ep", "fsl,ls-pcie-ep"
   27         "fsl,ls1046a-pcie-ep", "fsl,ls-pcie-ep"
   28         "fsl,ls1088a-pcie-ep", "fsl,ls-pcie-ep"
   29         "fsl,ls2088a-pcie-ep", "fsl,ls-pcie-ep"
   30         "fsl,lx2160ar2-pcie-ep", "fsl,ls-pcie-ep"
   31 - reg: base addresses and lengths of the PCIe controller register blocks.
   32 - interrupts: A list of interrupt outputs of the controller. Must contain an
   33   entry for each entry in the interrupt-names property.
   34 - interrupt-names: It could include the following entries:
   35   "aer": Used for interrupt line which reports AER events when
   36          non MSI/MSI-X/INTx mode is used
   37   "pme": Used for interrupt line which reports PME events when
   38          non MSI/MSI-X/INTx mode is used
   39   "intr": Used for SoCs(like ls2080a, lx2160a, ls2080a, ls2088a, ls1088a)
   40           which has a single interrupt line for miscellaneous controller
   41           events(could include AER and PME events).
   42 - fsl,pcie-scfg: Must include two entries.
   43   The first entry must be a link to the SCFG device node
   44   The second entry is the physical PCIe controller index starting from '0'.
   45   This is used to get SCFG PEXN registers
   46 - dma-coherent: Indicates that the hardware IP block can ensure the coherency
   47   of the data transferred from/to the IP block. This can avoid the software
   48   cache flush/invalid actions, and improve the performance significantly.
   49 
   50 Optional properties:
   51 - big-endian: If the PEX_LUT and PF register block is in big-endian, specify
   52   this property.
   53 
   54 Example:
   55 
   56         pcie@3400000 {
   57                 compatible = "fsl,ls1088a-pcie";
   58                 reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
   59                       <0x20 0x00000000 0x0 0x00002000>; /* configuration space */
   60                 reg-names = "regs", "config";
   61                 interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
   62                 interrupt-names = "aer";
   63                 #address-cells = <3>;
   64                 #size-cells = <2>;
   65                 device_type = "pci";
   66                 dma-coherent;
   67                 num-viewport = <256>;
   68                 bus-range = <0x0 0xff>;
   69                 ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000   /* downstream I/O */
   70                           0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
   71                 msi-parent = <&its>;
   72                 #interrupt-cells = <1>;
   73                 interrupt-map-mask = <0 0 0 7>;
   74                 interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
   75                                 <0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
   76                                 <0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
   77                                 <0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
   78                 iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */
   79         };

Cache object: 167e8706a39a7b6ae6a396cc4847bc0d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.