[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAL_JsqLJkqr_UhDGa9duPxx5mXxcp2Ju4Xv2gH6vdru6zQY9OQ@mail.gmail.com>
Date: Mon, 16 Aug 2021 13:26:49 -0500
From: Rob Herring <robh@...nel.org>
To: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
Cc: Vinod Koul <vkoul@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
Linuxarm <linuxarm@...wei.com>, mauro.chehab@...wei.com,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Binghui Wang <wangbinghui@...ilicon.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Wei Xu <xuwei5@...ilicon.com>,
Xiaowei Song <songxiaowei@...ilicon.com>,
devicetree@...r.kernel.org,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
PCI <linux-pci@...r.kernel.org>
Subject: Re: [PATCH v7 08/10] arm64: dts: HiSilicon: Add support for HiKey 970
PCIe controller hardware
On Wed, Jul 21, 2021 at 3:39 AM Mauro Carvalho Chehab
<mchehab+huawei@...nel.org> wrote:
>
> From: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
>
> Add DTS bindings for the HiKey 970 board's PCIe hardware.
>
> Co-developed-by: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
> ---
> arch/arm64/boot/dts/hisilicon/hi3670.dtsi | 71 +++++++++++++++++++
> .../boot/dts/hisilicon/hikey970-pmic.dtsi | 1 -
> drivers/pci/controller/dwc/pcie-kirin.c | 12 ----
> 3 files changed, 71 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> index 1f228612192c..6dfcfcfeedae 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> @@ -177,6 +177,12 @@ sctrl: sctrl@...0a000 {
> #clock-cells = <1>;
> };
>
> + pmctrl: pmctrl@...31000 {
> + compatible = "hisilicon,hi3670-pmctrl", "syscon";
> + reg = <0x0 0xfff31000 0x0 0x1000>;
> + #clock-cells = <1>;
> + };
> +
> iomcu: iomcu@...7e000 {
> compatible = "hisilicon,hi3670-iomcu", "syscon";
> reg = <0x0 0xffd7e000 0x0 0x1000>;
> @@ -660,6 +666,71 @@ gpio28: gpio@...1d000 {
> clock-names = "apb_pclk";
> };
>
> + its_pcie: interrupt-controller@...00000 {
> + compatible = "arm,gic-v3-its";
> + msi-controller;
> + reg = <0x0 0xf5100000 0x0 0x100000>;
How does this h/w have a GIC-400 (which is GICv2) and then a GIC v3 ITS?
> + };
> +
> + pcie_phy: pcie-phy@...00000 {
> + 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";
> +
> + reset-gpios = <&gpio7 0 0 >, <&gpio25 2 0 >,
> + <&gpio3 1 0 >, <&gpio27 4 0 >;
> +
> + clkreq-gpios = <&gpio20 6 0 >, <&gpio27 3 0 >,
> + <&gpio17 0 0 >;
> +
> + /* vboost iboost pre post main */
> + hisilicon,eye-diagram-param = <0xFFFFFFFF 0xFFFFFFFF
> + 0xFFFFFFFF 0xFFFFFFFF
> + 0xFFFFFFFF>;
> +
> + #phy-cells = <0>;
> + };
> +
> + pcie@...00000 {
> + 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>;
This means the PCI host doesn't have a MSI controller...
> + #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 = <0 283 4>;
> + interrupt-names = "msi";
But then this says it does...
Powered by blists - more mailing lists