Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752401AbdHDMGy (ORCPT ); Fri, 4 Aug 2017 08:06:54 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:16075 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751911AbdHDMGu (ORCPT ); Fri, 4 Aug 2017 08:06:50 -0400 From: To: , , , , , , , , , , , CC: , , , , , , Subject: [PATCH v3 0/6] PCI: MediaTek: Add support for new generation host controller Date: Fri, 4 Aug 2017 20:06:36 +0800 Message-ID: X-Mailer: git-send-email 2.6.4 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2143 Lines: 51 From: Honghui Zhang MediaTek's PCIe host controller has two generation HWs, the new generation HW has two root ports, it shares most probing flow with the legacy controller. But the read/write config space logical is different from the legacy controller. The per-port register must be touched for read/write config space, And the per-port register base are in separate address space. This patchset abstract the common probing flow, and add support for the new generation controller. Changes since v2: - Split the Gen2 training change to a separate patch. - Simplify the config_read/write logical and get rid of mtk_pcie_find_port. - Using bus->sysdata to simplify the code. - Rebase to commit 65b83b13204a ("PCI: mediatek: Explicitly request exclusive reset control")[1]. - Fix some misspells. - Add review tags in commit message. Changes since v1: - Fix build warnings in arm arch. - Using SoC specific compatible instead of generic compatible. - Add devicetree binding example for mt7622. - Unified the register define names with PCIE_ prefix. - Cleanup some un-necessary condition determine when starup port. - minor code cleanups. [1] https://patchwork.kernel.org/patch/9852591/ Honghui Zhang (1): PCI: mediatek: Add a structure to abstract the controller generations Ryder Lee (5): PCI: mediatek: Using readl_poll_timeout to wait Gen2 training PCI: mediatek: switch to use platform_get_resource_byname() dt-bindings: PCI: rename and cleanup MediaTek binding text PCI: mediatek: Add new generation controller support dt-bindings: PCI: add support for new generation controller .../bindings/pci/mediatek,mt7623-pcie.txt | 130 ----- .../devicetree/bindings/pci/mediatek-pcie.txt | 284 ++++++++++ drivers/pci/host/Kconfig | 5 +- drivers/pci/host/pcie-mediatek.c | 571 +++++++++++++++++++-- 4 files changed, 812 insertions(+), 178 deletions(-) delete mode 100644 Documentation/devicetree/bindings/pci/mediatek,mt7623-pcie.txt create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie.txt -- 2.6.4