18c2ecf20Sopenharmony_ci* Samsung Exynos 5440 PCIe interface 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciThis PCIe host controller is based on the Synopsys DesignWare PCIe IP 48c2ecf20Sopenharmony_ciand thus inherits all the common properties defined in designware-pcie.txt. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciRequired properties: 78c2ecf20Sopenharmony_ci- compatible: "samsung,exynos5440-pcie" 88c2ecf20Sopenharmony_ci- reg: base addresses and lengths of the PCIe controller, 98c2ecf20Sopenharmony_ci- reg-names : First name should be set to "elbi". 108c2ecf20Sopenharmony_ci And use the "config" instead of getting the configuration address space 118c2ecf20Sopenharmony_ci from "ranges". 128c2ecf20Sopenharmony_ci NOTE: When using the "config" property, reg-names must be set. 138c2ecf20Sopenharmony_ci- interrupts: A list of interrupt outputs for level interrupt, 148c2ecf20Sopenharmony_ci pulse interrupt, special interrupt. 158c2ecf20Sopenharmony_ci- phys: From PHY binding. Phandle for the generic PHY. 168c2ecf20Sopenharmony_ci Refer to Documentation/devicetree/bindings/phy/samsung-phy.txt 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciFor other common properties, refer to 198c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/pci/designware-pcie.txt 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciExample: 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciSoC-specific DT Entry (with using PHY framework): 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci pcie_phy0: pcie-phy@270000 { 268c2ecf20Sopenharmony_ci ... 278c2ecf20Sopenharmony_ci reg = <0x270000 0x1000>, <0x271000 0x40>; 288c2ecf20Sopenharmony_ci reg-names = "phy", "block"; 298c2ecf20Sopenharmony_ci ... 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci pcie@290000 { 338c2ecf20Sopenharmony_ci compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; 348c2ecf20Sopenharmony_ci reg = <0x290000 0x1000>, <0x40000000 0x1000>; 358c2ecf20Sopenharmony_ci reg-names = "elbi", "config"; 368c2ecf20Sopenharmony_ci clocks = <&clock 28>, <&clock 27>; 378c2ecf20Sopenharmony_ci clock-names = "pcie", "pcie_bus"; 388c2ecf20Sopenharmony_ci #address-cells = <3>; 398c2ecf20Sopenharmony_ci #size-cells = <2>; 408c2ecf20Sopenharmony_ci device_type = "pci"; 418c2ecf20Sopenharmony_ci phys = <&pcie_phy0>; 428c2ecf20Sopenharmony_ci ranges = <0x81000000 0 0 0x60001000 0 0x00010000 438c2ecf20Sopenharmony_ci 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; 448c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 458c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 468c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 478c2ecf20Sopenharmony_ci num-lanes = <4>; 488c2ecf20Sopenharmony_ci }; 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciBoard-specific DT Entry: 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci pcie@290000 { 538c2ecf20Sopenharmony_ci reset-gpio = <&pin_ctrl 5 0>; 548c2ecf20Sopenharmony_ci }; 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci pcie@2a0000 { 578c2ecf20Sopenharmony_ci reset-gpio = <&pin_ctrl 22 0>; 588c2ecf20Sopenharmony_ci }; 59