From patchwork Tue May 3 01:25:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 617729 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3qzNpk2jH2z9sCg for ; Tue, 3 May 2016 11:28:14 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=ROVwVaBg; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932409AbcECB1y (ORCPT ); Mon, 2 May 2016 21:27:54 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:33983 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933771AbcECB0X (ORCPT ); Mon, 2 May 2016 21:26:23 -0400 Received: by mail-pa0-f54.google.com with SMTP id r5so2740050pag.1; Mon, 02 May 2016 18:26:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=a9/kr6GTBVHWCe4NvwN9WuLqmpKBs0E+u09OEUD7VpE=; b=ROVwVaBgHwzpb0tctAH0Np32AjIeY5aJENWqtDuX34KhHWRxq5PfH7jACyBa79jDtz RS/CtlXPtJbzMAq/QioTGxf5ChIcR7UiDb4KcBjMp/vi6ToOJzaCHShmO4osxHpN66B6 KGyaypQsAg4rfEXkeRPQyeGsb97AODzQaAr46UzPz/jQ4xtLvbw9zZMcAc5PU7Thzeqa zx0td5cb0B1bSnZyCgDOcfU6gnuh32NZXiz1nz6c9ekyqdz/4sQbkIsIWL9SuYOUCKja WOoKoZPSIkj+0yk8QSeeEvo3p/Qbgmkt7vT5pu/AepB69h9rc9SBGOXuV3cQzeyxET4d e8uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=a9/kr6GTBVHWCe4NvwN9WuLqmpKBs0E+u09OEUD7VpE=; b=LtJ3mHRSb/povJvl8oP26ywPH4lTVx097t+tehq0paF+1ZXgU94SkGqgQQvA7U054o CL/7hSUUee+/sLvbsoDCbzguPwgpxt2fdg5m61Q43gnzUFKrxNXgk1hvEGgRpzb7Gw8x 30vPjfytVNtNCNn+YeIZ5R3rdNx+Kbku64YdyPLqxNn5ND7H9cs2N4ghy0EamFjXK2gJ 0fnlku+5ImJtBYuZbBpfJJ6bkxCpl3nysEBxCn8mOn3OQeqMAyC2ETxwUdi9U0iz9aR2 9R1fiVDS+SyW8ymm30CG5OOmW0m+N3vBuGSVMDXEHOlNG3Gd1JdCPYtXbeEodRi7z1C5 rKHQ== X-Gm-Message-State: AOPr4FXLZmnHRXjGWQDIrQwsGMlohhgEaEniE6IrvmvtdW4FxXLxGHF64F/LiUvusgEf2Q== X-Received: by 10.67.1.3 with SMTP id bc3mr53665440pad.138.1462238782326; Mon, 02 May 2016 18:26:22 -0700 (PDT) Received: from fainelli-desktop.broadcom.com (5520-maca-inet1-outside.broadcom.com. [216.31.211.11]) by smtp.gmail.com with ESMTPSA id u65sm856767pfa.9.2016.05.02.18.26.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 02 May 2016 18:26:21 -0700 (PDT) From: Florian Fainelli To: linux-pci@vger.kernel.org Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, bhelgaas@google.com, Florian Fainelli Subject: [PATCH 1/2] Documentation: DT: bindings: Add Broadcom STB PCIe bindings Date: Mon, 2 May 2016 18:25:48 -0700 Message-Id: <1462238749-19715-2-git-send-email-f.fainelli@gmail.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1462238749-19715-1-git-send-email-f.fainelli@gmail.com> References: <1462238749-19715-1-git-send-email-f.fainelli@gmail.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: Jim Quinlan This patchs adds the Device Tree bindings for the Broadcom STB PCIe root complex hardware. Signed-off-by: Jim Quinlan Signed-off-by: Florian Fainelli --- .../devicetree/bindings/pci/brcm,brcmstb-pcie.txt | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/brcm,brcmstb-pcie.txt diff --git a/Documentation/devicetree/bindings/pci/brcm,brcmstb-pcie.txt b/Documentation/devicetree/bindings/pci/brcm,brcmstb-pcie.txt new file mode 100644 index 000000000000..922317969ab5 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/brcm,brcmstb-pcie.txt @@ -0,0 +1,81 @@ +Brcmstb PCIe Host Controller Device Tree Bindings + +Introduction: + +The brcmstb host controller closely follows the example set in + + [1] http://devicetree.org/Device_Tree_Usage#PCI_Host_Bridge + +The rest of this document explains some added customizations and +offers an example Brcmstb PCIe host controller DT node. + +Required Properties: + reg -- the register start address and length for the PCIe block. + Additional start,length pairs may be specified for clock addresses. + interrupts -- this must be specified but it is used indirectly. Interrupt + zero must be specified; the Brcmstb driver code uses this interrupt + to determine the offset used for all interrupts, specifically, those + listed in interrupt-map. + compatible -- must be one of: "brcm,bcm7425-pcie", "brcm,bcm7435-pcie" or + "brcm,bcm7445-pcie". + #address-cells -- the number of address cells for PCI-space. + #size-cells -- the number of size cells for PCI-space. + ranges -- See [1]; a specification of the outbound windows for the host + controller. Each outbound window is described by a 7-tuple: + (3 entries) -- PCIe space start address (0th entry is ignored). + (2 entries) -- CPU/System start address + (2 entries) -- Size of region. + Due to hardware limitations, there may be a maximum of four windows + specified. + #interrupt-cells -- number of cells used to describe the interrupt. + interrupt-map -- See [1]; each interrupt requires 7 entries, and + currently all but the fifth entry (order 0) -- the interrupt + number -- is ignored. There must be four interrupts specified + for the PCI's INTA, INTB, INTC, and INTD. + +Optional Properties: + interrupt-names -- names of the interrupts listed in the interrupt map. + clocks -- list of clock phandles. If specified, this should list one + clock. + clock-names -- the "local" names of the clocks specified in 'clocks'. Note + that if the 'clocks' property is given, 'clock-names' is mandatory, + and the name of the clock is expected to be "sw_pcie". + brcm,ssc -- (boolean) indicates usage of spread-spectrum clocking. + brcm,gen -- (integer) indicates desired generation of link: + 1 => 2.5 Gbps, 2 => 5.0 Gbps, 3 => 8.0 Gbps. + supply-names -- the names of voltage regulators that the root + complex should turn off/on/on on suspend/resume/boot. This + is a string list. + supplies -- A collection of phandles to a regulator nodes, see + Documentation/devicetree/bindings/regulator/ for specific + bindings. The number and order of phandles must match + exactly the number of strings in the "supply-names" property. + +Example Node: + + pcie@f0460000 { + reg = <0x0 0xf0460000 0x0 0x9310>; + interrupts = <0x0 0x0 0x4>; + compatible = "brcm,pci-plat-dev"; + #address-cells = <3>; + #size-cells = <2>; + ranges = <0x02000000 0x00000000 0x00000000 0x00000000 0xc0000000 0x00000000 0x08000000 + 0x02000000 0x00000000 0x08000000 0x00000000 0xc8000000 0x00000000 0x08000000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0xf800 0 0 7>; + interrupt-map = <0 0 0 1 &intc 47 3 + 0 0 0 2 &intc 48 3 + 0 0 0 3 &intc 49 3 + 0 0 0 4 &intc 50 3>; + interrupt-names = "pcie_0_inta", + "pcie_0_intb", + "pcie_0_intc", + "pcie_0_intd"; + clocks = <&sw_pcie0>; + clock-names = "sw_pcie"; + brcm,ssc; + brcm,gen = <1>; + supply-names = "vreg-wifi-pwr"; + supplies = <&vreg-wifi-pwr>; + + };