From nobody Tue Jun 16 15:56:22 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 20F924266AF for ; Thu, 30 Apr 2026 13:21:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777555309; cv=none; b=HoRivyHcvgk3RDI+ira8JpEkdzakssLgAvYegkT8URxasEQQhKJDp35/nwVBkZWwRxhvKL7uJA8MnRNclrktHwslVO19nkOmCmPnmpha/dbErEAHeVck6gpiXi5271VJsLKxmlKkcV46euN38RyzOUxE/JSqyKV5+uVPhMwbDqU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777555309; c=relaxed/simple; bh=NwNLBanCJfWdivsHH3TQq4KhfsrK1t6xAmGPuWJEvUM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DZrxIOguSF74nWWLSNgTSGloptzJDrf5872ZmeaT4uqWuJhdWvk0NrZhZuuq3rV1iUXhSnK8W2V69rR7vH3HGoTblGS+FZhh1BaRmQse+ae8GaDwjSg4ksn7I+T5sjQyC2s68Ps4+KfjNqlC7UTNovcho8EqkpFy2ejc4KgrpX0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=arduino.cc; spf=pass smtp.mailfrom=arduino.cc; dkim=pass (1024-bit key) header.d=arduino.cc header.i=@arduino.cc header.b=AdiMxbQt; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=arduino.cc Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arduino.cc Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arduino.cc header.i=@arduino.cc header.b="AdiMxbQt" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4891c00e7aeso8285925e9.2 for ; Thu, 30 Apr 2026 06:21:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arduino.cc; s=google; t=1777555305; x=1778160105; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7KQEi+9Iq6a0oI1284HueD/sDdeYdOgMZIf6VRafu5Y=; b=AdiMxbQtTVKPqjedLo5C44dnYcofaKZ3yVblzp8blOAw1nS8+sl7BghLj0ewBuplAN prGZkW2NG+hDl/Gus+nfwcVDyAdRL28efdknX/tG6lwXiNFnj53pktdlLL7m84hr8OIP BmcS9D/iZ66Pt91s9Q9g7slp2a9s1o+YnYATk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777555305; x=1778160105; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7KQEi+9Iq6a0oI1284HueD/sDdeYdOgMZIf6VRafu5Y=; b=hlj45TivtYVuDtsWgxPd6jVo3aIqGxpxEvoCVDhA02vf3HIp8oRzqUCzPSalgfe04y pKNAFdIbEmuvyrzdio7hTtXpZS4b7IgOpFdVCsvIkQHATvPy5nhnDjWL1c/Nlo3aG/go ZzlT1FaEhmODV6bABSc8V1d5j9GX1nw0LoRtnSbwxs8sDb2ILDvF01ESQzJVYAs7c+nv dVHkvteHM0q1pD0WCngUxsTR+MVFf+vnBWLmCqAyd3ygnTXephP1/N0HlXGmUzRO1CTL tHbRzNcXI95DvOhleA47I6sQdajSAOMiPS2FpoF/GdvfHt+o37H1w2f0SZVJYA0c2LZV qOHQ== X-Forwarded-Encrypted: i=1; AFNElJ8nRVbAudL6snPfF9MG9MGvGgSyS9kyRkqfvfd2LaE5LACi7g6FMvfhLCui8Wd0GELxWOP2ateuKBjaY6g=@vger.kernel.org X-Gm-Message-State: AOJu0YxYVGplfCCOvp1nKKmG/SQeH/N7sBNTwcPj5XIMuH4ZaWiac6QB KpjpsuBEgb0KS7eWS2T/r3VqPa6Mi/4XrRdKMlRkFk9TqYsPDgoSCmkEJ9RQvK1Ni6s= X-Gm-Gg: AeBDietOivAvheooEjqUbro3BLhoX/gakiLMvTOwXYU0n78jWeEzC1NP3wBsahuNaDX v5IqPrww6mWNGrvgi43x2rvwx5w8LsvPauSVoSoBZdr+jopeKgzA2VlLeCWK3pFdep6ii8YLjot LPunZ3v1PbZDIapA12S8/v+JXojsJ0uuV61UnbBuULVj7gBuM1W1tM9HCU4w7WAid+PMHgvrjde VdMSU5qu2cvpibJS2SjGpWYHAgiIVGip2NI75Hd5dQm8JS8iwz/JJTbtNLgn6JOHKveFsZlARlR UwAnVK9GtomXnCvEYMQiAF1xqTxGyeJAeAHJ6eXhSV/kNTDywTVwAtBjPHhdyXx+4usVDms7BV4 XiA1rCdsIOmAc9wjtfy9H4VpoX4KhoxvUJ24XZL+ki3FYnk9WluAICIi+M/yrEkw+GjiAPQWMIW c0NR5AnCcf3ZKZ3uCnSWlQ/1SLxmHZYS8lqtpD4axESJs6hlflCGygUERE7y/R797QxS4= X-Received: by 2002:a05:600c:8b04:b0:488:b241:2c5f with SMTP id 5b1f17b1804b1-48a8445fc28mr51917765e9.26.1777555305440; Thu, 30 Apr 2026 06:21:45 -0700 (PDT) Received: from riccardo-work (public.toolboxoffice.it. [213.215.163.27]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a82307f28sm106210325e9.13.2026.04.30.06.21.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 06:21:44 -0700 (PDT) From: Riccardo Mereu To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, broonie@kernel.org Cc: linux@roeck-us.net, Jonathan.Cameron@huawei.com, wenswang@yeah.net, naresh.solanki@9elements.com, michal.simek@amd.com, nuno.sa@analog.com, chou.cosmo@gmail.com, grantpeltier93@gmail.com, eajames@linux.ibm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, festevam@gmail.com, imx@lists.linux.dev, m.facchin@arduino.cc, dmitry.baryshkov@oss.qualcomm.com, loic.poulain@oss.qualcomm.com, Riccardo Mereu Subject: [PATCH 1/3] arm64: qcom: agatti: Add dai@3 Date: Thu, 30 Apr 2026 15:21:38 +0200 Message-ID: <20260430132140.30369-2-r.mereu.kernel@arduino.cc> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260430132140.30369-1-r.mereu.kernel@arduino.cc> References: <20260430132140.30369-1-r.mereu.kernel@arduino.cc> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Riccardo Mereu This will be used for audio over USB-C in Arduino UNO Q board. Signed-off-by: Riccardo Mereu Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/agatti.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/agatti.dtsi b/arch/arm64/boot/dts/qco= m/agatti.dtsi index 8a7337239b1e..01e98ef52271 100644 --- a/arch/arm64/boot/dts/qcom/agatti.dtsi +++ b/arch/arm64/boot/dts/qcom/agatti.dtsi @@ -2275,6 +2275,10 @@ dai@1 { dai@2 { reg =3D ; }; + + dai@3 { + reg =3D ; + }; }; }; =20 --=20 2.53.0 From nobody Tue Jun 16 15:56:22 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 5FBC742668D for ; Thu, 30 Apr 2026 13:21:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777555310; cv=none; b=GTmIYEz+AmmvjL0Txnsw8ey0NLpGBPkE03OfJ8D+Tt4AYqQzRrWNFSAECyIQejrruKmxgAwpMVVO22Ca6yPJetWACxQzRZoqBEpW6sxmJ0S5r3uv9Y8rPLrWPuz2weoOfuflY/vjvNrOcVMDxDLnk+oXRbEILlQWovTgTLQ3UsY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777555310; c=relaxed/simple; bh=GqRGrNLZXVzhBSOIsCYxa32HgZ4zBg0+yUDiq0uerkw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KSQ9M59edlaMUSZJ48OdxMjvLA8ganUR+LH3/ZYhFPUGgN8p5dAI7cYMhkcyVtq6/CVb3l7nsJmDl7wQW0sZ3BHDqJ4Y6a2YAeKxgCancWUnEMwTwZJZj6JbssvAHBGvdCV9+Se8j48qgRljDSbo5JMfPyOQBp/TMBsPgSU7nxk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=arduino.cc; spf=pass smtp.mailfrom=arduino.cc; dkim=pass (1024-bit key) header.d=arduino.cc header.i=@arduino.cc header.b=imfRiAs2; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=arduino.cc Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arduino.cc Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arduino.cc header.i=@arduino.cc header.b="imfRiAs2" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-4890d945eb4so12485205e9.0 for ; Thu, 30 Apr 2026 06:21:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arduino.cc; s=google; t=1777555307; x=1778160107; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4V2mrc16hrnhb507yXsAugmx8ywjiAaffpYxLf0PPSI=; b=imfRiAs29jnWpf/BBtEO8wB8Wqz5ZtHnOmHwJqzMfxAFANrUvruIMt+tuQRPBptE6G o11oficBhc0WLyZCCV7Gq6j0TNF1ACV5moUSR7zPZbLHhk5TbH/+E4bu7S7hHe1x85fd Cqm9ajErfkq4P2AADB50FlfegCgr0sFUHtr9o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777555307; x=1778160107; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4V2mrc16hrnhb507yXsAugmx8ywjiAaffpYxLf0PPSI=; b=soWsHBPs7gBtySUWMBYr6pGQxqQhmKi2n8fjNWkwuOa/a1kZMpL9IoxC5/32XmHMBD 4pYZZOXOr+Cquk00NjacOKhisza26JwRB1cFOneuLVxxUaXWmZXav2zY7rbLoGKRt41P cX2fRqqXFuv0wd/9R+gPQNWHGYq9ZOTJZn9cctd0cayAAJuQdRIyIqGcNkGtorunMXCf 5GX1RvzfrLJe17ugeacnI5OVZfFOHZUaq9ANe6wGdORbnOHs9bLJAQrXA8/jkQSQo5P9 riJ4lM6+JXgpApqEBXcn1wRVLFdi6byBifUX/w39Ixf2wCxbmq8xBfebXZFhBCx0ZIPL tZrQ== X-Forwarded-Encrypted: i=1; AFNElJ+kwF8XP0XX4FQWS2/c2QSYKFuYbYKZx7SXyapP68jr9uWkzbxNy5O+pJ8jaVsEDEXhZcLhHk6hPyKFkPo=@vger.kernel.org X-Gm-Message-State: AOJu0YzS0tPSQ23qGVngQ6CWAkPIMspnAAeCTVYVJnjv8o2hQgbIP6T0 7YMdODAcACKDDeZrOo71PT46c8Mln8tIxtADZ35ppNrPnIDwu4RGee2UCs8nLKA4q/M= X-Gm-Gg: AeBDietd/Ov0yJMq6xRatn5DT0sHrtz/1rafWGirKOGhDL9te/6ZLXQfs8h0GfKqOna mVrkeaO1Z+5anwEqje/9YO0NmyA0jVFDLHQjYfz2Y7prDoJFXpnTHUPJX+3Ag8WRWfzmq8jRe8d Z4RZU9P6dpJbIeSxUYv5rCzM4/8f8r9Wdyswc/wy8OyiE+UiQhs2tXQys+Cj4xc9cCGYK+Qo6MH JJJlsji67ihw8mLWUPYpsyleIfpMkbALM0UD4h3xQ1lpKFUJ/k8KFTAEE4MV3IFVvFs1c/UiszS tegpNMml+mo+0htJ80Sb5+pb4dOnpmxichHOzb+3rfiDXzl/H7bX7anXaBjVuKAFJuBzva1qFGM hWqkxspGr/5ejA8sxa3sOYwAlGUn5Pxk/V+R2Uwk+lzjm9++7HpGW5kwhSho/C0odmAeEOgjqnU BYKJuPJvLCv6RvG4anGp6XIem05Qqnrh1SQ2pxuavKmMkZ9B1J7IBCRCGwN4nFtQ7yYP/hTlMat xyWFA== X-Received: by 2002:a05:600c:5286:b0:486:faa8:9e4 with SMTP id 5b1f17b1804b1-48a86085131mr40450345e9.12.1777555306711; Thu, 30 Apr 2026 06:21:46 -0700 (PDT) Received: from riccardo-work (public.toolboxoffice.it. [213.215.163.27]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a82307f28sm106210325e9.13.2026.04.30.06.21.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 06:21:46 -0700 (PDT) From: Riccardo Mereu To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, broonie@kernel.org Cc: linux@roeck-us.net, Jonathan.Cameron@huawei.com, wenswang@yeah.net, naresh.solanki@9elements.com, michal.simek@amd.com, nuno.sa@analog.com, chou.cosmo@gmail.com, grantpeltier93@gmail.com, eajames@linux.ibm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, festevam@gmail.com, imx@lists.linux.dev, m.facchin@arduino.cc, dmitry.baryshkov@oss.qualcomm.com, loic.poulain@oss.qualcomm.com, Riccardo Mereu Subject: [PATCH 2/3] arm64: qcom: imola: Move analogix video/audio output to dtso Date: Thu, 30 Apr 2026 15:21:39 +0200 Message-ID: <20260430132140.30369-3-r.mereu.kernel@arduino.cc> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260430132140.30369-1-r.mereu.kernel@arduino.cc> References: <20260430132140.30369-1-r.mereu.kernel@arduino.cc> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Riccardo Mereu This is done in order to support different video output over DSI. Since audio part is linked to Analogix USB-C controller it is moved to the same DTSO. Signed-off-by: Riccardo Mereu --- arch/arm64/boot/dts/qcom/Makefile | 5 + ...ola.dts =3D> qrb2210-arduino-imola-base.dts} | 122 +++++++++++++++--- ...rb2210-arduino-imola-video_sound-usbc.dtso | 61 +++++++++ 3 files changed, 168 insertions(+), 20 deletions(-) rename arch/arm64/boot/dts/qcom/{qrb2210-arduino-imola.dts =3D> qrb2210-ar= duino-imola-base.dts} (85%) create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_so= und-usbc.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 4ba8e7306419..e89a0e77072b 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -193,6 +193,11 @@ qcs9100-ride-r3-el2-dtbs :=3D qcs9100-ride-r3.dtb lema= ns-el2.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-r3-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qdu1000-idp.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-base.dtb + +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-video_sound-usbc.dtbo + +qrb2210-arduino-imola-dtbs :=3D qrb2210-arduino-imola-base.dtb qrb2210-ard= uino-imola-video_sound-usbc.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-rb1.dtb =20 diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm6= 4/boot/dts/qcom/qrb2210-arduino-imola-base.dts similarity index 85% rename from arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts rename to arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-base.dts index bf088fa9807f..fb22effb9a35 100644 --- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-base.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) /* - * Copyright (c) 2025, Arduino SRL + * Copyright (c) 2026, Arduino SRL */ =20 /dts-v1/; @@ -110,6 +110,106 @@ multi-led { leds =3D <&ledr>, <&ledg>, <&ledb>; }; =20 + sound: sound { + compatible =3D "qcom,qrb2210-sndcard"; + model =3D "Arduino-Imola-HPH-LOUT"; + audio-routing =3D "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC2", "MIC BIAS2"; + + mm1-dai-link { + link-name =3D "MultiMedia1"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; + }; + }; + + mm2-dai-link { + link-name =3D "MultiMedia2"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; + }; + }; + + mm3-dai-link { + link-name =3D "MultiMedia3"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; + }; + }; + + mm4-dai-link { + link-name =3D "MultiMedia4"; + + cpu { + sound-dai =3D <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; + }; + }; + + hph-playback-dai-link { + link-name =3D "HPH Playback"; + cpu { + sound-dai =3D <&q6afedai RX_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&pmic4125_codec 0>, <&swr1 0>, <&rxmacro 0>; + }; + }; + + lo-playback-dai-link { + link-name =3D "LO Playback"; + cpu { + sound-dai =3D <&q6afedai RX_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&pmic4125_codec 0>, <&swr1 0>, <&rxmacro 0>; + }; + }; + + ear-playback-dai-link { + link-name =3D "Ear Playback"; + cpu { + sound-dai =3D <&q6afedai RX_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&pmic4125_codec 0>, <&swr1 0>, <&rxmacro 0>; + }; + }; + + hph-capture-dai-link { + link-name =3D "HP Capture"; + cpu { + sound-dai =3D <&q6afedai TX_CODEC_DMA_TX_3>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&pmic4125_codec 1>, <&swr0 0>, <&txmacro 0>; + }; + }; + }; + vreg_anx_30: regulator-anx-30 { compatible =3D "regulator-fixed"; regulator-name =3D "anx30"; @@ -165,6 +265,7 @@ anx7625: encoder@58 { analogix,lane1-swing =3D /bits/ 8 <0x14 0x54 0x64 0x74>; =20 pinctrl-0 =3D <&anx7625_int_pin>, <&anx7625_cable_det_pin>; + #sound-dai-cells =3D <1>; =20 connector { compatible =3D "usb-c-connector"; @@ -198,20 +299,6 @@ anx_ss_in: endpoint { }; }; }; - - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - - port@0 { - reg =3D <0>; - - anx_dsi0_in: endpoint { - remote-endpoint =3D <&mdss_dsi0_out>; - data-lanes =3D <0 1 2 3>; - }; - }; - }; }; }; =20 @@ -225,11 +312,6 @@ &mdss_dsi0 { status =3D "okay"; }; =20 -&mdss_dsi0_out { - remote-endpoint =3D <&anx_dsi0_in>; - data-lanes =3D <0 1 2 3>; -}; - &mdss_dsi0_phy { status =3D "okay"; }; diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usb= c.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usbc.dt= so new file mode 100644 index 000000000000..6fb256498cd1 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-video_sound-usbc.dtso @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2025, Arduino SA + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&anx7625 { + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + anx_dsi0_in: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + data-lanes =3D <0 1 2 3>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <&anx_dsi0_in>; + data-lanes =3D <0 1 2 3>; +}; + +&q6afedai { + #address-cells =3D <1>; + #size-cells =3D <0>; + #sound-dai-cells =3D <1>; + dai@18 { + reg =3D ; + qcom,sd-lines =3D <0>; + }; +}; + +&sound { + pinctrl-0 =3D <&lpi_i2s2_active>; + pinctrl-names =3D "default"; + + hdmi-i2s-dai-link { + link-name =3D "HDMI/I2S Playback"; + + cpu { + sound-dai =3D <&q6afedai SECONDARY_MI2S_RX>; + }; + + platform { + sound-dai =3D <&q6routing>; + }; + + codec { + sound-dai =3D <&anx7625 0>; + }; + }; +}; --=20 2.53.0 From nobody Tue Jun 16 15:56:22 2026 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 C6278426696 for ; Thu, 30 Apr 2026 13:21:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777555312; cv=none; b=B6kmaIG0zYibe9CQ0kxQbVyLqmyxLg4SUbSAJ8P6R+JZ08XtnS1+mJ2PHgKuyTlxIvB9nvbVmPLlW9z7FYu0gsfIn9fMOhaJiFse+oXp5yvR1Lp+O08sCNNit+nGgainjkmu/IlaFpyD1Y2kwJYlXaknowiB/GJtAkRX4lc7Lu0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777555312; c=relaxed/simple; bh=dB3yigQ6YUHEcC9mAWpx6FOMHhhRXxfxkIG0pTelrcs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pHNicYlLg9BiEZ5Ms5gzmiZg33adp0EFihqpZNHtmQ5Y76O/dqor02EAzC1e7gxvcYL2t2YMiGMGp/jLzNHP6Sqo+9zAhz8m59vLeEt9yYoROaYIQlwqM7WS4M/NFVjOvxhylFi8OjhXJu2Tu4XtSXy+zh95bLjBXm3TjHOKYrM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=arduino.cc; spf=pass smtp.mailfrom=arduino.cc; dkim=pass (1024-bit key) header.d=arduino.cc header.i=@arduino.cc header.b=CUbp5VcX; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=arduino.cc Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arduino.cc Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arduino.cc header.i=@arduino.cc header.b="CUbp5VcX" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4891cd41959so8453135e9.3 for ; Thu, 30 Apr 2026 06:21:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arduino.cc; s=google; t=1777555308; x=1778160108; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3MkL0qgeSar4YBymhXUpa8B2jXGEQhu5KS9oOv9c4/s=; b=CUbp5VcXSwInSuANVSVdgedAUSNsqOXqJCxFjuPFJqE2A9k83s2oAqE+usRkClRk0K DWWRySS+l6ciUz1KqEQwpRZt3S+yaiwAmNj96vfvOJESzlkbrFfWIAN1vuMVgdkijTu8 YPrjKpU94n3OnmYxZRaSqYwh++duTvLBItDxw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777555308; x=1778160108; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3MkL0qgeSar4YBymhXUpa8B2jXGEQhu5KS9oOv9c4/s=; b=n9IdCwQLL8X5A7RzUp4oF7WkEApMaZp8x6Q9+IYMq3Cy3s7YCfvf46J+fm/6xCNtgb Y6WHyw/CcbLRnceE47RjjIz5gAEz2rW4pAL0H04ArTC55HMLqINOL+Dejqe4oX/Wu/m1 7CrGbnuSOF/yJPpS12+BFRr/aKDjEVJ8Btq8U6zKGxz+XKSMp5Sv4fAKetc4fJYZCI6J 2Wk7RtNg/xjJ9rEFiN0vx1JaObT3KLMOOJIvEHd7P6ZShqPbaw04cdQFujYx9rDZrgAA bSqe5wI0RW0g7NEmq9hlIIMPv/pkSLHBx+SETkRd2N6VRz4QNx7aQwWc4rtgKvERajgf 9aOw== X-Forwarded-Encrypted: i=1; AFNElJ8+17dPwPVunPuGuG0hrGAXm2luoEix8Zmcxb3wb8PRHXRF8i3nrrzao5qA73jCGdVx7/0PulZHmepEtcE=@vger.kernel.org X-Gm-Message-State: AOJu0YxFYWvRaD4xnyPsERTve8JugPcO0rLP8Wuuf4icuJoayUUq2K80 nHafHc/eiRPzvFn51r+/XzrV2hYF6HObSsm7o/yPHwsVbQjX7XLOaC+Tx1ns0sDuX78= X-Gm-Gg: AeBDievhkl9RAtRnyFn3tNx7yOfJajcHm5d81YdQREJcNEYB//2Sgc0LjmElZfj4mJJ 5k/y1nb+d7D4BERoXFJdjefvrn07BXPZ36QTrwj25S1m+KeKoT5xjncO4gWGCioy2VjR2JqNtZ9 x05tCazceLyO1au0cPme6npNkyrHdOJ6u1eXtxPO9HdmOr8W9SG24VH4TZzSW7/7gSqfrejJU+e IPjdMW98xM4JXJdCezgjfzjCG7UlB3xB7ufOOMzRjtA9PlVfeaH+oM7ijlV3VQC7kowCPFVw7+C /tMS0Xc4OexbYxa26iwRV9wlBDmL6KBT18fRmUPB40y1Z9PVZQMp3uVwOC5cOeD12Xvy047z6Wp KPiCLUs+qckAol4doZrs6h7B1N8rOAhBAGnRBwKqProHXNxm5yN4NnvVYBTG7GazprG4U/vCxl1 d30uBYmGWEdWL2hoEQCW0kz0OyZcC7XHaL2me1KafPd4S6y/XmUkazIoHBAwlqsDTUmiY= X-Received: by 2002:a05:600c:8289:b0:48a:592c:e632 with SMTP id 5b1f17b1804b1-48a8444495cmr53979535e9.16.1777555308060; Thu, 30 Apr 2026 06:21:48 -0700 (PDT) Received: from riccardo-work (public.toolboxoffice.it. [213.215.163.27]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a82307f28sm106210325e9.13.2026.04.30.06.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 06:21:47 -0700 (PDT) From: Riccardo Mereu To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, broonie@kernel.org Cc: linux@roeck-us.net, Jonathan.Cameron@huawei.com, wenswang@yeah.net, naresh.solanki@9elements.com, michal.simek@amd.com, nuno.sa@analog.com, chou.cosmo@gmail.com, grantpeltier93@gmail.com, eajames@linux.ibm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, festevam@gmail.com, imx@lists.linux.dev, m.facchin@arduino.cc, dmitry.baryshkov@oss.qualcomm.com, loic.poulain@oss.qualcomm.com, Riccardo Mereu Subject: [PATCH 3/3] arm64: dts: qcom: imola: add support for media carrier board Date: Thu, 30 Apr 2026 15:21:40 +0200 Message-ID: <20260430132140.30369-4-r.mereu.kernel@arduino.cc> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260430132140.30369-1-r.mereu.kernel@arduino.cc> References: <20260430132140.30369-1-r.mereu.kernel@arduino.cc> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Riccardo Mereu Media Carrier is an expansion board for Arduino UNO Q. It adds two CSI connector, one DSI connector, 3 jack connectors for headphones, earphone and lineout and 4 RGB LEDs. Current devicetree overlays support: - imx219 based cameras (both with 4 lanes and 2 lanes) - Waveshare 5" and 8" touch A DSI displays. As can be noticed DTBOs are split and no overlay is performed in the Makefile. Overlaying is handled in user-space guiding users to configure the system matching what it is connected to the Media Carrier. Signed-off-by: Riccardo Mereu --- arch/arm64/boot/dts/qcom/Makefile | 8 ++ ...rrier-media-camera-imx219-csi0-2lanes.dtso | 49 +++++++ ...rrier-media-camera-imx219-csi0-4lanes.dtso | 49 +++++++ ...rrier-media-camera-imx219-csi1-2lanes.dtso | 49 +++++++ ...rrier-media-camera-imx219-csi1-4lanes.dtso | 49 +++++++ ...10-arduino-imola-carrier-media-common.dtsi | 46 ++++++ ...a-carrier-media-panel-5in_touch_a-dsi.dtso | 80 +++++++++++ ...a-carrier-media-panel-8in_touch_a-dsi.dtso | 80 +++++++++++ .../qrb2210-arduino-imola-carrier-media.dtso | 131 ++++++++++++++++++ 9 files changed, 541 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-camera-imx219-csi0-2lanes.dtso create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-camera-imx219-csi0-4lanes.dtso create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-camera-imx219-csi1-2lanes.dtso create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-camera-imx219-csi1-4lanes.dtso create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-common.dtsi create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-panel-5in_touch_a-dsi.dtso create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media-panel-8in_touch_a-dsi.dtso create mode 100644 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-= media.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index e89a0e77072b..441a217371ac 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -195,6 +195,14 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-r3-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qdu1000-idp.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-base.dtb =20 +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-camera-im= x219-csi0-2lanes.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-camera-im= x219-csi0-4lanes.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-camera-im= x219-csi1-2lanes.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-camera-im= x219-csi1-4lanes.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-panel-10i= n_touch_a-dsi.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-panel-8in= _touch_a-dsi.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-carrier-media-panel-5in= _touch_a-dsi.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D qrb2210-arduino-imola-video_sound-usbc.dtbo =20 qrb2210-arduino-imola-dtbs :=3D qrb2210-arduino-imola-base.dtb qrb2210-ard= uino-imola-video_sound-usbc.dtbo diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-c= amera-imx219-csi0-2lanes.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-im= ola-carrier-media-camera-imx219-csi0-2lanes.dtso new file mode 100644 index 000000000000..5b1d3cdc693a --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-camera-i= mx219-csi0-2lanes.dtso @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + +/dts-v1/; +/plugin/; + +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&camss { + ports { + port@0 { + csiphy0_ep: endpoint { + data-lanes =3D <0 1>; + remote-endpoint =3D <&imx219_0_ep>; + }; + }; + }; +}; + +&cci_i2c0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + sensor@10 { + compatible =3D "sony,imx219"; + reg =3D <0x10>; + clocks =3D <&cam24m>; + status =3D "okay"; + + VDIG-supply =3D <&cam_pwr_csi0>; + VANA-supply =3D <&cam_pwr_csi0>; + VDDL-supply =3D <&cam_pwr_csi0>; + + reset-gpios =3D <&pca9555 0 GPIO_ACTIVE_HIGH>; + + port { + /* MIPI CSI-2 bus endpoint */ + imx219_0_ep: endpoint { + remote-endpoint =3D <&csiphy0_ep>; + clock-lanes =3D <0>; + data-lanes =3D <1 2>; + link-frequencies =3D /bits/ 64 <456000000>; + }; + }; + }; +}; \ No newline at end of file diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-c= amera-imx219-csi0-4lanes.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-im= ola-carrier-media-camera-imx219-csi0-4lanes.dtso new file mode 100644 index 000000000000..0d76786bd925 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-camera-i= mx219-csi0-4lanes.dtso @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + +/dts-v1/; +/plugin/; + +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&camss { + ports { + port@0 { + csiphy0_ep: endpoint { + data-lanes =3D <0 1 2 3>; + remote-endpoint =3D <&imx219_0_ep>; + }; + }; + }; +}; + +&cci_i2c0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + sensor@10 { + compatible =3D "sony,imx219"; + reg =3D <0x10>; + clocks =3D <&cam24m>; + status =3D "okay"; + + VDIG-supply =3D <&cam_pwr_csi0>; + VANA-supply =3D <&cam_pwr_csi0>; + VDDL-supply =3D <&cam_pwr_csi0>; + + reset-gpios =3D <&pca9555 0 GPIO_ACTIVE_HIGH>; + + port { + /* MIPI CSI-2 bus endpoint */ + imx219_0_ep: endpoint { + remote-endpoint =3D <&csiphy0_ep>; + clock-lanes =3D <0>; + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <364000000>; + }; + }; + }; +}; \ No newline at end of file diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-c= amera-imx219-csi1-2lanes.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-im= ola-carrier-media-camera-imx219-csi1-2lanes.dtso new file mode 100644 index 000000000000..d74b63876e87 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-camera-i= mx219-csi1-2lanes.dtso @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + +/dts-v1/; +/plugin/; + +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&camss { + ports { + port@1 { + csiphy1_ep: endpoint { + data-lanes =3D <0 1>; + remote-endpoint =3D <&imx219_1_ep>; + }; + }; + }; +}; + +&cci_i2c1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + sensor@10 { + compatible =3D "sony,imx219"; + reg =3D <0x10>; + clocks =3D <&cam24m>; + status =3D "okay"; + + VDIG-supply =3D <&cam_pwr_csi1>; + VANA-supply =3D <&cam_pwr_csi1>; + VDDL-supply =3D <&cam_pwr_csi1>; + + reset-gpios =3D <&pca9555 2 GPIO_ACTIVE_HIGH>; + + port { + /* MIPI CSI-2 bus endpoint */ + imx219_1_ep: endpoint { + remote-endpoint =3D <&csiphy1_ep>; + clock-lanes =3D <0>; + data-lanes =3D <1 2>; + link-frequencies =3D /bits/ 64 <456000000>; + }; + }; + }; +}; \ No newline at end of file diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-c= amera-imx219-csi1-4lanes.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-im= ola-carrier-media-camera-imx219-csi1-4lanes.dtso new file mode 100644 index 000000000000..87db9ed386af --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-camera-i= mx219-csi1-4lanes.dtso @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + +/dts-v1/; +/plugin/; + +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&camss { + ports { + port@1 { + csiphy1_ep: endpoint { + data-lanes =3D <0 1 2 3>; + remote-endpoint =3D <&imx219_1_ep>; + }; + }; + }; +}; + +&cci_i2c1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + sensor@10 { + compatible =3D "sony,imx219"; + reg =3D <0x10>; + clocks =3D <&cam24m>; + status =3D "okay"; + + VDIG-supply =3D <&cam_pwr_csi1>; + VANA-supply =3D <&cam_pwr_csi1>; + VDDL-supply =3D <&cam_pwr_csi1>; + + reset-gpios =3D <&pca9555 2 GPIO_ACTIVE_HIGH>; + + port { + /* MIPI CSI-2 bus endpoint */ + imx219_1_ep: endpoint { + remote-endpoint =3D <&csiphy1_ep>; + clock-lanes =3D <0>; + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <364000000>; + }; + }; + }; +}; \ No newline at end of file diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-c= ommon.dtsi b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-c= ommon.dtsi new file mode 100644 index 000000000000..9670fecf6a89 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-common.d= tsi @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + +#include + +&{/} { + cam_pwr_csi0: cam-pwr-csi0 { + compatible =3D "regulator-fixed"; + regulator-name =3D "cam-pwr"; + startup-delay-us =3D <100000>; + gpio =3D <&pca9555 1 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + cam_pwr_csi1: cam-pwr-csi1 { + compatible =3D "regulator-fixed"; + regulator-name =3D "cam-pwr"; + startup-delay-us =3D <100000>; + gpio =3D <&pca9555 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + clocks { + cam24m: cam-clk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + clock-frequency =3D <24000000>; + clock-output-names =3D "cam24m"; + }; + }; +}; + +&cci_i2c0 { + clock-frequency =3D <100000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + pca9555: gpio@26 { + compatible =3D "nxp,pca9555"; + reg =3D <0x26>; + gpio-controller; + #gpio-cells =3D <2>; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-p= anel-5in_touch_a-dsi.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-= carrier-media-panel-5in_touch_a-dsi.dtso new file mode 100644 index 000000000000..cd9c533ad3a4 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-panel-5i= n_touch_a-dsi.dtso @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + + /dts-v1/; +/plugin/; + +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&{/} { + panel_avdd: regulator-panel-avdd { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel-avdd"; + gpios =3D <&wsgpio 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + panel_iovcc: regulator-panel-iovcc { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel-iovcc"; + gpios =3D <&wsgpio 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + panel_vcc: regulator-panel-vcc { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel-vcc"; + gpios =3D <&wsgpio 8 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; +}; + +&cci_i2c0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + wsgpio: gpio@45 { + compatible =3D "waveshare,dsi-touch-gpio"; + reg =3D <0x45>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + touch: goodix@5d { + compatible =3D "goodix,gt9271"; + reg =3D <0x5d>; + reset-gpio =3D <&wsgpio 9 GPIO_ACTIVE_HIGH>; + }; +}; + +&mdss_dsi0 { + vdda-supply =3D <&pm4125_l5>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "okay"; + + dsi_panel: dsi_panel@0 { + reg =3D <0>; + compatible =3D "waveshare,5.0-dsi-touch-a", "himax,hx8399c"; + reset-gpio =3D <&wsgpio 1 GPIO_ACTIVE_LOW>; + iovcc-supply =3D <&panel_iovcc>; + vcc-supply =3D <&panel_avdd>; + backlight =3D <&wsgpio>; + + port { + panel_in: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <&panel_in>; + data-lanes =3D <0 1 2 3>; +}; diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-p= anel-8in_touch_a-dsi.dtso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-= carrier-media-panel-8in_touch_a-dsi.dtso new file mode 100644 index 000000000000..41e7a254dbe7 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media-panel-8i= n_touch_a-dsi.dtso @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + + /dts-v1/; +/plugin/; + +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&{/} { + panel_avdd: regulator-panel-avdd { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel-avdd"; + gpios =3D <&wsgpio 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + panel_iovcc: regulator-panel-iovcc { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel-iovcc"; + gpios =3D <&wsgpio 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + panel_vcc: regulator-panel-vcc { + compatible =3D "regulator-fixed"; + regulator-name =3D "panel-vcc"; + gpios =3D <&wsgpio 8 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-always-on; + }; +}; + +&cci_i2c0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + wsgpio: gpio@45 { + compatible =3D "waveshare,dsi-touch-gpio"; + reg =3D <0x45>; + gpio-controller; + #gpio-cells =3D <2>; + }; + + touch: goodix@5d { + compatible =3D "goodix,gt9271"; + reg =3D <0x5d>; + reset-gpio =3D <&wsgpio 9 GPIO_ACTIVE_HIGH>; + }; +}; + +&mdss_dsi0 { + vdda-supply =3D <&pm4125_l5>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "okay"; + + dsi_panel: dsi_panel@0 { + reg =3D <0>; + compatible =3D "waveshare,8.0-dsi-touch-a", "jadard,jd9365da-h3"; + reset-gpio =3D <&wsgpio 1 GPIO_ACTIVE_LOW>; + vccio-supply =3D <&panel_iovcc>; + vdd-supply =3D <&panel_avdd>; + backlight =3D <&wsgpio>; + + port { + panel_in: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <&panel_in>; + data-lanes =3D <0 1 2 3>; +}; diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media.d= tso b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media.dtso new file mode 100644 index 000000000000..217a84199e9f --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola-carrier-media.dtso @@ -0,0 +1,131 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2026, Arduino SRL + */ + +/dts-v1/; +/plugin/; + +#include +#include +#include "qrb2210-arduino-imola-carrier-media-common.dtsi" + +&camss { + status =3D "okay"; + + vdda-csiphy-1p2-supply =3D <&pm4125_l5>; + vdda-pll-1p8-supply =3D <&pm4125_l13>; +}; + +&cci { + status=3D "okay"; +}; + +&leds { + led1-blue { + label =3D "media-carrier:blue1"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 14 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led1-green { + label =3D "media-carrier:green1"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 15 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led1-red { + label =3D "media-carrier:red1"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 13 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + led2-blue { + label =3D "media-carrier:blue2"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 11 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led2-green { + label =3D "media-carrier:green2"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 12 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led2-red { + label =3D "media-carrier:red2"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 10 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led3-blue { + label =3D "media-carrier:blue3"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 8 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led3-green { + label =3D "media-carrier:green3"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 9 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led3-red { + label =3D "media-carrier:red3"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 7 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led4-blue { + label =3D "media-carrier:blue4"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 5 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led4-green { + label =3D "media-carrier:green4"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 6 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; + + led4-red { + label =3D "media-carrier:red4"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&pca9555 4 GPIO_ACTIVE_LOW>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + }; +}; --=20 2.53.0