From mboxrd@z Thu Jan 1 00:00:00 1970 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 2D65F432E71 for ; Mon, 20 Jul 2026 15:06:23 +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=1784559985; cv=none; b=s0dMvN/bbsfljJyZ4EN7wE/6zf3qGomLYCePSGvOWDEuSp9pGMZ7UCIc96i+0RxJgBb2gQYSjIZO/rAIM6p82ejq/SeIMcXbK+spmKBMYK1y62+BBo78cNh7miMvjMVE29rX+r7+osWnjn+/xFrO2jbDC7n3Co/cfKZirvUiL44= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784559985; c=relaxed/simple; bh=/QIDt4LDCYGQcnJdj1Dx87jsIpu4s/yJXTsEwMTLmgY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=E4I8eKU67Wi3HYbKZSJhB/rQNyG7Du0s0JFZexu7Dcu54jOMAaXxfwrWv4XQTy6AnAfxM9ixYzr4cz/Wh0gvx+GRR+uFlTXb7wc9bR2Mtdob/xqNrz+T+UAFwnY7glACkb4kNiVi+E4/4unzuGTZqwfgwm/CLgzk5NCRLuUM37M= 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=L3cegZmA; 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="L3cegZmA" Received: from killaraus.ideasonboard.com (2001-14ba-70f3-e800--a06.rev.dnainternet.fi [IPv6:2001:14ba:70f3:e800::a06]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id C6FC7289; Mon, 20 Jul 2026 17:05:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1784559922; bh=/QIDt4LDCYGQcnJdj1Dx87jsIpu4s/yJXTsEwMTLmgY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=L3cegZmAnmCW2CNzqSdb2q8JVLanloll2EzhTtVk1ic2L5aFlHGrajBqIGJFe1rcy o4Gglr/L8bi13h+aJFHIxGtpZw8MLBGC0YWlR4sXY5TASofRax5yZxxlsavmlyo/KX 82TdkU5WQOKXYQu8cuHOZcQY2WO2YdW846QVrbfI= Date: Mon, 20 Jul 2026 18:06:20 +0300 From: Laurent Pinchart To: guoniu.zhou@oss.nxp.com Cc: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Frank Li , Loic Poulain , Bryan O'Donoghue , Abel Vesa , Peng Fan , Michael Turquette , Stephen Boyd , imx@lists.linux.dev, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Guoniu Zhou , Krzysztof Kozlowski Subject: Re: [PATCH v13 2/3] dt-bindings: clock: imx95-blk-ctl: Define formatter child node schema Message-ID: <20260720150620.GA26742@killaraus.ideasonboard.com> References: <20260720-csi_formatter-v13-0-4dc9a80e4cfd@oss.nxp.com> <20260720-csi_formatter-v13-2-4dc9a80e4cfd@oss.nxp.com> Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20260720-csi_formatter-v13-2-4dc9a80e4cfd@oss.nxp.com> Hello Guoniu, Thank you for the patch. On Mon, Jul 20, 2026 at 05:59:47PM +0800, guoniu.zhou@oss.nxp.com wrote: > From: Guoniu Zhou > > The Camera CSR contains control registers for multiple CSI formatter IPs > at different register offsets. Each formatter is an independent hardware > block with its own clock input and media pipeline connection. > > Define schema to allow formatter child nodes under nxp,imx95-camera-csr, > with 'reg' property specifying the formatter's register offset within the > CSR address space. > > Signed-off-by: Guoniu Zhou > Reviewed-by: Frank Li > Reviewed-by: Krzysztof Kozlowski Reviewed-by: Laurent Pinchart > --- > Changes in v13: > - Add Reviewed-by tag from Frank and Krzysztof > > Changes in v11: > - Move properties to top-level and use if:then:else (Krzysztof/Frank) > > Changes in v10: > - Use single quotes for regex pattern to be consistent (Krzysztof Kozlowski) > - Add formatter subnode binding and camera-csr syscon example > - Update commit title and message > > Changes in v9: > - New patch to address the issue of formatter acting as a child node of syscon > --- > .../bindings/clock/nxp,imx95-blk-ctl.yaml | 71 ++++++++++++++++++++++ > 1 file changed, 71 insertions(+) > > diff --git a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml > index 27403b4c52d6..fbbf1b3f1790 100644 > --- a/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml > +++ b/Documentation/devicetree/bindings/clock/nxp,imx95-blk-ctl.yaml > @@ -39,6 +39,18 @@ properties: > ID in its "clocks" phandle cell. See > include/dt-bindings/clock/nxp,imx95-clock.h > > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 1 > + > +patternProperties: > + '^formatter@[0-9a-f]+$': > + type: object > + $ref: /schemas/media/fsl,imx95-csi-formatter.yaml# > + unevaluatedProperties: false > + > required: > - compatible > - reg > @@ -46,6 +58,23 @@ required: > - power-domains > - clocks > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: nxp,imx95-camera-csr > + then: > + required: > + - '#address-cells' > + - '#size-cells' > + else: > + properties: > + '#address-cells': false > + '#size-cells': false > + patternProperties: > + '^formatter@[0-9a-f]+$': false > + > additionalProperties: false > > examples: > @@ -57,4 +86,46 @@ examples: > clocks = <&scmi_clk 114>; > power-domains = <&scmi_devpd 21>; > }; > + > + - | > + #include > + > + syscon@4ac10000 { > + compatible = "nxp,imx95-camera-csr", "syscon"; > + reg = <0x4ac10000 0x10000>; > + #address-cells = <1>; > + #size-cells = <1>; > + #clock-cells = <1>; > + clocks = <&scmi_clk 62>; > + power-domains = <&scmi_devpd 3>; > + > + formatter@20 { > + compatible = "fsl,imx95-csi-formatter"; > + reg = <0x20 0x100>; > + clocks = <&cameramix_csr IMX95_CLK_CAMBLK_CSI2_FOR0>; > + power-domains = <&scmi_devpd 3>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + endpoint { > + remote-endpoint = <&mipi_csi_0_out>; > + }; > + > + }; > + > + port@1 { > + reg = <1>; > + > + endpoint { > + remote-endpoint = <&isi_in_2>; > + }; > + }; > + }; > + }; > + }; > ... -- Regards, Laurent Pinchart