From nobody Fri Sep 25 16:04:37 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEFC44A689D for ; Thu, 10 Sep 2026 15:38:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054689; cv=none; b=UM0w1GnkTQmxD77o+CklXeY+AsU6KkE82GFjuhiAuoClMn8FUr8AF5FsX6fQDWbNnghh+c5YRUK+pu1SR4mBP2O+uZ8vLKdfUpzJSAt0XGYqXQXykMrIe4dkp/SIvpLvtcaHcyG4p5Aty4RDheE5cySg9v7RrQjU/GK4jq7DAZQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054689; c=relaxed/simple; bh=TrTvDfFn/k4uiEHyffaC4IKdjtst9K0k0gvyN6WQHvg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JRtsgwW7kIU0vmYZgz9gygClYGhlzCUNGmLJ6c2bnT61SDg06i1YpQK2TGUDXlU5tVfcj9OTIk2cqFQn79MkUPImtM2ZL1RSh5Sn8CpRDWoT/rbUxgIVG2Tjyqrw2Up9d6Mc4XB/qFE6Ia5dQQc19PP9xmrUowePBoKPEkKezZI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eNjk8dot; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eNjk8dot" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-499ac87c92bso76394245e9.1 for ; Thu, 10 Sep 2026 08:38:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789054685; x=1789659485; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=oHoaVug1Lx4d7NCtEru06mZWP8AQ/VN7bfbLwwo+zA8=; b=eNjk8dotC2zNygLiLkoqaC1/F21YVPqPHJHri4Clxe00kg3KOtuzT5ngZnS10DXAYM x0J+tvQvA/B0m/K80cd4wX5sokAj+A9BgRy9pJ5W8dKqrG2aerK+0Yuxex9bkPUJcE7Y nmHzlh21oRPpyhHgi/uLKXiWNyZ8W+rpKyyODb8WjJRtuZoawwahyoy41fVWv8FIzgWr GTnDscyMF6pR4gue/gTcZwP9cHmbwUAVW1hhY9NCwhvQBG13aGP3JVTD67g2ppCCEL9S Nzp8Z1/2M1lA7DCxWIkH5O2owpZinPBl41uYSClGq0/08o7GgMdHQq/MZfBvBfsWWb8e NVng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789054685; x=1789659485; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oHoaVug1Lx4d7NCtEru06mZWP8AQ/VN7bfbLwwo+zA8=; b=IE62lchnkFf+Na7HssV0FRUSSfr1tnfCCfifE3CoLzrmS8VnNwSIAFHBIaATW8MqlY jZkOWdFSYZrqj2UirmoGuC3/ys9l8sLpNWHD6EMYM4TzNOYAdTb6USCRWE5B61RGOWhY oC8nlsNqp/Pfd5zHj2Ee4fykn+mrohb5wYjhZxguO6E2wHwDTKmYYH1DLS8QoxD+4HjB psmZEBHBcbcqvd0qu325BzcasevVp5Dsb3lta2an+xGaMRnxjhQeTQc1oqD50UpLm9zG srLyDRE4/tLuGb+bG1d5MLRpYvNu4A25t4zOZVeFv8WZEPxHqebXQdn+umIICvYSyevo ZSDQ== X-Forwarded-Encrypted: i=1; AKwUvBx71QayvseYwfPPMVl/TJZTZj8EwvxM0/yAj6WBn6F4wbzOje61gEGvG8Lzw3LQ25Pr4lH2+A/3INcBiJk=@vger.kernel.org X-Gm-Message-State: AFuF++k2iI0I6HHtOlFpo4NPkcJLsAnLo/lA8TwJwjiUqBl8w5xo/iUU QuEsnKCo2VD52XoFrTmht1Hcu5kO3i+wgszj44Dwlv5JzVfgnceHJK8G X-Gm-Gg: AYBFou0KlnTioX6BVozQA4BYBiezK83/PkLpnkKuyIo+xRD3w7P0u5TvP1b7z1xcMaW 7Ezp/1We19acsI+ia6mTPlIUaoFhudhvAIPAk4lEcGKIg4GHwh+FQDVlkSqnoypR52ittfn89Va K/Xy1Wc9UIU0k+pnJnxBYQf7nblFhbUC4hVYMxjj8JJUJEiXA339WDWRbZZcZZbOTPHBYtiC101 bazMcnwzM3+rq0GTX1ki3Kz93b7G6/Ejep1FhKotylQBac7COHO+hUhYgTKz+mU9CSL4lnVgRYI 4CC9fEty2PA/OYRo7u0Sx/VcjZEdJ62ecBOap1ICuSq0FJ9GDPvQ4KhCSzess6uwqpduFVDYAGv 8f/trCyS9n7WIZ9GnTwYrzcj3tcAvt1xZuu05NkxeIs3Inz9Svy4T3TUmSUms3LojJgLXBwstp1 yTUwRwiPALIpVolv+IoZ5J4uDj/Ux7iDZmnak8dxOmhyERRdXsNEera+FBj7Af5syF8xvhGFkwV VIaKLirFNdEQp3RezCXdpDER3e+5BTjEGOXswzjqosvtdvk2X5mpgWgS+Ic/B/VhSptEgKxDA== X-Received: by 2002:a05:600c:c4a7:b0:49c:df2b:15fc with SMTP id 5b1f17b1804b1-49cf823d0dcmr440541835e9.8.1789054684861; Thu, 10 Sep 2026 08:38:04 -0700 (PDT) Received: from ernest.hoecke-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e60adaee4sm3390545e9.14.2026.09.10.08.38.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 08:38:04 -0700 (PDT) From: Ernest Van Hoecke Date: Thu, 10 Sep 2026 17:37:57 +0200 Subject: [PATCH 1/6] arm64: dts: freescale: imx8mp-verdin: Add Cortex-M7 remoteproc Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260910-verdin-imx8mp-hmp-camera-ready-v1-1-3c9349ecdb9f@toradex.com> References: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> In-Reply-To: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Kieran Bingham , Francesco Dolcini , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ernest Van Hoecke X-Mailer: b4 0.13.0 From: Ernest Van Hoecke Describe the Cortex-M7 remote processor available on the Verdin iMX8M Plus SoM. Signed-off-by: Ernest Van Hoecke --- arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi | 33 ++++++++++++++++++++= ++++ 1 file changed, 33 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi b/arch/arm64/= boot/dts/freescale/imx8mp-verdin.dtsi index 9fee2cf9ef54..45a4713c260f 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi @@ -77,6 +77,18 @@ key-wakeup { }; }; =20 + imx8mp-cm7 { + compatible =3D "fsl,imx8mp-cm7"; + clocks =3D <&clk IMX8MP_CLK_M7_DIV>; + mbox-names =3D "tx", "rx", "rxdb"; + mboxes =3D <&mu 0 1 + &mu 1 1 + &mu 3 1>; + memory-region =3D <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, + <&rsc_table>; + syscon =3D <&src>; + }; + sound_hdmi: sound-hdmi { compatible =3D "fsl,imx-audio-hdmi"; model =3D "audio-hdmi"; @@ -185,6 +197,27 @@ reserved-memory { =20 /* Use the kernel configuration settings instead */ /delete-node/ linux,cma; + + vdev0vring0: vdev0vring0@55000000 { + reg =3D <0 0x55000000 0 0x8000>; + no-map; + }; + + vdev0vring1: vdev0vring1@55008000 { + reg =3D <0 0x55008000 0 0x8000>; + no-map; + }; + + rsc_table: rsc-table@550ff000 { + reg =3D <0 0x550ff000 0 0x1000>; + no-map; + }; + + vdev0buffer: vdev0buffer@55400000 { + compatible =3D "shared-dma-pool"; + reg =3D <0 0x55400000 0 0x100000>; + no-map; + }; }; }; =20 --=20 2.43.0 From nobody Fri Sep 25 16:04:37 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FEEC4AB1A6 for ; Thu, 10 Sep 2026 15:38:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054690; cv=none; b=GlJl9LqyxBg/2HfFU/oYSJAwloDkGBMTxhdxMwR5e8xnHPNGfnTRcBnlbXW3FgZqIrbgte06+jO9kOHS9J0JoaO4xs7d7GiR5DeAvAfCoUvshXl+9zFWf+gopOFmdd1yynXXuW4JLRTKdNo8otkz3lc+Jt4nzlUYXfd0BcSy7uk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054690; c=relaxed/simple; bh=gzh2q+u58cFhgRp7gV46O/Wa8UfTHXxr/Xs3h1IWYJE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LHi6Cez9I6VtNnRX+CyFbmhTO5zyMZEri61/oK1hkZQDJQRvtD5z1MB7nl6rtsRZHzde1Gj5X/HIaLKaHEsVuVwoohWsIYAmey2VKneqUdrLp0mZr0AUk8w4RQYKVE2BDem9Eqc/9+oieo/+rR+QOl0/4chV0B4bmN0IQhu4p68= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GpaWFmLR; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GpaWFmLR" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-486955ae01eso1587971f8f.0 for ; Thu, 10 Sep 2026 08:38:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789054686; x=1789659486; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NaPp8HoKKF6sxkd9LUTX+PGTrCWY5tm9shIAUpEtxY0=; b=GpaWFmLRfml43eTWIA+4qwYRB6iI0H2D37ckVk485xPhCWHSyuegORMgn38reDkbNm Gcgo2UVcboyKR/LS1f18PhaU+rkT/hKW5lut+1HnDbH0vCOzyWO05w3440qSx4XMFQ9x ga8p0jYtTm4bgo6zh0anc1/KITsh1CNLQZ6t/GRDsAaZ0X9Nm67CuFTfUwdIV7tstfpv hAM8dTIYluJuyjxiJqZXOwrMiHN4QRl0Sj6FuObR0Bg/WekbSlI8OK1bXqoLaQoZrnj9 Ii7g36dp3gn1EKkulKwn0KEcsjPnIB1SudvWQ3itG9eGBRPxnugrsbFOYHDH787o/LnV RcTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789054686; x=1789659486; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=NaPp8HoKKF6sxkd9LUTX+PGTrCWY5tm9shIAUpEtxY0=; b=mv97eytsIakR4weLLOxSNCegyXEmmVE7HC/cG7dUWwm/IsA/5nTdbRexh/tW9MBVhH zyk/1nIbHhyl3Ng1Irq0VWqUts6RowcJ7ikg4b1KJVAbZKbQfXvY5VfLzIrGUuJhNiGK WxwTnqNqXp1f5g5b49yvVguxgQ8OP2hExy5BovcYBIxParAmNof7SYGiTniolSDa69Z9 SptNAHB58E14yJcB+R/tbJAcBe57wHP29QT1VArM06ZAH2/ki+RzR2dmKivRO2Smo4Zk w5MYCSUQ+yChLVCOn2BmmP9oSYMNG5sAz4SzryvMTJZmul/2Pha6XuKy+8OMLq93Zpwo 07Wg== X-Forwarded-Encrypted: i=1; AKwUvByERcX/6lXRuUfP6WD88k4AfPLgzvgEmcsXg7PDuxduELOGlzccmd3ZNNESCNV820c49+iPN1dU9qpF3BU=@vger.kernel.org X-Gm-Message-State: AFuF++kyFkNQowPFFVIu5H8LN0Z+SBkl8a/AIhlYPewi4/zJoooePWeD dsxxJd0EXIZ4+a+br1gNqcv0/hinZmRO6MFSsXLm3IxnaMhhf7GPeh8E X-Gm-Gg: AYBFou2c3aaRJYJZergETgeNtla6vexYeU477Nlb3wJYEQhMzamIVqrgnonH3HB6zSN uXe6bYVMzrREjne/McRjGXJhTBJITNzxUe5lAHFd9PLVWFflN/8wbTJAe4DJ5is8iXJ16xfcDq8 xSAy4NfI0OK4F/me88nB6QbNNuE9mrkwwTwOs542P8qX7hK1tSQhSQT+zqztpFWMgJf9xXnCyZ0 hRrS17BVdtFFlbJIPQiUwah3Zor5dfKiHzAhF0cW1X6DmB+5fTz+0aviLIWaH+NuNEGyqH8VCUO NtVeXYuatCJtv4vhvwKKI9Wavhr6CQk335tvetbVOxJkqINe4JYyipDfmDOExylGViCrrDw7OU9 ZRyiVsxgGE9KMx5MYvJ0RsTiWrlF93ZS/bf76vYqTe9U+Y/xx32SPttKV/cOJnli43+KW8yExHy IwbKgqLQkMAOvbE9WxoKQv44HXH7IhsYygKcFqMPivhoji1xC0fJ+gwEMY8JUZy5d1m0iq06Z1r BKkKAaVpHLgKpW2I7NSemt6qAoZooDj215t5wwU4/f5OVMzBeSDGdt6y5niUIUx/B3IUX9x8tMM jhe0dFCB X-Received: by 2002:a05:600c:a49:b0:49c:fc6c:be0c with SMTP id 5b1f17b1804b1-49cffdc3823mr348668065e9.18.1789054686376; Thu, 10 Sep 2026 08:38:06 -0700 (PDT) Received: from ernest.hoecke-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e60adaee4sm3390545e9.14.2026.09.10.08.38.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 08:38:05 -0700 (PDT) From: Ernest Van Hoecke Date: Thu, 10 Sep 2026 17:37:58 +0200 Subject: [PATCH 2/6] arm64: dts: freescale: imx8mp-verdin: Add Cortex-M7 UART_4 overlay Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260910-verdin-imx8mp-hmp-camera-ready-v1-2-3c9349ecdb9f@toradex.com> References: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> In-Reply-To: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Kieran Bingham , Francesco Dolcini , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ernest Van Hoecke X-Mailer: b4 0.13.0 From: Ernest Van Hoecke Verdin UART_4 can be assigned to Cortex-M7 firmware. Add an overlay that marks the UART as reserved so Linux does not claim the port. The overlay is also combined with the Verdin iMX8M Plus Development Board device tree to provide a ready-to-use DTB for the non-WiFi SoM variant. UART_4 carries Bluetooth on WiFi SoMs. Signed-off-by: Ernest Van Hoecke --- arch/arm64/boot/dts/freescale/Makefile | 3 +++ arch/arm64/boot/dts/freescale/imx8mp-verdin-uart4-mcu.dtso | 14 ++++++++++= ++++ 2 files changed, 17 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index ca4fec7c1038..8b152903b4b1 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -734,6 +734,7 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dahli= a-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dahlia-panel-cap-touch-1= 0inch-dsi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dahlia.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dev-dsi-to-hdmi.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dev-uart4-mcu.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dev.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-ivy.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-mallow.dtb @@ -742,6 +743,7 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-yavia= .dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-zinnia.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-panel-cap-touch-10inch-dsi.dtbo dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-panel-cap-touch-7inch-dsi.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-uart4-mcu.dtbo dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia-panel-cap-touch-10in= ch-dsi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia.dtb @@ -759,6 +761,7 @@ imx8mp-verdin-nonwifi-dahlia-dsi-to-hdmi-dtbs :=3D imx8= mp-verdin-nonwifi-dahlia.dt imx8mp-verdin-nonwifi-dahlia-panel-cap-touch-10inch-dsi-dtbs :=3D imx8mp-v= erdin-nonwifi-dahlia.dtb \ imx8mp-verdin-panel-cap-touch-10inch-dsi.dtbo imx8mp-verdin-nonwifi-dev-dsi-to-hdmi-dtbs :=3D imx8mp-verdin-nonwifi-dev.= dtb imx8mp-verdin-dsi-to-hdmi.dtbo +imx8mp-verdin-nonwifi-dev-uart4-mcu-dtbs :=3D imx8mp-verdin-nonwifi-dev.dt= b imx8mp-verdin-uart4-mcu.dtbo imx8mp-verdin-nonwifi-yavia-dsi-to-hdmi-dtbs :=3D imx8mp-verdin-nonwifi-ya= via.dtb imx8mp-verdin-dsi-to-hdmi.dtbo imx8mp-verdin-wifi-dahlia-dsi-to-hdmi-dtbs :=3D imx8mp-verdin-wifi-dahlia.= dtb imx8mp-verdin-dsi-to-hdmi.dtbo imx8mp-verdin-wifi-dahlia-panel-cap-touch-10inch-dsi-dtbs :=3D imx8mp-verd= in-wifi-dahlia.dtb \ diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-uart4-mcu.dtso b/a= rch/arm64/boot/dts/freescale/imx8mp-verdin-uart4-mcu.dtso new file mode 100644 index 000000000000..74d90b39faec --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-uart4-mcu.dtso @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Verdin iMX8M Plus UART_4 for Cortex-M7 + */ + +/dts-v1/; +/plugin/; + +/* Verdin UART_4 */ +&uart4 { + status =3D "reserved"; +}; --=20 2.43.0 From nobody Fri Sep 25 16:04:37 2026 Received: from mail-wm2-f12.google.com (mail-wm2-f12.google.com [74.125.225.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 128E24AB1BD for ; Thu, 10 Sep 2026 15:38:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054694; cv=none; b=VQJNx90hWUjjxBJz23NqQ8Ju+dZ4huEF5/gzZY4h6IbuzqXJlVsa+0GYmYRXlKjXHjwD/DkaTnXD8T8gGsP5zpf8QqA9fBXukXD6S5JhvR7RsF9Eq8kr4/k6hK+/CzBtgVcCipKODRHQyXvV+gy+Q8ToPsom7lNzsatSw1sHhFI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054694; c=relaxed/simple; bh=n+VvfaxRRJUSeWj0E6gWMuoSXmp4pUY5fpFqR2Pl2rg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HQDR8AilFhEFAl2+liBroM98gXu3KJefCKWFWBm8iOOB7QzZY6jAcXUasZHoBszvypjlTLLSaONIBFAqB+GIVi62NIZLOOpRb0u4AC4ne+RY+YJGaRgIjFo3HDtDDdai4XS2XwyYv7bcshhLbnjUsTmsRiS/jVqmaY7i43Xg7PI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MR1hLZCA; arc=none smtp.client-ip=74.125.225.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MR1hLZCA" Received: by mail-wm2-f12.google.com with SMTP id 5b1f17b1804b1-49d097b4939so8306375e9.0 for ; Thu, 10 Sep 2026 08:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789054688; x=1789659488; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Sq6kdCRd09J8/wwZWCzwogvcDt1j5IWHfbvfSux7KiE=; b=MR1hLZCAIuX3DAxAiOMorWlIf6qywMkQ0fTMQXmCcagftSbH6bx2Nu2KrSnrC51/tG J1gLZddu3SFfBKLZrl97cfxMLw7/VJtPxaJYq15U276E9sip5yAMFDuxqdP2FEk/l4WC Gy1IGUTNwN00X5zr1KrFu2r/+G0eSaTNdUsXKzmKKu0iIdSLATTMfYmIdSjl/EBewNPD oE2tfp5jDeWFzBif/DEindD7nsSfLsa83OyoOV34uUJ18rutqOu/q90psMHgkdqC+v4Z dDYLInwlhid0Ggaz54kWaUlbigonIEJ7VzrdgjtPpp3LjLgV2AZdCBg7aM0Z/GK2XVdL cmbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789054688; x=1789659488; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Sq6kdCRd09J8/wwZWCzwogvcDt1j5IWHfbvfSux7KiE=; b=rjdVxfPyQqo8lfxdedC6bxhIyg3n1iVNnOv7NE6Nnad0QBojFcyWt7/hYME6ObNR56 jl5ZWaqHtz8+A6p5TvdI+7bzxWv+xs34saSydcD6Yvx3+LiWK0Y7/wNniNse0nym/8E3 QFQ32+YetQ6XaOYnIqMyS293ri5eZrLnLL61Bcdzx/bmQlC+O4Z1h0xEWUpX7+Vbxrq3 9k1VzeJKzDDJHDSUoEZVdlbjrXc8mMAIPw9RuDpq2DAxe1oiAEjF3rEiweLbuvGxOEpE YLmQWTydoc7y8qtfBN/sewCVqWrVERM2XlOVydwHjy/C5AGKpkLy3dqmdaWrRo1z8Kn4 qd8w== X-Forwarded-Encrypted: i=1; AKwUvBy7xw/JoE1lmueU1cKMibqnMfVaTP1ll75QtwzXkJwVT1MGcaTYFk9byiBemlTMIfHFq/zqdQ0o0tWI9xU=@vger.kernel.org X-Gm-Message-State: AFuF++mhaPy1U5d+4gFiPRPxH+SizzLg5imbrs0TrxyEqjpEYC4PVcHr v9v9SW+qrKiSG/G84wbbo8SVMc6FcddcIvmGyN+sZw5M3NG8EE7FBv/P X-Gm-Gg: AYBFou00ytN9gO5pXQFBc8BrO8D0am031rKgEbGRUW/dmgr2QaFl8d0HH6lXlLM6mk3 0qwIBJyGSpjtTTjRD5uruvPXkDPO332ixSFbIvBk6wY/z8XlFpwyXc4QpEYTvZiDX0hMJhyfJK0 URDPNnSkJ1G6w3oulvqxJzfdP/hKhZTCsIsft1CM6vTWcpQ7v2ZFOZ9ILmTa6lmcIh9anO6NTaV O0zeU9t5VlmcyOu6NxAtldTarK4fT6ZmNG9Nxhc3BQHiUc/WFOf4LAxwgdsun+D53Z5K2sqoc3K VZFIleWIlTzt7W8Q1FQDP5iWj9VGdLVDZwAzN4M8H/ZvLaQqd7UlQVtKGoEBb0fxilmllwCeJWl x2KehQjvt5dRCU9GabFUnVvb/oOJw11/X56hv5b5hk2z8ylN+73yWadObqe6iYlmxF0VeZRUdTO nXfm9Aur6xC6MXvVGczp6gnG2iakkXMQLWoMq8UF7C4xlBepITQ56Iv7Gj+WcNeko2a0bDMOLCZ X9D5r57RGy1xuS1o5ksYUJON6Y6PDIHd7cy0GtXugXnrCjqtUidVP2Xp9s870aT5hox+u2VMA== X-Received: by 2002:a05:600c:8b43:b0:49d:1f32:c911 with SMTP id 5b1f17b1804b1-49d258cda6bmr82799305e9.3.1789054688174; Thu, 10 Sep 2026 08:38:08 -0700 (PDT) Received: from ernest.hoecke-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e60adaee4sm3390545e9.14.2026.09.10.08.38.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 08:38:07 -0700 (PDT) From: Ernest Van Hoecke Date: Thu, 10 Sep 2026 17:37:59 +0200 Subject: [PATCH 3/6] dt-bindings: connector: Add Toradex camera connector Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260910-verdin-imx8mp-hmp-camera-ready-v1-3-3c9349ecdb9f@toradex.com> References: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> In-Reply-To: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Kieran Bingham , Francesco Dolcini , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ernest Van Hoecke X-Mailer: b4 0.13.0 From: Ernest Van Hoecke Toradex boards route the sideband signals of their 24-pin camera connectors to different GPIO controllers. Camera overlays which name those controllers directly must therefore be duplicated for each host board. Describe reset, power-down, detection and power-control as connector-local GPIO functions. This lets an accessory overlay remain independent of the host wiring. MIPI CSI-2, I2C, clocks and supplies remain described separately because the GPIO nexus does not abstract them. Signed-off-by: Ernest Van Hoecke --- .../connector/toradex,camera-connector.yaml | 86 ++++++++++++++++++= ++++ 1 file changed, 86 insertions(+) diff --git a/Documentation/devicetree/bindings/connector/toradex,camera-con= nector.yaml b/Documentation/devicetree/bindings/connector/toradex,camera-co= nnector.yaml new file mode 100644 index 000000000000..06e6836e1aa6 --- /dev/null +++ b/Documentation/devicetree/bindings/connector/toradex,camera-connector.= yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/connector/toradex,camera-connector.yaml# +$schema: http://devicetree.org/meta-schemas/base.yaml# + +title: Toradex camera connector GPIO nexus + +maintainers: + - Ernest Van Hoecke + - Toradex Linux BSP Team + +description: | + Toradex boards provide 24-pin camera connectors carrying MIPI CSI-2, I2C, + clock, power, and sideband GPIO signals. This binding describes the side= band + signals as a GPIO nexus. The other connector resources remain described = by + the surrounding board device tree. + + The nexus exposes connector-local GPIO function numbers to camera overla= ys + and maps the functions wired by a carrier board to their GPIO controller= s. + GPIO specifiers contain a function number followed by standard GPIO flag= s. + A board may omit functions which it does not wire. + + The function numbers are: + - 0: Camera reset, connector pin 11 + - 1: Camera power-down, connector pin 22 + - 2: Camera identification, connector pin 23 + - 3: Camera power control, connector pin 24 + +properties: + compatible: + const: toradex,camera-connector + + "#gpio-cells": + const: 2 + + gpio-map: + minItems: 1 + maxItems: 4 + + gpio-map-mask: + items: + - const: 0xffffffff + - const: 0 + + gpio-map-pass-thru: + items: + - const: 0 + - const: 0xffffffff + +required: + - compatible + - "#gpio-cells" + - gpio-map + - gpio-map-mask + - gpio-map-pass-thru + +additionalProperties: false + +examples: + - | + #include + + camera-connector { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * 0: Camera reset, connector pin 11 + * 1: Camera power-down, connector pin 22 + * 2: Camera identification, connector pin 23 + * 3: Camera power control, connector pin 24 + */ + gpio-map =3D <0 0 &gpio1 0 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 1 GPIO_ACTIVE_HIGH>, + <2 0 &gpio1 2 GPIO_ACTIVE_HIGH>, + <3 0 &gpio1 3 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + + gpio1: gpio-controller { + #gpio-cells =3D <2>; + gpio-controller; + }; + +... --=20 2.43.0 From nobody Fri Sep 25 16:04:37 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9E404AE138 for ; Thu, 10 Sep 2026 15:38:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054696; cv=none; b=fdQdd2eLxDKk1iUAmarvVIv+3MlwdBPTnfWNOc5iNQMjRBr8M69de+noTyeyAqJgCJEZCjD9rde2yWjPJhDXtofyON2/0jPSs9NTglhdgsIaH17LB1T3nQ4NL9VaxcHvNrfhqYU4lDBQcWCX0gmdxB2c6mPsndr5XQ3XfqVG238= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054696; c=relaxed/simple; bh=XR+ZLq+yZuWg0LwgG5a3OLn0lNhcJAYoSoOClYOLK5Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=R2dnMRsxM2SfdJlI4A3K/ms0gjBMnwtjx9Vdz+G02FPnyw+bYWJVgBvIOCqSDZigW7j7OqayA/l3c3/HmGFAAxmec2jJwiIqoNwiTKROuH7HnRycEtrtUhGwUpEbANdmpmimXgDPL8ozN+46Y+PBKWqJKQaAuuzUSLDgaVE1zIQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fYSM9kMf; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fYSM9kMf" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-49cf4f81d86so56052215e9.2 for ; Thu, 10 Sep 2026 08:38:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789054690; x=1789659490; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=IG04Beex0G5ze2V85Caxm9OJioEWxsuxn7cmI959WRk=; b=fYSM9kMf/Ye3xBOS3+A2ot8DtZwHplTEzNvDFvm+1mNrFzWE+V+JRo+eUPJuaKHjDw QH9tTvf9+K07X9wIdqW5uEGanB740NtYqN/FlYD1z+xFjN7JwZ0TjSqP8URThgCWiKzs 6UKmfmFYdQWOJaW0ugt3c9OTSUzIqsTz2qVU1ILYQxFIWGq8YrVeAHVXB6sCz9dIOexq Xe1bySpmBHUJuHd0tntjWgA2UJmJEsVRxqRQ44fRHJ94YKed/iQu+k7tpgbUGQgVO5RO 8XkqNMSzvb9HGN6Kb8zNi4oJ0xAsb37U4rZ5bLvS6bHxe81iKcVDoI5taRmOrmI0by/5 374g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789054690; x=1789659490; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=IG04Beex0G5ze2V85Caxm9OJioEWxsuxn7cmI959WRk=; b=szocryVVj6fn5inHYelzsvNkGkCSBPs/0/V7Q4XfoakBiu09GnQtCRiLhWlI4nVGM/ H9f7txqXU+3sTCFc3AaI2MZmnJu9wCTiHSpP0J/NkyrctB5nPiazC/bsIuYBTqTiMhqY J/IBoZSqEcQEH7F/IW664WYPZ/hSSw+dAnOkivUf5DZQGHIHdGt9O2M/ZEyv9M1tHuEg 48GgKMMcdKpCX/kRSHsjCHe3RqooZFc9kVmiAxM7Fq9C4TByJ5yFMmkeI6w2VJakhXBm d9UlJGmkqy/h+NgfOIG1lw8QCYPy5pTLHQBSBGnlJ1jx6BoBRr9g9ZzaW05mBp/IA5U7 5sug== X-Forwarded-Encrypted: i=1; AKwUvBxnyEizSUSYeIaTIhSzkb/5LSK3rP5/Od/MWSGTSTJOfsil6SLGgDwkRcOVcQHRWT+Elvc3es/XNudbP70=@vger.kernel.org X-Gm-Message-State: AFuF++n6IbPZLtJNUyhdVmJwwYiOCZyFv4BhnpBnxKGnH0a5exvHODgX RzPV5DcuSK1SXmsjaNL0G50T/iv2O4N/3vtjc2/OgjQHE5oegBCvzapC X-Gm-Gg: AYBFou1SrTp9DzdPcQX9rahCFMk2seql2FwiF1jP3cDY/+c4LnKb22yb1mp3QwJhOwK bbn27iu9UywXd3np5hjoVp/BZYOHOh5uQgx5INrg3mC9CpAT28Mg4uSNZakgBawrui0WdTNQIhB VW8ug5MDPwTFAsxhy56S4WsuD4WTjmJEKDPT7AnCVPVIYv5nXY5ick3uYEcBPo4w0Bbxzrzc4v3 ISmEE4WPnC35KQ/nZW8DKuqxBJhmrdxf9U0UVWYh2YvKzl1pINxRBFW1JS2X8BZ1pijWg3KN3s4 hFiWt3C2pTATGFt9DjS4pj3FdmcX4g7+CqayM9W2W/xP/KRUw5bWP2VTWkXETUqqUHbO7kEiDTv LBXsu9jbn+5VCZxCxtdUQ3s0L8NYi+dX7eQZpw+EgE/LK+CVdvQA28qKZzXcvZZCrbe1U/SpmCn Mokp5e559k4AUuejy8VeWRESaDVEwQusQgXBQ5YkcRfYSOtCishu/4uVP+0g3Ge1pu0cVZEOQcI QKx1eVf5a+PglZTzgOymAFMbawab5lssg850g7y8AYwVLIMhrtzIxdKxl03cmm/lxlJgocX/Q== X-Received: by 2002:a05:600c:4685:b0:499:8704:242c with SMTP id 5b1f17b1804b1-49cf7f32214mr415062205e9.0.1789054689877; Thu, 10 Sep 2026 08:38:09 -0700 (PDT) Received: from ernest.hoecke-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e60adaee4sm3390545e9.14.2026.09.10.08.38.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 08:38:08 -0700 (PDT) From: Ernest Van Hoecke Date: Thu, 10 Sep 2026 17:38:00 +0200 Subject: [PATCH 4/6] arm64: dts: freescale: imx8m{m,p}-verdin: Add camera connector nexus Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260910-verdin-imx8mp-hmp-camera-ready-v1-4-3c9349ecdb9f@toradex.com> References: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> In-Reply-To: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Kieran Bingham , Francesco Dolcini , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ernest Van Hoecke X-Mailer: b4 0.13.0 From: Ernest Van Hoecke The Verdin Development Board, Dahlia and Mallow expose the same 24-pin CSI camera connector, while Verdin iMX8M Mini and Verdin iMX8M Plus route its sideband signals and media pipeline through different SoC resources. Add a GPIO nexus to each carrier description and stable Verdin-level labels for each module's CSI_1 I2C bus, receiver and capture engine. Keeping the nexus in the carrier files avoids describing the physical connector on carriers which do not provide it. This gives accessory overlays a stable connector and media interface without embedding either module's wiring in the accessory description. Signed-off-by: Ernest Van Hoecke --- arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi | 17 +++++++++++++= ++++ arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi | 17 +++++++++++++= ++++ arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi | 17 +++++++++++++= ++++ arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi | 8 +++++++- arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi | 17 +++++++++++++= ++++ arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi | 17 +++++++++++++= ++++ arch/arm64/boot/dts/freescale/imx8mp-verdin-mallow.dtsi | 17 +++++++++++++= ++++ arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi | 7 ++++++- 8 files changed, 115 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi b/arch= /arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi index 3d0b14968131..4cf77559e69b 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi @@ -4,6 +4,23 @@ */ =20 / { + verdin_camera_connector: camera-connector-0 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CAM_1_CON_RST (pin 11) - Verdin GPIO_5 (SODIMM 216) + * CAM_1_CON_PWRDWN (pin 22) - Verdin GPIO_6 (SODIMM 218) + * CAM_1_CON_IC_DETECT (pin 23) - Verdin GPIO_7 (SODIMM 220) + * CAM_1_CON_PWRCTRL (pin 24) - Verdin GPIO_8 (SODIMM 222) + */ + gpio-map =3D <0 0 &gpio1 0 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 11 GPIO_ACTIVE_HIGH>, + <2 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <3 0 &gpio1 9 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + sound_card: sound-card { compatible =3D "simple-audio-card"; simple-audio-card,bitclock-master =3D <&dailink_master>; diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi b/arch/ar= m64/boot/dts/freescale/imx8mm-verdin-dev.dtsi index 1d8d146d9eeb..51a836324c16 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi @@ -4,6 +4,23 @@ */ =20 / { + verdin_camera_connector: camera-connector-0 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CAM_1_CON_RST (pin 11) - Verdin GPIO_5 (SODIMM 216) + * CAM_1_CON_PWRDWN (pin 22) - Verdin GPIO_6 (SODIMM 218) + * CAM_1_CON_IC_DETECT (pin 23) - Verdin GPIO_7 (SODIMM 220) + * CAM_1_CON_PWRCTRL (pin 24) - Verdin GPIO_8 (SODIMM 222) + */ + gpio-map =3D <0 0 &gpio1 0 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 11 GPIO_ACTIVE_HIGH>, + <2 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <3 0 &gpio1 9 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + sound_card: sound-card { compatible =3D "simple-audio-card"; simple-audio-card,bitclock-master =3D <&dailink_master>; diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi b/arch= /arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi index 4a0799d63446..5951cd19a84c 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-mallow.dtsi @@ -11,6 +11,23 @@ #include =20 / { + verdin_camera_connector: camera-connector-0 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CAM_1_CON_RST (pin 11) - Verdin GPIO_5 (SODIMM 216) + * CAM_1_CON_PWRDWN (pin 22) - Verdin GPIO_6 (SODIMM 218) + * CAM_1_CON_IC_DETECT (pin 23) - Verdin GPIO_7 (SODIMM 220) + * CAM_1_CON_PWRCTRL (pin 24) - Verdin GPIO_8 (SODIMM 222) + */ + gpio-map =3D <0 0 &gpio1 0 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 11 GPIO_ACTIVE_HIGH>, + <2 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <3 0 &gpio1 9 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + leds { compatible =3D "gpio-leds"; pinctrl-names =3D "default"; diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi b/arch/arm64/= boot/dts/freescale/imx8mm-verdin.dtsi index ac450fc6cbfb..5c72b279d506 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi @@ -224,6 +224,9 @@ &cpu_crit0 { temperature =3D <105000>; }; =20 +/* Verdin CSI_1 */ +verdin_csi_capture: &csi {}; + &ddrc { operating-points-v2 =3D <&ddrc_opp_table>; =20 @@ -596,7 +599,7 @@ &i2c2 { /* Verdin I2C_3_HDMI N/A */ =20 /* Verdin I2C_4_CSI */ -&i2c3 { +verdin_csi_i2c: &i2c3 { clock-frequency =3D <400000>; pinctrl-names =3D "default", "gpio"; pinctrl-0 =3D <&pinctrl_i2c3>; @@ -695,6 +698,9 @@ eeprom_carrier_board: eeprom@57 { }; }; =20 +/* Verdin CSI_1 */ +verdin_csi_rx: &mipi_csi {}; + /* Verdin PCIE_1 */ &pcie0 { assigned-clocks =3D <&clk IMX8MM_CLK_PCIE1_AUX>, diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi b/arch= /arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi index 0e218e6b8e29..164031d5dd86 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi @@ -4,6 +4,23 @@ */ =20 / { + verdin_camera_connector: camera-connector-0 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CAM_1_CON_RST (pin 11) - Verdin GPIO_5 (SODIMM 216) + * CAM_1_CON_PWRDWN (pin 22) - Verdin GPIO_6 (SODIMM 218) + * CAM_1_CON_IC_DETECT (pin 23) - Verdin GPIO_7 (SODIMM 220) + * CAM_1_CON_PWRCTRL (pin 24) - Verdin GPIO_8 (SODIMM 222) + */ + gpio-map =3D <0 0 &gpio1 7 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <2 0 &gpio4 3 GPIO_ACTIVE_HIGH>, + <3 0 &gpio4 1 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + native-hdmi-connector { compatible =3D "hdmi-connector"; label =3D "X21"; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi b/arch/ar= m64/boot/dts/freescale/imx8mp-verdin-dev.dtsi index 72a4f846d694..c52e46738110 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi @@ -4,6 +4,23 @@ */ =20 / { + verdin_camera_connector: camera-connector-0 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CAM_1_CON_RST (pin 11) - Verdin GPIO_5 (SODIMM 216) + * CAM_1_CON_PWRDWN (pin 22) - Verdin GPIO_6 (SODIMM 218) + * CAM_1_CON_IC_DETECT (pin 23) - Verdin GPIO_7 (SODIMM 220) + * CAM_1_CON_PWRCTRL (pin 24) - Verdin GPIO_8 (SODIMM 222) + */ + gpio-map =3D <0 0 &gpio1 7 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <2 0 &gpio4 3 GPIO_ACTIVE_HIGH>, + <3 0 &gpio4 1 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + native-hdmi-connector { compatible =3D "hdmi-connector"; label =3D "X37"; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mallow.dtsi b/arch= /arm64/boot/dts/freescale/imx8mp-verdin-mallow.dtsi index 846b36706821..b915fbbd04b6 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mallow.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mallow.dtsi @@ -11,6 +11,23 @@ #include =20 / { + verdin_camera_connector: camera-connector-0 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CAM_1_CON_RST (pin 11) - Verdin GPIO_5 (SODIMM 216) + * CAM_1_CON_PWRDWN (pin 22) - Verdin GPIO_6 (SODIMM 218) + * CAM_1_CON_IC_DETECT (pin 23) - Verdin GPIO_7 (SODIMM 220) + * CAM_1_CON_PWRCTRL (pin 24) - Verdin GPIO_8 (SODIMM 222) + */ + gpio-map =3D <0 0 &gpio1 7 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <2 0 &gpio4 3 GPIO_ACTIVE_HIGH>, + <3 0 &gpio4 1 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; + native-hdmi-connector { compatible =3D "hdmi-connector"; label =3D "X14"; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi b/arch/arm64/= boot/dts/freescale/imx8mp-verdin.dtsi index 45a4713c260f..53499289cf61 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi @@ -719,7 +719,7 @@ atmel_mxt_ts_mezzanine: touch-mezzanine@4a { }; =20 /* Verdin I2C_4_CSI */ -&i2c3 { +verdin_csi_i2c: &i2c3 { clock-frequency =3D <400000>; pinctrl-names =3D "default", "gpio"; pinctrl-0 =3D <&pinctrl_i2c3>; @@ -829,6 +829,11 @@ &i2c5 { single-master; }; =20 +/* Verdin CSI_1 */ +verdin_csi_capture: &isi_0 {}; + +verdin_csi_rx: &mipi_csi_0 {}; + /* Verdin PCIE_1 */ &pcie { pinctrl-names =3D "default"; --=20 2.43.0 From nobody Fri Sep 25 16:04:37 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3470B4B0CA8 for ; Thu, 10 Sep 2026 15:38:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054698; cv=none; b=ad7FZI/CLuL0E6X0bH1ChcXZdpHBsujtl0JDxIinMW3FdUw+Y4jrdxltdkjlwm6njNsrrMwhu4OSv3+srMpUTW5AoNE5CejPIhortXwlIR5UbH8pRza5GFkW/80PIQx49x7/6WlSyMf1frhokPq43GYD1aZxUPgTXwCL74ppye8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054698; c=relaxed/simple; bh=gKHblR5ZA5v44Vm+vCzeXOkW9srUvw9JHgipJk1bemU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KoPdcMbjCIrAateTzA1dqi/1DTTLAlu7LRlqUBCe0tuDIGp87ky+fJlHDHWONyUEwK08vvcNEUV3zqXdQd86igMaSqCk++AbnQULzgA0qfCauDnslsx7NTipqsRbx8PNDLxuGK0J7RVxldIeS9YzFpIgQYgY2hiLThPqtsHmMgM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CykGito/; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CykGito/" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-49a97714f5dso69241355e9.0 for ; Thu, 10 Sep 2026 08:38:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789054692; x=1789659492; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=vtejia/wv40g06S8cN1rafdHWQPPM6JpPN+Gedzf/sc=; b=CykGito/vgi7WI99gvwveBggqLqGB1pDiziCEmXO4fn+0gnFTBX6gBCeevpqekpXwA mQWBqsnc0gftGvlcFGSmsu+3dSNwE7r021SxRHQjOWIWe5wq7FGzyl1zUUNbpev+Q5CR TXDhKQVJ2lxGupK+Od0U7sjqMAC/D5QKJQz/p0Pheb1caDNG3ZJDHBNEsuIbsMmDif01 +zao0Urind/JquWBvUMJmUX7A0yrP9+zoOZcOgI6gIr5vmqpKFbfwFZwZEwDPO8f7NAQ OZgVBAbUBOBN64RuOsILesIgENuCLGNUsGYSakxxPkFE52reL/phUh7MJ5SFXohbN1JE q7LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789054692; x=1789659492; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=vtejia/wv40g06S8cN1rafdHWQPPM6JpPN+Gedzf/sc=; b=PK1/VN/i2GdVwFPVYRBRHbjFjAakZ8ld05bsjtQwELgtqk9k3yM/s/zYD2HjDIVGeA UkcNob+8c5m+TxWB/bpUPAMLXxMKOzmcUH/8eKLl22K7/0w/2D29XTCz5KjZDRWMCEt9 ezw6Z9q44zE5KN7Idp3HOw78nzs1txcW5AO3C/FlwWaRUcCSdWoy83DSXhpY07omIzVF vJXmD+AjeFUgqC0HQEQJtD5XEkmRehrF4SIKA4ZnOX+xtu33UDwFx9wVviwpHq8kY26u LeYrmMThbUqaOtmGDFj5n5C5JLGatzfcujHWq8PdrNeddO/72YoC221v/EeNHS+C2+Z+ RGAg== X-Forwarded-Encrypted: i=1; AKwUvBxOhcgoS5e7vpFccxTetQNJfTntTGGs1tRrTGHOc8rnH19f7PIZDJ4kIXAcy+8LKGyCwtkf2K+e2cneaGA=@vger.kernel.org X-Gm-Message-State: AFuF++mK/wgQU+v3EDujBrmt3XgE/awjv+gdF2I58VxfIpnHWlpDZCDm uWqQyuOFkSQiJYRXQdNYGc1RJCgazpIqkHlirclzOJbkTs+s4TGF5azk X-Gm-Gg: AYBFou0KInd8bDSHjhsnFbL+Y/fwVTq2ohlDuwbQBkjEr1IIiII4jBtqxWJVEBNQFDy UyJjUnDNxXzHKvSglYU3b2ED47/YqJwUFGb1WUeb1u7MUVkyipI2TcHsV27142G0C2SAD9H6LX5 HNN58sfeDjXi/nnbNJA7tPfR67aAySgc6VCjP0us5Rr9bmqm+qgpCrdmnV9zXYDBD4UsRYJGsPO tCOJ0TdO3q5E8EFG8seI9htyn4qTKQaHwQQbLESQM6GcmqK1Rt7oGVb0ZjKDYoEplWz0eUCKQAy mmlaJ5Jd8S3Ng0umjd/igmPrpubsRXAfAd68gYjeAjEV0To5uXWddJzQUtmjv7QhB8xXBmtzJJY 6rV4vr6RWB+WVUxoZsRnSzYMBXSgvPBIWLKE2KYqGSYkxAh75U2T9ymnBD0Nq6kJn4NOaSef23f u/whhDDkh4vOZYCXg0iJi8WdfbCd6fTH/Z40UH472UDYobAkwfiPjB7ho2YEAUfuQRkebPsXnJD X4ei8ibFMAO5AdD8WA2lil7k+3Pvc18W3wgJwD2hMyuablK6certlYcK/10AHdk/r3oM9Uefw== X-Received: by 2002:a05:600c:3b0e:b0:49c:eb04:1c49 with SMTP id 5b1f17b1804b1-49cf8254d53mr409949955e9.13.1789054691664; Thu, 10 Sep 2026 08:38:11 -0700 (PDT) Received: from ernest.hoecke-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e60adaee4sm3390545e9.14.2026.09.10.08.38.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 08:38:10 -0700 (PDT) From: Ernest Van Hoecke Date: Thu, 10 Sep 2026 17:38:01 +0200 Subject: [PATCH 5/6] arm64: dts: freescale: imx8m{m,p}-verdin: Add shared OV5640 overlays Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260910-verdin-imx8mp-hmp-camera-ready-v1-5-3c9349ecdb9f@toradex.com> References: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> In-Reply-To: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Kieran Bingham , Francesco Dolcini , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ernest Van Hoecke X-Mailer: b4 0.13.0 From: Ernest Van Hoecke The current and legacy Toradex OV5640 camera modules use the same connector on Verdin iMX8M Mini and Verdin iMX8M Plus. Keeping SoC and carrier GPIO references in the overlays would require a separate camera description for every combination. Use the connector nexus and stable CSI_1 media labels to describe the camera once. Keep separate variants only for the current 27 MHz and legacy 24 MHz camera oscillators. Build both DTBOs for installation and compose each with the two Verdin Development Board DTBs to validate the module integrations. Link: https://developer.toradex.com/hardware/accessories/cameras/csi-camera= -module-5mp-ov5640-arducam Link: https://developer.toradex.com/hardware/legacy-products/other/csi-came= ra-module-5mp-ov5640/ Signed-off-by: Ernest Van Hoecke --- arch/arm64/boot/dts/freescale/Makefile | 10 +++ .../dts/freescale/imx8m-verdin-ov5640-24mhz.dtso | 17 +++++ .../boot/dts/freescale/imx8m-verdin-ov5640.dtsi | 78 ++++++++++++++++++= ++++ .../boot/dts/freescale/imx8m-verdin-ov5640.dtso | 18 +++++ 4 files changed, 123 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index 8b152903b4b1..06d41b9faa79 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -118,6 +118,8 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8dxl-hummingboard-telema= tics.dtb =20 dtb-$(CONFIG_ARCH_MXC) +=3D imx8dxp-tqma8xdp-mba8xx.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8dxp-tqma8xdps-mb-smarc-2.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8m-verdin-ov5640-24mhz.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8m-verdin-ov5640.dtbo dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-beacon-kit.dtb =20 imx8mm-data-modul-edm-sbc-overlay-cm4-dtbs :=3D \ @@ -273,6 +275,8 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dahlia.d= tb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-dsi-to-lvds-panel-cap-t= ouch-10inch.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-nau8822-btl.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-ov5640-24mhz.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-ov5640.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-panel-cap-touch-7inch-d= si.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev-uart4-mcu.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mm-verdin-wifi-dev.dtb @@ -294,6 +298,8 @@ imx8mm-verdin-wifi-dev-dsi-to-hdmi-dtbs :=3D imx8mm-ver= din-wifi-dev.dtb imx8mm-ver imx8mm-verdin-wifi-dev-dsi-to-lvds-panel-cap-touch-10inch-dtbs :=3D imx8mm= -verdin-wifi-dev.dtb \ imx8mm-verdin-dsi-to-lvds-panel-cap-touch-10inch.dtbo imx8mm-verdin-wifi-dev-nau8822-btl-dtbs :=3D imx8mm-verdin-wifi-dev.dtb im= x8mm-verdin-dev-nau8822-btl.dtbo +imx8mm-verdin-wifi-dev-ov5640-24mhz-dtbs :=3D imx8mm-verdin-wifi-dev.dtb i= mx8m-verdin-ov5640-24mhz.dtbo +imx8mm-verdin-wifi-dev-ov5640-dtbs :=3D imx8mm-verdin-wifi-dev.dtb imx8m-v= erdin-ov5640.dtbo imx8mm-verdin-wifi-dev-panel-cap-touch-7inch-dsi-dtbs :=3D imx8mm-verdin-w= ifi-dev.dtb \ imx8mm-verdin-panel-cap-touch-7inch-dsi.dtbo imx8mm-verdin-wifi-dev-uart4-mcu-dtbs :=3D imx8mm-verdin-wifi-dev.dtb imx8= mm-verdin-uart4-mcu.dtbo @@ -749,6 +755,8 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia-p= anel-cap-touch-10inch-dsi.d dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-nau8822-btl.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-ov5640-24mhz.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-ov5640.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-panel-cap-touch-7inch-d= si.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-ivy.dtb @@ -768,6 +776,8 @@ imx8mp-verdin-wifi-dahlia-panel-cap-touch-10inch-dsi-dt= bs :=3D imx8mp-verdin-wifi- imx8mp-verdin-panel-cap-touch-10inch-dsi.dtbo imx8mp-verdin-wifi-dev-dsi-to-hdmi-dtbs :=3D imx8mp-verdin-wifi-dev.dtb im= x8mp-verdin-dsi-to-hdmi.dtbo imx8mp-verdin-wifi-dev-nau8822-btl-dtbs :=3D imx8mp-verdin-wifi-dev.dtb im= x8mp-verdin-dev-nau8822-btl.dtbo +imx8mp-verdin-wifi-dev-ov5640-24mhz-dtbs :=3D imx8mp-verdin-wifi-dev.dtb i= mx8m-verdin-ov5640-24mhz.dtbo +imx8mp-verdin-wifi-dev-ov5640-dtbs :=3D imx8mp-verdin-wifi-dev.dtb imx8m-v= erdin-ov5640.dtbo imx8mp-verdin-wifi-dev-panel-cap-touch-7inch-dsi-dtbs :=3D imx8mp-verdin-w= ifi-dev.dtb \ imx8mp-verdin-panel-cap-touch-7inch-dsi.dtbo imx8mp-verdin-wifi-yavia-dsi-to-hdmi-dtbs :=3D imx8mp-verdin-wifi-yavia.dt= b imx8mp-verdin-dsi-to-hdmi.dtbo diff --git a/arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640-24mhz.dtso b= /arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640-24mhz.dtso new file mode 100644 index 000000000000..af77c065c3c2 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640-24mhz.dtso @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Module 5MP OV5640 on Verdin CSI_1. + * + * https://developer.toradex.com/hardware/legacy-products/other/csi-camera= -module-5mp-ov5640/ + */ + +/dts-v1/; +/plugin/; + +#include "imx8m-verdin-ov5640.dtsi" + +&clk_ov5640_osc { + clock-frequency =3D <24000000>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640.dtsi b/arch/= arm64/boot/dts/freescale/imx8m-verdin-ov5640.dtsi new file mode 100644 index 000000000000..39204a14f0d0 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640.dtsi @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Common device tree include for Toradex OV5640 CSI camera on Verdin CSI_= 1. + */ + +#include + +&{/} { + clk_ov5640_osc: ov5640-xclk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + }; + + reg_ov5640: regulator-camera { + compatible =3D "regulator-fixed"; + /* CAM_1_CON_PWRCTRL, pin 24 */ + gpios =3D <&verdin_camera_connector 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-name =3D "V_CSI"; + startup-delay-us =3D <5000>; + }; +}; + +&verdin_csi_capture { + status =3D "okay"; +}; + +/* Verdin I2C_4_CSI */ +&verdin_csi_i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "okay"; + + camera@3c { + compatible =3D "ovti,ov5640"; + reg =3D <0x3c>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_gpio5>, <&pinctrl_gpio6>; + clocks =3D <&clk_ov5640_osc>; + clock-names =3D "xclk"; + AVDD-supply =3D <®_ov5640>; + DOVDD-supply =3D <®_ov5640>; + DVDD-supply =3D <®_ov5640>; + /* CAM_1_CON_PWRDWN, pin 22 */ + powerdown-gpios =3D <&verdin_camera_connector 1 GPIO_ACTIVE_HIGH>; + /* CAM_1_CON_RST, pin 11 */ + reset-gpios =3D <&verdin_camera_connector 0 GPIO_ACTIVE_LOW>; + + port { + ov5640_to_verdin_csi_rx: endpoint { + clock-lanes =3D <0>; + data-lanes =3D <1 2>; + remote-endpoint =3D <&verdin_csi_rx_in>; + }; + }; + }; +}; + +&verdin_csi_rx { + status =3D "okay"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + verdin_csi_rx_in: endpoint { + data-lanes =3D <1 2>; + remote-endpoint =3D <&ov5640_to_verdin_csi_rx>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640.dtso b/arch/= arm64/boot/dts/freescale/imx8m-verdin-ov5640.dtso new file mode 100644 index 000000000000..332811f53743 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8m-verdin-ov5640.dtso @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Set 5MP OV5640 on Verdin CSI_1. + * + * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-m= odule-5mp-ov5640-arducam + * https://www.toradex.com/accessories/csi-camera-ov5640 + */ + +/dts-v1/; +/plugin/; + +#include "imx8m-verdin-ov5640.dtsi" + +&clk_ov5640_osc { + clock-frequency =3D <27000000>; +}; --=20 2.43.0 From nobody Fri Sep 25 16:04:37 2026 Received: from mail-wm2-f12.google.com (mail-wm2-f12.google.com [74.125.225.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 924B64AB1CB for ; Thu, 10 Sep 2026 15:38:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054699; cv=none; b=qOgHko6whHcTOoL9tl5C0i6o2X5JNBy6zfrM2D/ucWiJ6HV+9DCIlGdWdwggBcRYdYY8J5f5lv4aLqlUTWlZi5qbRkrizKCVDDl2uceBUgPTpLd2e750Qbh0JflVr0FulbrOD5zf80AlLpJYM44x2p2XLhpeBoUCjBEpbyDoH+o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789054699; c=relaxed/simple; bh=ysSjDibRjO2oI1uCODoaVvwGrAqJg2RP+x0qrJLzDPE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CfwShHKXvEUqzz3RHFBP+j/Sy4w+5Kr83ZAninKH1WP8w4DcEbuKl+saKhAjsnjABqlc2BwIK45Ww4Wa59r2EOQrl7dgvb2XliYWnpF13Sb8WH7xS1Hc4a+G5EaDdAIlLQl8mVCFyBdkj+WKuH+dVeszsOrMZEHSGFtJdIQCaPQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GI3MCtyW; arc=none smtp.client-ip=74.125.225.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GI3MCtyW" Received: by mail-wm2-f12.google.com with SMTP id 5b1f17b1804b1-49cd6185db7so21490835e9.1 for ; Thu, 10 Sep 2026 08:38:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789054693; x=1789659493; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=/8B/tP0CTjVes5Gi9EiEiXMc6ToyqS4obd7jDFuSMeg=; b=GI3MCtyWb4PuJyPsx4X426FUyL0NBjWToCOLRzYhw6oUv7MHvuZEvwB5QEXYHx0gB/ akmoRq9bG3nRXFtcKH+9Or+tQD4sgbmt9oyQO1y/YPVBoe/4Ut+ch+Y8NcoYLRCb2TBk bWwpf60WD23Abpy+49csWYIOfWpEYd2qOqszcAn6m/XkYpTqNFx1ME89/OpzAsZ2Hgw3 D8pItUAeD1vsZo6pfqd+Nxfrha/LSO6VN0VVlyVkphyEbXLaTZekEiQiq5ZYyZ28MUWa Z2IezyXlBryU/RrrbKYPxMkNbJoiFdMsiX6XKyxYUURODwSoLSZtiCeeoM7wx6aUbraX u7+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789054693; x=1789659493; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/8B/tP0CTjVes5Gi9EiEiXMc6ToyqS4obd7jDFuSMeg=; b=PsT6SnhY2OBNC9uTcmd9rBIMkbk2ScaiCjJ9eF7NK2sq7ufzlYnQzpd4g2xpJNlY+U gH4TA3KuxdNsBHLnOKt654/JR5lBx/MRARPrS8k6U+AUlC2XRpLwfFyI+TzEoWZK/G4M VzxmZwqZdNo5EbvavF5ife5W53kuONZoBMKPXRaT+z+gxr7mcbjciRJXsYQS4P0eK4Ks TMbFvk7DXLum6rwGcysrpHVpqXJr/eDS6VFfPam1UBQXi1aWzCztrBKYinQwZys7tUS7 aVZQCJprl5KXcJP+GLcsjbD07l+ktcuk3FZ42gdSU51sIgOfYYD6BBwgX78qeCIQXNFm AOmg== X-Forwarded-Encrypted: i=1; AKwUvByb0wa15CpCWykfzRSoDUNpYsKGkICRzx1y9hQkjZYEg656LQ3KGrQQlVPycvpSnjLuniOegkEOlR8NjVw=@vger.kernel.org X-Gm-Message-State: AFuF++lianAiUad9jN7WRdWR6bqXRsgPvwBEwoOrsTtB0FFeJ52KTIDe d72JQWiejId+527IA6E7oC/ts7lEwfs793JMFpHW7d3tKlyXNA0NGde4 X-Gm-Gg: AYBFou3kEEiz32gpM5+AtVe/+qLH2Nd1JiKY+SjOjhPWWtTLSjzMeGyRkuOoYXGrpja eb4p0dF9r2+5hfdz7afI/u++w33LyxBe0DbAiv5lMocFAmPdh8HFcHYUJVSnJ04qH62y6YE79Wk C+Hu4thnMOT6vMvXllf17bXSp8l4nWIarnf8vOYwGsRUs8MwNBI303QBcNkE60J0CY4jruQMl1O j8IjRJX4YuoGOxqi85LwPqAiJL39kQNkGmulAIwPU09mhF8FWiyAg0wfIIEid1/WKF7z/8pkq5f h0gI7u8YcZbf1L7J8GJDipl0YzIAUM7Pu/ux0yljBnx6GQkrZapoi4FfOL55AJRbLVKDrsHGF77 F84R/t0lJBs97XC3Szm4tNWx3uALqBeOxjzrIYpGbI34oMdNqzDfJHLaSkwPXbRTtPUiYR7EGQD jrYBOM5AtaEtidsyohjkWNn05O2gd0sqyGnSAvtBd1dpLdMl2GwULX+hbrbhwTy3pB+BDdrdCs9 oMnOSq6wvhFNQC4mm2FDP/uzTNgUUzySZjcon/fxjhvaFy/IkYfKuxbdaqdOfyYFrOijYwHXQ== X-Received: by 2002:a05:600c:4fcb:b0:49c:f13e:e4c with SMTP id 5b1f17b1804b1-49d26db4274mr57671805e9.9.1789054692973; Thu, 10 Sep 2026 08:38:12 -0700 (PDT) Received: from ernest.hoecke-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e60adaee4sm3390545e9.14.2026.09.10.08.38.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 08:38:12 -0700 (PDT) From: Ernest Van Hoecke Date: Thu, 10 Sep 2026 17:38:02 +0200 Subject: [PATCH 6/6] arm64: dts: freescale: imx8mp-verdin: Add mezzanine OV5640 overlays Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260910-verdin-imx8mp-hmp-camera-ready-v1-6-3c9349ecdb9f@toradex.com> References: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> In-Reply-To: <20260910-verdin-imx8mp-hmp-camera-ready-v1-0-3c9349ecdb9f@toradex.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: Kieran Bingham , Francesco Dolcini , devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Ernest Van Hoecke X-Mailer: b4 0.13.0 From: Ernest Van Hoecke The Verdin iMX8M Plus exposes its second MIPI CSI-2 interface through the Verdin iMX8M Plus Mezzanine. Add overlays for using a Toradex OV5640 camera on this interface. The mezzanine can route the camera control signals through two jumper configurations. Describe each configuration as a GPIO nexus mapping so the camera description remains independent of the physical routing. The default positions share the native CSI_1 GPIOs and are intended for a single camera. The alternate positions permit simultaneous native and mezzanine cameras, but conflict with the Atmel MXT touchscreen GPIO. The current camera set uses a 27 MHz on-board oscillator. The legacy camera module uses 24 MHz, so provide variants for both. Link: https://developer.toradex.com/hardware/verdin-som-family/add-ons/verd= in-imx8m-plus-mezzanine/ Link: https://developer.toradex.com/hardware/accessories/cameras/csi-camera= -module-5mp-ov5640-arducam Link: https://developer.toradex.com/hardware/legacy-products/other/csi-came= ra-module-5mp-ov5640/ Signed-off-by: Ernest Van Hoecke --- arch/arm64/boot/dts/freescale/Makefile | 19 ++++++ ...-verdin-mezzanine-ov5640-24mhz-alt-jumpers.dtso | 19 ++++++ ...din-mezzanine-ov5640-24mhz-default-jumpers.dtso | 18 +++++ ...imx8mp-verdin-mezzanine-ov5640-alt-jumpers.dtso | 38 +++++++++++ ...mp-verdin-mezzanine-ov5640-default-jumpers.dtso | 42 ++++++++++++ .../freescale/imx8mp-verdin-mezzanine-ov5640.dtsi | 78 ++++++++++++++++++= ++++ 6 files changed, 214 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/f= reescale/Makefile index 06d41b9faa79..8dcb5d9fc74f 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -736,6 +736,10 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-venice-gw75xx-2x.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-venice-gw82xx-2x.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-dev-nau8822-btl.dtbo dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-dsi-to-hdmi.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-mezzanine-ov5640-24mhz-alt-jumpe= rs.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-mezzanine-ov5640-24mhz-default-j= umpers.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-mezzanine-ov5640-alt-jumpers.dtbo +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-mezzanine-ov5640-default-jumpers= .dtbo dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dahlia-dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dahlia-panel-cap-touch-1= 0inch-dsi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-nonwifi-dahlia.dtb @@ -754,6 +758,11 @@ dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia-= dsi-to-hdmi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia-panel-cap-touch-10in= ch-dsi.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dahlia.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-dsi-to-hdmi.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-dual-ov5640.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-mezzanine-ov5640-24mhz-= alt-jumpers.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-mezzanine-ov5640-24mhz-= default-jumpers.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-mezzanine-ov5640-alt-ju= mpers.dtb +dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-mezzanine-ov5640-defaul= t-jumpers.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-nau8822-btl.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-ov5640-24mhz.dtb dtb-$(CONFIG_ARCH_MXC) +=3D imx8mp-verdin-wifi-dev-ov5640.dtb @@ -775,6 +784,16 @@ imx8mp-verdin-wifi-dahlia-dsi-to-hdmi-dtbs :=3D imx8mp= -verdin-wifi-dahlia.dtb imx8 imx8mp-verdin-wifi-dahlia-panel-cap-touch-10inch-dsi-dtbs :=3D imx8mp-verd= in-wifi-dahlia.dtb \ imx8mp-verdin-panel-cap-touch-10inch-dsi.dtbo imx8mp-verdin-wifi-dev-dsi-to-hdmi-dtbs :=3D imx8mp-verdin-wifi-dev.dtb im= x8mp-verdin-dsi-to-hdmi.dtbo +imx8mp-verdin-wifi-dev-dual-ov5640-dtbs :=3D imx8mp-verdin-wifi-dev.dtb im= x8m-verdin-ov5640.dtbo \ + imx8mp-verdin-mezzanine-ov5640-alt-jumpers.dtbo +imx8mp-verdin-wifi-dev-mezzanine-ov5640-24mhz-alt-jumpers-dtbs :=3D imx8mp= -verdin-wifi-dev.dtb \ + imx8mp-verdin-mezzanine-ov5640-24mhz-alt-jumpers.dtbo +imx8mp-verdin-wifi-dev-mezzanine-ov5640-24mhz-default-jumpers-dtbs :=3D im= x8mp-verdin-wifi-dev.dtb \ + imx8mp-verdin-mezzanine-ov5640-24mhz-default-jumpers.dtbo +imx8mp-verdin-wifi-dev-mezzanine-ov5640-alt-jumpers-dtbs :=3D imx8mp-verdi= n-wifi-dev.dtb \ + imx8mp-verdin-mezzanine-ov5640-alt-jumpers.dtbo +imx8mp-verdin-wifi-dev-mezzanine-ov5640-default-jumpers-dtbs :=3D imx8mp-v= erdin-wifi-dev.dtb \ + imx8mp-verdin-mezzanine-ov5640-default-jumpers.dtbo imx8mp-verdin-wifi-dev-nau8822-btl-dtbs :=3D imx8mp-verdin-wifi-dev.dtb im= x8mp-verdin-dev-nau8822-btl.dtbo imx8mp-verdin-wifi-dev-ov5640-24mhz-dtbs :=3D imx8mp-verdin-wifi-dev.dtb i= mx8m-verdin-ov5640-24mhz.dtbo imx8mp-verdin-wifi-dev-ov5640-dtbs :=3D imx8mp-verdin-wifi-dev.dtb imx8m-v= erdin-ov5640.dtbo diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-2= 4mhz-alt-jumpers.dtso b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzani= ne-ov5640-24mhz-alt-jumpers.dtso new file mode 100644 index 000000000000..9579ad2f2235 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-24mhz-al= t-jumpers.dtso @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Module 5MP OV5640 on the Verdin iMX8M Plus Mezzanine= with + * alternate GPIO jumper positions. + * + * https://developer.toradex.com/hardware/legacy-products/other/csi-camera= -module-5mp-ov5640/ + * https://developer.toradex.com/hardware/verdin-som-family/add-ons/verdin= -imx8m-plus-mezzanine/ + */ + +/dts-v1/; +/plugin/; + +#include "imx8mp-verdin-mezzanine-ov5640-alt-jumpers.dtso" + +&clk_ov5640_mezz_osc { + clock-frequency =3D <24000000>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-2= 4mhz-default-jumpers.dtso b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mez= zanine-ov5640-24mhz-default-jumpers.dtso new file mode 100644 index 000000000000..2079f9ead22d --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-24mhz-de= fault-jumpers.dtso @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Module 5MP OV5640 on the Verdin iMX8M Plus Mezzanine. + * + * https://developer.toradex.com/hardware/legacy-products/other/csi-camera= -module-5mp-ov5640/ + * https://developer.toradex.com/hardware/verdin-som-family/add-ons/verdin= -imx8m-plus-mezzanine/ + */ + +/dts-v1/; +/plugin/; + +#include "imx8mp-verdin-mezzanine-ov5640-default-jumpers.dtso" + +&clk_ov5640_mezz_osc { + clock-frequency =3D <24000000>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-a= lt-jumpers.dtso b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5= 640-alt-jumpers.dtso new file mode 100644 index 000000000000..9f2372227a8d --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-alt-jump= ers.dtso @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Set 5MP OV5640 on the Verdin iMX8M Plus Mezzanine wi= th + * alternate GPIO jumper positions. + * These positions support two cameras but share Verdin GPIO_2 with the At= mel + * MXT touchscreen. + * + * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-m= odule-5mp-ov5640-arducam + * https://developer.toradex.com/hardware/verdin-som-family/add-ons/verdin= -imx8m-plus-mezzanine/ + */ + +/dts-v1/; +/plugin/; + +#include "imx8mp-verdin-mezzanine-ov5640.dtsi" + +&{/} { + verdin_mezz_camera_connector: camera-connector-1 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CSI_2_GPIO_0_RST (pin 11) - JP5 1-2 - Verdin GPIO_1 + * CSI_2_GPIO_1 (pin 22) - JP6 1-2 - Verdin GPIO_2 + * CSI_2_GPIO_3 (pin 24) - JP8 1-2 - Verdin GPIO_4 + */ + gpio-map =3D <0 0 &gpio1 0 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 1 GPIO_ACTIVE_HIGH>, + <3 0 &gpio1 6 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; +}; + +&clk_ov5640_mezz_osc { + clock-frequency =3D <27000000>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-d= efault-jumpers.dtso b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine= -ov5640-default-jumpers.dtso new file mode 100644 index 000000000000..801beb8f48a6 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640-default-= jumpers.dtso @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Toradex CSI Camera Set 5MP OV5640 on the Verdin iMX8M Plus Mezzanine. + * The default jumper positions share GPIOs with the Verdin CSI_1 interface + * and do not support using both camera connectors at the same time. + * + * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-m= odule-5mp-ov5640-arducam + * https://developer.toradex.com/hardware/verdin-som-family/add-ons/verdin= -imx8m-plus-mezzanine/ + */ + +/dts-v1/; +/plugin/; + +#include "imx8mp-verdin-mezzanine-ov5640.dtsi" + +&{/} { + verdin_mezz_camera_connector: camera-connector-1 { + compatible =3D "toradex,camera-connector"; + #gpio-cells =3D <2>; + /* + * CSI_2_GPIO_0_RST (pin 11) - JP5 2-3 - Verdin GPIO_5_CSI + * CSI_2_GPIO_1 (pin 22) - JP6 2-3 - Verdin GPIO_6_CSI + * CSI_2_GPIO_3 (pin 24) - JP8 2-3 - Verdin GPIO_8_CSI + */ + gpio-map =3D <0 0 &gpio1 7 GPIO_ACTIVE_HIGH>, + <1 0 &gpio1 8 GPIO_ACTIVE_HIGH>, + <3 0 &gpio4 1 GPIO_ACTIVE_HIGH>; + gpio-map-mask =3D <0xffffffff 0x0>; + gpio-map-pass-thru =3D <0x0 0xffffffff>; + }; +}; + +&clk_ov5640_mezz_osc { + clock-frequency =3D <27000000>; +}; + +&ov5640_mezz { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_gpio5>, <&pinctrl_gpio6>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640.d= tsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640.dtsi new file mode 100644 index 000000000000..3902ba62fb91 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-mezzanine-ov5640.dtsi @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Copyright (c) Toradex + * + * Common device tree include for Toradex OV5640 CSI camera on the Verdin + * iMX8M Plus Mezzanine. + */ + +#include + +/ { + compatible =3D "toradex,verdin-imx8mp"; +}; + +&{/} { + clk_ov5640_mezz_osc: ov5640-mezzanine-xclk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + }; + + reg_verdin_mezz_csi: regulator-mezzanine-csi { + compatible =3D "regulator-fixed"; + gpios =3D <&verdin_mezz_camera_connector 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-name =3D "V_CSI_MEZZ"; + startup-delay-us =3D <5000>; + }; +}; + +&isi_0 { + status =3D "okay"; +}; + +/* Verdin I2C_2_DSI (Mezzanine JP3 and JP4 in position 2-3) */ +&i2c2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "okay"; + + ov5640_mezz: camera@3c { + compatible =3D "ovti,ov5640"; + reg =3D <0x3c>; + clocks =3D <&clk_ov5640_mezz_osc>; + clock-names =3D "xclk"; + AVDD-supply =3D <®_verdin_mezz_csi>; + DOVDD-supply =3D <®_verdin_mezz_csi>; + DVDD-supply =3D <®_verdin_mezz_csi>; + powerdown-gpios =3D <&verdin_mezz_camera_connector 1 GPIO_ACTIVE_HIGH>; + reset-gpios =3D <&verdin_mezz_camera_connector 0 GPIO_ACTIVE_LOW>; + + port { + ov5640_mezz_to_mipi_csi_1: endpoint { + clock-lanes =3D <0>; + data-lanes =3D <1 2>; + remote-endpoint =3D <&mipi_csi_1_in>; + }; + }; + }; +}; + +&mipi_csi_1 { + status =3D "okay"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + mipi_csi_1_in: endpoint { + data-lanes =3D <1 2>; + remote-endpoint =3D <&ov5640_mezz_to_mipi_csi_1>; + }; + }; + }; +}; --=20 2.43.0