| // SPDX-License-Identifier: GPL-2.0 |
| |
| /* This include file covers the common peripherals and configuration between |
| * bcm2835, bcm2836 and bcm2837 implementations. |
| */ |
| |
| / { |
| interrupt-parent = <&intc>; |
| |
| soc { |
| dma: dma@7e007000 { |
| compatible = "brcm,bcm2835-dma"; |
| reg = <0x7e007000 0xf00>; |
| interrupts = <1 16>, |
| <1 17>, |
| <1 18>, |
| <1 19>, |
| <1 20>, |
| <1 21>, |
| <1 22>, |
| <1 23>, |
| <1 24>, |
| <1 25>, |
| <1 26>, |
| /* dma channel 11-14 share one irq */ |
| <1 27>, |
| <1 27>, |
| <1 27>, |
| <1 27>, |
| /* unused shared irq for all channels */ |
| <1 28>; |
| interrupt-names = "dma0", |
| "dma1", |
| "dma2", |
| "dma3", |
| "dma4", |
| "dma5", |
| "dma6", |
| "dma7", |
| "dma8", |
| "dma9", |
| "dma10", |
| "dma11", |
| "dma12", |
| "dma13", |
| "dma14", |
| "dma-shared-all"; |
| #dma-cells = <1>; |
| brcm,dma-channel-mask = <0x7f35>; |
| }; |
| |
| intc: interrupt-controller@7e00b200 { |
| compatible = "brcm,bcm2835-armctrl-ic"; |
| reg = <0x7e00b200 0x200>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| |
| pm: watchdog@7e100000 { |
| compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; |
| #power-domain-cells = <1>; |
| #reset-cells = <1>; |
| reg = <0x7e100000 0x114>, |
| <0x7e00a000 0x24>; |
| 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; |
| }; |
| |
| pixelvalve@7e206000 { |
| compatible = "brcm,bcm2835-pixelvalve0"; |
| reg = <0x7e206000 0x100>; |
| interrupts = <2 13>; /* pwa0 */ |
| }; |
| |
| pixelvalve@7e207000 { |
| compatible = "brcm,bcm2835-pixelvalve1"; |
| reg = <0x7e207000 0x100>; |
| interrupts = <2 14>; /* pwa1 */ |
| }; |
| |
| thermal: thermal@7e212000 { |
| compatible = "brcm,bcm2835-thermal"; |
| reg = <0x7e212000 0x8>; |
| clocks = <&clocks BCM2835_CLOCK_TSENS>; |
| #thermal-sensor-cells = <0>; |
| status = "disabled"; |
| }; |
| |
| i2c2: i2c@7e805000 { |
| compatible = "brcm,bcm2835-i2c"; |
| reg = <0x7e805000 0x1000>; |
| interrupts = <2 21>; |
| clocks = <&clocks BCM2835_CLOCK_VPU>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| }; |
| |
| pixelvalve@7e807000 { |
| compatible = "brcm,bcm2835-pixelvalve2"; |
| reg = <0x7e807000 0x100>; |
| interrupts = <2 10>; /* pixelvalve */ |
| }; |
| |
| hdmi: hdmi@7e902000 { |
| compatible = "brcm,bcm2835-hdmi"; |
| reg = <0x7e902000 0x600>, |
| <0x7e808000 0x100>; |
| interrupts = <2 8>, <2 9>; |
| ddc = <&i2c2>; |
| clocks = <&clocks BCM2835_PLLH_PIX>, |
| <&clocks BCM2835_CLOCK_HSM>; |
| clock-names = "pixel", "hdmi"; |
| dmas = <&dma 17>; |
| dma-names = "audio-rx"; |
| status = "disabled"; |
| }; |
| |
| v3d: v3d@7ec00000 { |
| compatible = "brcm,bcm2835-v3d"; |
| reg = <0x7ec00000 0x1000>; |
| interrupts = <1 10>; |
| power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; |
| }; |
| |
| vc4: gpu { |
| compatible = "brcm,bcm2835-vc4"; |
| }; |
| }; |
| }; |
| |
| &cpu_thermal { |
| thermal-sensors = <&thermal>; |
| }; |
| |
| &gpio { |
| i2c_slave_gpio18: i2c_slave_gpio18 { |
| brcm,pins = <18 19 20 21>; |
| brcm,function = <BCM2835_FSEL_ALT3>; |
| }; |
| |
| jtag_gpio4: jtag_gpio4 { |
| brcm,pins = <4 5 6 12 13>; |
| brcm,function = <BCM2835_FSEL_ALT5>; |
| }; |
| |
| pwm0_gpio12: pwm0_gpio12 { |
| brcm,pins = <12>; |
| brcm,function = <BCM2835_FSEL_ALT0>; |
| }; |
| pwm0_gpio18: pwm0_gpio18 { |
| brcm,pins = <18>; |
| brcm,function = <BCM2835_FSEL_ALT5>; |
| }; |
| pwm0_gpio40: pwm0_gpio40 { |
| brcm,pins = <40>; |
| brcm,function = <BCM2835_FSEL_ALT0>; |
| }; |
| pwm1_gpio13: pwm1_gpio13 { |
| brcm,pins = <13>; |
| brcm,function = <BCM2835_FSEL_ALT0>; |
| }; |
| pwm1_gpio19: pwm1_gpio19 { |
| brcm,pins = <19>; |
| brcm,function = <BCM2835_FSEL_ALT5>; |
| }; |
| pwm1_gpio41: pwm1_gpio41 { |
| brcm,pins = <41>; |
| brcm,function = <BCM2835_FSEL_ALT0>; |
| }; |
| pwm1_gpio45: pwm1_gpio45 { |
| brcm,pins = <45>; |
| brcm,function = <BCM2835_FSEL_ALT0>; |
| }; |
| }; |
| |
| &i2s { |
| dmas = <&dma 2>, <&dma 3>; |
| dma-names = "tx", "rx"; |
| }; |
| |
| &sdhost { |
| dmas = <&dma 13>; |
| dma-names = "rx-tx"; |
| }; |
| |
| &spi { |
| dmas = <&dma 6>, <&dma 7>; |
| dma-names = "tx", "rx"; |
| }; |