Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
192 changes: 192 additions & 0 deletions Documentation/devicetree/bindings/pci/qcom,pcie-shikra.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/qcom,pcie-shikra.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Shikra PCI Express Root Complex

maintainers:
- Bjorn Andersson <andersson@kernel.org>
- Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

description:
Qualcomm Shikra SoC PCIe root complex controller is based on the Synopsys
DesignWare PCIe IP.

properties:
compatible:
const: qcom,pcie-shikra

reg:
minItems: 5
maxItems: 6

reg-names:
minItems: 5
items:
- const: parf # Qualcomm specific registers
- const: dbi # DesignWare PCIe registers
- const: elbi # External local bus interface registers
- const: atu # ATU address space
- const: config # PCIe configuration space
- const: mhi # MHI registers

clocks:
minItems: 11
maxItems: 11

clock-names:
items:
- const: aux # Auxiliary clock
- const: cfg # Configuration clock
- const: bus_master # Master AXI clock
- const: bus_slave # Slave AXI clock
- const: slave_q2a # Slave Q2A clock
- const: sleep # PCIe Sleep clock
- const: throttle_core # PCIe throttle core clock
- const: throttle_xo # PCIe throttle XO core clock
- const: qmip # QMIP PCIe AHB clock
- const: ddrss # PCIE MEMNOC clock
- const: tile # AXI SYS NoC clock

interrupts:
minItems: 8
maxItems: 9

interrupt-names:
minItems: 8
items:
- const: msi0
- const: msi1
- const: msi2
- const: msi3
- const: msi4
- const: msi5
- const: msi6
- const: msi7
- const: global

resets:
maxItems: 1

reset-names:
items:
- const: pci # PCIe core reset

required:
- power-domains
- resets
- reset-names

allOf:
- $ref: qcom,pcie-common.yaml#

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/clock/qcom,shikra-gcc.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interconnect/qcom,shikra.h>

soc {
#address-cells = <2>;
#size-cells = <2>;

pcie: pcie@45e8000 {
device_type = "pci";
compatible = "qcom,pcie-shikra", "qcom,pcie-sm8150";
reg = <0x0 0x045e8000 0x0 0x3000>,
<0x0 0x60000000 0x0 0xf1d>,
<0x0 0x60000f20 0x0 0xa8>,
<0x0 0x60001000 0x0 0x1000>,
<0x0 0x60100000 0x0 0x100000>,
<0x0 0x045eb000 0x0 0x1000>;
reg-names = "parf",
"dbi",
"elbi",
"atu",
"config",
"mhi";
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
<0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;
bus-range = <0x00 0xff>;

linux,pci-domain = <0>;
num-lanes = <1>;

interrupts = <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 492 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 493 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 494 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 495 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH 0>;
interrupt-names = "msi0",
"msi1",
"msi2",
"msi3",
"msi4",
"msi5",
"msi6",
"msi7",
"global";

#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH 0>,
<0 0 0 2 &intc GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH 0>,
<0 0 0 3 &intc GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH 0>,
<0 0 0 4 &intc GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH 0>;

clocks = <&gcc GCC_PCIE_AUX_CLK>,
<&gcc GCC_PCIE_CFG_AHB_CLK>,
<&gcc GCC_PCIE_MSTR_AXI_CLK>,
<&gcc GCC_PCIE_SLV_AXI_CLK>,
<&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>,
<&gcc GCC_PCIE_SLEEP_CLK>,
<&gcc GCC_PCIE_THROTTLE_CORE_CLK>,
<&gcc GCC_PCIE_THROTTLE_XO_CLK>,
<&gcc GCC_QMIP_PCIE_CFG_AHB_CLK>,
<&gcc GCC_DDRSS_MEMNOC_PCIE_SF_CLK>,
<&gcc GCC_PCIE_TILE_AXI_SYS_NOC_CLK>;

clock-names = "aux",
"cfg",
"bus_master",
"bus_slave",
"slave_q2a",
"sleep",
"throttle_core",
"throttle_xo",
"qmip",
"ddrss",
"tile";
assigned-clocks = <&gcc GCC_PCIE_AUX_CLK>;
assigned-clock-rates = <19200000>;


interconnects = <&system_noc MASTER_PCIE2_0 QCOM_ICC_TAG_ALWAYS
&mc_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
<&mem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
&config_noc SLAVE_PCIE2_0 QCOM_ICC_TAG_ACTIVE_ONLY>;

interconnect-names = "pcie-mem", "cpu-pcie";

iommu-map = <0x0 &apps_smmu 0x800 0x1>,
<0x100 &apps_smmu 0x801 0x1>;

resets = <&gcc GCC_PCIE_BCR>;
reset-names = "pci";

power-domains = <&gcc GCC_PCIE_GDSC>;

max-link-speed = <2>;
};

};
20 changes: 19 additions & 1 deletion Documentation/devicetree/bindings/pci/toshiba,tc9563.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ properties:
reg:
maxItems: 1

'#gpio-cells':
const: 2

resx-gpios:
maxItems: 1
description:
Expand Down Expand Up @@ -68,6 +71,17 @@ $defs:
type: object

properties:
ep-reset-gpio:
description:
Specify the TC9563 GPIO used to reset the endpoint
connected to the particular TC9563 downstream port.

ep-pwr-en-gpio:
description:
Specify the TC9563 GPIO used for enabling power to
the endpoint connected to the particular TC9563
downstream port.

toshiba,tx-amplitude-microvolt:
description:
Change Tx Margin setting for low power consumption.
Expand Down Expand Up @@ -103,7 +117,7 @@ examples:
#address-cells = <3>;
#size-cells = <2>;

pcie@0 {
tc9563: pcie@0 {
device_type = "pci";
reg = <0x0 0x0 0x0 0x0 0x0>;

Expand All @@ -119,6 +133,7 @@ examples:
device_type = "pci";
#address-cells = <3>;
#size-cells = <2>;
#gpio-cells = <2>;
ranges;
bus-range = <0x02 0xff>;

Expand Down Expand Up @@ -153,6 +168,9 @@ examples:
device_type = "pci";
ranges;
bus-range = <0x04 0xff>;

ep-pwr-en-gpio = <&tc9563 2 GPIO_ACTIVE_HIGH>;
ep-reset-gpio = <&tc9563 5 GPIO_ACTIVE_HIGH>;
};

pcie@3,0 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ description:
properties:
compatible:
enum:
- qcom,shikra-qmp-gen2x1-pcie-phy
- qcom,glymur-qmp-gen4x2-pcie-phy
- qcom,glymur-qmp-gen5x4-pcie-phy
- qcom,qcs615-qmp-gen3x1-pcie-phy
Expand Down Expand Up @@ -153,6 +154,7 @@ allOf:
- qcom,sdm845-qhp-pcie-phy
- qcom,sdm845-qmp-pcie-phy
- qcom,sdx55-qmp-pcie-phy
- qcom,shikra-qmp-gen2x1-pcie-phy
- qcom,sm8150-qmp-gen3x1-pcie-phy
- qcom,sm8150-qmp-gen3x2-pcie-phy
- qcom,sm8250-qmp-gen3x1-pcie-phy
Expand Down
Loading