summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/ti/k3-j784s4-evm-pcie0-pcie1-ep.dtso
blob: 685305092bd88ffe70754285278d616c19154a5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
 * DT Overlay for enabling PCIE0 and PCIE1 instances in Endpoint Configuration
 * on J784S4 EVM.
 *
 * J784S4 EVM Product Link: https://www.ti.com/tool/J784S4XEVM
 *
 * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/soc/ti,sci_pm_domain.h>

#include "k3-pinctrl.h"

/*
 * Since Root Complex and Endpoint modes are mutually exclusive
 * disable Root Complex mode.
 */
&pcie0_rc {
	status = "disabled";
};

&pcie1_rc {
	status = "disabled";
};

&cbass_main {
	#address-cells = <2>;
	#size-cells = <2>;
	interrupt-parent = <&gic500>;

	pcie0_ep: pcie-ep@2900000 {
		compatible = "ti,j784s4-pcie-ep";
		reg = <0x00 0x02900000 0x00 0x1000>,
		      <0x00 0x02907000 0x00 0x400>,
		      <0x00 0x0d000000 0x00 0x00800000>,
		      <0x00 0x10000000 0x00 0x08000000>;
		reg-names = "intd_cfg", "user_cfg", "reg", "mem";
		interrupt-names = "link_state";
		interrupts = <GIC_SPI 318 IRQ_TYPE_EDGE_RISING>;
		ti,syscon-pcie-ctrl = <&pcie0_ctrl 0x0>;
		max-link-speed = <3>;
		num-lanes = <4>;
		power-domains = <&k3_pds 332 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 332 0>;
		clock-names = "fck";
		max-functions = /bits/ 8 <6>;
		max-virtual-functions = /bits/ 8 <4 4 4 4 0 0>;
		dma-coherent;
		phys = <&serdes1_pcie0_link>;
		phy-names = "pcie-phy";
	};

	pcie1_ep: pcie-ep@2910000 {
		compatible = "ti,j784s4-pcie-ep";
		reg = <0x00 0x02910000 0x00 0x1000>,
		      <0x00 0x02917000 0x00 0x400>,
		      <0x00 0x0d800000 0x00 0x00800000>,
		      <0x00 0x18000000 0x00 0x08000000>;
		reg-names = "intd_cfg", "user_cfg", "reg", "mem";
		interrupt-names = "link_state";
		interrupts = <GIC_SPI 330 IRQ_TYPE_EDGE_RISING>;
		ti,syscon-pcie-ctrl = <&pcie1_ctrl 0x0>;
		max-link-speed = <3>;
		num-lanes = <2>;
		power-domains = <&k3_pds 333 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 333 0>;
		clock-names = "fck";
		max-functions = /bits/ 8 <6>;
		max-virtual-functions = /bits/ 8 <4 4 4 4 0 0>;
		dma-coherent;
		phys = <&serdes0_pcie1_link>;
		phy-names = "pcie-phy";
	};
};