Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1// SPDX-License-Identifier: GPL-2.0
  2
  3/* This include file covers the common peripherals and configuration between
  4 * bcm2835, bcm2836 and bcm2837 implementations.
  5 */
  6
  7/ {
  8	interrupt-parent = <&intc>;
  9
 10	soc {
 11		dma: dma@7e007000 {
 12			compatible = "brcm,bcm2835-dma";
 13			reg = <0x7e007000 0xf00>;
 14			interrupts = <1 16>,
 15				     <1 17>,
 16				     <1 18>,
 17				     <1 19>,
 18				     <1 20>,
 19				     <1 21>,
 20				     <1 22>,
 21				     <1 23>,
 22				     <1 24>,
 23				     <1 25>,
 24				     <1 26>,
 25				     /* dma channel 11-14 share one irq */
 26				     <1 27>,
 27				     <1 27>,
 28				     <1 27>,
 29				     <1 27>,
 30				     /* unused shared irq for all channels */
 31				     <1 28>;
 32			interrupt-names = "dma0",
 33					  "dma1",
 34					  "dma2",
 35					  "dma3",
 36					  "dma4",
 37					  "dma5",
 38					  "dma6",
 39					  "dma7",
 40					  "dma8",
 41					  "dma9",
 42					  "dma10",
 43					  "dma11",
 44					  "dma12",
 45					  "dma13",
 46					  "dma14",
 47					  "dma-shared-all";
 48			#dma-cells = <1>;
 49			brcm,dma-channel-mask = <0x7f35>;
 50		};
 51
 52		intc: interrupt-controller@7e00b200 {
 53			compatible = "brcm,bcm2835-armctrl-ic";
 54			reg = <0x7e00b200 0x200>;
 55			interrupt-controller;
 56			#interrupt-cells = <2>;
 57		};
 58
 59		pm: watchdog@7e100000 {
 60			compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
 61			#power-domain-cells = <1>;
 62			#reset-cells = <1>;
 63			reg = <0x7e100000 0x114>,
 64			      <0x7e00a000 0x24>;
 65			reg-names = "pm", "asb";
 66			clocks = <&clocks BCM2835_CLOCK_V3D>,
 67				 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
 68				 <&clocks BCM2835_CLOCK_H264>,
 69				 <&clocks BCM2835_CLOCK_ISP>;
 70			clock-names = "v3d", "peri_image", "h264", "isp";
 71			system-power-controller;
 72		};
 73
 74		rng@7e104000 {
 75			compatible = "brcm,bcm2835-rng";
 76			reg = <0x7e104000 0x10>;
 77			interrupts = <2 29>;
 78		};
 79
 80		pixelvalve@7e206000 {
 81			compatible = "brcm,bcm2835-pixelvalve0";
 82			reg = <0x7e206000 0x100>;
 83			interrupts = <2 13>; /* pwa0 */
 84		};
 85
 86		pixelvalve@7e207000 {
 87			compatible = "brcm,bcm2835-pixelvalve1";
 88			reg = <0x7e207000 0x100>;
 89			interrupts = <2 14>; /* pwa1 */
 90		};
 91
 92		thermal: thermal@7e212000 {
 93			compatible = "brcm,bcm2835-thermal";
 94			reg = <0x7e212000 0x8>;
 95			clocks = <&clocks BCM2835_CLOCK_TSENS>;
 96			#thermal-sensor-cells = <0>;
 97			status = "disabled";
 98		};
 99
100		i2c2: i2c@7e805000 {
101			compatible = "brcm,bcm2835-i2c";
102			reg = <0x7e805000 0x1000>;
103			interrupts = <2 21>;
104			clocks = <&clocks BCM2835_CLOCK_VPU>;
105			#address-cells = <1>;
106			#size-cells = <0>;
107			status = "okay";
108		};
109
110		vec: vec@7e806000 {
111			compatible = "brcm,bcm2835-vec";
112			reg = <0x7e806000 0x1000>;
113			clocks = <&clocks BCM2835_CLOCK_VEC>;
114			interrupts = <2 27>;
115			status = "disabled";
116		};
117
118		pixelvalve@7e807000 {
119			compatible = "brcm,bcm2835-pixelvalve2";
120			reg = <0x7e807000 0x100>;
121			interrupts = <2 10>; /* pixelvalve */
122		};
123
124		hdmi: hdmi@7e902000 {
125			compatible = "brcm,bcm2835-hdmi";
126			reg = <0x7e902000 0x600>,
127			      <0x7e808000 0x100>;
128			interrupts = <2 8>, <2 9>;
129			ddc = <&i2c2>;
130			clocks = <&clocks BCM2835_PLLH_PIX>,
131				 <&clocks BCM2835_CLOCK_HSM>;
132			clock-names = "pixel", "hdmi";
133			dmas = <&dma 17>;
134			dma-names = "audio-rx";
135			status = "disabled";
136		};
137
138		v3d: v3d@7ec00000 {
139			compatible = "brcm,bcm2835-v3d";
140			reg = <0x7ec00000 0x1000>;
141			interrupts = <1 10>;
142		};
143
144		vc4: gpu {
145			compatible = "brcm,bcm2835-vc4";
146		};
147	};
148};
149
150&cpu_thermal {
151	thermal-sensors = <&thermal>;
152};
153
154&gpio {
155	i2c_slave_gpio18: i2c-slave-gpio18 {
156		brcm,pins = <18 19 20 21>;
157		brcm,function = <BCM2835_FSEL_ALT3>;
158	};
159
160	jtag_gpio4: jtag-gpio4 {
161		brcm,pins = <4 5 6 12 13>;
162		brcm,function = <BCM2835_FSEL_ALT5>;
163	};
164
165	pwm0_gpio12: pwm0-gpio12 {
166		brcm,pins = <12>;
167		brcm,function = <BCM2835_FSEL_ALT0>;
168	};
169	pwm0_gpio18: pwm0-gpio18 {
170		brcm,pins = <18>;
171		brcm,function = <BCM2835_FSEL_ALT5>;
172	};
173	pwm0_gpio40: pwm0-gpio40 {
174		brcm,pins = <40>;
175		brcm,function = <BCM2835_FSEL_ALT0>;
176	};
177	pwm1_gpio13: pwm1-gpio13 {
178		brcm,pins = <13>;
179		brcm,function = <BCM2835_FSEL_ALT0>;
180	};
181	pwm1_gpio19: pwm1-gpio19 {
182		brcm,pins = <19>;
183		brcm,function = <BCM2835_FSEL_ALT5>;
184	};
185	pwm1_gpio41: pwm1-gpio41 {
186		brcm,pins = <41>;
187		brcm,function = <BCM2835_FSEL_ALT0>;
188	};
189	pwm1_gpio45: pwm1-gpio45 {
190		brcm,pins = <45>;
191		brcm,function = <BCM2835_FSEL_ALT0>;
192	};
193};
194
195&i2s {
196	dmas = <&dma 2>, <&dma 3>;
197	dma-names = "tx", "rx";
198};
199
200&sdhost {
201	dmas = <&dma 13>;
202	dma-names = "rx-tx";
203};
204
205&spi {
206	dmas = <&dma 6>, <&dma 7>;
207	dma-names = "tx", "rx";
208};