1 // SPDX-License-Identifier: GPL-2.0
3 /* This include file covers the common peripherals and configuration between
4 * bcm2835, bcm2836 and bcm2837 implementations.
8 interrupt-parent = <&intc>;
12 compatible = "brcm,bcm2835-dma";
13 reg = <0x7e007000 0xf00>;
25 /* dma channel 11-14 share one irq */
30 /* unused shared irq for all channels */
32 interrupt-names = "dma0",
49 brcm,dma-channel-mask = <0x7f35>;
52 intc: interrupt-controller@7e00b200 {
53 compatible = "brcm,bcm2835-armctrl-ic";
54 reg = <0x7e00b200 0x200>;
56 #interrupt-cells = <2>;
59 pm: watchdog@7e100000 {
60 compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
61 #power-domain-cells = <1>;
63 reg = <0x7e100000 0x114>,
65 clocks = <&clocks BCM2835_CLOCK_V3D>,
66 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
67 <&clocks BCM2835_CLOCK_H264>,
68 <&clocks BCM2835_CLOCK_ISP>;
69 clock-names = "v3d", "peri_image", "h264", "isp";
70 system-power-controller;
74 compatible = "brcm,bcm2835-pixelvalve0";
75 reg = <0x7e206000 0x100>;
76 interrupts = <2 13>; /* pwa0 */
80 compatible = "brcm,bcm2835-pixelvalve1";
81 reg = <0x7e207000 0x100>;
82 interrupts = <2 14>; /* pwa1 */
85 thermal: thermal@7e212000 {
86 compatible = "brcm,bcm2835-thermal";
87 reg = <0x7e212000 0x8>;
88 clocks = <&clocks BCM2835_CLOCK_TSENS>;
89 #thermal-sensor-cells = <0>;
94 compatible = "brcm,bcm2835-i2c";
95 reg = <0x7e805000 0x1000>;
97 clocks = <&clocks BCM2835_CLOCK_VPU>;
103 pixelvalve@7e807000 {
104 compatible = "brcm,bcm2835-pixelvalve2";
105 reg = <0x7e807000 0x100>;
106 interrupts = <2 10>; /* pixelvalve */
109 hdmi: hdmi@7e902000 {
110 compatible = "brcm,bcm2835-hdmi";
111 reg = <0x7e902000 0x600>,
113 interrupts = <2 8>, <2 9>;
115 clocks = <&clocks BCM2835_PLLH_PIX>,
116 <&clocks BCM2835_CLOCK_HSM>;
117 clock-names = "pixel", "hdmi";
119 dma-names = "audio-rx";
124 compatible = "brcm,bcm2835-v3d";
125 reg = <0x7ec00000 0x1000>;
127 power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
131 compatible = "brcm,bcm2835-vc4";
137 thermal-sensors = <&thermal>;
141 i2c_slave_gpio18: i2c_slave_gpio18 {
142 brcm,pins = <18 19 20 21>;
143 brcm,function = <BCM2835_FSEL_ALT3>;
146 jtag_gpio4: jtag_gpio4 {
147 brcm,pins = <4 5 6 12 13>;
148 brcm,function = <BCM2835_FSEL_ALT5>;
151 pwm0_gpio12: pwm0_gpio12 {
153 brcm,function = <BCM2835_FSEL_ALT0>;
155 pwm0_gpio18: pwm0_gpio18 {
157 brcm,function = <BCM2835_FSEL_ALT5>;
159 pwm0_gpio40: pwm0_gpio40 {
161 brcm,function = <BCM2835_FSEL_ALT0>;
163 pwm1_gpio13: pwm1_gpio13 {
165 brcm,function = <BCM2835_FSEL_ALT0>;
167 pwm1_gpio19: pwm1_gpio19 {
169 brcm,function = <BCM2835_FSEL_ALT5>;
171 pwm1_gpio41: pwm1_gpio41 {
173 brcm,function = <BCM2835_FSEL_ALT0>;
175 pwm1_gpio45: pwm1_gpio45 {
177 brcm,function = <BCM2835_FSEL_ALT0>;
182 dmas = <&dma 2>, <&dma 3>;
183 dma-names = "tx", "rx";
192 dmas = <&dma 6>, <&dma 7>;
193 dma-names = "tx", "rx";