devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Michael Tretter <m.tretter@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	Michal Simek <michal.simek@xilinx.com>,
	Dhaval Shah <dshah@xilinx.com>,
	kernel@pengutronix.de
Subject: Re: [PATCH 4/6] dt-bindings: soc: xlnx: extract xlnx,vcu-settings to separate binding
Date: Mon, 30 Mar 2020 14:44:55 -0600	[thread overview]
Message-ID: <20200330204455.GA6329@bogus> (raw)
In-Reply-To: <20200317094115.15896-5-m.tretter@pengutronix.de>

On Tue, Mar 17, 2020 at 10:41:13AM +0100, Michael Tretter wrote:
> The xlnx,vcu binding comprises two adjacent register banks:
> 
> The first register bank ("vcu_slcr") contains registers for setting the
> clocks of the vcu and controlling the performance monitors. The second
> bank ("logicoreip") contains the configuration settings of the video codec
> unit, which are set before synthesizing the bitstream.
> 
> Drivers that drive the actual video codec unit need to to read the
> registers from the logicoreip register bank for configuring the vcu
> firmware.
> 
> As logicoreip is a too generic name for this register bank, use
> "vcu-settings" as a binding name, because the register bank basically
> provides the configuration settings of the VCU.
> 
> Therefore, add the vcu-settings binding to provide a syscon interface
> for other drivers to read these registers.
> 
> The alternative would have been to merge the two register banks of the
> xlnx,vcu binding into one register bank and make xlnx,vcu provide a
> syscon interface, but that would lead to more incompatibility than
> making second register bank of xlnx,vcu optional.
> 
> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
> ---
>  .../soc/xilinx/xlnx,vcu-settings.yaml         | 45 +++++++++++++++++++
>  .../bindings/soc/xilinx/xlnx,vcu.txt          |  9 +---
>  2 files changed, 47 insertions(+), 7 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu-settings.yaml
> 
> diff --git a/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu-settings.yaml b/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu-settings.yaml
> new file mode 100644
> index 000000000000..a38ab180854e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu-settings.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/xilinx/xlnx,vcu-settings.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Xilinx VCU Settings
> +
> +maintainers:
> +  - Michael Tretter <kernel@pengutronix.de>
> +
> +# Custom select to avoid matching all nodes with 'syscon'
> +select:
> +  properties:
> +    compatible:
> +      contains:
> +        enum:
> +          - xlnx,vcu-settings
> +  required:
> +    - compatible

You can drop this. The tooling now avoids this issue for 'syscon'.

> +
> +
> +description: |
> +  The Xilinx VCU Settings provides information about the configuration of the
> +  video codec unit.
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: xlnx,vcu-settings
> +      - const: syscon
> +
> +  reg:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +examples:
> +  - |
> +    xlnx_vcu: vcu@a0041000 {
> +          compatible = "xlnx,vcu-settings", "syscon";
> +          reg = <0x0 0xa0041000 0x0 0x1000>;
> +    };
> diff --git a/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu.txt b/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu.txt
> index 6786d6715df0..2417b13ba468 100644
> --- a/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu.txt
> +++ b/Documentation/devicetree/bindings/soc/xilinx/xlnx,vcu.txt
> @@ -12,10 +12,7 @@ Required properties:
>  - compatible: shall be one of:
>  	"xlnx,vcu"
>  	"xlnx,vcu-logicoreip-1.0"
> -- reg, reg-names: There are two sets of registers need to provide.
> -	1. vcu slcr
> -	2. Logicore
> -	reg-names should contain name for the each register sequence.
> +- reg : The base offset and size of the VCU_PL_SLCR register space.
>  - clocks: phandle for aclk and pll_ref clocksource
>  - clock-names: The identification string, "aclk", is always required for
>     the axi clock. "pll_ref" is required for pll.
> @@ -23,9 +20,7 @@ Example:
>  
>  	xlnx_vcu: vcu@a0040000 {
>  		compatible = "xlnx,vcu-logicoreip-1.0";
> -		reg = <0x0 0xa0040000 0x0 0x1000>,
> -			 <0x0 0xa0041000 0x0 0x1000>;
> -		reg-names = "vcu_slcr", "logicore";
> +		reg = <0x0 0xa0040000 0x0 0x1000>;
>  		clocks = <&si570_1>, <&clkc 71>;
>  		clock-names = "pll_ref", "aclk";
>  	};
> -- 
> 2.20.1
> 

  reply	other threads:[~2020-03-30 20:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-17  9:41 [PATCH 0/6] soc: xilinx: vcu: provide interfaces for other drivers Michael Tretter
2020-03-17  9:41 ` [PATCH 1/6] soc: xilinx: vcu: drop useless success message Michael Tretter
2020-03-17  9:41 ` [PATCH 2/6] ARM: dts: define indexes for output clocks Michael Tretter
2020-03-17  9:41 ` [PATCH 3/6] soc: xilinx: vcu: implement clock provider " Michael Tretter
2020-03-20 15:05   ` Michael Tretter
2020-03-17  9:41 ` [PATCH 4/6] dt-bindings: soc: xlnx: extract xlnx,vcu-settings to separate binding Michael Tretter
2020-03-30 20:44   ` Rob Herring [this message]
2020-03-17  9:41 ` [PATCH 5/6] soc: xilinx: vcu: use vcu-settings syscon registers Michael Tretter
2020-03-17  9:41 ` [PATCH 6/6] soc: xilinx: vcu: add missing register NUM_CORE Michael Tretter
2020-03-17 11:09 ` [PATCH 0/6] soc: xilinx: vcu: provide interfaces for other drivers Michal Simek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200330204455.GA6329@bogus \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dshah@xilinx.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=m.tretter@pengutronix.de \
    --cc=michal.simek@xilinx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).