Spracherkennung für: .dtsi vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
// SPDX-License-Identifier: GPL-
2.
0
#include "bcm283x.dtsi"
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/soc/bcm2835-pm.h>
/ {
compatible = "brcm,bcm2711";
#address-cells = <
2>;
#size-cells = <
1>;
interrupt-parent = <&gicv2>;
vc4: gpu {
compatible = "brcm,bcm2711-vc5";
status = "disabled";
};
clk_27MHz: clk-
27M {
#clock-cells = <
0>;
compatible = "fixed-clock";
clock-frequency = <
27000000>;
clock-output-names = "
27MHz-clock";
};
clk_108MHz: clk-
108M {
#clock-cells = <
0>;
compatible = "fixed-clock";
clock-frequency = <
108000000>;
clock-output-names = "
108MHz-clock";
};
soc {
/*
* Defined ranges:
* Common BCM283x peripherals
* BCM2711-specific peripherals
* ARM-local peripherals
*/
ranges = <
0x7e000000
0x0
0xfe000000
0x01800000>,
<
0x7c000000
0x0
0xfc000000
0x02000000>,
<
0x40000000
0x0
0xff800000
0x00800000>;
/* Emulate a contiguous
30-bit address range for DMA */
dma-ranges = <
0xc0000000
0x0
0x00000000
0x40000000>;
/*
* This node is the provider for the enable-method for
* bringing up secondary cores.
*/
local_intc: interrupt-controller@
40000000 {
compatible = "brcm,bcm2836-l1-intc";
reg = <
0x40000000
0x100>;
};
gicv2: interrupt-controller@
40041000 {
interrupt-controller;
#interrupt-cells = <
3>;
compatible = "arm,gic-
400";
reg = <
0x40041000
0x1000>,
<
0x40042000
0x2000>,
<
0x40044000
0x2000>,
<
0x40046000
0x2000>;
interrupts = <GIC_PPI
9 (GIC_CPU_MASK_SIMPLE(
4) |
IRQ_TYPE_LEVEL_HIGH)>;
};
avs_monitor: avs-monitor@
7d5d2000 {
compatible = "brcm,bcm2711-avs-monitor",
"syscon", "simple-mfd";
reg = <
0x7d5d2000
0xf00>;
thermal: thermal {
compatible = "brcm,bcm2711-thermal";
#thermal-sensor-cells = <
0>;
};
};
dma: dma-controller@
7e007000 {
compatible = "brcm,bcm2835-dma";
reg = <
0x7e007000
0xb00>;
interrupts = <GIC_SPI
80 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
81 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
82 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
83 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
84 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
85 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
86 IRQ_TYPE_LEVEL_HIGH>,
/* DMA lite
7 -
10 */
<GIC_SPI
87 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
87 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
88 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
88 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "dma0",
"dma1",
"dma2",
"dma3",
"dma4",
"dma5",
"dma6",
"dma7",
"dma8",
"dma9",
"dma10";
#dma-cells = <
1>;
brcm,dma-channel-mask = <
0x07f5>;
};
pm: watchdog@
7e100000 {
compatible = "brcm,bcm2711-pm", "brcm,bcm2835-pm-wdt";
#power-domain-cells = <
1>;
#reset-cells = <
1>;
reg = <
0x7e100000
0x114>,
<
0x7e00a000
0x24>,
<
0x7ec11000
0x20>;
reg-names = "pm", "asb", "rpivid_asb";
clocks = <&clocks BCM2835_CLOCK_V3D>,
<&clocks BCM2835_CLOCK_PERI_IMAGE>,
<&clocks BCM2835_CLOCK_H264>,
<&clocks BCM2835_CLOCK_ISP>;
clock-names = "v3d", "peri_image", "h264", "isp";
system-power-controller;
};
rng@
7e104000 {
compatible = "brcm,bcm2711-rng200";
reg = <
0x7e104000
0x28>;
};
uart2: serial@
7e201400 {
compatible = "arm,pl011", "arm,primecell";
reg = <
0x7e201400
0x200>;
interrupts = <GIC_SPI
121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_UART>,
<&clocks BCM2835_CLOCK_VPU>;
clock-names = "uartclk", "apb_pclk";
arm,primecell-periphid = <
0x00341011>;
status = "disabled";
};
uart3: serial@
7e201600 {
compatible = "arm,pl011", "arm,primecell";
reg = <
0x7e201600
0x200>;
interrupts = <GIC_SPI
121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_UART>,
<&clocks BCM2835_CLOCK_VPU>;
clock-names = "uartclk", "apb_pclk";
arm,primecell-periphid = <
0x00341011>;
status = "disabled";
};
uart4: serial@
7e201800 {
compatible = "arm,pl011", "arm,primecell";
reg = <
0x7e201800
0x200>;
interrupts = <GIC_SPI
121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_UART>,
<&clocks BCM2835_CLOCK_VPU>;
clock-names = "uartclk", "apb_pclk";
arm,primecell-periphid = <
0x00341011>;
status = "disabled";
};
uart5: serial@
7e201a00 {
compatible = "arm,pl011", "arm,primecell";
reg = <
0x7e201a00
0x200>;
interrupts = <GIC_SPI
121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_UART>,
<&clocks BCM2835_CLOCK_VPU>;
clock-names = "uartclk", "apb_pclk";
arm,primecell-periphid = <
0x00341011>;
status = "disabled";
};
spi3: spi@
7e204600 {
compatible = "brcm,bcm2835-spi";
reg = <
0x7e204600
0x0200>;
interrupts = <GIC_SPI
118 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
spi4: spi@
7e204800 {
compatible = "brcm,bcm2835-spi";
reg = <
0x7e204800
0x0200>;
interrupts = <GIC_SPI
118 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
spi5: spi@
7e204a00 {
compatible = "brcm,bcm2835-spi";
reg = <
0x7e204a00
0x0200>;
interrupts = <GIC_SPI
118 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
spi6: spi@
7e204c00 {
compatible = "brcm,bcm2835-spi";
reg = <
0x7e204c00
0x0200>;
interrupts = <GIC_SPI
118 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
i2c3: i2c@
7e205600 {
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
reg = <
0x7e205600
0x200>;
interrupts = <GIC_SPI
117 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
i2c4: i2c@
7e205800 {
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
reg = <
0x7e205800
0x200>;
interrupts = <GIC_SPI
117 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
i2c5: i2c@
7e205a00 {
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
reg = <
0x7e205a00
0x200>;
interrupts = <GIC_SPI
117 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
i2c6: i2c@
7e205c00 {
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
reg = <
0x7e205c00
0x200>;
interrupts = <GIC_SPI
117 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <
1>;
#size-cells = <
0>;
status = "disabled";
};
pixelvalve0: pixelvalve@
7e206000 {
compatible = "brcm,bcm2711-pixelvalve0";
reg = <
0x7e206000
0x100>;
interrupts = <GIC_SPI
109 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
pixelvalve1: pixelvalve@
7e207000 {
compatible = "brcm,bcm2711-pixelvalve1";
reg = <
0x7e207000
0x100>;
interrupts = <GIC_SPI
110 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
pixelvalve2: pixelvalve@
7e20a000 {
compatible = "brcm,bcm2711-pixelvalve2";
reg = <
0x7e20a000
0x100>;
interrupts = <GIC_SPI
101 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
pwm1: pwm@
7e20c800 {
compatible = "brcm,bcm2835-pwm";
reg = <
0x7e20c800
0x28>;
clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clocks = <&clocks BCM2835_CLOCK_PWM>;
assigned-clock-rates = <
10000000>;
#pwm-cells = <
3>;
status = "disabled";
};
pixelvalve4: pixelvalve@
7e216000 {
compatible = "brcm,bcm2711-pixelvalve4";
reg = <
0x7e216000
0x100>;
interrupts = <GIC_SPI
110 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
hvs: hvs@
7e400000 {
compatible = "brcm,bcm2711-hvs";
reg = <
0x7e400000
0x8000>;
interrupts = <GIC_SPI
97 IRQ_TYPE_LEVEL_HIGH>;
};
pixelvalve3: pixelvalve@
7ec12000 {
compatible = "brcm,bcm2711-pixelvalve3";
reg = <
0x7ec12000
0x100>;
interrupts = <GIC_SPI
106 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
vec: vec@
7ec13000 {
compatible = "brcm,bcm2711-vec";
reg = <
0x7ec13000
0x1000>;
clocks = <&clocks BCM2835_CLOCK_VEC>;
interrupts = <GIC_SPI
123 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
dvp: clock@
7ef00000 {
compatible = "brcm,brcm2711-dvp";
reg = <
0x7ef00000
0x10>;
clocks = <&clk_108MHz>;
#clock-cells = <
1>;
#reset-cells = <
1>;
};
aon_intr: interrupt-controller@
7ef00100 {
compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
reg = <
0x7ef00100
0x30>;
interrupts = <GIC_SPI
96 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <
1>;
};
hdmi0: hdmi@
7ef00700 {
compatible = "brcm,bcm2711-hdmi0";
reg = <
0x7ef00700
0x300>,
<
0x7ef00300
0x200>,
<
0x7ef00f00
0x80>,
<
0x7ef00f80
0x80>,
<
0x7ef01b00
0x200>,
<
0x7ef01f00
0x400>,
<
0x7ef00200
0x80>,
<
0x7ef04300
0x100>,
<
0x7ef20000
0x100>;
reg-names = "hdmi",
"dvp",
"phy",
"rm",
"packet",
"metadata",
"csc",
"cec",
"hd";
clock-names = "hdmi", "bvb", "audio", "cec";
resets = <&dvp
0>;
interrupt-parent = <&aon_intr>;
interrupts = <
0>, <
1>, <
2>,
<
3>, <
4>, <
5>;
interrupt-names = "cec-tx", "cec-rx", "cec-low",
"wakeup", "hpd-connected", "hpd-removed";
ddc = <&ddc0>;
dmas = <&dma
10>;
dma-names = "audio-rx";
status = "disabled";
};
ddc0: i2c@
7ef04500 {
compatible = "brcm,bcm2711-hdmi-i2c";
reg = <
0x7ef04500
0x100>, <
0x7ef00b00
0x300>;
reg-names = "bsc", "auto-i2c";
clock-frequency = <
97500>;
status = "disabled";
};
hdmi1: hdmi@
7ef05700 {
compatible = "brcm,bcm2711-hdmi1";
reg = <
0x7ef05700
0x300>,
<
0x7ef05300
0x200>,
<
0x7ef05f00
0x80>,
<
0x7ef05f80
0x80>,
<
0x7ef06b00
0x200>,
<
0x7ef06f00
0x400>,
<
0x7ef00280
0x80>,
<
0x7ef09300
0x100>,
<
0x7ef20000
0x100>;
reg-names = "hdmi",
"dvp",
"phy",
"rm",
"packet",
"metadata",
"csc",
"cec",
"hd";
ddc = <&ddc1>;
clock-names = "hdmi", "bvb", "audio", "cec";
resets = <&dvp
1>;
interrupt-parent = <&aon_intr>;
interrupts = <
8>, <
7>, <
6>,
<
9>, <
10>, <
11>;
interrupt-names = "cec-tx", "cec-rx", "cec-low",
"wakeup", "hpd-connected", "hpd-removed";
dmas = <&dma
17>;
dma-names = "audio-rx";
status = "disabled";
};
ddc1: i2c@
7ef09500 {
compatible = "brcm,bcm2711-hdmi-i2c";
reg = <
0x7ef09500
0x100>, <
0x7ef05b00
0x300>;
reg-names = "bsc", "auto-i2c";
clock-frequency = <
97500>;
status = "disabled";
};
};
/*
* emmc2 has different DMA constraints based on SoC revisions. It was
* moved into its own bus, so as for RPi4's firmware to update them.
* The firmware will find whether the emmc2bus alias is defined, and if
* so, it'll edit the dma-ranges property below accordingly.
*/
emmc2bus: emmc2bus {
compatible = "simple-bus";
#address-cells = <
2>;
#size-cells = <
1>;
ranges = <
0x0
0x7e000000
0x0
0xfe000000
0x01800000>;
dma-ranges = <
0x0
0xc0000000
0x0
0x00000000
0x40000000>;
emmc2: mmc@
7e340000 {
compatible = "brcm,bcm2711-emmc2";
reg = <
0x0
0x7e340000
0x100>;
interrupts = <GIC_SPI
126 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2711_CLOCK_EMMC2>;
status = "disabled";
};
};
pmu {
compatible = "arm,cortex-a72-pmu";
interrupts = <GIC_SPI
16 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
17 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
18 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
19 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
};
timer {
compatible = "arm,armv8-timer";
interrupts = <GIC_PPI
13 (GIC_CPU_MASK_SIMPLE(
4) |
IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI
14 (GIC_CPU_MASK_SIMPLE(
4) |
IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI
11 (GIC_CPU_MASK_SIMPLE(
4) |
IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI
10 (GIC_CPU_MASK_SIMPLE(
4) |
IRQ_TYPE_LEVEL_LOW)>;
};
cpus: cpus {
#address-cells = <
1>;
#size-cells = <
0>;
enable-method = "brcm,bcm2836-smp"; // for ARM
32-bit
/* Source for d/i-cache-line-size and d/i-cache-sets
*
https://developer.arm.com/documentation/100095/
0003
* /Level-
1-Memory-System/About-the-L1-memory-system?lang=en
* Source for d/i-cache-size
*
https://www.raspberrypi.com/documentation/computers
* /processors.html#bcm2711
*/
cpu0: cpu@
0 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <
0>;
enable-method = "spin-table";
cpu-release-addr = <
0x0
0x000000d8>;
d-cache-size = <
0x8000>;
d-cache-line-size = <
64>;
d-cache-sets = <
256>; //
32KiB(size)/
64(line-size)=
512ways/
2-way set
i-cache-size = <
0xc000>;
i-cache-line-size = <
64>;
i-cache-sets = <
256>; //
48KiB(size)/
64(line-size)=
768ways/
3-way set
next-level-cache = <&l2>;
};
cpu1: cpu@
1 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <
1>;
enable-method = "spin-table";
cpu-release-addr = <
0x0
0x000000e0>;
d-cache-size = <
0x8000>;
d-cache-line-size = <
64>;
d-cache-sets = <
256>; //
32KiB(size)/
64(line-size)=
512ways/
2-way set
i-cache-size = <
0xc000>;
i-cache-line-size = <
64>;
i-cache-sets = <
256>; //
48KiB(size)/
64(line-size)=
768ways/
3-way set
next-level-cache = <&l2>;
};
cpu2: cpu@
2 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <
2>;
enable-method = "spin-table";
cpu-release-addr = <
0x0
0x000000e8>;
d-cache-size = <
0x8000>;
d-cache-line-size = <
64>;
d-cache-sets = <
256>; //
32KiB(size)/
64(line-size)=
512ways/
2-way set
i-cache-size = <
0xc000>;
i-cache-line-size = <
64>;
i-cache-sets = <
256>; //
48KiB(size)/
64(line-size)=
768ways/
3-way set
next-level-cache = <&l2>;
};
cpu3: cpu@
3 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <
3>;
enable-method = "spin-table";
cpu-release-addr = <
0x0
0x000000f0>;
d-cache-size = <
0x8000>;
d-cache-line-size = <
64>;
d-cache-sets = <
256>; //
32KiB(size)/
64(line-size)=
512ways/
2-way set
i-cache-size = <
0xc000>;
i-cache-line-size = <
64>;
i-cache-sets = <
256>; //
48KiB(size)/
64(line-size)=
768ways/
3-way set
next-level-cache = <&l2>;
};
/* Source for d/i-cache-line-size and d/i-cache-sets
*
https://developer.arm.com/documentation/100095/
0003
* /Level-
2-Memory-System/About-the-L2-memory-system?lang=en
* Source for d/i-cache-size
*
https://www.raspberrypi.com/documentation/computers
* /processors.html#bcm2711
*/
l2: l2-cache0 {
compatible = "cache";
cache-unified;
cache-size = <
0x100000>;
cache-line-size = <
64>;
cache-sets = <
1024>; //
1MiB(size)/
64(line-size)=
16384ways/
16-way set
cache-level = <
2>;
};
};
scb {
compatible = "simple-bus";
#address-cells = <
2>;
#size-cells = <
1>;
ranges = <
0x0
0x7c000000
0x0
0xfc000000
0x03800000>,
<
0x6
0x00000000
0x6
0x00000000
0x40000000>;
pcie0: pcie@
7d500000 {
compatible = "brcm,bcm2711-pcie";
reg = <
0x0
0x7d500000
0x9310>;
device_type = "pci";
#address-cells = <
3>;
#interrupt-cells = <
1>;
#size-cells = <
2>;
interrupts = <GIC_SPI
147 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
148 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pcie", "msi";
interrupt-map-mask = <
0x0
0x0
0x0
0x7>;
interrupt-map = <
0 0 0 1 &gicv2 GIC_SPI
143
IRQ_TYPE_LEVEL_HIGH>,
<
0 0 0 2 &gicv2 GIC_SPI
144
IRQ_TYPE_LEVEL_HIGH>,
<
0 0 0 3 &gicv2 GIC_SPI
145
IRQ_TYPE_LEVEL_HIGH>,
<
0 0 0 4 &gicv2 GIC_SPI
146
IRQ_TYPE_LEVEL_HIGH>;
msi-controller;
msi-parent = <&pcie0>;
ranges = <
0x02000000
0x0
0xf8000000
0x6
0x00000000
0x0
0x04000000>;
/*
* The wrapper around the PCIe block has a bug
* preventing it from accessing beyond the first
3GB of
* memory.
*/
dma-ranges = <
0x02000000
0x0
0x00000000
0x0
0x00000000
0x0
0xc0000000>;
brcm,enable-ssc;
};
genet: ethernet@
7d580000 {
compatible = "brcm,bcm2711-genet-v5";
reg = <
0x0
0x7d580000
0x10000>;
#address-cells = <
0x1>;
#size-cells = <
0x1>;
interrupts = <GIC_SPI
157 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
158 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
genet_mdio: mdio@e14 {
compatible = "brcm,genet-mdio-v5";
reg = <
0xe14
0x8>;
reg-names = "mdio";
#address-cells = <
0x1>;
#size-cells = <
0x0>;
};
};
xhci: usb@
7e9c0000 {
compatible = "brcm,bcm2711-xhci", "brcm,xhci-brcm-v2";
reg = <
0x0
0x7e9c0000
0x100000>;
#address-cells = <
1>;
#size-cells = <
0>;
interrupts = <GIC_SPI
176 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&pm BCM2835_POWER_DOMAIN_USB>;
/* DWC2 and this IP block share the same USB PHY,
* enabling both at the same time results in lockups.
* So keep this node disabled and let the bootloader
* decide which interface should be enabled.
*/
status = "disabled";
};
v3d: gpu@
7ec00000 {
compatible = "brcm,
2711-v3d";
reg = <
0x0
0x7ec00000
0x4000>,
<
0x0
0x7ec04000
0x4000>;
reg-names = "hub", "core0";
power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
resets = <&pm BCM2835_RESET_V3D>;
interrupts = <GIC_SPI
74 IRQ_TYPE_LEVEL_HIGH>;
};
};
};
&clk_osc {
clock-frequency = <
54000000>;
};
&clocks {
compatible = "brcm,bcm2711-cprman";
};
&cpu_thermal {
coefficients = <(-
487)
410040>;
thermal-sensors = <&thermal>;
};
&dsi0 {
interrupts = <GIC_SPI
100 IRQ_TYPE_LEVEL_HIGH>;
};
&dsi1 {
interrupts = <GIC_SPI
108 IRQ_TYPE_LEVEL_HIGH>;
compatible = "brcm,bcm2711-dsi1";
};
&gpio {
compatible = "brcm,bcm2711-gpio";
interrupts = <GIC_SPI
113 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
114 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
115 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
116 IRQ_TYPE_LEVEL_HIGH>;
gpio-ranges = <&gpio
0 0 58>;
gpclk0_gpio49: gpclk0-gpio49 {
pin-gpclk {
pins = "gpio49";
function = "alt1";
bias-disable;
};
};
gpclk1_gpio50: gpclk1-gpio50 {
pin-gpclk {
pins = "gpio50";
function = "alt1";
bias-disable;
};
};
gpclk2_gpio51: gpclk2-gpio51 {
pin-gpclk {
pins = "gpio51";
function = "alt1";
bias-disable;
};
};
i2c0_gpio46: i2c0-gpio46 {
pin-sda {
function = "alt0";
pins = "gpio46";
bias-pull-up;
};
pin-scl {
function = "alt0";
pins = "gpio47";
bias-disable;
};
};
i2c1_gpio46: i2c1-gpio46 {
pin-sda {
function = "alt1";
pins = "gpio46";
bias-pull-up;
};
pin-scl {
function = "alt1";
pins = "gpio47";
bias-disable;
};
};
i2c3_gpio2: i2c3-gpio2 {
pin-sda {
function = "alt5";
pins = "gpio2";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio3";
bias-disable;
};
};
i2c3_gpio4: i2c3-gpio4 {
pin-sda {
function = "alt5";
pins = "gpio4";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio5";
bias-disable;
};
};
i2c4_gpio6: i2c4-gpio6 {
pin-sda {
function = "alt5";
pins = "gpio6";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio7";
bias-disable;
};
};
i2c4_gpio8: i2c4-gpio8 {
pin-sda {
function = "alt5";
pins = "gpio8";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio9";
bias-disable;
};
};
i2c5_gpio10: i2c5-gpio10 {
pin-sda {
function = "alt5";
pins = "gpio10";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio11";
bias-disable;
};
};
i2c5_gpio12: i2c5-gpio12 {
pin-sda {
function = "alt5";
pins = "gpio12";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio13";
bias-disable;
};
};
i2c6_gpio0: i2c6-gpio0 {
pin-sda {
function = "alt5";
pins = "gpio0";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio1";
bias-disable;
};
};
i2c6_gpio22: i2c6-gpio22 {
pin-sda {
function = "alt5";
pins = "gpio22";
bias-pull-up;
};
pin-scl {
function = "alt5";
pins = "gpio23";
bias-disable;
};
};
i2c_slave_gpio8: i2c-slave-gpio8 {
pins-i2c-slave {
pins = "gpio8",
"gpio9",
"gpio10",
"gpio11";
function = "alt3";
};
};
jtag_gpio48: jtag-gpio48 {
pins-jtag {
pins = "gpio48",
"gpio49",
"gpio50",
"gpio51",
"gpio52",
"gpio53";
function = "alt4";
};
};
mii_gpio28: mii-gpio28 {
pins-mii {
pins = "gpio28",
"gpio29",
"gpio30",
"gpio31";
function = "alt4";
};
};
mii_gpio36: mii-gpio36 {
pins-mii {
pins = "gpio36",
"gpio37",
"gpio38",
"gpio39";
function = "alt5";
};
};
pcm_gpio50: pcm-gpio50 {
pins-pcm {
pins = "gpio50",
"gpio51",
"gpio52",
"gpio53";
function = "alt2";
};
};
pwm0_0_gpio12: pwm0-
0-gpio12 {
pin-pwm {
pins = "gpio12";
function = "alt0";
bias-disable;
};
};
pwm0_0_gpio18: pwm0-
0-gpio18 {
pin-pwm {
pins = "gpio18";
function = "alt5";
bias-disable;
};
};
pwm1_0_gpio40: pwm1-
0-gpio40 {
pin-pwm {
pins = "gpio40";
function = "alt0";
bias-disable;
};
};
pwm0_1_gpio13: pwm0-
1-gpio13 {
pin-pwm {
pins = "gpio13";
function = "alt0";
bias-disable;
};
};
pwm0_1_gpio19: pwm0-
1-gpio19 {
pin-pwm {
pins = "gpio19";
function = "alt5";
bias-disable;
};
};
pwm1_1_gpio41: pwm1-
1-gpio41 {
pin-pwm {
pins = "gpio41";
function = "alt0";
bias-disable;
};
};
pwm0_1_gpio45: pwm0-
1-gpio45 {
pin-pwm {
pins = "gpio45";
function = "alt0";
bias-disable;
};
};
pwm0_0_gpio52: pwm0-
0-gpio52 {
pin-pwm {
pins = "gpio52";
function = "alt1";
bias-disable;
};
};
pwm0_1_gpio53: pwm0-
1-gpio53 {
pin-pwm {
pins = "gpio53";
function = "alt1";
bias-disable;
};
};
rgmii_gpio35: rgmii-gpio35 {
pin-start-stop {
pins = "gpio35";
function = "alt4";
};
pin-rx-ok {
pins = "gpio36";
function = "alt4";
};
};
rgmii_irq_gpio34: rgmii-irq-gpio34 {
pin-irq {
pins = "gpio34";
function = "alt5";
};
};
rgmii_irq_gpio39: rgmii-irq-gpio39 {
pin-irq {
pins = "gpio39";
function = "alt4";
};
};
rgmii_mdio_gpio28: rgmii-mdio-gpio28 {
pins-mdio {
pins = "gpio28",
"gpio29";
function = "alt5";
};
};
rgmii_mdio_gpio37: rgmii-mdio-gpio37 {
pins-mdio {
pins = "gpio37",
"gpio38";
function = "alt4";
};
};
spi0_gpio46: spi0-gpio46 {
pins-spi {
pins = "gpio46",
"gpio47",
"gpio48",
"gpio49";
function = "alt2";
};
};
spi2_gpio46: spi2-gpio46 {
pins-spi {
pins = "gpio46",
"gpio47",
"gpio48",
"gpio49",
"gpio50";
function = "alt5";
};
};
spi3_gpio0: spi3-gpio0 {
pins-spi {
pins = "gpio0",
"gpio1",
"gpio2",
"gpio3";
function = "alt3";
};
};
spi4_gpio4: spi4-gpio4 {
pins-spi {
pins = "gpio4",
"gpio5",
"gpio6",
"gpio7";
function = "alt3";
};
};
spi5_gpio12: spi5-gpio12 {
pins-spi {
pins = "gpio12",
"gpio13",
"gpio14",
"gpio15";
function = "alt3";
};
};
spi6_gpio18: spi6-gpio18 {
pins-spi {
pins = "gpio18",
"gpio19",
"gpio20",
"gpio21";
function = "alt3";
};
};
uart2_gpio0: uart2-gpio0 {
pin-tx {
pins = "gpio0";
function = "alt4";
bias-disable;
};
pin-rx {
pins = "gpio1";
function = "alt4";
bias-pull-up;
};
};
uart2_ctsrts_gpio2: uart2-ctsrts-gpio2 {
pin-cts {
pins = "gpio2";
function = "alt4";
bias-pull-up;
};
pin-rts {
pins = "gpio3";
function = "alt4";
bias-disable;
};
};
uart3_gpio4: uart3-gpio4 {
pin-tx {
pins = "gpio4";
function = "alt4";
bias-disable;
};
pin-rx {
pins = "gpio5";
function = "alt4";
bias-pull-up;
};
};
uart3_ctsrts_gpio6: uart3-ctsrts-gpio6 {
pin-cts {
pins = "gpio6";
function = "alt4";
bias-pull-up;
};
pin-rts {
pins = "gpio7";
function = "alt4";
bias-disable;
};
};
uart4_gpio8: uart4-gpio8 {
pin-tx {
pins = "gpio8";
function = "alt4";
bias-disable;
};
pin-rx {
pins = "gpio9";
function = "alt4";
bias-pull-up;
};
};
uart4_ctsrts_gpio10: uart4-ctsrts-gpio10 {
pin-cts {
pins = "gpio10";
function = "alt4";
bias-pull-up;
};
pin-rts {
pins = "gpio11";
function = "alt4";
bias-disable;
};
};
uart5_gpio12: uart5-gpio12 {
pin-tx {
pins = "gpio12";
function = "alt4";
bias-disable;
};
pin-rx {
pins = "gpio13";
function = "alt4";
bias-pull-up;
};
};
uart5_ctsrts_gpio14: uart5-ctsrts-gpio14 {
pin-cts {
pins = "gpio14";
function = "alt4";
bias-pull-up;
};
pin-rts {
pins = "gpio15";
function = "alt4";
bias-disable;
};
};
};
&rmem {
#address-cells = <
2>;
};
&csi0 {
interrupts = <GIC_SPI
102 IRQ_TYPE_LEVEL_HIGH>;
};
&csi1 {
interrupts = <GIC_SPI
103 IRQ_TYPE_LEVEL_HIGH>;
};
&cma {
/*
* arm64 reserves the CMA by default somewhere in ZONE_DMA32,
* that's not good enough for the BCM2711 as some devices can
* only address the lower
1G of memory (ZONE_DMA).
*/
alloc-ranges = <
0x0
0x00000000
0x40000000>;
};
&i2c0 {
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
interrupts = <GIC_SPI
117 IRQ_TYPE_LEVEL_HIGH>;
};
&i2c1 {
compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
interrupts = <GIC_SPI
117 IRQ_TYPE_LEVEL_HIGH>;
};
&mailbox {
interrupts = <GIC_SPI
33 IRQ_TYPE_LEVEL_HIGH>;
};
&sdhci {
interrupts = <GIC_SPI
126 IRQ_TYPE_LEVEL_HIGH>;
};
&sdhost {
interrupts = <GIC_SPI
120 IRQ_TYPE_LEVEL_HIGH>;
};
&spi {
interrupts = <GIC_SPI
118 IRQ_TYPE_LEVEL_HIGH>;
};
&spi1 {
interrupts = <GIC_SPI
93 IRQ_TYPE_LEVEL_HIGH>;
};
&spi2 {
interrupts = <GIC_SPI
93 IRQ_TYPE_LEVEL_HIGH>;
};
&system_timer {
interrupts = <GIC_SPI
64 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
65 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
66 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI
67 IRQ_TYPE_LEVEL_HIGH>;
};
&txp {
interrupts = <GIC_SPI
75 IRQ_TYPE_LEVEL_HIGH>;
};
&uart0 {
arm,primecell-periphid = <
0x00341011>;
interrupts = <GIC_SPI
121 IRQ_TYPE_LEVEL_HIGH>;
};
&uart1 {
interrupts = <GIC_SPI
93 IRQ_TYPE_LEVEL_HIGH>;
};
&usb {
interrupts = <GIC_SPI
73 IRQ_TYPE_LEVEL_HIGH>;
};
&vec {
compatible = "brcm,bcm2711-vec";
interrupts = <GIC_SPI
123 IRQ_TYPE_LEVEL_HIGH>;
};