1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include "bcm2835-rpi.dtsi"
3*f126890aSEmmanuel Vadot
4*f126890aSEmmanuel Vadot#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/ {
7*f126890aSEmmanuel Vadot	/* Will be filled by the bootloader */
8*f126890aSEmmanuel Vadot	memory@0 {
9*f126890aSEmmanuel Vadot		device_type = "memory";
10*f126890aSEmmanuel Vadot		reg = <0 0 0>;
11*f126890aSEmmanuel Vadot	};
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot	aliases {
14*f126890aSEmmanuel Vadot		emmc2bus = &emmc2bus;
15*f126890aSEmmanuel Vadot		ethernet0 = &genet;
16*f126890aSEmmanuel Vadot		pcie0 = &pcie0;
17*f126890aSEmmanuel Vadot		blconfig = &blconfig;
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot};
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot&firmware {
22*f126890aSEmmanuel Vadot	firmware_clocks: clocks {
23*f126890aSEmmanuel Vadot		compatible = "raspberrypi,firmware-clocks";
24*f126890aSEmmanuel Vadot		#clock-cells = <1>;
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	expgpio: gpio {
28*f126890aSEmmanuel Vadot		compatible = "raspberrypi,firmware-gpio";
29*f126890aSEmmanuel Vadot		gpio-controller;
30*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
31*f126890aSEmmanuel Vadot		status = "okay";
32*f126890aSEmmanuel Vadot	};
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot	reset: reset {
35*f126890aSEmmanuel Vadot		compatible = "raspberrypi,firmware-reset";
36*f126890aSEmmanuel Vadot		#reset-cells = <1>;
37*f126890aSEmmanuel Vadot	};
38*f126890aSEmmanuel Vadot};
39*f126890aSEmmanuel Vadot
40*f126890aSEmmanuel Vadot&hdmi0 {
41*f126890aSEmmanuel Vadot	clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
42*f126890aSEmmanuel Vadot	clock-names = "hdmi", "bvb", "audio", "cec";
43*f126890aSEmmanuel Vadot	wifi-2.4ghz-coexistence;
44*f126890aSEmmanuel Vadot};
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot&hdmi1 {
47*f126890aSEmmanuel Vadot	clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
48*f126890aSEmmanuel Vadot	clock-names = "hdmi", "bvb", "audio", "cec";
49*f126890aSEmmanuel Vadot	wifi-2.4ghz-coexistence;
50*f126890aSEmmanuel Vadot};
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot&hvs {
53*f126890aSEmmanuel Vadot	clocks = <&firmware_clocks 4>;
54*f126890aSEmmanuel Vadot};
55*f126890aSEmmanuel Vadot
56*f126890aSEmmanuel Vadot&rmem {
57*f126890aSEmmanuel Vadot	/*
58*f126890aSEmmanuel Vadot	 * RPi4's co-processor will copy the board's bootloader configuration
59*f126890aSEmmanuel Vadot	 * into memory for the OS to consume. It'll also update this node with
60*f126890aSEmmanuel Vadot	 * its placement information.
61*f126890aSEmmanuel Vadot	 */
62*f126890aSEmmanuel Vadot	blconfig: nvram@0 {
63*f126890aSEmmanuel Vadot		compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
64*f126890aSEmmanuel Vadot		#address-cells = <1>;
65*f126890aSEmmanuel Vadot		#size-cells = <1>;
66*f126890aSEmmanuel Vadot		reg = <0x0 0x0 0x0>;
67*f126890aSEmmanuel Vadot		no-map;
68*f126890aSEmmanuel Vadot		status = "disabled";
69*f126890aSEmmanuel Vadot	};
70*f126890aSEmmanuel Vadot};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot&v3d {
73*f126890aSEmmanuel Vadot	clocks = <&firmware_clocks 5>;
74*f126890aSEmmanuel Vadot};
75*f126890aSEmmanuel Vadot
76*f126890aSEmmanuel Vadot&vchiq {
77*f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
78*f126890aSEmmanuel Vadot};
79