From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> The Unicam IP cores are CSI-2/CCP2 receivers. They are part of VC4, but can be controlled directly from the operating system without going through the VPU firmware. Exposes them as DT nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Jacopo Mondi <jacopo@xxxxxxxxxx> --- arch/arm/boot/dts/bcm2711.dtsi | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index 4847dd305317a..68ac76e7c772d 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -2,6 +2,7 @@ #include "bcm283x.dtsi" #include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/power/raspberrypi-power.h> #include <dt-bindings/soc/bcm2835-pm.h> / { @@ -293,6 +294,46 @@ hvs: hvs@7e400000 { interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; }; + csi0: csi@7e800000 { + compatible = "brcm,bcm2835-unicam"; + reg = <0x7e800000 0x800>, + <0x7e802000 0x4>; + interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clocks BCM2835_CLOCK_CAM0>, + <&firmware_clocks 4>; + clock-names = "lp", "vpu"; + power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>; + brcm,num-data-lanes = <2>; + #clock-cells = <1>; + status = "disabled"; + + port { + endpoint { + data-lanes = <1 2>; + }; + }; + }; + + csi1: csi@7e801000 { + compatible = "brcm,bcm2835-unicam"; + reg = <0x7e801000 0x800>, + <0x7e802004 0x4>; + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clocks BCM2835_CLOCK_CAM1>, + <&firmware_clocks 4>; + clock-names = "lp", "vpu"; + power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>; + brcm,num-data-lanes = <4>; + #clock-cells = <1>; + status = "disabled"; + + port { + endpoint { + data-lanes = <1 2 3 4>; + }; + }; + }; + pixelvalve3: pixelvalve@7ec12000 { compatible = "brcm,bcm2711-pixelvalve3"; reg = <0x7ec12000 0x100>; -- 2.29.1