arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi

Source file repositories/reference/linux-study-clean/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
Extension
.dtsi
Size
1554 bytes
Lines
87
Domain
Architecture Layer
Bucket
arch/arm
Inferred role
Architecture Layer: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#include <dt-bindings/power/raspberrypi-power.h>

/ {
	firmware {
		firmware: rpi-firmware {
			compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
			mboxes = <&mailbox>;

			firmware_clocks: clocks {
				compatible = "raspberrypi,firmware-clocks";
				#clock-cells = <1>;
			};

			power: power {
				compatible = "raspberrypi,bcm2835-power";
				firmware = <&firmware>;
				#power-domain-cells = <1>;
			};
		};
	};

	soc {
		vchiq: mailbox@7e00b840 {
			compatible = "brcm,bcm2835-vchiq";
			reg = <0x7e00b840 0x3c>;
			interrupts = <0 2>;
		};
	};
};

&csi0 {
	clocks = <&clocks BCM2835_CLOCK_CAM0>,
		 <&firmware_clocks 4>;
	clock-names = "lp", "vpu";
	power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>;
};

&csi1 {
	clocks = <&clocks BCM2835_CLOCK_CAM1>,
		 <&firmware_clocks 4>;
	clock-names = "lp", "vpu";
	power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
};

&gpio {
	gpioout: gpioout {
		brcm,pins = <6>;
		brcm,function = <BCM2835_FSEL_GPIO_OUT>;
	};

	alt0: alt0 {
		brcm,pins = <4 5 7 8 9 10 11>;
		brcm,function = <BCM2835_FSEL_ALT0>;
	};
};

&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_gpio0>;
	status = "okay";
	clock-frequency = <100000>;
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c1_gpio2>;
	status = "okay";
	clock-frequency = <100000>;
};

Annotation

Implementation Notes