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