From patchwork Thu Jul 29 11:56:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 488917 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CBD4C4320E for ; Thu, 29 Jul 2021 11:56:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 40E2960F46 for ; Thu, 29 Jul 2021 11:56:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235347AbhG2L4i (ORCPT ); Thu, 29 Jul 2021 07:56:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:46356 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234949AbhG2L4g (ORCPT ); Thu, 29 Jul 2021 07:56:36 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 650D060F21; Thu, 29 Jul 2021 11:56:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627559793; bh=JQBY01HlySg61KGcooyIwhgyIlhQj6EZr5kggVNvmjA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dRpjKxcga67XrmDg/XkXTee2G/JQg1Y6c5CcKmEPqabQOLjlroJCLDBMGlKxaRODT 3R8+EZ4NQm12fKIxOL8KeCJQYCKCYxnuvV9P+1THSepgJPbe75Mvk/EIX4kLPAgWeu nJ/bZzbdZDoPHFwx1t3I/ECLK8Pj9yVSr/XOtN+vjzFhvJNjyhB5UVQEXN5+QDyM28 +JRTkJ41VP3YuPGyUaj6a3IojUZeFDkT528wxruOepSDIz7bdJ2q4zCyBwyT69R3h6 I4lw/fXUTgCRqfsTMl22rRQK9X46kmth1xPF1iT4LVwRBxGZSWyDBUNSlZlidln/ug qlRu5Br14VK+A== Received: by mail.kernel.org with local (Exim 4.94.2) (envelope-from ) id 1m94eN-004d1s-8d; Thu, 29 Jul 2021 13:56:31 +0200 From: Mauro Carvalho Chehab To: Rob Herring Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Mauro Carvalho Chehab , Bjorn Helgaas , Rob Herring , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH 1/5] dt-bindings: PCI: kirin: Fix compatible string Date: Thu, 29 Jul 2021 13:56:24 +0200 Message-Id: <25fe326c8429233e5333a1a6eae5ec01c4b19131.1627559126.git.mchehab+huawei@kernel.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The pcie-kirin driver doesn't declare a hisilicon,kirin-pcie. Also, remove the useless comment after the description, as other compat will be supported by the same driver in the future. Acked-by: Rob Herring Signed-off-by: Mauro Carvalho Chehab --- Documentation/devicetree/bindings/pci/kirin-pcie.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/pci/kirin-pcie.txt b/Documentation/devicetree/bindings/pci/kirin-pcie.txt index 7db30534498f..7adab8999a6a 100644 --- a/Documentation/devicetree/bindings/pci/kirin-pcie.txt +++ b/Documentation/devicetree/bindings/pci/kirin-pcie.txt @@ -9,7 +9,7 @@ Additional properties are described here: Required properties - compatible: - "hisilicon,kirin960-pcie" for PCIe of Kirin960 SoC + "hisilicon,kirin960-pcie" - reg: Should contain rc_dbi, apb, phy, config registers location and length. - reg-names: Must include the following entries: "dbi": controller configuration registers; @@ -23,7 +23,7 @@ Optional properties: Example based on kirin960: pcie@f4000000 { - compatible = "hisilicon,kirin-pcie"; + compatible = "hisilicon,kirin960-pcie"; reg = <0x0 0xf4000000 0x0 0x1000>, <0x0 0xff3fe000 0x0 0x1000>, <0x0 0xf3f20000 0x0 0x40000>, <0x0 0xF4000000 0 0x2000>; reg-names = "dbi","apb","phy", "config"; From patchwork Thu Jul 29 11:56:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 488915 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC870C4338F for ; Thu, 29 Jul 2021 11:56:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CB23260720 for ; Thu, 29 Jul 2021 11:56:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235169AbhG2L4h (ORCPT ); Thu, 29 Jul 2021 07:56:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:46360 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234958AbhG2L4g (ORCPT ); Thu, 29 Jul 2021 07:56:36 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6700860720; Thu, 29 Jul 2021 11:56:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627559793; bh=AyZq286GxOzlTPT6NwaDtxxaeeo+pRSi6ddl1AxdRy4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Or2jJVcNIiWH4V4i1i2ovkcpzMRG/jxoqD1DZRNUKcOFSsFZDDPZZVyqEbckrr9wG 8SOF7CE/1V/JX5Z/+z9DNfkKxWfwqjf43G7e6vPAYtvUAv4L0AVXMpyEMM6XvxCdHQ a4sg3s0OKI4MblF78SMQvZ817NCjxGOvYXrhyUNyxkkq28B3nyCwYL8ENFIMZBtzkM JDlSKBcVG6mnODrPx7645UlHbEmRf8Zd+ChVOPQejzAGAEEXYCj92JIw/3zLzwtw6A PbpJl5/EnBmTLsbkA+ArFHhPM4TiQ5lKaUEvjFvyjJdxox0GbX2u8hb3dkfWnrtyFY C2dGbBXdbakeQ== Received: by mail.kernel.org with local (Exim 4.94.2) (envelope-from ) id 1m94eN-004d24-DI; Thu, 29 Jul 2021 13:56:31 +0200 From: Mauro Carvalho Chehab To: Rob Herring Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Mauro Carvalho Chehab , Kishon Vijay Abraham I , Rob Herring , Vinod Koul , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org Subject: [PATCH 4/5] dt-bindings: phy: Add bindings for HiKey 970 PCIe PHY Date: Thu, 29 Jul 2021 13:56:27 +0200 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Document the bindings for HiKey 970 (hi3670) PCIe PHY interface, supported via the pcie-kirin driver. Signed-off-by: Mauro Carvalho Chehab --- .../phy/hisilicon,phy-hi3670-pcie.yaml | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/hisilicon,phy-hi3670-pcie.yaml diff --git a/Documentation/devicetree/bindings/phy/hisilicon,phy-hi3670-pcie.yaml b/Documentation/devicetree/bindings/phy/hisilicon,phy-hi3670-pcie.yaml new file mode 100644 index 000000000000..1e0153e4f4a5 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/hisilicon,phy-hi3670-pcie.yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/hisilicon,phy-hi3670-pcie.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: HiSilicon Kirin970 PCIe PHY + +maintainers: + - Mauro Carvalho Chehab + +description: |+ + Bindings for PCIe PHY on HiSilicon Kirin 970. + +properties: + compatible: + const: hisilicon,hi970-pcie-phy + + "#phy-cells": + const: 0 + + reg: + maxItems: 1 + description: PHY Control registers + + phy-supply: + description: The PCIe PHY power supply + + clocks: + items: + - description: PCIe PHY clock + - description: PCIe AUX clock + - description: PCIe APB PHY clock + - description: PCIe APB SYS clock + - description: PCIe ACLK clock + + clock-names: + items: + - const: phy_ref + - const: aux + - const: apb_phy + - const: apb_sys + - const: aclk + + clkreq-gpios: + description: Clock request GPIOs + maxItems: 3 + + hisilicon,eye-diagram-param: + $ref: /schemas/types.yaml#/definitions/uint32-array + description: Eye diagram for phy. + +required: + - "#phy-cells" + - compatible + - reg + - clocks + - clock-names + - hisilicon,eye-diagram-param + - phy-supply + +additionalProperties: false + +examples: + - | + #include + + soc { + #address-cells = <2>; + #size-cells = <2>; + pcie_phy: pcie-phy@fc000000 { + compatible = "hisilicon,hi970-pcie-phy"; + reg = <0x0 0xfc000000 0x0 0x80000>; + #phy-cells = <0>; + phy-supply = <&ldo33>; + clocks = <&crg_ctrl HI3670_CLK_GATE_PCIEPHY_REF>, + <&crg_ctrl HI3670_CLK_GATE_PCIEAUX>, + <&crg_ctrl HI3670_PCLK_GATE_PCIE_PHY>, + <&crg_ctrl HI3670_PCLK_GATE_PCIE_SYS>, + <&crg_ctrl HI3670_ACLK_GATE_PCIE>; + clock-names = "phy_ref", "aux", + "apb_phy", "apb_sys", "aclk"; + hisilicon,eye-diagram-param = <0xffffffff 0xffffffff + 0xffffffff 0xffffffff 0xffffffff>; + }; + }; From patchwork Thu Jul 29 11:56:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 488710 Delivered-To: patch@linaro.org Received: by 2002:a05:6638:1185:0:0:0:0 with SMTP id f5csp2090883jas; Thu, 29 Jul 2021 04:56:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRGMHZg76hxb47ZNj7tvPWX5E01qrp79l/vnVwbtUwSWan5bmoL8Tw1nxiNEtyhaegUG+u X-Received: by 2002:a05:6402:152:: with SMTP id s18mr5510031edu.221.1627559798472; Thu, 29 Jul 2021 04:56:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627559798; cv=none; d=google.com; s=arc-20160816; b=YXrBVh4rtABu5CI102upYJQ/1KsYfp8Nt15ky4HIkipaT0j+Jch9/URFdtT2PjOL+j yHccAz5ZpUCh6t8ADA/NMWqEh86+Bb9YQnIXrnNUdJKUuFeGWkj1TOsmKJZZkXNfkcCz z+GuRhwowaiEyfujC5KOi0NyZdUbbKSh4IDJ1IZXPc0zxdmDoilJbG8yU5BK8A69CHTF ZkW3pNJwOa9ecem69URoPBSEJLAfJMM997jiAZiLpv/6Wu1p92wimwKrnI7diAx9DXel jHFDM+ul9XsrOCmRr4S26uzeTjJkeVSglZms8uYTuXhtsXnTM9+Ca75OMMBamA7inohr rKXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=jgEBO6Te3imgnInV7vYhd3+IbWXVPm6jDruvGOi+gsU=; b=JtLH5d7FKBC3hLptc2zbuXTrVgbUXhJX8Pt/nnIoEHTEMsvikLKCR4LwqO1WZbqHct McR10s7kDgm/uh2LRVSEQz5g/awQ+Qty3tkYgtg8tss797ciPnzh0X5iI5nJDXWtYPyL RYHa9UGr/16SJB6i48rufdBA9jYt0TMg19zT5R3CbkOT7JEcIfO1B67lQALNXD5H39oj oydY+yzBffN0J4/rioH+e0UHyUTK5jQ/XcTR0FN4M9+AW0yI/umj4qVRuMiHZkV+0HAe j+Azt1svfPZWigI1lAGneQtxTurn9Z24LvBASG3XLm90i5lWGbvEYCV/lFFxfmokF2ur valg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=W1RRqz3l; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bl4si3235120ejb.689.2021.07.29.04.56.38; Thu, 29 Jul 2021 04:56:38 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-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=@kernel.org header.s=k20201202 header.b=W1RRqz3l; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235721AbhG2L4j (ORCPT + 7 others); Thu, 29 Jul 2021 07:56:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:46386 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234979AbhG2L4g (ORCPT ); Thu, 29 Jul 2021 07:56:36 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 694E460F23; Thu, 29 Jul 2021 11:56:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627559793; bh=nwAM8QY+x471etO2KMwuk1C3sqssSURF/22fBW46n34=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W1RRqz3l61jc4JsTWP6MVUXA145SzIrsQz1JKCkejGR7OpVABEEEDlYdGfJ9yLyGZ 6JMIghimKn8VoOaggS5diNOzeTcwwOEhxlOoOf1PMY802Or9DAKjtYW+iKoowwZxWy pf8NEa/sglcvSPmKE8uD5FcsOYgR4Xk429yW0YPT3NXrzjxwkz2GsIylc5C6CFKOWa Ri0+dwH60UCkleoAlW60dn3CMdCOQl1hvLB0XqtxMlcbHhekC1jnZEUYcAGYNAdAlY iXgA/0nNtkwPb+TOSDiZ9CTwr8mmduk+q+Lfa5Bf/bCDr3moHGWQNCBO0KLxdyBan/ KpcoNYNfXG7Jw== Received: by mail.kernel.org with local (Exim 4.94.2) (envelope-from ) id 1m94eN-004d28-Ec; Thu, 29 Jul 2021 13:56:31 +0200 From: Mauro Carvalho Chehab To: Rob Herring Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Manivannan Sadhasivam , Rob Herring , Wei Xu , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Mauro Carvalho Chehab Subject: [PATCH 5/5] arm64: dts: HiSilicon: Add support for HiKey 970 PCIe controller hardware Date: Thu, 29 Jul 2021 13:56:28 +0200 Message-Id: <261a7accef272a1f5fc774e1e3c6e179dd16a85a.1627559126.git.mchehab+huawei@kernel.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Manivannan Sadhasivam Add DTS bindings for the HiKey 970 board's PCIe hardware. Co-developed-by: Mauro Carvalho Chehab Signed-off-by: Manivannan Sadhasivam Signed-off-by: Mauro Carvalho Chehab --- arch/arm64/boot/dts/hisilicon/hi3670.dtsi | 99 +++++++++++++++++++++++ 1 file changed, 99 insertions(+) -- 2.31.1 diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi index 20698cfd0637..2cf19c8960f3 100644 --- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi +++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi @@ -176,6 +176,12 @@ sctrl: sctrl@fff0a000 { #clock-cells = <1>; }; + pmctrl: pmctrl@fff31000 { + compatible = "hisilicon,hi3670-pmctrl", "syscon"; + reg = <0x0 0xfff31000 0x0 0x1000>; + #clock-cells = <1>; + }; + iomcu: iomcu@ffd7e000 { compatible = "hisilicon,hi3670-iomcu", "syscon"; reg = <0x0 0xffd7e000 0x0 0x1000>; @@ -659,6 +665,99 @@ gpio28: gpio@fff1d000 { clock-names = "apb_pclk"; }; + its_pcie: interrupt-controller@f4000000 { + compatible = "arm,gic-v3-its"; + msi-controller; + reg = <0x0 0xf5100000 0x0 0x100000>; + }; + + pcie_phy: pcie-phy@fc000000 { + compatible = "hisilicon,hi970-pcie-phy"; + reg = <0x0 0xfc000000 0x0 0x80000>; + + phy-supply = <&ldo33>; + + clocks = <&crg_ctrl HI3670_CLK_GATE_PCIEPHY_REF>, + <&crg_ctrl HI3670_CLK_GATE_PCIEAUX>, + <&crg_ctrl HI3670_PCLK_GATE_PCIE_PHY>, + <&crg_ctrl HI3670_PCLK_GATE_PCIE_SYS>, + <&crg_ctrl HI3670_ACLK_GATE_PCIE>; + clock-names = "phy_ref", "aux", + "apb_phy", "apb_sys", + "aclk"; + + /* vboost iboost pre post main */ + hisilicon,eye-diagram-param = <0xffffffff 0xffffffff + 0xffffffff 0xffffffff + 0xffffffff>; + + #phy-cells = <0>; + }; + + pcie@f4000000 { + compatible = "hisilicon,kirin970-pcie"; + reg = <0x0 0xf4000000 0x0 0x1000000>, + <0x0 0xfc180000 0x0 0x1000>, + <0x0 0xf5000000 0x0 0x2000>; + reg-names = "dbi", "apb", "config"; + bus-range = <0x0 0x1>; + msi-parent = <&its_pcie>; + #address-cells = <3>; + #size-cells = <2>; + device_type = "pci"; + phys = <&pcie_phy>; + ranges = <0x02000000 0x0 0x00000000 + 0x0 0xf6000000 + 0x0 0x02000000>; + num-lanes = <1>; + #interrupt-cells = <1>; + interrupts = ; + interrupt-names = "msi"; + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0x0 0 0 1 + &gic GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, + <0x0 0 0 2 + &gic GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, + <0x0 0 0 3 + &gic GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, + <0x0 0 0 4 + &gic GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>; + reset-gpios = <&gpio7 0 0 >; + + pcie@4,0 { // Lane 4: M.2 + reg = <0 0 0 0 0>; + compatible = "pciclass,0604"; + device_type = "pci"; + reset-gpios = <&gpio7 1 0>; + clkreq-gpios = <&gpio27 3 0 >; + #address-cells = <3>; + #size-cells = <2>; + ranges; + }; + + pcie@5,0 { // Lane 5: Mini PCIe + reg = <0 0 0 0 0>; + compatible = "pciclass,0604"; + device_type = "pci"; + reset-gpios = <&gpio7 2 0>; + clkreq-gpios = <&gpio17 0 0 >; + #address-cells = <3>; + #size-cells = <2>; + ranges; + }; + + pcie@7,0 { // Lane 7: Ethernet + reg = <0 0 0 0 0>; + compatible = "pciclass,0604"; + device_type = "pci"; + reset-gpios = <&gpio7 3 0>; + clkreq-gpios = <&gpio20 0 0 >; + #address-cells = <3>; + #size-cells = <2>; + ranges; + }; + }; + /* UFS */ ufs: ufs@ff3c0000 { compatible = "hisilicon,hi3670-ufs", "jedec,ufs-2.1";