]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: imx8mp-tqma8mpql-mba8mp-ras314: Add Raspberry Pi Camera V2 overlay
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Fri, 9 May 2025 14:03:24 +0000 (22:03 +0800)
committerShawn Guo <shawnguo@kernel.org>
Fri, 9 May 2025 14:03:24 +0000 (22:03 +0800)
This overlay configures IMX219 MIPI-CSI-2 camera attached to ISP1.
Also add additional overlay both using LVDS display and camera.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtso [new file with mode: 0644]

index 5509826dcaece01b48143a7153d2a1440648de71..deaa042540862b8f2a8a5e342d86b7b209c3a468 100644 (file)
@@ -261,10 +261,14 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk-pcie-ep.dtb
 
 imx8mp-tqma8mpql-mba8mpxl-lvds-dtbs += imx8mp-tqma8mpql-mba8mpxl.dtb imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo
 imx8mp-tqma8mpql-mba8mpxl-lvds-g133han01-dtbs += imx8mp-tqma8mpql-mba8mpxl.dtb imx8mp-tqma8mpql-mba8mpxl-lvds-g133han01.dtbo
+imx8mp-tqma8mpql-mba8mp-ras314-imx219-dtbs += imx8mp-tqma8mpql-mba8mp-ras314.dtb imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtbo
 imx8mp-tqma8mpql-mba8mp-ras314-lvds-dtbs += imx8mp-tqma8mpql-mba8mp-ras314.dtb imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo
+imx8mp-tqma8mpql-mba8mp-ras314-lvds-imx219-dtbs += imx8mp-tqma8mpql-mba8mp-ras314.dtb imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds-g133han01.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-lvds.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-lvds-imx219.dtb
 
 dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
 imx8mq-evk-pcie1-ep-dtbs += imx8mq-evk.dtb imx-pcie1-ep.dtbo
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtso b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtso
new file mode 100644 (file)
index 0000000..e5a2b37
--- /dev/null
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2022-2025 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/media/video-interfaces.h>
+
+#include "imx8mp-pinfunc.h"
+
+&{/} {
+       /*
+        * The three camera regulators are controlled by a single GPIO. Declare
+        * a single regulator for the three supplies.
+        */
+       reg_cam: regulator-cam {
+               compatible = "regulator-fixed";
+               regulator-name = "reg_cam";
+               /* pad muxing already done in gpio2grp */
+               gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&reg_vcc_3v3>;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       cam24m: clock-cam24m {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <24000000>;
+               clock-output-names = "cam24m";
+       };
+};
+
+&i2c2 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       camera@10 {
+               compatible = "sony,imx219";
+               reg = <0x10>;
+               clocks = <&cam24m>;
+               VANA-supply = <&reg_cam>;
+               VDIG-supply = <&reg_cam>;
+               VDDL-supply = <&reg_cam>;
+               orientation = <2>;
+               rotation = <0>;
+
+               port {
+                       sony_imx219: endpoint {
+                               remote-endpoint = <&imx8mp_mipi_csi_in>;
+                               clock-lanes = <0>;
+                               clock-noncontinuous;
+                               data-lanes = <1 2>;
+                               link-frequencies = /bits/ 64 <456000000>;
+                       };
+               };
+       };
+};
+
+&isi_0 {
+       status = "disabled";
+
+       ports {
+               port@0 {
+                       /delete-node/ endpoint;
+               };
+       };
+};
+
+&isp_0 {
+       status = "okay";
+
+       ports {
+               port@1 {
+                       isp0_in: endpoint {
+                               bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
+                               remote-endpoint = <&mipi_csi_0_out>;
+                       };
+               };
+       };
+};
+
+&mipi_csi_0 {
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       imx8mp_mipi_csi_in: endpoint {
+                               remote-endpoint = <&sony_imx219>;
+                               clock-lanes = <0>;
+                               data-lanes = <1 2>;
+                       };
+               };
+       };
+};
+
+&mipi_csi_0_out {
+       remote-endpoint = <&isp0_in>;
+};