From patchwork Tue Aug 6 15:08:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Wunderlich X-Patchwork-Id: 1142835 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=public-files.de Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="EDOpH0kY"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 462ymP0tlYz9s3Z for ; Wed, 7 Aug 2019 01:12:21 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id D9248C21E70; Tue, 6 Aug 2019 15:11:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=KHOP_BIG_TO_CC, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 6BEFDC21E30; Tue, 6 Aug 2019 15:11:15 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id F3D47C21E2F; Tue, 6 Aug 2019 15:09:31 +0000 (UTC) Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by lists.denx.de (Postfix) with ESMTPS id 377C6C21E44 for ; Tue, 6 Aug 2019 15:09:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565104148; bh=xwBOkPyGHBPjQV+bO0Yyxz7gOTlbjKmDZpkCrbBDjLY=; h=X-UI-Sender-Class:From:To:Subject:Date:In-Reply-To:References; b=EDOpH0kYKh9q92XjLWOCn8f63X4TbhFJaBH7UeDcHPhsSs3m80YED1ssecM9OvNg9 GpJ/b29SVlmXL6eUG6WDt47B2Wi/Eel8Nxj2lCjUtZiRrTRcV3h3qyYC3IKoj5oCwi bYAU3UCAaIZ56hP3SyVpbs6UrYqg4N5dQs6HEgys= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([217.61.153.94]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MxDkm-1iEinD3x04-00xevY; Tue, 06 Aug 2019 17:09:08 +0200 From: Frank Wunderlich To: Albert Aribaud , Ryder Lee , Weijie Gao , GSS_MTK_Uboot_upstream , Frank Wunderlich , Simon Glass , Mark Lee , Oleksandr Rybalko , Christian Gmeiner , Tuomas Tynkkynen , Prabhakar Kushwaha , Hou Zhiqiang , Marek Vasut , Stefan Roese , Bin Meng , Bao Xiaowei , Jean-Jacques Hiblot , Neil Armstrong , Ramon Fried , Daniel Schwierzeck , u-boot@lists.denx.de Date: Tue, 6 Aug 2019 17:08:49 +0200 Message-Id: <20190806150852.5527-6-frank-w@public-files.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190806150852.5527-1-frank-w@public-files.de> References: <20190806150852.5527-1-frank-w@public-files.de> X-Provags-ID: V03:K1:PK36jK/Ooscsq6XUVrKZII3BLRPZFjH5aDWG6mfclE5HXCcOyqg CDvfXNegXw0LQGQEP695G0BkdJD32JIlpvJ70RSJp73iw2enxSZCvhY5Xg3NlRVQ/oTLvVq 7Bf1flHzt90zKeIEXnb3PLoK5fXebWw6k8asT9IbgCoOBsRtlgTTkilyQ7+00GreUmyYz98 KpCnAwvfw8j83qpkUhd1w== X-UI-Out-Filterresults: notjunk:1; V03:K0:GHIpwfTTZ0Q=:R9gF8BT1iGCj8wAkKePZrg 9tqB9te0+U6PUVNx4c5sNP4R4nGW1erODX1qBJ3KXM3mMGvoCmPnFUAgc9wZISUhez2BxgKkn Q7OVI3OPSLR29d60P+81Rc6gBf28QZjiYFhxkIrvTxx3A4xzh+u/LFTrTXDTS2FiMSx5Ys60p dkcLw0mIQbMap5kJLNmw/MSXUrPStUJRtq9OLs7BcrJF7byNlqobttzFoxC7yXS+KufPNfGE7 2wlini5LCkPv9HIkDm66XclYhDxvF0D7AuXeR3pPB5eKHbTEjlOcYs/ObvIdxOWZvr0c3yjT+ MvzPVsUO7sQL3sYPNji48YipePhjt+f5ErNsiFTof6QpF8y1wwNf4RX/R6sKccY7lBXxPSL3E DL+bl7IZVePu5Ni+2BfuO+AT538uCGK3zUNm6LSzWMGAiAyDGfl55tJ07XKsuZcFXoXvxY6nv CziD71qW3qtw9rmomeiv2cczl/c1proEjw6nJMubwFm+TKd3X0panCy0p8LGVzfGwxCiqBza1 GXROgb49BCX1mH9Sxn/TOUxyCBRVOeqsHe+HCTQQP4Gyd83jBNSVX4T9EhXOm9uq7evwNMUvf dGBgOGO1bHkVJ8/i7/S90OZy9Yk8FS8T/a8A5oQT1zrTdkXntkEZhLycG7uxIyO80XyglbRPN 2bf1OfcxHHE7Aq4gUgf+Ot1KHAit8zgijnhUnaJjMzteDWL6JhhDedqaFqdNJxh8S776D+g7C 4A+TPUZmqolVzPCWEijlU2rMDhiEt7qjRUt3BviLSYDLEzpczL/uYG+z9hkMaIJR6SKMvFDqh IHrHRkhSkcRYhWaNS/RejLMdW1jr9MQm8TN1OYl0sidtS9yUoQv7z3pHdnYnQHKHY/N9CGe+a wHMAY9/cwLylVAh5ytlA9nchWnhwkjeUlYibVASEKZQE1T4m1qM9Zz6KIL+5xsn0MEkgJmAFx HkIHDOTUlW94YalwJ8/Dq23hdu7c2LRw9AP6Pr85Cm+F9Ugr+fCmMpfJDY8GDnQ99Bs6po9zC amA9Fvk3dabK0atcBCER+r6pCRbkJsxSzVtE5HfbsYTNdmJULqVtxnW93U/6rSifBPgLgi8XZ UW9bZdbx//8umQgm7shLaF3RdTkHd2FuKpujWz+Bq/7LPaMCysFwRwMxg== Subject: [U-Boot] [PATCH v3 5/8] dt-bindings: pcie: add a document for MT7623 PCIe controller X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Ryder Lee This adds a document for MT7623 PCIe controller. changes since v2: dt-bindings added with v3 Signed-off-by: Ryder Lee Signed-off-by: Frank Wunderlich --- .../pci/mediatek-pcie.txt | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 doc/device-tree-bindings/pci/mediatek-pcie.txt -- 2.17.1 diff --git a/doc/device-tree-bindings/pci/mediatek-pcie.txt b/doc/device-tree-bindings/pci/mediatek-pcie.txt new file mode 100644 index 0000000000..2f9f549b7a --- /dev/null +++ b/doc/device-tree-bindings/pci/mediatek-pcie.txt @@ -0,0 +1,122 @@ +MediaTek Gen2 PCIe controller + +Required properties: +- compatible: Should contain one of the following strings: + "mediatek,mt7623-pcie" +- device_type: Must be "pci" +- reg: Base addresses and lengths of the PCIe subsys and root ports. +- reg-names: Names of the above areas to use during resource lookup. +- #address-cells: Address representation for root ports (must be 3) +- #size-cells: Size representation for root ports (must be 2) +- clocks: Must contain an entry for each entry in clock-names. +- clock-names: + Mandatory entries: + - sys_ckN :transaction layer and data link layer clock + Required entries for MT7623: + - free_ck :for reference clock of PCIe subsys + where N starting from 0 to one less than the number of root ports. +- phys: List of PHY specifiers (used by generic PHY framework). +- phy-names : Must be "pcie-phy0", "pcie-phy1", "pcie-phyN".. based on the + number of PHYs as specified in *phys* property. +- power-domains: A phandle and power domain specifier pair to the power domain + which is responsible for collapsing and restoring power to the peripheral. +- bus-range: Range of bus numbers associated with this controller. +- ranges: Ranges for the PCI memory and I/O regions. + +Required properties for MT7623: +- #interrupt-cells: Size representation for interrupts (must be 1) +- interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties + Please refer to the standard PCI bus binding document for a more detailed + explanation. +- resets: Must contain an entry for each entry in reset-names. +- reset-names: Must be "pcie-rst0", "pcie-rst1", "pcie-rstN".. based on the + number of root ports. + +In addition, the device tree node must have sub-nodes describing each +PCIe port interface, having the following mandatory properties: + +Required properties: +- device_type: Must be "pci" +- reg: Only the first four bytes are used to refer to the correct bus number + and device number. +- #address-cells: Must be 3 +- #size-cells: Must be 2 +- #interrupt-cells: Must be 1 +- interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties + Please refer to the standard PCI bus binding document for a more detailed + explanation. +- ranges: Sub-ranges distributed from the PCIe controller node. An empty + property is sufficient. + +Examples for MT7623: + + hifsys: syscon@1a000000 { + compatible = "mediatek,mt7623-hifsys", + "syscon"; + reg = <0x1a000000 0x1000>; + #clock-cells = <1>; + #reset-cells = <1>; + }; + + pcie: pcie@1a140000 { + compatible = "mediatek,mt7623-pcie"; + device_type = "pci"; + reg = <0x1a140000 0x1000>, /* PCIe shared registers */ + <0x1a142000 0x1000>, /* Port0 registers */ + <0x1a143000 0x1000>, /* Port1 registers */ + <0x1a144000 0x1000>; /* Port2 registers */ + reg-names = "subsys", "port0", "port1", "port2"; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0xf800 0 0 0>; + interrupt-map = <0x0000 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>, + <0x0800 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>, + <0x1000 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>; + clocks = <&topckgen CLK_TOP_ETHIF_SEL>, + <&hifsys CLK_HIFSYS_PCIE0>, + <&hifsys CLK_HIFSYS_PCIE1>, + <&hifsys CLK_HIFSYS_PCIE2>; + clock-names = "free_ck", "sys_ck0", "sys_ck1", "sys_ck2"; + resets = <&hifsys HIFSYS_PCIE0_RST>, + <&hifsys HIFSYS_PCIE1_RST>, + <&hifsys HIFSYS_PCIE2_RST>; + reset-names = "pcie-rst0", "pcie-rst1", "pcie-rst2"; + phys = <&pcie0_phy PHY_TYPE_PCIE>, <&pcie1_phy PHY_TYPE_PCIE>, + <&pcie2_phy PHY_TYPE_PCIE>; + phy-names = "pcie-phy0", "pcie-phy1", "pcie-phy2"; + power-domains = <&scpsys MT7623_POWER_DOMAIN_HIF>; + bus-range = <0x00 0xff>; + ranges = <0x81000000 0 0x1a160000 0x1a160000 0 0x00010000 /* I/O space */ + 0x83000000 0 0x60000000 0x60000000 0 0x10000000>; /* memory space */ + + pcie@0,0 { + reg = <0x0000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>; + ranges; + }; + + pcie@1,0 { + reg = <0x0800 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>; + ranges; + }; + + pcie@2,0 { + reg = <0x1000 0 0 0 0>; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>; + ranges; + }; + };