From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB9B8C4332F for ; Tue, 30 Nov 2021 12:34:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230110AbhK3Mh2 (ORCPT ); Tue, 30 Nov 2021 07:37:28 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:52670 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229638AbhK3Mh0 (ORCPT ); Tue, 30 Nov 2021 07:37:26 -0500 Received: from [IPv6:2a01:e0a:120:3210:b422:9841:4afb:11b5] (unknown [IPv6:2a01:e0a:120:3210:b422:9841:4afb:11b5]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id F38FA1F4500C; Tue, 30 Nov 2021 12:34:02 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=collabora.com; s=mail; t=1638275643; bh=QqCRwQ2875SMqv/AolhMllnqBqyumXGxkjHr+hKDVS4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=SZv1pYFCv6I+Dv3ozDVt5uFZcr7IZWZ4XeRoUyUMIu/ya8qzbMH+OqsGwWlocMyer M7/Hrb1A/4u6vSeEBrdlsCP/7G+yUagSHtd3jRIlMf6kSiEEPFBadpWQrLKrbzyi8p YXNRs9cz+fF3JWny8VN6FeLwlXvlEe3xgdEnClYQeUat17GBZpZV6nUteVZGmJZA+f /K6CMe0H8I7epGn2tNPJC5U583cLPxILjslPRTHwuF7CwFf63mRzp47ZSzbhVZ0pOP 3Itfn5ShA2oXAjcuNcYpDQ59v30KaQCErVpQrqWZIErawQcftI6/f9O7YHL1y4ljwZ EDQZOosbH/Ovw== Subject: Re: [PATCH v9 02/13] dt-bindings: media: nxp, imx8mq-vpu: Update the bindings for G2 support To: Adam Ford Cc: Ezequiel Garcia , Philipp Zabel , Mauro Carvalho Chehab , Rob Herring , Shawn Guo , Sascha Hauer , Fabio Estevam , Lee Jones , Greg Kroah-Hartman , mripard@kernel.org, paul.kocialkowski@bootlin.com, Chen-Yu Tsai , Jernej Skrabec , hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com, Sascha Hauer , NXP Linux Team , linux-media , "open list:HANTRO VPU CODEC DRIVER" , devicetree , arm-soc , Linux Kernel Mailing List , devel@driverdev.osuosl.org, kernel@collabora.com, Chris Healy , Rob Herring References: <20210407073534.376722-1-benjamin.gaignard@collabora.com> <20210407073534.376722-3-benjamin.gaignard@collabora.com> From: Benjamin Gaignard Message-ID: Date: Tue, 30 Nov 2021 13:34:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Le 29/11/2021 à 21:13, Adam Ford a écrit : > On Wed, Apr 7, 2021 at 2:37 AM Benjamin Gaignard > wrote: >> 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 > I need to edit the yaml file to add support the imx8mm, but it doesn't > appear that this series has gone anywhere. I know there is still some > waiting on the vpu-blk-ctrl driver, but it seems like the 8mq could > split the codecs out using syscon in place of the blk-ctrl until that > driver is available. If that doesn't work, I might have to introduce > a separate yaml file for mini which could be somehow merged with the > 8mq in the future. I am just not sure which way to go right now. To summarize Lucas a have a branch here: https://git.pengutronix.de/cgit/lst/linux/log/?h=imx8mq-vpu-blk-ctrl where he try to enable blk-ctrl for imx6mq, it is working for G1 but not for G2. You can find the thread about that here: https://www.spinics.net/lists/devicetree/msg450831.html Regards, Benjamin > > adam >> --- >> 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 >> >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel