Skip to content

Commit e4bf7f6

Browse files
committed
riscv: dts: microchip: add new peripherals to icicle kit device tree
Add new peripherals to the MPFS, and enable them in the Icicle kit device tree: 2x SPI, QSPI, 3x GPIO, 2x I2C, Real Time Counter, PCIE controller, USB host & system controller. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Acked-by: Palmer Dabbelt <palmer@rivosinc.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
1 parent c25cf80 commit e4bf7f6

2 files changed

Lines changed: 213 additions & 0 deletions

File tree

arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,26 @@
8585
sd-uhs-sdr104;
8686
};
8787

88+
&spi0 {
89+
status = "okay";
90+
};
91+
92+
&spi1 {
93+
status = "okay";
94+
};
95+
96+
&qspi {
97+
status = "okay";
98+
};
99+
100+
&i2c0 {
101+
status = "okay";
102+
};
103+
104+
&i2c1 {
105+
status = "okay";
106+
};
107+
88108
&i2c2 {
89109
status = "okay";
90110
};
@@ -108,6 +128,39 @@
108128
};
109129
};
110130

131+
&gpio2 {
132+
interrupts = <53>, <53>, <53>, <53>,
133+
<53>, <53>, <53>, <53>,
134+
<53>, <53>, <53>, <53>,
135+
<53>, <53>, <53>, <53>,
136+
<53>, <53>, <53>, <53>,
137+
<53>, <53>, <53>, <53>,
138+
<53>, <53>, <53>, <53>,
139+
<53>, <53>, <53>, <53>;
140+
status = "okay";
141+
};
142+
143+
&rtc {
144+
status = "okay";
145+
};
146+
147+
&usb {
148+
status = "okay";
149+
dr_mode = "host";
150+
};
151+
152+
&mbox {
153+
status = "okay";
154+
};
155+
156+
&syscontroller {
157+
status = "okay";
158+
};
159+
160+
&pcie {
161+
status = "okay";
162+
};
163+
111164
&core_pwm0 {
112165
status = "okay";
113166
};

arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,66 @@
265265
status = "disabled";
266266
};
267267

268+
spi0: spi@20108000 {
269+
compatible = "microchip,mpfs-spi";
270+
#address-cells = <1>;
271+
#size-cells = <0>;
272+
reg = <0x0 0x20108000 0x0 0x1000>;
273+
interrupt-parent = <&plic>;
274+
interrupts = <54>;
275+
clocks = <&clkcfg CLK_SPI0>;
276+
spi-max-frequency = <25000000>;
277+
status = "disabled";
278+
};
279+
280+
spi1: spi@20109000 {
281+
compatible = "microchip,mpfs-spi";
282+
#address-cells = <1>;
283+
#size-cells = <0>;
284+
reg = <0x0 0x20109000 0x0 0x1000>;
285+
interrupt-parent = <&plic>;
286+
interrupts = <55>;
287+
clocks = <&clkcfg CLK_SPI1>;
288+
spi-max-frequency = <25000000>;
289+
status = "disabled";
290+
};
291+
292+
qspi: spi@21000000 {
293+
compatible = "microchip,mpfs-qspi";
294+
#address-cells = <1>;
295+
#size-cells = <0>;
296+
reg = <0x0 0x21000000 0x0 0x1000>;
297+
interrupt-parent = <&plic>;
298+
interrupts = <85>;
299+
clocks = <&clkcfg CLK_QSPI>;
300+
spi-max-frequency = <25000000>;
301+
status = "disabled";
302+
};
303+
304+
i2c0: i2c@2010a000 {
305+
compatible = "microchip,mpfs-i2c", "microchip,corei2c-rtl-v7";
306+
reg = <0x0 0x2010a000 0x0 0x1000>;
307+
#address-cells = <1>;
308+
#size-cells = <0>;
309+
interrupt-parent = <&plic>;
310+
interrupts = <58>;
311+
clocks = <&clkcfg CLK_I2C0>;
312+
clock-frequency = <100000>;
313+
status = "disabled";
314+
};
315+
316+
i2c1: i2c@2010b000 {
317+
compatible = "microchip,mpfs-i2c", "microchip,corei2c-rtl-v7";
318+
reg = <0x0 0x2010b000 0x0 0x1000>;
319+
#address-cells = <1>;
320+
#size-cells = <0>;
321+
interrupt-parent = <&plic>;
322+
interrupts = <61>;
323+
clocks = <&clkcfg CLK_I2C1>;
324+
clock-frequency = <100000>;
325+
status = "disabled";
326+
};
327+
268328
mac0: ethernet@20110000 {
269329
compatible = "cdns,macb";
270330
reg = <0x0 0x20110000 0x0 0x2000>;
@@ -290,5 +350,105 @@
290350
clock-names = "pclk", "hclk";
291351
status = "disabled";
292352
};
353+
354+
gpio0: gpio@20120000 {
355+
compatible = "microchip,mpfs-gpio";
356+
reg = <0x0 0x20120000 0x0 0x1000>;
357+
interrupt-parent = <&plic>;
358+
interrupt-controller;
359+
#interrupt-cells = <1>;
360+
clocks = <&clkcfg CLK_GPIO0>;
361+
gpio-controller;
362+
#gpio-cells = <2>;
363+
status = "disabled";
364+
};
365+
366+
gpio1: gpio@20121000 {
367+
compatible = "microchip,mpfs-gpio";
368+
reg = <000 0x20121000 0x0 0x1000>;
369+
interrupt-parent = <&plic>;
370+
interrupt-controller;
371+
#interrupt-cells = <1>;
372+
clocks = <&clkcfg CLK_GPIO1>;
373+
gpio-controller;
374+
#gpio-cells = <2>;
375+
status = "disabled";
376+
};
377+
378+
gpio2: gpio@20122000 {
379+
compatible = "microchip,mpfs-gpio";
380+
reg = <0x0 0x20122000 0x0 0x1000>;
381+
interrupt-parent = <&plic>;
382+
interrupt-controller;
383+
#interrupt-cells = <1>;
384+
clocks = <&clkcfg CLK_GPIO2>;
385+
gpio-controller;
386+
#gpio-cells = <2>;
387+
status = "disabled";
388+
};
389+
390+
rtc: rtc@20124000 {
391+
compatible = "microchip,mpfs-rtc";
392+
reg = <0x0 0x20124000 0x0 0x1000>;
393+
interrupt-parent = <&plic>;
394+
interrupts = <80>, <81>;
395+
clocks = <&clkcfg CLK_RTC>;
396+
clock-names = "rtc";
397+
status = "disabled";
398+
};
399+
400+
usb: usb@20201000 {
401+
compatible = "microchip,mpfs-musb";
402+
reg = <0x0 0x20201000 0x0 0x1000>;
403+
interrupt-parent = <&plic>;
404+
interrupts = <86>, <87>;
405+
clocks = <&clkcfg CLK_USB>;
406+
interrupt-names = "dma","mc";
407+
status = "disabled";
408+
};
409+
410+
pcie: pcie@2000000000 {
411+
compatible = "microchip,pcie-host-1.0";
412+
#address-cells = <0x3>;
413+
#interrupt-cells = <0x1>;
414+
#size-cells = <0x2>;
415+
device_type = "pci";
416+
reg = <0x20 0x0 0x0 0x8000000>, <0x0 0x43000000 0x0 0x10000>;
417+
reg-names = "cfg", "apb";
418+
bus-range = <0x0 0x7f>;
419+
interrupt-parent = <&plic>;
420+
interrupts = <119>;
421+
interrupt-map = <0 0 0 1 &pcie_intc 0>,
422+
<0 0 0 2 &pcie_intc 1>,
423+
<0 0 0 3 &pcie_intc 2>,
424+
<0 0 0 4 &pcie_intc 3>;
425+
interrupt-map-mask = <0 0 0 7>;
426+
clocks = <&clkcfg CLK_FIC0>, <&clkcfg CLK_FIC1>, <&clkcfg CLK_FIC3>;
427+
clock-names = "fic0", "fic1", "fic3";
428+
ranges = <0x3000000 0x0 0x8000000 0x20 0x8000000 0x0 0x80000000>;
429+
msi-parent = <&pcie>;
430+
msi-controller;
431+
microchip,axi-m-atr0 = <0x10 0x0>;
432+
status = "disabled";
433+
pcie_intc: legacy-interrupt-controller {
434+
#address-cells = <0>;
435+
#interrupt-cells = <1>;
436+
interrupt-controller;
437+
};
438+
};
439+
440+
mbox: mailbox@37020000 {
441+
compatible = "microchip,mpfs-mailbox";
442+
reg = <0x0 0x37020000 0x0 0x1000>, <0x0 0x2000318C 0x0 0x40>;
443+
interrupt-parent = <&plic>;
444+
interrupts = <96>;
445+
#mbox-cells = <1>;
446+
status = "disabled";
447+
};
448+
449+
syscontroller: syscontroller {
450+
compatible = "microchip,mpfs-sys-controller";
451+
mboxes = <&mbox 0>;
452+
};
293453
};
294454
};

0 commit comments

Comments
 (0)