Commit fed76035 authored by Martin Kepplinger's avatar Martin Kepplinger Committed by Shawn Guo
Browse files

arm64: dts: imx8mq-librem5: describe the selfie cam



Enable the CSI1 MIPI RX controller and CSI1 bridge on the SoC. Describe
the Librem 5 front-facing camera, connected to the CSI1 MIPI.

the following sets formats, streams 10 frames and saves one:

	#!/bin/bash
	WIDTH=1632
	HEIGHT=1224
	SKIP=10

	media-ctl -d "platform:30a90000.csi" --set-v4l2 "'csi':0 [fmt:SGBRG10/${WIDTH}x${HEIGHT} colorspace:raw]"
	media-ctl -d "platform:30a90000.csi" --set-v4l2 "'imx8mq-mipi-csi2 30a70000.csi':0 [fmt:SGBRG10/${WIDTH}x${HEIGHT} colorspace:raw]"
	media-ctl -d "platform:30a90000.csi" --set-v4l2 "'hi846 2-0020':0 [fmt:SGBRG10/${WIDTH}x${HEIGHT} colorspace:raw]"
	media-ctl -d "platform:30a90000.csi" -l "'hi846 2-0020':0 -> 'imx8mq-mipi-csi2 30a70000.csi':0 [1]"
	v4l2-ctl -d "/dev/v4l/by-path/platform-30a90000.csi-video-index0" --set-fmt-video=width=${WIDTH},height=${HEIGHT},pixelformat=GB16 --stream-mmap --stream-to=$WIDTH.raw --stream-skip=$SKIP --stream-count=1

Signed-off-by: default avatarMartin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 1019b783
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -272,6 +272,10 @@
	cpu-supply = <&buck2_reg>;
};

&csi1 {
	status = "okay";
};

&ddrc {
	operating-points-v2 = <&ddrc_opp_table>;

@@ -1007,6 +1011,31 @@
		>;
	};

	camera_front: camera@20 {
		compatible = "hynix,hi846";
		reg = <0x20>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_csi1>;
		clocks = <&clk IMX8MQ_CLK_CLKO2>;
		assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;
		assigned-clock-rates = <25000000>;
		reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
		vdda-supply = <&reg_vcam_2v8>;
		vddd-supply = <&reg_vcam_1v2>;
		vddio-supply = <&reg_csi_1v8>;
		rotation = <90>;
		orientation = <0>;

		port {
			camera1_ep: endpoint {
				data-lanes = <1 2>;
				link-frequencies = /bits/ 64
					<80000000 200000000 300000000>;
				remote-endpoint = <&mipi1_sensor_ep>;
			};
		};
	};

	backlight@36 {
		compatible = "ti,lm36922";
		reg = <0x36>;
@@ -1080,6 +1109,23 @@
	status = "okay";
};

&mipi_csi1 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	ports {
		port@1 {
			reg = <1>;

			mipi1_sensor_ep: endpoint {
				remote-endpoint = <&camera1_ep>;
				data-lanes = <1 2>;
			};
		};
	};
};

&mipi_dsi {
	#address-cells = <1>;
	#size-cells = <0>;