162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include "bcm2835-rpi.dtsi"
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#include <dt-bindings/reset/raspberrypi,firmware-reset.h>
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/ {
762306a36Sopenharmony_ci	/* Will be filled by the bootloader */
862306a36Sopenharmony_ci	memory@0 {
962306a36Sopenharmony_ci		device_type = "memory";
1062306a36Sopenharmony_ci		reg = <0 0 0>;
1162306a36Sopenharmony_ci	};
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	aliases {
1462306a36Sopenharmony_ci		emmc2bus = &emmc2bus;
1562306a36Sopenharmony_ci		ethernet0 = &genet;
1662306a36Sopenharmony_ci		pcie0 = &pcie0;
1762306a36Sopenharmony_ci		blconfig = &blconfig;
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci&firmware {
2262306a36Sopenharmony_ci	firmware_clocks: clocks {
2362306a36Sopenharmony_ci		compatible = "raspberrypi,firmware-clocks";
2462306a36Sopenharmony_ci		#clock-cells = <1>;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	expgpio: gpio {
2862306a36Sopenharmony_ci		compatible = "raspberrypi,firmware-gpio";
2962306a36Sopenharmony_ci		gpio-controller;
3062306a36Sopenharmony_ci		#gpio-cells = <2>;
3162306a36Sopenharmony_ci		status = "okay";
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	reset: reset {
3562306a36Sopenharmony_ci		compatible = "raspberrypi,firmware-reset";
3662306a36Sopenharmony_ci		#reset-cells = <1>;
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci&hdmi0 {
4162306a36Sopenharmony_ci	clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
4262306a36Sopenharmony_ci	clock-names = "hdmi", "bvb", "audio", "cec";
4362306a36Sopenharmony_ci	wifi-2.4ghz-coexistence;
4462306a36Sopenharmony_ci};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci&hdmi1 {
4762306a36Sopenharmony_ci	clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
4862306a36Sopenharmony_ci	clock-names = "hdmi", "bvb", "audio", "cec";
4962306a36Sopenharmony_ci	wifi-2.4ghz-coexistence;
5062306a36Sopenharmony_ci};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci&hvs {
5362306a36Sopenharmony_ci	clocks = <&firmware_clocks 4>;
5462306a36Sopenharmony_ci};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci&rmem {
5762306a36Sopenharmony_ci	/*
5862306a36Sopenharmony_ci	 * RPi4's co-processor will copy the board's bootloader configuration
5962306a36Sopenharmony_ci	 * into memory for the OS to consume. It'll also update this node with
6062306a36Sopenharmony_ci	 * its placement information.
6162306a36Sopenharmony_ci	 */
6262306a36Sopenharmony_ci	blconfig: nvram@0 {
6362306a36Sopenharmony_ci		compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
6462306a36Sopenharmony_ci		#address-cells = <1>;
6562306a36Sopenharmony_ci		#size-cells = <1>;
6662306a36Sopenharmony_ci		reg = <0x0 0x0 0x0>;
6762306a36Sopenharmony_ci		no-map;
6862306a36Sopenharmony_ci		status = "disabled";
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci&v3d {
7362306a36Sopenharmony_ci	clocks = <&firmware_clocks 5>;
7462306a36Sopenharmony_ci};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci&vchiq {
7762306a36Sopenharmony_ci	interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
7862306a36Sopenharmony_ci};
79