From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 454F83C199B; Fri, 18 Sep 2026 17:07:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751246; cv=none; b=cIFI1sB6FSBWnoGKBcrgdnDCHB4KPMpCOiM5pqCjRXGXN+IgQdeHYzHR1OCDWJmz6Z4tjboeScAEcpHzZVEV0ZTJ8VRTVbe9Hh09n55Tkxher5+1QmlVPY8eLMG3OiGviGVIvdxcIIshR00C8J6Rc29bPELAksio3kjyUSSY9/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751246; c=relaxed/simple; bh=4Rir2O/SJYgRxfaFeRkPtzZ3fpUBeXF+MRaQx2U5Z38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZW6hKMK9O6SB3qvwObw62AjQZIoH1URbYhb8EnvTN0GDWYTvsng3o1itkIvT2WSM4oydq2qg7dHlH5FspM4JiwWkDFRu4ps127ZMgrQB864PPEP2UlCOVFZvU6WlqeMPq5Dk56FVLIsDrAM3/uTz5SesbI/mTJoZMcCjMGIBeKU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=qffQgm+9; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="qffQgm+9" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B6AE34FC4; Fri, 18 Sep 2026 19:05:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751140; bh=4Rir2O/SJYgRxfaFeRkPtzZ3fpUBeXF+MRaQx2U5Z38=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=qffQgm+9tp/opiVVHHCUlkCOZIa7v43AAcK57VvMSPWgL8DYeaVRNhd8Uc3V5JqtX TTdIeAA2bVxaOLV04+UKRje9SPjQi+OoJBAcPPcAJLcaGG5OtTin57D49tLOUZ6uSW EpSAOsWM9cwHKYD1+lGoTzY/urIDb+9YHKgc9mls= From: Paul Elder Date: Sat, 19 Sep 2026 02:06:58 +0900 Subject: [PATCH DNI v2 01/11] dt-bindings: clock: renesas,r8a78000-cpg: Add CPG_SGD4_VIO_DP_{TX,OTHER} 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-1-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder X-Mailer: b4 0.14.2 Add the CPG_SGD4_VIO_DP_TX and CPG_SGD4_VIO_DP_OTHER clocks. The former is used by FCPV{B,D,I} and VSPD while the latter is used by VSP{B,I} on the Renesas R-Car X5H. Signed-off-by: Paul Elder --- include/dt-bindings/clock/renesas,r8a78000-cpg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/dt-bindings/clock/renesas,r8a78000-cpg.h b/include/dt-= bindings/clock/renesas,r8a78000-cpg.h index 5851a29847f961b9b4ec270f263eb3aa19e45308..8c1a01e28ddbb26c583d7c9b387= 400ef6626c06c 100644 --- a/include/dt-bindings/clock/renesas,r8a78000-cpg.h +++ b/include/dt-bindings/clock/renesas,r8a78000-cpg.h @@ -12,5 +12,7 @@ #define R8A78000_CPG_SGASYNCD16_PERW_BUS 2 #define R8A78000_CPG_S0D4_PERE_MAIN 3 // FIXME Preliminary #define R8A78000_CPG_MSOCK_PERW_BUS 4 // FIXME Preliminary +#define R8A78000_CPG_SGD4_VIO_DP_TX 5 // FIXME Preliminary +#define R8A78000_CPG_SGD4_VIO_DP_OTHER 6 // FIXME Preliminary =20 #endif /* __DT_BINDINGS_CLOCK_RENESAS_R8A78000_CPG_H__ */ --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 007BC51AFC0; Fri, 18 Sep 2026 17:07:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751252; cv=none; b=pELG7kOk/MtPlg/60tM+lMKDiNrQur4hVGLaiBYusOm6a7xFipBxqqivawGhBUa+XIzazbKpGE/mUBN7XN7Fl5z3VTHisuY6k1VBbnLAKr7i3dseerQjs32pfFN54oSgF/kBCtfN8TXy5ZcJVaH5uXCVr68Lf66mrra/pPPLQNo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751252; c=relaxed/simple; bh=oTQCa2YH8eyS9lAOOM+1pO2wTu7sfJ+tBuDE/zbBdnY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=piTD5RD3JsygRtLIUTYt/mMWBeb63I3MdeOnLKQbWtvpUawUMXwDqFE3s1dU3Fjsysr8630h22187F6uAuXZEoDxmxTOMhfKD+y8aYQsvMA7PvWOCYTsMArHdDNYb1uxctqPQIYaBi1587XdrsQfOZeVTlb+0ZEusd4KZiJjZIQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=gROeRlpK; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="gROeRlpK" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 359D64E46; Fri, 18 Sep 2026 19:05:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751146; bh=oTQCa2YH8eyS9lAOOM+1pO2wTu7sfJ+tBuDE/zbBdnY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=gROeRlpKgKdiZEpFCemCM6Uo4DKDqbQZ41YRig7KhqgbJZWfuDaH4WCVsDIhCkwiy hzRfx+7ufo3g/C11+wRRepE+9f5FFEyVSKEbi0Z2i0aFVIVC6fMSv9CrpnXE1Hp/RP vligDIAWc+rgq0E+fR1p3rpDpANWOPmQNmzLz/cs= From: Paul Elder Date: Sat, 19 Sep 2026 02:06:59 +0900 Subject: [PATCH DNI v2 02/11] clk: renesas: r8a78000: Add clock for FCPV and VSP for SCP FW SDKv4.36 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-2-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder X-Mailer: b4 0.14.2 Add clocks for the FCPV{B,D,I} and VSP{B,D, I}. They each have one clock from an option of two: a 1066MHz and a quarter-divided 266MHz. As we already have support for the 266MHz one, add just those for now. Signed-off-by: Paul Elder --- drivers/clk/renesas/r8a78000-cpg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/clk/renesas/r8a78000-cpg.c b/drivers/clk/renesas/r8a78= 000-cpg.c index b820d09e1a195068debe8a6eea7a01c534a97b23..17792ff6ab8ae2f7eb5c8f7e3d5= 81b43177e195d 100644 --- a/drivers/clk/renesas/r8a78000-cpg.c +++ b/drivers/clk/renesas/r8a78000-cpg.c @@ -326,6 +326,8 @@ static const struct clk_map_in r8a78000_cpg_fw_4_31_0[]= =3D { { R8A78000_CPG_SGASYNCD16_PERW_BUS, FIXED_CLK(66M) }, { R8A78000_CPG_S0D4_PERE_MAIN, FIXED_CLK(200M) }, { R8A78000_CPG_MSOCK_PERW_BUS, 1667 }, + { R8A78000_CPG_SGD4_VIO_DP_TX, FIXED_CLK(266M)}, + { R8A78000_CPG_SGD4_VIO_DP_OTHER, FIXED_CLK(266M)}, { -1 } }; =20 --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B53AA51AECE; Fri, 18 Sep 2026 17:07:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751258; cv=none; b=KjfdDqN5BxSsJVwYXA5DoGCDMQJcBKbpPJeFGvnEHwuoeo82v2uDnRr/MRh6o8et+9Tjthy3iRyK4lRseH/4OC7AlT3QzuN8GbiyJtVmaCw6ge3KHSUpkvdA9fNYXxUfS91deS9WzIhTSFLZEXkkvMrgy2CthF2U4NhQyDI6Tic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751258; c=relaxed/simple; bh=2QdsesoHAlMy96I5aiAFuYZ4M8Z0sKDlGzOlZi5kva8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=N0bBnBgLb2Mb1X7vOUDSdu88txtv0Q/hUiUPf1WRzVVQRs3zR8DtecVCh8HjT0cp5Ja08V0Nj+Yy2VqkDYnLU4ITeNEaH9/Tgn92TbLeHrU+JJUALs7V0F8HE6rXJVcAUlutsw9LXWGHzTr26mS0wyEcVwbWFrXnOoYY2MAnuPM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=pQ/9JShr; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="pQ/9JShr" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A3B9F4FC4; Fri, 18 Sep 2026 19:05:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751151; bh=2QdsesoHAlMy96I5aiAFuYZ4M8Z0sKDlGzOlZi5kva8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=pQ/9JShrjGBx/i4L0OLQ7oLCKasOVPvR1anTDZoiLbRN6hUj/iDtEnSCp+kUfa2S8 bSUWnDM+W3YSYFqkuMvquY6fM/ylBLEfdrxkdbt4+8mrT44dMpXbIV8xnvf05lGz6s tR1LLkEPwq6ZcBv05dOmkPopGcVi1ye6ELwlA3fo= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:00 +0900 Subject: [PATCH v2 03/11] pmdomain: renesas: r8a78000: Add maps for VIO for SCP FW SDKv4.36 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-3-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder X-Mailer: b4 0.14.2 Add maps for VIO for the VSP and FCP power domains and reset domains. Signed-off-by: Paul Elder --- Changes in v2: - add VSPD and FCPVD --- drivers/pmdomain/renesas/r8a78000-mdlc.c | 54 ++++++++++++++++++++++++++++= ++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/drivers/pmdomain/renesas/r8a78000-mdlc.c b/drivers/pmdomain/re= nesas/r8a78000-mdlc.c index a0d83f27735e7deacb060e4102e510726b34e62e..cabe6435ecd791e358fd6987ce9= 394898d8c87f8 100644 --- a/drivers/pmdomain/renesas/r8a78000-mdlc.c +++ b/drivers/pmdomain/renesas/r8a78000-mdlc.c @@ -861,6 +861,56 @@ static const struct mdlc_info r8a78000_mdlc_fw_4_28_0[= ] =3D { { /* sentinel */ } }; =20 +static const struct power_map_in r8a78000_mdlc_vio_power_fw_4_31_0[] =3D { + { 0, 4 }, /* PD_VIO0 */ + { 1, 5 }, /* PD_VIO1 */ + { 2, 6 }, /* PD_VIO2 */ + { 3, 7 }, /* PD_VIO3 */ + { 7, 11 }, /* PD_VIO4 */ + { -1 } +}; +static const struct mod_map_in r8a78000_mdlc_vio_mod_fw_4_31_0[] =3D { + { 0x70, 26 }, /* VSPD0 */ + { 0x71, 27 }, /* VSPD1 */ + { 0x72, 28 }, /* VSPD2 */ + { 0x73, 29 }, /* VSPD3 */ + { 0x74, 30 }, /* VSPD4 */ + { 0x75, 31 }, /* VSPDB0 */ + { 0x76, 32 }, /* VSPDB1 */ + { 0x77, 33 }, /* VSPDB2 */ + { 0x78, 34 }, /* VSPDB3 */ + { 0x79, 35 }, /* VSPDB4 */ + { 0x7e, 40 }, /* FCPVD0 */ + { 0x7f, 41 }, /* FCPVD1 */ + { 0x80, 42 }, /* FCPVD2 */ + { 0x81, 43 }, /* FCPVD3 */ + { 0x82, 44 }, /* FCPVD4 */ + { 0x83, 45 }, /* FCPVD5 */ + { 0x84, 46 }, /* FCPVD6 */ + { 0x85, 47 }, /* FCPVD7 */ + { 0x86, 48 }, /* FCPVD8 */ + { 0x87, 49 }, /* FCPVD9 */ + { 0xf9, 163 }, /* VSPB0 */ + { 0xfa, 164 }, /* VSPB1 */ + { 0xfb, 165 }, /* VSPB2 */ + { 0xfc, 166 }, /* VSPB3 */ + { 0xfd, 167 }, /* VSPB4 */ + { 0xfe, 168 }, /* VSPI0 */ + { 0xff, 169 }, /* VSPI1 */ + { 0x100, 170 }, /* VSPI2 */ + { 0x101, 171 }, /* VSPI3 */ + { 0x102, 172 }, /* FCPVB0 */ + { 0x103, 173 }, /* FCPVB1 */ + { 0x104, 174 }, /* FCPVB2 */ + { 0x105, 175 }, /* FCPVB3 */ + { 0x106, 176 }, /* FCPVB4 */ + { 0x107, 177 }, /* FCPVI0 */ + { 0x108, 178 }, /* FCPVI1 */ + { 0x109, 179 }, /* FCPVI2 */ + { 0x10a, 180 }, /* FCPVI3 */ + { -1 } +}; + static const struct mod_map_in r8a78000_mdlc_pere_mod_fw_4_31_0[] =3D { { 0x30, 193 }, /* PERE_GPIODM0 */ // No CLOCK_ATTRIBUTES { 0x31, 194 }, /* PERE_GPIODM1 */ @@ -997,8 +1047,8 @@ static const struct mdlc_info r8a78000_mdlc_fw_4_31_0[= ] =3D { /* FIXME .mod_map =3D r8a78000_mdlc_vips_mod_fw_4_31_0, */ }, { .base =3D 0xc5000000 /* mdlc_vio */, - /* FIXME .power_map =3D r8a78000_mdlc_vio_power_fw_4_28_0, */ - /* FIXME .mod_map =3D r8a78000_mdlc_vio_mod_fw_4_31_0, */ + .power_map =3D r8a78000_mdlc_vio_power_fw_4_31_0, + .mod_map =3D r8a78000_mdlc_vio_mod_fw_4_31_0, }, { .base =3D 0xc08f0000 /* mdlc_pere */, .power_map =3D r8a78000_mdlc_pere_power_fw_4_28_0, --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0FB851C041; Fri, 18 Sep 2026 17:07:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751263; cv=none; b=Z+YDAVxA8dzd4qrD+Fsoq4FLoCmvNe1U1L2rBciX64QAYMihzXFVmgom76rsfsJJWdUDjTuQJ7RdplVLOSnEXOAg+lHRh4bxRpnLdTSY6TmDeIGgKtrNG2yxbwNZxZlGn+zDRddkzFEfpCvhCPt3ffUkacHflDDeSy7AQJ1q18Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751263; c=relaxed/simple; bh=iz05zPGyXWHPp86T+SM6MxX8QkJ7/9AK+9QDpl1Ry0M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LjJH9BiNmFhlLeFYqOHUy0Sli8G0DmrQ7it8QXKkwamCIGjBeK1LrAvcWEtOS4jdRIbMjEu411sMvlX+Cr9Z6J2SUGJT4HWsDUzCD6Gn9cKrAZb1HgyZV2LsRLTWsjXmZaldX4OUU6Pb6IiJkP/rjLZ0oTpHtjkv+LjGyduZZxM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=c3meTlHH; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="c3meTlHH" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 204CA4E46; Fri, 18 Sep 2026 19:05:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751157; bh=iz05zPGyXWHPp86T+SM6MxX8QkJ7/9AK+9QDpl1Ry0M=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=c3meTlHHZfc28QoJjzJKlYZ2gPyEWifo3GHdDG5sQGE5LxCFkxsoOsxdPWtWM3Mry yIhWlP65QvGxqDqvAjofAXwEuKN4lIxiZgzcfSZBw8eZFFjiEizVFH7TItWEFD+DDE oqyOWa9GXdo9Un5Z7Rg422YeLt4VpJAMklyk09WA= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:01 +0900 Subject: [PATCH v2 04/11] arm64: renesas: r8a78000: Add FCPV[BI] nodes 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-4-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder , Laurent Pinchart X-Mailer: b4 0.14.2 Add DT nodes for the FCPVB and FCPVI IP cores in the R-Car X5H SoC. Signed-off-by: Laurent Pinchart Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart Tested-by: Laurent Pinchart --- arch/arm64/boot/dts/renesas/r8a78000.dtsi | 72 +++++++++++++++++++++++++++= ++++ 1 file changed, 72 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a78000.dtsi b/arch/arm64/boot/dt= s/renesas/r8a78000.dtsi index 9a07753b221541ed49a975e0c95f2f5d1fdc6ac2..2f8886f8b6545026397fd839698= 82f8c62afa9d3 100644 --- a/arch/arm64/boot/dts/renesas/r8a78000.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a78000.dtsi @@ -1000,6 +1000,78 @@ mdlc_aon: system-controller@c1338000 { bootph-all; }; =20 + fcpvi0: fcp@c5030000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5030000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x107>; + resets =3D <&mdlc_vio 0x107>; + }; + + fcpvi1: fcp@c5031000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5031000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x108>; + resets =3D <&mdlc_vio 0x108>; + }; + + fcpvi2: fcp@c5032000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5032000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x109>; + resets =3D <&mdlc_vio 0x109>; + }; + + fcpvi3: fcp@c5033000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5033000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x10a>; + resets =3D <&mdlc_vio 0x10a>; + }; + + fcpvb0: fcp@c5038000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5038000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x102>; + resets =3D <&mdlc_vio 0x102>; + }; + + fcpvb1: fcp@c5039000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5039000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x103>; + resets =3D <&mdlc_vio 0x103>; + }; + + fcpvb2: fcp@c503a000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc503a000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x104>; + resets =3D <&mdlc_vio 0x104>; + }; + + fcpvb3: fcp@c503b000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc503b000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x105>; + resets =3D <&mdlc_vio 0x105>; + }; + + fcpvb4: fcp@c503c000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc503c000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x106>; + resets =3D <&mdlc_vio 0x106>; + }; + mdlc_cmnn: system-controller@ca410000 { compatible =3D "renesas,r8a78000-mdlc"; reg =3D <0 0xca410000 0 0x1000>; --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66E6D519926; Fri, 18 Sep 2026 17:07:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751269; cv=none; b=CaJ6lspBTb/+DoDNt/KlayOyWyeV5oYqaCDmxNpZr3ijdb6XW0JaP2q3VaeGQt2kizNb1NlIQo04yYovEU9ppu7Zts7yBXQcLXRkORxJVpD2djmY0IGIWQBa0KlhSNqy4GpZ/dJtYgDrpBM28aAtDHlK9xsai9gR9xiqQwLojT4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751269; c=relaxed/simple; bh=zAxf9n1/z0ffLFIX6ivNQZNwiLU7JZaR3J3ouxyiVPc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NG9YIflzr281wE1pKedSpxfPZmqB9+PVuVPWsoDOi/twIfWSxRGmIOhd9esPNWuQwtXyE3MCL9LeuAquZoekZp8vRBXbEp2JYxf95xs7/Q5W6R5rExdGqfsOAF5D91QQ4KJ3FGdlisQHptWCqRkJqQYrGjOH6zvfC8K8baMqvkw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=QNbzIFBm; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="QNbzIFBm" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id C74B9417F; Fri, 18 Sep 2026 19:05:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751162; bh=zAxf9n1/z0ffLFIX6ivNQZNwiLU7JZaR3J3ouxyiVPc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=QNbzIFBmMRk9J+AktkGFB5DuO3ql7hNm4vX3BsazIIATuEMbUDt7Cq/jZoQsNyUlF 5O4+jH8WJcFRO8xL7ARaLOftzWM5yUThLPInpl09fmGXzBt0673nXkyXk0ZibmwCiR 71ca+gpEPn7CYOqtU+Wtfr2y9OfTC058cUEC/0Y4= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:02 +0900 Subject: [PATCH v2 05/11] arm64: renesas: r8a78000: Add VSP[BI] nodes 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-5-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder , Laurent Pinchart X-Mailer: b4 0.14.2 From: Laurent Pinchart Add DT nodes for the VSPB and VSPI IP cores in the R-Car X5H SoC. Signed-off-by: Laurent Pinchart Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart Tested-by: Laurent Pinchart --- arch/arm64/boot/dts/renesas/r8a78000.dtsi | 99 +++++++++++++++++++++++++++= ++++ 1 file changed, 99 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a78000.dtsi b/arch/arm64/boot/dt= s/renesas/r8a78000.dtsi index 2f8886f8b6545026397fd83969882f8c62afa9d3..f90b869579d384e3fc13d0a1362= 5b7cddaac2868 100644 --- a/arch/arm64/boot/dts/renesas/r8a78000.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a78000.dtsi @@ -1072,6 +1072,105 @@ fcpvb4: fcp@c503c000 { resets =3D <&mdlc_vio 0x106>; }; =20 + vspi0: vsp@c5080000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc5080000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xfe>; + resets =3D <&mdlc_vio 0xfe>; + + renesas,fcp =3D <&fcpvi0>; + }; + + vspi1: vsp@c5088000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc5088000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xff>; + resets =3D <&mdlc_vio 0xff>; + + renesas,fcp =3D <&fcpvi1>; + }; + + vspi2: vsp@c5090000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc5090000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0x100>; + resets =3D <&mdlc_vio 0x100>; + + renesas,fcp =3D <&fcpvi2>; + }; + + vspi3: vsp@c5098000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc5098000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0x101>; + resets =3D <&mdlc_vio 0x101>; + + renesas,fcp =3D <&fcpvi3>; + }; + + vspb0: vsp@c50c0000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc50c0000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xf9>; + resets =3D <&mdlc_vio 0xf9>; + + renesas,fcp =3D <&fcpvb0>; + }; + + vspb1: vsp@c50c8000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc50c8000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xfa>; + resets =3D <&mdlc_vio 0xfa>; + + renesas,fcp =3D <&fcpvb1>; + }; + + vspb2: vsp@c50d0000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc50d0000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xfb>; + resets =3D <&mdlc_vio 0xfb>; + + renesas,fcp =3D <&fcpvb2>; + }; + + vspb3: vsp@c50d8000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc50d8000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xfc>; + resets =3D <&mdlc_vio 0xfc>; + + renesas,fcp =3D <&fcpvb3>; + }; + + vspb4: vsp@c50e0000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc50e0000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_OTHER>; + power-domains =3D <&mdlc_vio 0x07 0xfd>; + resets =3D <&mdlc_vio 0xfd>; + + renesas,fcp =3D <&fcpvb4>; + }; + mdlc_cmnn: system-controller@ca410000 { compatible =3D "renesas,r8a78000-mdlc"; reg =3D <0 0xca410000 0 0x1000>; --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D855151A153; Fri, 18 Sep 2026 17:07:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751274; cv=none; b=FPsMa4cVGjYckL74aPhYjexCw6kJvVn9seddwUFtuTyTCCYRESs3LEsc89QafV69W0Z3prV2Cv26NLhtWDFqyo1SQ2uPIAcpCBE1NhL8qDQwzSI/BnUk3KhPBGmgUklnKNTFSWL1N1tT0N+EuJ9Qo+R1qu0nuCwkthf6s0Gaolk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751274; c=relaxed/simple; bh=+2iBL1HKw7M2oU1ouDQz0FKKVSud/ida3F3JGAg629M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P2QeZ+BWqM4PEhWbQpwTks1xeFr23dMOiNKbtLaMLX3eIgWVSr8wprv4gr3p1Q2v+GXYgaJqIIFOjeTgLqTqYw9O0f7573D71AW7y+TC75OupBkyvEX7EcCdgiFZWvo6k3+E9mMY3w6hRB5jUIYH0H3IjRMR8+G3QUE83JB8hm8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=Kek1O52y; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Kek1O52y" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7B17A4E46; Fri, 18 Sep 2026 19:06:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751168; bh=+2iBL1HKw7M2oU1ouDQz0FKKVSud/ida3F3JGAg629M=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Kek1O52y4o7nxgPqrtEfslCQL1KYkBeIkKuezt0bjlhiNtrAUIGZSe3kGuCkF9sun SrBHgOCbQyNwcOlCluFLP1M+1rc+079MTcSNx+9shwutNnne4vgovBiZNgOOjZoPcj R7AbuG2mBMSycUEfyzA73LnMUS/dun3O5TfVulKU= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:03 +0900 Subject: [PATCH v2 06/11] arm64: renesas: r8a78000: Add FCPVD and VSPD nodes 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-6-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder X-Mailer: b4 0.14.2 Add DT nodes for the FCPVD and VSPD IP cores in the R-Car X5H SoC. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- arch/arm64/boot/dts/renesas/r8a78000.dtsi | 190 ++++++++++++++++++++++++++= ++++ 1 file changed, 190 insertions(+) diff --git a/arch/arm64/boot/dts/renesas/r8a78000.dtsi b/arch/arm64/boot/dt= s/renesas/r8a78000.dtsi index f90b869579d384e3fc13d0a13625b7cddaac2868..21b83531a5b6ceec02dd11f6bcc= dd40d253bb42d 100644 --- a/arch/arm64/boot/dts/renesas/r8a78000.dtsi +++ b/arch/arm64/boot/dts/renesas/r8a78000.dtsi @@ -1000,6 +1000,196 @@ mdlc_aon: system-controller@c1338000 { bootph-all; }; =20 + fcpvd0: fcp@c5010000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5010000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x7e>; + resets =3D <&mdlc_vio 0x7e>; + }; + + fcpvd1: fcp@c5011000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5011000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x7f>; + resets =3D <&mdlc_vio 0x7f>; + }; + + fcpvd2: fcp@c5012000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5012000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x80>; + resets =3D <&mdlc_vio 0x80>; + }; + + fcpvd3: fcp@c5013000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5013000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x81>; + resets =3D <&mdlc_vio 0x81>; + }; + + fcpvd4: fcp@c5014000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5014000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x82>; + resets =3D <&mdlc_vio 0x82>; + }; + + fcpvd5: fcp@c5015000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5015000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x83>; + resets =3D <&mdlc_vio 0x83>; + }; + + fcpvd6: fcp@c5016000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5016000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x84>; + resets =3D <&mdlc_vio 0x84>; + }; + + fcpvd7: fcp@c5017000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5017000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x85>; + resets =3D <&mdlc_vio 0x85>; + }; + + fcpvd8: fcp@c5018000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5018000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x86>; + resets =3D <&mdlc_vio 0x86>; + }; + + fcpvd9: fcp@c5019000 { + compatible =3D "renesas,fcpv"; + reg =3D <0 0xc5019000 0 0x1000>; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x87>; + resets =3D <&mdlc_vio 0x87>; + }; + + vspd0: vsp@c4800000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4800000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x70>; + resets =3D <&mdlc_vio 0x70>; + + renesas,fcp =3D <&fcpvd0>; + }; + + vspd1: vsp@c4808000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4808000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x71>; + resets =3D <&mdlc_vio 0x71>; + + renesas,fcp =3D <&fcpvd1>; + }; + + vspd2: vsp@c4810000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4810000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x72>; + resets =3D <&mdlc_vio 0x72>; + + renesas,fcp =3D <&fcpvd2>; + }; + + vspd3: vsp@c4818000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4818000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x73>; + resets =3D <&mdlc_vio 0x73>; + + renesas,fcp =3D <&fcpvd3>; + }; + + vspd4: vsp@c4820000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4820000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x74>; + resets =3D <&mdlc_vio 0x74>; + + renesas,fcp =3D <&fcpvd4>; + }; + + vspdb0: vsp@c4828000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4828000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x75>; + resets =3D <&mdlc_vio 0x75>; + + renesas,fcp =3D <&fcpvd5>; + }; + + vspdb1: vsp@c4830000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4830000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x76>; + resets =3D <&mdlc_vio 0x76>; + + renesas,fcp =3D <&fcpvd6>; + }; + + vspdb2: vsp@c4838000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4838000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x77>; + resets =3D <&mdlc_vio 0x77>; + + renesas,fcp =3D <&fcpvd7>; + }; + + vspdb3: vsp@c4840000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4840000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x78>; + resets =3D <&mdlc_vio 0x78>; + + renesas,fcp =3D <&fcpvd8>; + }; + + vspdb4: vsp@c4848000 { + compatible =3D "renesas,vsp2"; + reg =3D <0 0xc4848000 0 0x8000>; + interrupts =3D ; + clocks =3D <&cpg R8A78000_CPG_SGD4_VIO_DP_TX>; + power-domains =3D <&mdlc_vio 0x07 0x79>; + resets =3D <&mdlc_vio 0x79>; + + renesas,fcp =3D <&fcpvd9>; + }; + fcpvi0: fcp@c5030000 { compatible =3D "renesas,fcpv"; reg =3D <0 0xc5030000 0 0x1000>; --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D8F651C348; Fri, 18 Sep 2026 17:07:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751280; cv=none; b=ZwD6uJp2fhUkt0aqsNJc6+TXpLuUgAj4tKoNc3FMtpG83B48lPm2qr1JvHZZXWopW9tMn6T92b9jEpidEn1m9+TZ3PFhz6HLpvz0rS/TI2Lfn505f2fU+vtHqvDiMl5dynnRoC/I+/ughnL/G07DWwnwlzqOUktvTdHojSN4TNI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751280; c=relaxed/simple; bh=bpXqtsWqrM7gLL19B+WOY0IajzWlW8W1W+pHV9t3RfU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TIOvF/dI/KAOhWalVWY9kOcfHTg9UdLTWFv4GxMjlsSQRvV9M8pBkzVHxcanSMgfzs7FCyIgRCY+JUGra9HqEBnTfCkHHt9z7gMv8tmO6PRPyqyOclaKkGscE9szOR7d+3PDcPnT7vCwGybrvmkas0NhxZo1m29hsCZFD0vgZCM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=AVHOlWQ4; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="AVHOlWQ4" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id EB01E417F; Fri, 18 Sep 2026 19:06:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751174; bh=bpXqtsWqrM7gLL19B+WOY0IajzWlW8W1W+pHV9t3RfU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AVHOlWQ4sOr+4tbCn0ruZ0LvqLXPSMNz5PZpnmI9vg/kTKoUr23eGh58O/K/wgQAZ NWZsldr2eMEbtUHlz4TW8+oCymeSRSVBfjQ2cVjfh0yfmfJ7eilz3pN80DHSf0ICAB AoMTowQD4EbYQrbb+acjXqziC7YIwJ1Ep7rzji9s= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:04 +0900 Subject: [PATCH v2 07/11] media: vsp1: Support full VSPB on R-Car M3-W, M3-N and E3 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-7-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder , Laurent Pinchart X-Mailer: b4 0.14.2 From: Laurent Pinchart The M3-W, M3-N and E3 SoCs integrate a VSPB that reports the same version ID as the VSPBD in the H3 and H3-N, but includes additional entities compared to the VSPBD. The VSPBD device entry in the driver matches on the version ID only, which results in the VSPB being handled as a VSPBD. The driver therefore doesn't support the CLU, LUT and HGO entities in the M3-W, M3-N and E3 SoCs. To fix it, split the device entry in two, one for the VSPBD with an additional SoC ID match, and one for the VSPB. The VSPBD entry needs to be listed first, otherwise the VSPB entry will match on H3 and H3-N as well. The VI6_IP_VERSION_MODEL_VSPBD_GEN3 macro is renamed to VI6_IP_VERSION_MODEL_VSPB_GEN3 to indicate that the VSPBD is the special case. Signed-off-by: Laurent Pinchart Signed-off-by: Paul Elder --- drivers/media/platform/renesas/vsp1/vsp1_drv.c | 13 ++++++++++++- drivers/media/platform/renesas/vsp1/vsp1_regs.h | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drv.c b/drivers/media= /platform/renesas/vsp1/vsp1_drv.c index 762a9e776a94d50accad070068f92f6dabb81035..5597595414fe787413c7daa5a31= 42faa9ced8408 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_drv.c +++ b/drivers/media/platform/renesas/vsp1/vsp1_drv.c @@ -781,14 +781,25 @@ static const struct vsp1_device_info vsp1_device_info= s[] =3D { .wpf_count =3D 1, .uapi =3D true, }, { - .version =3D VI6_IP_VERSION_MODEL_VSPBD_GEN3, + .version =3D VI6_IP_VERSION_MODEL_VSPB_GEN3, .model =3D "VSP2-BD", + .soc =3D VI6_IP_VERSION_SOC_H3, .gen =3D 3, .features =3D VSP1_HAS_BRU | VSP1_HAS_WPF_VFLIP, .rpf_count =3D 5, .wpf_count =3D 1, .num_bru_inputs =3D 5, .uapi =3D true, + }, { + .version =3D VI6_IP_VERSION_MODEL_VSPB_GEN3, + .model =3D "VSP2-B", + .gen =3D 3, + .features =3D VSP1_HAS_BRU | VSP1_HAS_CLU | VSP1_HAS_HGO + | VSP1_HAS_LUT | VSP1_HAS_WPF_VFLIP, + .rpf_count =3D 5, + .wpf_count =3D 1, + .num_bru_inputs =3D 5, + .uapi =3D true, }, { .version =3D VI6_IP_VERSION_MODEL_VSPBC_GEN3, .model =3D "VSP2-BC", diff --git a/drivers/media/platform/renesas/vsp1/vsp1_regs.h b/drivers/medi= a/platform/renesas/vsp1/vsp1_regs.h index 10cfbcd1b6e0b3a9c0a8daaa990babfaeb8dde0c..4c0315656e9f81a9656b58fb6f0= 233f8a22ac0e1 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_regs.h +++ b/drivers/media/platform/renesas/vsp1/vsp1_regs.h @@ -792,7 +792,7 @@ #define VI6_IP_VERSION_MODEL_VSPS_V2H (0x12 << 8) #define VI6_IP_VERSION_MODEL_VSPD_V2H (0x13 << 8) #define VI6_IP_VERSION_MODEL_VSPI_GEN3 (0x14 << 8) -#define VI6_IP_VERSION_MODEL_VSPBD_GEN3 (0x15 << 8) +#define VI6_IP_VERSION_MODEL_VSPB_GEN3 (0x15 << 8) #define VI6_IP_VERSION_MODEL_VSPBC_GEN3 (0x16 << 8) #define VI6_IP_VERSION_MODEL_VSPD_GEN3 (0x17 << 8) #define VI6_IP_VERSION_MODEL_VSPD_V3 (0x18 << 8) --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 376F051AFE8; Fri, 18 Sep 2026 17:08:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751285; cv=none; b=LLu62YUDjJwrTsFmtHRPLWH5pMYmXmSyHZ8MgQJY6lCprXTNDgJDJe4hvmG96l3rTM31zFSNKIdcRGwLtIQN9kH1BL1KT0vW7XDgF3IS53yQwPdAclIWBUSRsWIGBRRtP5I8xrKmp0J5YIBwhPJygEQ83UKXE3XsuKpkVeg+4v0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751285; c=relaxed/simple; bh=BSGm1l1KB/Q83EO6eHgsRE1TDeHVoZ+R8SFP+nzEJMU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ryi+dlzdIDnrgulCinE8bB6m5LJ/djBU+htyTguiuWkGcEqu/2AGk03LBxFHv0HyJL+oXgOphjsqR3iOEXH3iB6YJ7Nc3ykTqcIoK8YuOg08zOvuREv4V/5mSiwHBKjypEz8IqT8Q1Q/iiTThHfHUcfi20bvVQiODtF4hIjHmOE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=IgL9zVb1; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="IgL9zVb1" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 9DDD04E46; Fri, 18 Sep 2026 19:06:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751179; bh=BSGm1l1KB/Q83EO6eHgsRE1TDeHVoZ+R8SFP+nzEJMU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=IgL9zVb1fefpta78YEnBkRKp0bGJS2wpExdybW6BXAJvJujqnEDYLhTE/ObeSvXMg 8Z4xulKTsuz2o/DI8F7bfowHJ6L5BNspRuIcw5tg3mQ4bfrQh7LDi0xOQzVKm8SpP7 B8GZSK7yt8wrbbaFZc7W/G8JhR3t5RnEUZbIp1Mw= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:05 +0900 Subject: [PATCH v2 08/11] media: vsp1: Document X5H SoC ID 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-8-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder , Laurent Pinchart X-Mailer: b4 0.14.2 From: Laurent Pinchart The R-Car X5H uses 0x09 as the SoC ID in the version register. Document is with a macro, as done for other R-Car SoCs. Signed-off-by: Laurent Pinchart Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- Changes in v2: - Fix the version register number: s/0x04/0x09/ --- drivers/media/platform/renesas/vsp1/vsp1_regs.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/renesas/vsp1/vsp1_regs.h b/drivers/medi= a/platform/renesas/vsp1/vsp1_regs.h index 4c0315656e9f81a9656b58fb6f0233f8a22ac0e1..8abf39bac6c2f333696ebf55de8= 7586d2df3bed0 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_regs.h +++ b/drivers/media/platform/renesas/vsp1/vsp1_regs.h @@ -816,6 +816,7 @@ #define VI6_IP_VERSION_SOC_E3 (0x04 << 0) #define VI6_IP_VERSION_SOC_V3U (0x05 << 0) #define VI6_IP_VERSION_SOC_V4H (0x06 << 0) +#define VI6_IP_VERSION_SOC_X5H (0x09 << 0) /* RZ/G2L SoCs have no version register, So use 0x80 for SoC Identificatio= n */ #define VI6_IP_VERSION_SOC_RZG2L (0x80 << 0) =20 --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 74E8A51AFC0; Fri, 18 Sep 2026 17:08:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751291; cv=none; b=PoDD9Cj+EYgtuuHbXbck6G0u/u2jGxK4Laroxq3TK8AZ1PBgeqwhmmpIk6mTd/2xfRHxoe6u71AdcvW4MTIGjjAWvRwjWrfJ2AB3DStM6Z30JFkHVcz1wqgaafvl8MgWkO/qJIlB1Pe91fLJMfghsBsk6h8Qjy7hI0kRBrAvr7M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751291; c=relaxed/simple; bh=0J98EihxZHd8sllO3NGQvWEDUIxPBQ7w/LkkaW72IfI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nsuJSgUA5741qUp+QnVsTWmuUbchx++QwXKo5D8GNO65e9CgJIM23i4pNk2GEQsBSoZFxFdTxYrN7tJIiXdoeYb5trjugQy04luHsX8NrmWzgGZPx5syAxI8nH2pEMRsgDjKxIVpXEI6HX2DG3d29kTjaaxeOaU6agS3Ro2QWBQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=UD3KSNXS; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="UD3KSNXS" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 53C88417F; Fri, 18 Sep 2026 19:06:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751185; bh=0J98EihxZHd8sllO3NGQvWEDUIxPBQ7w/LkkaW72IfI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UD3KSNXSn6ARr4JdTjZnXfXGTUNBSz64dySRPAzfFNYmc2ZTEdh03iaO8DqdPg7Ja WLwzN/9iTWG6Dd9f0lBmLuez0DDJNddnrq/nvtgBGK/lfXFGzyakrt6LSziiEFFNH7 g59q53H2+SLrZpF/695MG3ug9omim/ciOYgk5CGk= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:06 +0900 Subject: [PATCH v2 09/11] media: vsp1: Add device info entries for VSPD on X5H 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-9-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder X-Mailer: b4 0.14.2 Add device info entries for the VSPD so that the driver can match on the VSPD on the X5H and handle it slightly different hardware configuration. On the X5H there are two variants, the VSPD (a) and VSPD (b). As the (b) version has a separate version number, add that as well. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- drivers/media/platform/renesas/vsp1/vsp1_drv.c | 22 ++++++++++++++++++++++ drivers/media/platform/renesas/vsp1/vsp1_regs.h | 1 + 2 files changed, 23 insertions(+) diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drv.c b/drivers/media= /platform/renesas/vsp1/vsp1_drv.c index 5597595414fe787413c7daa5a3142faa9ced8408..627771e3056617daa8e10d1fb68= 218435cde0a64 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_drv.c +++ b/drivers/media/platform/renesas/vsp1/vsp1_drv.c @@ -860,6 +860,17 @@ static const struct vsp1_device_info vsp1_device_infos= [] =3D { .uif_count =3D 2, .wpf_count =3D 2, .num_bru_inputs =3D 5, + }, { + .version =3D VI6_IP_VERSION_MODEL_VSPD_GEN4, + .model =3D "VSP2-D (a)", + .soc =3D VI6_IP_VERSION_SOC_X5H, + .gen =3D 4, + .features =3D VSP1_HAS_BRU | VSP1_HAS_EXT_DL, + .lif_count =3D 1, + .rpf_count =3D 5, + .uif_count =3D 2, + .wpf_count =3D 1, + .num_bru_inputs =3D 5, }, { .version =3D VI6_IP_VERSION_MODEL_VSPD_GEN4, .model =3D "VSP2-D", @@ -870,6 +881,17 @@ static const struct vsp1_device_info vsp1_device_infos= [] =3D { .uif_count =3D 2, .wpf_count =3D 1, .num_bru_inputs =3D 5, + }, { + .version =3D VI6_IP_VERSION_MODEL_VSPDB_GEN4, + .model =3D "VSP2-D (b)", + .soc =3D VI6_IP_VERSION_SOC_X5H, + .gen =3D 4, + .features =3D VSP1_HAS_BRU | VSP1_HAS_EXT_DL, + .lif_count =3D 1, + .rpf_count =3D 5, + .uif_count =3D 1, + .wpf_count =3D 1, + .num_bru_inputs =3D 5, }, { .version =3D VI6_IP_VERSION_MODEL_VSPX_GEN4, .model =3D "VSP2-X", diff --git a/drivers/media/platform/renesas/vsp1/vsp1_regs.h b/drivers/medi= a/platform/renesas/vsp1/vsp1_regs.h index 8abf39bac6c2f333696ebf55de87586d2df3bed0..489d88107d1c17530a74736c405= 63a93cc17e567 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_regs.h +++ b/drivers/media/platform/renesas/vsp1/vsp1_regs.h @@ -800,6 +800,7 @@ #define VI6_IP_VERSION_MODEL_VSPBS_GEN3 (0x1a << 8) #define VI6_IP_VERSION_MODEL_VSPD_GEN4 (0x1c << 8) #define VI6_IP_VERSION_MODEL_VSPX_GEN4 (0x1d << 8) +#define VI6_IP_VERSION_MODEL_VSPDB_GEN4 (0x20 << 8) /* RZ/G2L SoCs have no version register, So use 0x80 as the model version = */ #define VI6_IP_VERSION_MODEL_VSPD_RZG2L (0x80 << 8) =20 --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 594A551B173; Fri, 18 Sep 2026 17:08:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751296; cv=none; b=Wa7GWCb8ZhK8VAyPOtD/JPU5pkY9LSCk80AuS0ZMU05JYXVMP8MIVt2uO+e4bGhhwIkuI1ES9FjLkQfe5vK5vHT+SxFCHUDkaMEdmxo/mKKBe0jQzhJlJFHNPbokjvc6nH/+hm4HLqFB0OkDU87liIRBO3JEt9wJDhS0NrAla6w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751296; c=relaxed/simple; bh=ZRs5ShIc5SPKgFFZGlNAk63M6odw+wLS2yueYvmPToI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=on1ZSFQKO/tYdEu0s86sTt1v5welw1CzEiXoQh6yWStaXjoCSCwV9By/uUTLK+EIhkbG7TsIfXudpgRaw08JyV7cqtUO7R8yffSn4POeo8Yfbu8w+EASNUKF3GA70LsELu6wjt1Aozj6Svgp4XWhW6u7HlvTxXwu1Bw813vZQsw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=GdlIRMhh; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="GdlIRMhh" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id C48974FC4; Fri, 18 Sep 2026 19:06:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751190; bh=ZRs5ShIc5SPKgFFZGlNAk63M6odw+wLS2yueYvmPToI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=GdlIRMhhIyLJ9mGrEA8K56+LH13CqN5eYU8OICKy0lJr3akDYkt9Ybxrsn5YAB7E/ afkuPQZzGjJxjG/W0q4lthQ5WcudPewSAAovo8REyP4HK2Qrr+axGBgcySI9fFX0gR nkV+BOgMyblWv11de7fNE2lBz8VZH70O1m9/o6SA= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:07 +0900 Subject: [PATCH v2 10/11] media: rcar-fcp: Handle resets 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-10-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder X-Mailer: b4 0.14.2 On some versions of the FCP, such as the one on the X5H, reset control is required to operate the FCP. Add support for handling resets optionally, to continue supporting versions that do not require it. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- Changes in v2: - handle errors --- drivers/media/platform/renesas/rcar-fcp.c | 30 +++++++++++++++++++++++++++= +-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/renesas/rcar-fcp.c b/drivers/media/plat= form/renesas/rcar-fcp.c index dfb0ca93e854dd0bb8aedfb757fd786ef6e45542..76d4c250b30815d9eac58f9b54a= d923748df79f6 100644 --- a/drivers/media/platform/renesas/rcar-fcp.c +++ b/drivers/media/platform/renesas/rcar-fcp.c @@ -16,6 +16,7 @@ #include #include #include +#include #include =20 #include @@ -29,6 +30,7 @@ struct rcar_fcp_device { struct list_head list; struct device *dev; void __iomem *base; + struct reset_control *rstc; }; =20 static LIST_HEAD(fcp_devices); @@ -162,20 +164,25 @@ static int rcar_fcp_probe(struct platform_device *pde= v) =20 fcp->dev =3D &pdev->dev; =20 + platform_set_drvdata(pdev, fcp); + fcp->base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(fcp->base)) return PTR_ERR(fcp->base); =20 dma_set_max_seg_size(fcp->dev, UINT_MAX); =20 + fcp->rstc =3D devm_reset_control_get_optional(&pdev->dev, NULL); + if (IS_ERR(fcp->rstc)) + return dev_err_probe(&pdev->dev, PTR_ERR(fcp->rstc), + "failed to get reset control\n"); + pm_runtime_enable(&pdev->dev); =20 mutex_lock(&fcp_lock); list_add_tail(&fcp->list, &fcp_devices); mutex_unlock(&fcp_lock); =20 - platform_set_drvdata(pdev, fcp); - return 0; } =20 @@ -190,6 +197,24 @@ static void rcar_fcp_remove(struct platform_device *pd= ev) pm_runtime_disable(&pdev->dev); } =20 +static int fcp_pm_runtime_suspend(struct device *dev) +{ + struct rcar_fcp_device *fcp =3D dev_get_drvdata(dev); + + return reset_control_assert(fcp->rstc); +} + +static int fcp_pm_runtime_resume(struct device *dev) +{ + struct rcar_fcp_device *fcp =3D dev_get_drvdata(dev); + + return reset_control_deassert(fcp->rstc); +} + +static const struct dev_pm_ops fcp_pm_ops =3D { + RUNTIME_PM_OPS(fcp_pm_runtime_suspend, fcp_pm_runtime_resume, NULL) +}; + static const struct of_device_id rcar_fcp_of_match[] =3D { { .compatible =3D "renesas,fcpf" }, { .compatible =3D "renesas,fcpv" }, @@ -202,6 +227,7 @@ static struct platform_driver rcar_fcp_platform_driver = =3D { .remove =3D rcar_fcp_remove, .driver =3D { .name =3D "rcar-fcp", + .pm =3D pm_ptr(&fcp_pm_ops), .of_match_table =3D rcar_fcp_of_match, .suppress_bind_attrs =3D true, }, --=20 2.47.3 From nobody Thu Sep 24 23:34:55 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 19C2651B18B; Fri, 18 Sep 2026 17:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751303; cv=none; b=swdKoKXkUiTtEJfnjGoKFIZ+K2nUjMDao91qxiePRqPfMo51mGO/rSqWKJ+SjfLP2GJQKiNwgqo+D7egpWlfBMNpNPOyXVtbJFgtY9dBcOubymAT2hJWnwt484qsidGjvMb3OfKoz1qOu3motI6nHoIE8T95QJH7KLfE/IKnnyU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789751303; c=relaxed/simple; bh=vxw4nMxaECnIc0YHwRfwBILmFkhBQvUD6HX2LsSEB34=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dMo9wHD3le9ySvNyqgXcN63lAMIM7b0A/6Uo61uX6eoIwvalKhtUhivXpIBDphaCsve7OIX7J1acI63eFvtnaRN9bxPfFNeRFxJ2npxudblNUqXerqH6Fycz8WeU6TzOOKzY8tJmd8hluzJAz+naFy6GlvYg1siA3I3OHJt+0Iw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=oCJpV3q1; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="oCJpV3q1" Received: from neptunite.rasen.tech (unknown [IPv6:2400:2411:160:2f00:e327:a298:3a5b:4b08]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 3EAC2417F; Fri, 18 Sep 2026 19:06:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789751196; bh=vxw4nMxaECnIc0YHwRfwBILmFkhBQvUD6HX2LsSEB34=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=oCJpV3q1nRtwRkyYbKo5daGkLe+7ksljtttyDtO3vsFnQdJtGCsswg24Z7TjAA6m4 YDLl0LryK5PVyeFlLm37SqlwkxqEqhznhYFKSL3QlArFXvECgnQNjtIlVQemnQwDSE VwBmVwG3zTsQKXMzWUyaccHTO6DeR0TpUzw2k8Y4= From: Paul Elder Date: Sat, 19 Sep 2026 02:07:08 +0900 Subject: [PATCH DNI v2 11/11] media: rcar-fcp: Check device revision at probe time 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: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-11-dbe9236bfd22@ideasonboard.com> References: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-0-dbe9236bfd22@ideasonboard.com> To: Geert Uytterhoeven , Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm , Ulf Hansson , Laurent Pinchart , Mauro Carvalho Chehab , Philipp Zabel , Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Paul Elder , Laurent Pinchart X-Mailer: b4 0.14.2 From: Laurent Pinchart Verify that the device revision register reports a valid value, otherwise reject the device. Signed-off-by: Laurent Pinchart Signed-off-by: Paul Elder --- Changes since v2: - Add FCP type information - Reject devices with an unsupported version Changes since v1: - Use devm_platform_ioremap_resource() --- drivers/media/platform/renesas/rcar-fcp.c | 132 ++++++++++++++++++++++++++= +--- 1 file changed, 121 insertions(+), 11 deletions(-) diff --git a/drivers/media/platform/renesas/rcar-fcp.c b/drivers/media/plat= form/renesas/rcar-fcp.c index 76d4c250b30815d9eac58f9b54ad923748df79f6..5f2c483f71f42f0fc614db216c5= 4d65e2372e8fb 100644 --- a/drivers/media/platform/renesas/rcar-fcp.c +++ b/drivers/media/platform/renesas/rcar-fcp.c @@ -14,28 +14,78 @@ #include #include #include +#include #include #include +#include #include #include =20 #include =20 -#define RCAR_FCP_REG_RST 0x0010 -#define RCAR_FCP_REG_RST_SOFTRST BIT(0) -#define RCAR_FCP_REG_STA 0x0018 -#define RCAR_FCP_REG_STA_ACT BIT(0) +#define RCAR_FCP_REG_VCR 0x0000 +#define RCAR_FCP_REG_VCR_CATEGORY (1 << 8) +#define RCAR_FCP_REG_VCR_REVISION_H3_ES1 (1 << 0) +#define RCAR_FCP_REG_VCR_REVISION_M3W (2 << 0) +#define RCAR_FCP_REG_VCR_REVISION_V3M (3 << 0) +#define RCAR_FCP_REG_VCR_REVISION_H3 (4 << 0) +#define RCAR_FCP_REG_VCR_REVISION_D3 (5 << 0) +#define RCAR_FCP_REG_VCR_REVISION_M3N (6 << 0) +#define RCAR_FCP_REG_VCR_REVISION_V3H (7 << 0) +#define RCAR_FCP_REG_VCR_REVISION_E3 (8 << 0) +#define RCAR_FCP_REG_VCR_REVISION_X5H_V1 (12 << 0) + +#define RCAR_FCP_REG_CFG0 0x0004 +#define RCAR_FCP_REG_CFG0_FCPVSEL BIT(1) + +#define RCAR_FCP_REG_RST 0x0010 +#define RCAR_FCP_REG_RST_RIIFRST BIT(22) +#define RCAR_FCP_REG_RST_RSIFRST BIT(21) +#define RCAR_FCP_REG_RST_DCMPRST BIT(20) +#define RCAR_FCP_REG_RST_MODRST BIT(4) +#define RCAR_FCP_REG_RST_SOFTRST BIT(0) + +#define RCAR_FCP_REG_STA 0x0018 +#define RCAR_FCP_REG_STA_ACT BIT(0) + +#define RCAR_FCP_REG_TL_CTRL 0x0070 +#define RCAR_FCP_REG_TL_CTRL_TLEN BIT(31) +#define RCAR_FCP_REG_TL_CTRL_VPOS_C(n) ((n) << 16) +#define RCAR_FCP_REG_TL_CTRL_VPOS_Y(n) ((n) << 0) + +#define RCAR_FCP_REG_PICINFO1 0x00c4 +#define RCAR_FCP_REG_PICINFO1_STRIDE_DIV16 ((n) << 0) + +#define RCAR_FCP_REG_BA_ANC_Y0 0x0100 +#define RCAR_FCP_REG_BA_ANC_Y1 0x0104 +#define RCAR_FCP_REG_BA_ANC_Y2 0x0108 +#define RCAR_FCP_REG_BA_ANC_C 0x010c +#define RCAR_FCP_REG_BA_REF_Y0 0x0110 +#define RCAR_FCP_REG_BA_REF_Y1 0x0114 +#define RCAR_FCP_REG_BA_REF_Y2 0x0118 +#define RCAR_FCP_REG_BA_REF_C 0x011c + +enum rcar_fcp_type { + RCAR_FCPF, + RCAR_FCPV, +}; =20 struct rcar_fcp_device { struct list_head list; struct device *dev; void __iomem *base; struct reset_control *rstc; + enum rcar_fcp_type type; }; =20 static LIST_HEAD(fcp_devices); static DEFINE_MUTEX(fcp_lock); =20 +static inline u32 rcar_fcp_read(struct rcar_fcp_device *fcp, u32 reg) +{ + return ioread32(fcp->base + reg); +} + static inline void rcar_fcp_write(struct rcar_fcp_device *fcp, u32 reg, u3= 2 val) { iowrite32(val, fcp->base + reg); @@ -154,15 +204,67 @@ EXPORT_SYMBOL_GPL(rcar_fcp_soft_reset); * Platform Driver */ =20 +static int rcar_fcp_setup(struct rcar_fcp_device *fcp) +{ + static const char * const models[] =3D { + [RCAR_FCPF] =3D "FCPF", + [RCAR_FCPV] =3D "FCPV", + }; + static struct { + u32 version; + const char *name; + } versions[] =3D { + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_H3_ES1, "H3 ES1.= x" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_M3W, "M3W" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_V3M, "V3M" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_H3, "H3" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_D3, "D3" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_M3N, "M3N" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_V3H, "V3H" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_E3, "E3" }, + { RCAR_FCP_REG_VCR_CATEGORY | RCAR_FCP_REG_VCR_REVISION_X5H_V1, "X5H v1.= 0" }, + }; + + unsigned int i; + u32 version; + + /* Check the device version register. */ + version =3D rcar_fcp_read(fcp, RCAR_FCP_REG_VCR); + + for (i =3D 0; i < ARRAY_SIZE(versions); ++i) { + if (versions[i].version =3D=3D version) + break; + } + + if (i >=3D ARRAY_SIZE(versions)) { + dev_err(fcp->dev, "Invalid FCP version 0x%08x\n", version); + return -ENODEV; + } + + dev_dbg(fcp->dev, "%s %s device found\n", models[fcp->type], + versions[i].name); + + return 0; +} + +static const struct of_device_id rcar_fcp_of_match[] =3D { + { .compatible =3D "renesas,fcpf", .data =3D (void *)RCAR_FCPF }, + { .compatible =3D "renesas,fcpv", .data =3D (void *)RCAR_FCPV }, + { }, +}; +MODULE_DEVICE_TABLE(of, rcar_fcp_of_match); + static int rcar_fcp_probe(struct platform_device *pdev) { struct rcar_fcp_device *fcp; + int ret; =20 fcp =3D devm_kzalloc(&pdev->dev, sizeof(*fcp), GFP_KERNEL); if (fcp =3D=3D NULL) return -ENOMEM; =20 fcp->dev =3D &pdev->dev; + fcp->type =3D (enum rcar_fcp_type)device_get_match_data(&pdev->dev); =20 platform_set_drvdata(pdev, fcp); =20 @@ -178,12 +280,27 @@ static int rcar_fcp_probe(struct platform_device *pde= v) "failed to get reset control\n"); =20 pm_runtime_enable(&pdev->dev); + ret =3D pm_runtime_resume_and_get(&pdev->dev); + if (ret < 0) + goto error_pm_disable; + + ret =3D rcar_fcp_setup(fcp); + if (ret < 0) + goto error_pm_put; + + pm_runtime_put(&pdev->dev); =20 mutex_lock(&fcp_lock); list_add_tail(&fcp->list, &fcp_devices); mutex_unlock(&fcp_lock); =20 return 0; + +error_pm_put: + pm_runtime_put(&pdev->dev); +error_pm_disable: + pm_runtime_disable(&pdev->dev); + return ret; } =20 static void rcar_fcp_remove(struct platform_device *pdev) @@ -215,13 +332,6 @@ static const struct dev_pm_ops fcp_pm_ops =3D { RUNTIME_PM_OPS(fcp_pm_runtime_suspend, fcp_pm_runtime_resume, NULL) }; =20 -static const struct of_device_id rcar_fcp_of_match[] =3D { - { .compatible =3D "renesas,fcpf" }, - { .compatible =3D "renesas,fcpv" }, - { }, -}; -MODULE_DEVICE_TABLE(of, rcar_fcp_of_match); - static struct platform_driver rcar_fcp_platform_driver =3D { .probe =3D rcar_fcp_probe, .remove =3D rcar_fcp_remove, --=20 2.47.3