xref: /linux/arch/arm64/boot/dts/broadcom/rp1-common.dtsi (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/interrupt-controller/irq.h>
5#include <dt-bindings/clock/raspberrypi,rp1-clocks.h>
6
7pci_ep_bus: pci-ep-bus@1 {
8	compatible = "simple-bus";
9	ranges = <0x00 0x40000000  0x01 0x00 0x00000000  0x00 0x00400000>;
10	dma-ranges = <0x10 0x00000000  0x43000000 0x10 0x00000000  0x10 0x00000000>;
11	#address-cells = <2>;
12	#size-cells = <2>;
13
14	rp1_clocks: clocks@40018000 {
15		compatible = "raspberrypi,rp1-clocks";
16		reg = <0x00 0x40018000 0x0 0x10038>;
17		#clock-cells = <1>;
18		clocks = <&clk_rp1_xosc>;
19		assigned-clocks = <&rp1_clocks RP1_PLL_SYS_CORE>,
20				  <&rp1_clocks RP1_PLL_SYS>,
21				  <&rp1_clocks RP1_PLL_SYS_SEC>,
22				  <&rp1_clocks RP1_CLK_SYS>;
23		assigned-clock-rates = <1000000000>, // RP1_PLL_SYS_CORE
24				       <200000000>,  // RP1_PLL_SYS
25				       <125000000>,  // RP1_PLL_SYS_SEC
26				       <200000000>;  // RP1_CLK_SYS
27	};
28
29	rp1_i2c0: i2c@40070000 {
30		compatible = "snps,designware-i2c";
31		reg = <0x0 0x40070000  0x0 0x1000>;
32		interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
33		clocks = <&rp1_clocks RP1_CLK_SYS>;
34		i2c-scl-rising-time-ns = <65>;
35		i2c-scl-falling-time-ns = <100>;
36
37		status = "disabled";
38	};
39
40	rp1_i2c1: i2c@40074000 {
41		compatible = "snps,designware-i2c";
42		reg = <0x0 0x40074000  0x0 0x1000>;
43		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
44		clocks = <&rp1_clocks RP1_CLK_SYS>;
45		i2c-scl-rising-time-ns = <65>;
46		i2c-scl-falling-time-ns = <100>;
47
48		status = "disabled";
49	};
50
51	rp1_i2c2: i2c@40078000 {
52		compatible = "snps,designware-i2c";
53		reg = <0x0 0x40078000  0x0 0x1000>;
54		interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
55		clocks = <&rp1_clocks RP1_CLK_SYS>;
56		i2c-scl-rising-time-ns = <65>;
57		i2c-scl-falling-time-ns = <100>;
58
59		status = "disabled";
60	};
61
62	rp1_i2c3: i2c@4007c000 {
63		compatible = "snps,designware-i2c";
64		reg = <0x0 0x4007c000  0x0 0x1000>;
65		interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
66		clocks = <&rp1_clocks RP1_CLK_SYS>;
67		i2c-scl-rising-time-ns = <65>;
68		i2c-scl-falling-time-ns = <100>;
69
70		status = "disabled";
71	};
72
73	rp1_i2c4: i2c@40080000 {
74		compatible = "snps,designware-i2c";
75		reg = <0x0 0x40080000  0x0 0x1000>;
76		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
77		clocks = <&rp1_clocks RP1_CLK_SYS>;
78		i2c-scl-rising-time-ns = <65>;
79		i2c-scl-falling-time-ns = <100>;
80
81		status = "disabled";
82	};
83
84	rp1_i2c5: i2c@40084000 {
85		compatible = "snps,designware-i2c";
86		reg = <0x0 0x40084000  0x0 0x1000>;
87		interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
88		clocks = <&rp1_clocks RP1_CLK_SYS>;
89		i2c-scl-rising-time-ns = <65>;
90		i2c-scl-falling-time-ns = <100>;
91
92		status = "disabled";
93	};
94
95	rp1_i2c6: i2c@40088000 {
96		compatible = "snps,designware-i2c";
97		reg = <0x0 0x40088000  0x0 0x1000>;
98		interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
99		clocks = <&rp1_clocks RP1_CLK_SYS>;
100		i2c-scl-rising-time-ns = <65>;
101		i2c-scl-falling-time-ns = <100>;
102
103		status = "disabled";
104	};
105
106	rp1_gpio: pinctrl@400d0000 {
107		compatible = "raspberrypi,rp1-gpio";
108		reg = <0x00 0x400d0000  0x0 0xc000>,
109		      <0x00 0x400e0000  0x0 0xc000>,
110		      <0x00 0x400f0000  0x0 0xc000>;
111		gpio-controller;
112		#gpio-cells = <2>;
113		interrupt-controller;
114		#interrupt-cells = <2>;
115		interrupts = <0 IRQ_TYPE_LEVEL_HIGH>,
116			     <1 IRQ_TYPE_LEVEL_HIGH>,
117			     <2 IRQ_TYPE_LEVEL_HIGH>;
118	};
119
120	rp1_eth: ethernet@40100000 {
121		compatible = "raspberrypi,rp1-gem";
122		reg = <0x00 0x40100000  0x0 0x4000>;
123		interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
124		clocks = <&rp1_clocks RP1_CLK_SYS>,
125			 <&rp1_clocks RP1_CLK_SYS>,
126			 <&rp1_clocks RP1_CLK_ETH>,
127			 <&rp1_clocks RP1_CLK_ETH_TSU>;
128		clock-names = "pclk", "hclk", "tx_clk", "tsu_clk";
129		local-mac-address = [00 00 00 00 00 00];
130		status = "disabled";
131
132		#address-cells = <1>;
133		#size-cells = <0>;
134	};
135
136	rp1_csi0: csi@40110000 {
137		compatible = "raspberrypi,rp1-cfe";
138		reg = <0x0 0x40110000  0x0 0x100>, // CSI2 DMA address
139		      <0x0 0x40114000  0x0 0x100>, // PHY/CSI Host address
140		      <0x0 0x40120000  0x0 0x100>, // MIPI CFG address
141		      <0x0 0x40124000  0x0 0x1000>; // PiSP FE address
142		interrupts = <47 IRQ_TYPE_LEVEL_HIGH>;
143		clocks = <&rp1_clocks RP1_CLK_MIPI0_CFG>;
144		assigned-clocks = <&rp1_clocks RP1_CLK_MIPI0_CFG>;
145		assigned-clock-rates = <25000000>;
146
147		status = "disabled";
148	};
149
150	rp1_csi1: csi@40128000 {
151		compatible = "raspberrypi,rp1-cfe";
152		reg = <0x0 0x40128000  0x0 0x100>, // CSI2 DMA address
153		      <0x0 0x4012c000  0x0 0x100>, // PHY/CSI Host address
154		      <0x0 0x40138000  0x0 0x100>, // MIPI CFG address
155		      <0x0 0x4013c000  0x0 0x1000>; // PiSP FE address
156		interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
157		clocks = <&rp1_clocks RP1_CLK_MIPI1_CFG>;
158		assigned-clocks = <&rp1_clocks RP1_CLK_MIPI1_CFG>;
159		assigned-clock-rates = <25000000>;
160
161		status = "disabled";
162	};
163
164	rp1_usb0: usb@40200000 {
165		compatible = "snps,dwc3";
166		reg = <0x00 0x40200000  0x0 0x100000>;
167		interrupts = <31 IRQ_TYPE_EDGE_RISING>;
168		dr_mode = "host";
169		usb3-lpm-capable;
170		snps,dis_rxdet_inp3_quirk;
171		snps,parkmode-disable-hs-quirk;
172		snps,parkmode-disable-ss-quirk;
173		snps,tx-max-burst = /bits/ 8 <8>;
174		snps,tx-thr-num-pkt = /bits/ 8 <2>;
175		status = "disabled";
176	};
177
178	rp1_usb1: usb@40300000 {
179		compatible = "snps,dwc3";
180		reg = <0x00 0x40300000  0x0 0x100000>;
181		interrupts = <36 IRQ_TYPE_EDGE_RISING>;
182		dr_mode = "host";
183		usb3-lpm-capable;
184		snps,dis_rxdet_inp3_quirk;
185		snps,parkmode-disable-hs-quirk;
186		snps,parkmode-disable-ss-quirk;
187		snps,tx-max-burst = /bits/ 8 <8>;
188		snps,tx-thr-num-pkt = /bits/ 8 <2>;
189		status = "disabled";
190	};
191};
192