Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp938109pxf; Wed, 7 Apr 2021 15:33:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw4D889BM8uWAQjUTGOehaEPBHOe83NfJauMC1rYWVP7NYELN5ISw9LCzQoXgeYbgaNHBTL X-Received: by 2002:a17:906:170d:: with SMTP id c13mr6312709eje.491.1617834824657; Wed, 07 Apr 2021 15:33:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617834824; cv=none; d=google.com; s=arc-20160816; b=ErC9NbzZZ8HOwfcxQtJxhaEZIGO9EDNZPmttTtLo0FsesP7WHfAdh9B/dDekum+JNu QTJ/pMBJk7E6g0x9J78/y7QDVxD+OfNsKTLdpgJkqB/eUTNWmoZqn0WqiV1hgBh3VvjW FNPcT8yeraK6QBVj5cX+kGa29O4ogB48vOiPSFO6fdoLJgk6yYl1Q09BdBDuBgcDBJI3 C69VaSQuRfEB5r0N2tLAgIsOgPfLsGiVHMBKRpngSo9PMMa/dCZwxOV6IbA6btxcygoe xv+XPg42//vyLABOj5BUdsaVgH2T8d/WyCDs1GsQMF8He8pWiejKyq3KXyFX7oQrRl7K pvjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=17Nr0rzpps0RY8vTDYaLIfP0fcs/ZI83TtYpQzZWm6U=; b=vbp9U3JUDVQXs7o2mQxdmcw2GJTZKve4CElJxxVyWHz600j29K+jeKrA/ZsKvOLOvn 7zVE4ffm6/Sbonwb4QOcVANWaLgV9Ri3GMqAxjIaDP8IjDLMd7pbJUtBC5ptMpMnuzSO WxRIMBDqsWgSaCU6fogbncJQsGQfcID1oJe/Ncoow5rnl1JZJ4u53XGnvvSwuHbVXnZD ijuZPT0jYVGtp+Kwb9Y8VZYVzT9FM7zZjVhEPL9E/NxNWIjQKQiPuxSGw3nlJ/3fISsU XNABr+uskTttG8TMAk6baPT+e4rxYu0FO7REVDFiws06x8HAcgYlI9ZX6rY25NnCETsD rFOA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ne9si10573080ejc.229.2021.04.07.15.33.21; Wed, 07 Apr 2021 15:33:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349476AbhDGHgH (ORCPT + 99 others); Wed, 7 Apr 2021 03:36:07 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:55316 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346707AbhDGHf7 (ORCPT ); Wed, 7 Apr 2021 03:35:59 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: benjamin.gaignard) with ESMTPSA id 1A3111F44F88 From: Benjamin Gaignard To: ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com Cc: kernel@pengutronix.de, linux-imx@nxp.com, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, kernel@collabora.com, cphealy@gmail.com, Benjamin Gaignard , Rob Herring Subject: [PATCH v9 02/13] dt-bindings: media: nxp,imx8mq-vpu: Update the bindings for G2 support Date: Wed, 7 Apr 2021 09:35:23 +0200 Message-Id: <20210407073534.376722-3-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210407073534.376722-1-benjamin.gaignard@collabora.com> References: <20210407073534.376722-1-benjamin.gaignard@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introducing the G2 hevc video decoder requires modifications of the bindings to allow one node per VPU. VPUs share one hardware control block which is provided as a phandle on a syscon. Each node has now one reg and one interrupt. Add a compatible for G2 hardware block: nxp,imx8mq-vpu-g2. To be compatible with older DT the driver is still capable to use the 'ctrl' reg-name even if it is deprecated now. Signed-off-by: Benjamin Gaignard Reviewed-by: Rob Herring Reviewed-by: Philipp Zabel --- version 9: - Corrections in commit message version 7: - Add Rob and Philipp reviewed-by tag - Change syscon phandle name to nxp,imx8m-vpu-ctrl (remove 'q' to be usable for iMX8MM too) version 5: - This version doesn't break the backward compatibilty between kernel and DT. .../bindings/media/nxp,imx8mq-vpu.yaml | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml b/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml index 762be3f96ce9..18e7d40a5f24 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml @@ -15,22 +15,18 @@ description: properties: compatible: - const: nxp,imx8mq-vpu + oneOf: + - const: nxp,imx8mq-vpu + - const: nxp,imx8mq-vpu-g2 reg: - maxItems: 3 - - reg-names: - items: - - const: g1 - - const: g2 - - const: ctrl + maxItems: 1 interrupts: - maxItems: 2 + maxItems: 1 interrupt-names: - items: + oneOf: - const: g1 - const: g2 @@ -46,14 +42,18 @@ properties: power-domains: maxItems: 1 + nxp,imx8m-vpu-ctrl: + description: Specifies a phandle to syscon VPU hardware control block + $ref: "/schemas/types.yaml#/definitions/phandle" + required: - compatible - reg - - reg-names - interrupts - interrupt-names - clocks - clock-names + - nxp,imx8m-vpu-ctrl additionalProperties: false @@ -62,18 +62,33 @@ examples: #include #include - vpu: video-codec@38300000 { + vpu_ctrl: syscon@38320000 { + compatible = "nxp,imx8mq-vpu-ctrl", "syscon"; + reg = <0x38320000 0x10000>; + }; + + vpu_g1: video-codec@38300000 { compatible = "nxp,imx8mq-vpu"; - reg = <0x38300000 0x10000>, - <0x38310000 0x10000>, - <0x38320000 0x10000>; - reg-names = "g1", "g2", "ctrl"; - interrupts = , - ; - interrupt-names = "g1", "g2"; + reg = <0x38300000 0x10000>; + interrupts = ; + interrupt-names = "g1"; + clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, + <&clk IMX8MQ_CLK_VPU_G2_ROOT>, + <&clk IMX8MQ_CLK_VPU_DEC_ROOT>; + clock-names = "g1", "g2", "bus"; + power-domains = <&pgc_vpu>; + nxp,imx8m-vpu-ctrl = <&vpu_ctrl>; + }; + + vpu_g2: video-codec@38310000 { + compatible = "nxp,imx8mq-vpu-g2"; + reg = <0x38300000 0x10000>; + interrupts = ; + interrupt-names = "g2"; clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, <&clk IMX8MQ_CLK_VPU_G2_ROOT>, <&clk IMX8MQ_CLK_VPU_DEC_ROOT>; clock-names = "g1", "g2", "bus"; power-domains = <&pgc_vpu>; + nxp,imx8m-vpu-ctrl = <&vpu_ctrl>; }; -- 2.25.1