Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2150212pxj; Sun, 30 May 2021 15:46:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznWAVPoHOM0eV01eDnC+Jqidv0Ny39CmVBnaMfTH9I/YsQy7AmDc01huajQsTB+MHo0Mqb X-Received: by 2002:a5e:9e4a:: with SMTP id j10mr15193999ioq.52.1622414807560; Sun, 30 May 2021 15:46:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622414807; cv=none; d=google.com; s=arc-20160816; b=Khq2BrwQR3+YfBkqUDYcZvx1rWPpLdJS+F3RR8z5KZK730jKXSPZZDH5N4XE400lV+ fw/afveOd+nKWx+91+mwPzFki8EECDP0DZeN7OB4DiGMYj6HhD+qqtJ1Ssddo6pwfAhk LNCkhL7+fHypJeKowCsx4UYq4D36w+1dk6xEwAn1A4FeiB9A1dsAUPHd/L0jOetKDrYu guI+xAROFNrvOCwnhwZoCTqdG0+HnhsLcqOQtZNJEomXsi3aAnke6YAB6QV9YD/eG0XN Z2dvJ8TLvgLT8Pawppm8EUeE66SkverazkTm/jNGyXLb4k6JhtwblvuYGigYSUI2amP7 40Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=i+lntvHcQFtA4WzpzAK2fZ1XNv59rf7ksgwKKNSp1Hc=; b=g5DHU4oww1IAjYZUQe/uZDpeIfrYqbCHaGAwv/pybpqgq6l9HWlb+Suwbl83YUwaLJ mO9cTo52gQt2z73wb9tlFr3k8uxI6HHVZdw9H7U00JvjHVkvzCjJkGBVQp6dHWSq2myv d8QYpPrAgJ//lrJ4Z7eVALDhN67cH4sB6W0JbsMc56m5ZVu6rjBv8gdhhNQnoFi5ATE5 Xp2Cw7JcP+KcWJAbjyJ7Iy0ff9YpO7/WJgfVIA2054ZVvHztyeYCn6OhqZYyiLlm4kFl ieEIkv6a8SKw13jhAIxtNqFML633QuXMG8hWdS0Oz8hKRCisXvhZITm/0XoDuwHMOB+v u56Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xs4all.nl header.s=s2 header.b=APMaVmSJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l3si14181972jad.55.2021.05.30.15.46.17; Sun, 30 May 2021 15:46:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@xs4all.nl header.s=s2 header.b=APMaVmSJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229969AbhE3WqE (ORCPT + 99 others); Sun, 30 May 2021 18:46:04 -0400 Received: from lb1-smtp-cloud8.xs4all.net ([194.109.24.21]:43667 "EHLO lb1-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229887AbhE3WqE (ORCPT ); Sun, 30 May 2021 18:46:04 -0400 Received: from copland.sibelius.xs4all.nl ([83.163.83.176]) by smtp-cloud8.xs4all.net with ESMTP id nUANlDkLZIpGynUAOlJsHU; Mon, 31 May 2021 00:44:24 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1622414664; bh=i+lntvHcQFtA4WzpzAK2fZ1XNv59rf7ksgwKKNSp1Hc=; h=From:To:Subject:Date:Message-Id:MIME-Version:From:Subject; b=APMaVmSJ8y6a/CeC81LeSYkAbZOI9OhertHrGIi9OR5/orThysYGjt8K47yMNYYtZ e72b0FGi1B4uUZoOzlDaaKTmR7YOOBnW3penTZ+LZ20j29yesP9LHJKl5pLQE9jtGu QAx8jbOZyloYkq+77EvpQ8LHlSUOHexUbPz7McFw3v1SuEc56EzAuSuwAxePHrq/Y+ mnXXNromzM0JphmfRs9cRbpnLpNXJIaa6kg8ZBSDIW5yXgHw8trFYqHIB5besj3M2M 2CjBHoHZgB13W9rbTgWDH6abrWjweRyC++ciLdGkEdSdcbQk7sRFOdtGthsvyDj6Pu qQW8iA3K2/oWg== From: Mark Kettenis To: devicetree@vger.kernel.org Cc: maz@kernel.org, robin.murphy@arm.com, Mark Kettenis , Hector Martin , Bjorn Helgaas , Rob Herring , linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/2] Apple M1 PCIe DT bindings Date: Mon, 31 May 2021 00:43:59 +0200 Message-Id: <20210530224404.95917-1-mark.kettenis@xs4all.nl> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfCPLUSCSRp08vyYWAg9IyKw+2xNqsbnVOvxxAlmtWSR61EW2uQ+IosWVXLd+JVC4/nWNrGMT8TcZSM7C7uoDIvdwedp3P1Vop6WlTwt4V5CFzyCqN88D thKteuSQIRAAgvx6rTCQKb8IUzvfG+uOSIaZydB/e41JB+QNK5nk8QCluMH+W03fvYqyZaaDYd5vexS2yeFA0JEZcUZmoEnsK6rYEoBkxOWEH+SbDW5tq1x4 Jn4M1gIaaWDClQO2bQKVp+9RJLw1eDAQ+YS/313KRi0MSXaEa/r5/SFrhIV1lPkAVfqgjPZW+y/tn9C7hdVnv8DNHvfhdNBCqjIs2zt3UZV8EyVVS8NS/1JO 2ElaMTAKCYmWeMc0qTd/KryzZK+jna2NzOwNCXKB5wBRnz2N8uXV95hoftlIQ4hQjJtaUOd80uG58yvAQNGgZZ0MTZjxrYPBXdp1+csummTz7ADzlfNxPxk9 o4HY0s0dxwSC5aNyTpFp3l+vq7gJ+R2pQpEjPNeVC7z1Z9dA40VofCIPi5k= Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mark Kettenis This small series adds bindings for the PCIe controller found on the Apple M1 SoC. At this point, the primary consumer for these bindings is U-Boot. With these bindings U-Boot can bring up the links for the root ports of the PCIe root complex. A simple OS driver can then provide standard ECAM access and manage MSI interrupts to provide access to the built-in Ethernet and XHCI controllers of the Mac mini. The Apple controller incorporates Synopsys Designware PCIe logic to implement its root port. But unlike other hardware currently supported by U-Boot and the Linux kernel the Apple hardware integrates multiple root ports. As such the existing bindings for the DWC PCIe interface can't be used. There is a single ECAM space for all root space, but separate GPIOs to take the PCI devices on those ports out of reset. Therefore the standard "reset-gpio" and "max-link-speed" properties appear on the child nodes representing the PCI devices that correspond to the individual root ports. MSIs are handled by the PCIe controller and translated into "regular interrupts". A range of 32 MSIs is provided. These 32 MSIs can be distributed over the root ports as the OS sees fit by programming the PCIe controller port registers. I still hope to hear from Marc Zyngier on the way MSIs are represented in this binding. Patch 2/2 of this series depends on the pinctrl series I sent earlier. Changelog: v2: - Adjust name for ECAM in "reg-names" - Drop "phy" registers - Expand description - Add description for "interrupts" - Fix incorrect minItems for "interrupts" - Fix incorrect MaxItems for "reg-names" - Document the use of "msi-controller", "msi-parent", "iommu-map" and "iommu-map-mask" - Fix "bus-range" and "iommu-map" properties in the example Mark Kettenis (2): dt-bindings: pci: Add DT bindings for apple,pcie arm64: apple: Add PCIe node .../devicetree/bindings/pci/apple,pcie.yaml | 167 ++++++++++++++++++ MAINTAINERS | 1 + arch/arm64/boot/dts/apple/t8103.dtsi | 63 +++++++ 3 files changed, 231 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/apple,pcie.yaml -- 2.31.1