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 X-Spam-Level: X-Spam-Status: No, score=-11.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AF91C433ED for ; Sat, 8 May 2021 00:56:20 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B084A61421 for ; Sat, 8 May 2021 00:56:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B084A61421 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Message-ID:Date: Subject:CC:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=f4qeOOnVAuMlFJu6zimZ3pIjCD5zDnXXSewjcRWNA+Q=; b=WHFvQoDR0Ha4DkDKll7ig6XiB e5qwaHFpG7s9PN4EEpg2Dl4c7zQtIy2riUn6WrZXU5pyRzWgEx59DjdbNZ9oJJYr/pTBgJGem9RZE gspXfGZTJwZdcxVvJAEMq/lAAoKw3g9fd8Nkl4aYqqHldHBSYEuFzLvxDW7bni1E/LSov0kMl/3nR tnXRhAHULkgIn1uFRqPNmP2kWn6xuKmNZ1dsPVsrhRICL0p9sd0G+AG7NngSEfHJQTOIypd7yt5BN X/TNn2ajrHcW4h6vUnxPtluyxUnO6m2u8Hm3krIGKsz8+OJ+F/BdAop7wrxhZqpgGNhIJLlYPnVkd Ow4mkjJ/w==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lfBEm-008Qit-Uq; Sat, 08 May 2021 00:54:33 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lfBEi-008QiR-Qh for linux-arm-kernel@desiato.infradead.org; Sat, 08 May 2021 00:54:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=MIME-Version: Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Message-ID:Date :Subject:CC:To:From:Sender:Reply-To:Content-ID:Content-Description; bh=T6M1TJHVQPOKU2Ehyl+Vg9gCFY2m53FNiavFc9FaY4o=; b=R1T1XDl+EjoivzGtG5NeESDXhF jqh4FrYEx0yKGhN4aEid/bO59rzwQV/NdRu2X9K/1EWpcsuJinA/w6doJBzeH2bC8RxcMEXP8Nw3Q famsdj/cWGM9ik5RW5znlPecjTtlmNUyHkVCbHCltlkibhRmuOiMDB7TDKfzNKeng8ykDKPgQYLON 1Y26mLZP76z5pQCscnr+gz2mUj53Qe3rO/1OuHdJpGqCsgXKmwnU5WnHuu69sQxmRpC6SxlJOXiAU EbqpfFzDf5GiED9e+jZLfDVx1m4xtnhXQJTenmmRUvnqAN4zcbwYR1XtEZVyv2/TzH0faKc3vf1Iv a5qtLXBQ==; Received: from mail-eopbgr80041.outbound.protection.outlook.com ([40.107.8.41] helo=EUR04-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lfBEf-007Hzh-GA for linux-arm-kernel@lists.infradead.org; Sat, 08 May 2021 00:54:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kpLdeOgZ6qWGUZtk2dApQs9MfjvbOhP9A8O23Sy459VBah1mPHXI9hN4BYTSlUal+NfrgKRkq6XjtFm07LbhwlWkAdj/2wztOmYdE+H3oyIeNv6sCRlY+PNOZANocX1DmQS78RFLwojDl2adIsqrCsrwYIY7Vg5JNEqg8Ojf9DVO7GEnEoKu8YAfR78QWmCMN5QbWCni/Wq4CqJrDDKJGyDdmF7Uz3mXv9wcnV5OXdDK0OcvEK1SEnmxOUxlukpr+vDVgQIrLw5EBgD0ROYZ9wXSWtMp113WYFv6o9TQ1ICAJS//L9mV9GylP2v5Z/iLABZS0h3chG92GMvBAv1tbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T6M1TJHVQPOKU2Ehyl+Vg9gCFY2m53FNiavFc9FaY4o=; b=gHmbbZQdeueeg/56o2PINcjXJa3Zyzb9Kimvgb57stBnvWgwT+LjxL/N0N7jmtEM7yxtfO4ocmORvsCGSJIbcGfg09l0RSd9xC06ROBfsRXm05D+kZESNqcJSwETiEE5pqjs5xanuvEWPmozX2REPfFm14Up67b/SrXlNkbv/9D8LCj+dzgr0//Gpjiu32PR54HOSsln7yp/MyfAqRsQygJeQ8LSSMmIJYArHDEbjcgQhvwAwbe9q0OlZUr8v2xRiMwyb56kEpHaAb1BQeVSSWEL8kvxu5Uc5PmY19KONoOy84iVx4+cyoClz676FViDAZLTJtpAUHb+Zi2WWjt4kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T6M1TJHVQPOKU2Ehyl+Vg9gCFY2m53FNiavFc9FaY4o=; b=eRxRGHBOCiJ1CLwT+S84zw/xM6g1dM078QhXVDEoblu0HazlQKXO4+IYshGwlm7Z/6Sfnlk0K+7L/suQJRU2Z5WYt9cfSfWmd+1RhOPjuHD2nxwbZWP0M13ywDF5pNTfpJqC9WVkzqCICEPdtzfdbdTLF3HeK2kMCRI8lrmSXdU= Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB4940.eurprd04.prod.outlook.com (2603:10a6:10:22::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Sat, 8 May 2021 00:54:21 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::45b9:c993:87ec:9a64]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::45b9:c993:87ec:9a64%8]) with mapi id 15.20.4108.030; Sat, 8 May 2021 00:54:21 +0000 From: Peng Fan To: Adam Ford , "Peng Fan (OSS)" CC: Rob Herring , Shawn Guo , Sascha Hauer , Sascha Hauer , Fabio Estevam , dl-linux-imx , Philipp Zabel , Lucas Stach , Krzysztof Kozlowski , =?utf-8?B?R3VpZG8gR8O8bnRoZXI=?= , Marek Vasut , Andrey Smirnov , devicetree , arm-soc , Linux Kernel Mailing List , Jacky Bai , Schrempf Frieder , Abel Vesa Subject: RE: [PATCH V3 4/4] soc: imx: Add blk-ctl driver for i.MX8MM Thread-Topic: [PATCH V3 4/4] soc: imx: Add blk-ctl driver for i.MX8MM Thread-Index: AQHXQioPEfyn25dIqEC8MqLKoWGE3arX+4qAgADIvCA= Date: Sat, 8 May 2021 00:54:21 +0000 Message-ID: References: <20210506041555.10719-1-peng.fan@oss.nxp.com> <20210506041555.10719-5-peng.fan@oss.nxp.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nxp.com; x-originating-ip: [92.121.68.129] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c5270fe6-982a-4dcf-116f-08d911bbd166 x-ms-traffictypediagnostic: DB7PR04MB4940: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2/IkgVS4rFpoGJgMfQoFOR8Wrb4R46kOp3ek9Yxab4f+gpqOD/PERA/lER1UyLav6POKQbvRlPPc9M1vKKMz12Atwgr7aO2rzUFAurQZ5Cd4eGhsqYjgoN3CvgmbgxQiGQoNeQB5ERb5UlDCBSR6z8jgRpVjezvbuiAy6bcijLzjeL9BSmtJ59gi+FDvs822NjfYoU0i+NdJ5zlrIc5hEpVg05aUkA4yxzJNvT7wMoSzIf8gEc/sCkhaGSWCmXyBVTmuSKVbFdxwnuHZuz1zPWkJKuphKmN1fJmpGZ7/DjXb/xZ20grBjMRr9V16+6A4olcMHZgEuQQh9t8KpvDcxOveG/CLZ6rXFmimbyyP3gJefsqHtfB38wy61ztMmuhf81fn4c6foTC+fOEJl6MNUQKxNHQ2zAyZdQTJEkSdyoK1f4bSu9bhwjtAAE3lEyFCKuvYcpMNtPDF6Sbdv66vuVuZM5ptkCGd6IK8wz6U7OUmEL+0S8Cl/Yk+2JtqxAh610BueHRGkZZYhg7e9AwcPUdYIRwhyRRZzATfjIWAtXIw8LY/pV7xJfv3jxM315Y6qeT2ITSwQjCSOuUirR2b6bvt1GYwF7pLRqCzs/NMBZU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(396003)(366004)(39850400004)(64756008)(66476007)(66446008)(66556008)(76116006)(66946007)(53546011)(6506007)(52536014)(83380400001)(26005)(316002)(38100700002)(110136005)(54906003)(4326008)(7416002)(186003)(86362001)(478600001)(55016002)(2906002)(5660300002)(7696005)(8936002)(8676002)(9686003)(33656002)(71200400001)(122000001)(44832011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?dURkMnhYQklIMWFyV3J3dVdKTVlaSmNMNGYrdjVndWNib1RET0pZckNaQ2Rn?= =?utf-8?B?SGJwYjZCa3BpUDRGaVkwRTRwdHVCRUpWVGlEKzk0RkgxM1U4QWRJWXIyLzc4?= =?utf-8?B?a2VjNWlrcGc2cVEzS2tlVm5JRWE4RWxxMHNZaDBlTkpOR1dFMllqZU5kWHBC?= =?utf-8?B?SHExbGJvc0VuaEpiY2ZLZFQvQ0NleEhUZXZDT05HVnRsaERrMEY3YXJLQnAy?= =?utf-8?B?NytlS1FNWXVTbDV3TFZaU0JoVG4vM0pkVGJoQ1d3NFJjNWVaYkFJcFk5ckov?= =?utf-8?B?QmJrdWJnZ0ZjQU0xK0VyeCtFUjNBSUtTRHVYV1JzQk0yRjdrQjAzb0pkdlRy?= =?utf-8?B?UklVb3lpVmxhMUtEQVd2WVo5L09BZm9JY2JFUmZzUmNnY0pWTVhrK0hwUTZR?= =?utf-8?B?T1QrTHQwNDRjeFYxaVVTaVUyOFlEdEpTQmhpaUxIb0FiRnU2eWlZL0JHZ01h?= =?utf-8?B?czRYVDl2MWhjVmYxbExpZkxLVGJPbkxqZlBqajdvOXcyRko3YW9Jd0JjWmlE?= =?utf-8?B?R0hxK0Q4dmEwMDlrMzIyVUtFZXJURkxRWkVSU2tSVHJmVHNoZkVkS1ZFV3lm?= =?utf-8?B?cVpneE00S24vTVQ2Z3lFOENsVnFWc1pSYW85UktDd2xkNUtKUmpLeU1kZFR1?= =?utf-8?B?VUZkNFg3OVlFN3cwVkNTeEEyZmVlcmdSd3hKT2tvWGdFczh4Y05hays0cEhP?= =?utf-8?B?UnJ4dWFRNXRSTGlyRkdSUnk1Sk81UFMrRTJ5Y0puYkhPaHcrYmZoZ0NCZzdN?= =?utf-8?B?cHZDZ1pKbXlIcXVpNFBHMHpRSmdNMGZwNGhKUC91ZllJcTk4NEo3TnZwUmlW?= =?utf-8?B?bnBXdjNXR3RDWVRtMEs3WVRaSGNYQWVRT0NxK2dhOFhEOGwvMnJMdXliQkEy?= =?utf-8?B?QnZsL2lHbzJveXVVWlZyQWVuQmNGazUyRlgzV0tiRlY3NWlPemIwZTJBYmE0?= =?utf-8?B?S3RpeGhkMjBJTlZLNWt3WFlwV3VpcXlET0tFSk1FVWh0b3o3MUdMVnUrZzJm?= =?utf-8?B?YlgwcE9nK2J5VWZESmlsdTY3bnZlT3BaeU1ZWWxrNDdEZWxJcU1qSUY0VUN0?= =?utf-8?B?T0pOZGNWT053akFyVkM2VGt3Y3NCU1FzNEluWXRvWHlQZzZtMStoZXNPVVNk?= =?utf-8?B?VXlQazNwcDhSMlloVDJySkFUZVNIUWFSK0dEU013UzZpQjRNdmw3K0NRV1NG?= =?utf-8?B?UnNuN1lVRDNNY3RBTFdjMmc2Ymd6OTBnWVpuNjg2cWdBYXlyQjE1TTBKUzRO?= =?utf-8?B?citNVVNlQnN5TnpzbGVHazBIbWNadTMzRnMxeUpBcDN3RHRyc3AweGtCeXk0?= =?utf-8?B?WUc2S0pxYnVVdTNHWXNFaHVlVjZ5NWZkekk2TUl2NGZ0dlJaRHRIRU1rZzZG?= =?utf-8?B?TG9TQzZ5QzBDK2VvUytXbm5GSW54bExUZnhuRkRvdU5leDdabFJ6NVl0UDhK?= =?utf-8?B?cWgvV3ExbGdleDFEQmZLNUFSNVJSaU9YUTVCM0FpdStVY3Y3ck1vd3d0a0xN?= =?utf-8?B?SU1BeXVLTmNZbEJvckZuNkw5V2VoVWo2eWxlckZVNDJLUFp1dDlBM3ZWcEli?= =?utf-8?B?eTY2MVZiNUVpU1BYRC9ZV2YzZVZJV2JlZHAyYnc4UFhPU0FkT2FMY0o2dllq?= =?utf-8?B?dVI3anhmVDJ3eXQxNUxCS21WaXVYcVg0N1MxdDdUc2lndEs3MUxPYWJkdkJx?= =?utf-8?B?Yldzd2R5Qk9SWGRycFpDb3Bvck1lZ01MaHdCNy91LzRkUXliK2txazVsb2pQ?= =?utf-8?Q?peqN433JXKMC3xk/wVhIZla7HLry+F21GK4u5gM?= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5270fe6-982a-4dcf-116f-08d911bbd166 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 May 2021 00:54:21.7190 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: z7oUBoEq+bOhTp8vEi/N19tuoxGXm4O1dz/pMy297QpkGdvN8mufaZ9pzkI+l85oOhTbs10KVEPhahbRvqc66A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4940 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210507_175425_725136_D6BFF14B X-CRM114-Status: GOOD ( 32.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > Subject: Re: [PATCH V3 4/4] soc: imx: Add blk-ctl driver for i.MX8MM > > On Wed, May 5, 2021 at 10:44 PM Peng Fan (OSS) > wrote: > > > > From: Peng Fan > > > > The i.MX8MM SoC has dispmix BLK-CTL and vpumix BLK-CTL, so we add > that > > support in this driver. > > > > Signed-off-by: Peng Fan > > --- > > drivers/soc/imx/Makefile | 2 +- > > drivers/soc/imx/blk-ctl-imx8mm.c | 138 > > +++++++++++++++++++++++++++++++ > > 2 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 > > drivers/soc/imx/blk-ctl-imx8mm.c > > > > diff --git a/drivers/soc/imx/Makefile b/drivers/soc/imx/Makefile index > > d3d2b49a386c..c260b962f495 100644 > > --- a/drivers/soc/imx/Makefile > > +++ b/drivers/soc/imx/Makefile > > @@ -4,4 +4,4 @@ obj-$(CONFIG_ARCH_MXC) += soc-imx.o endif > > obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o > > obj-$(CONFIG_IMX_GPCV2_PM_DOMAINS) += gpcv2.o > > -obj-$(CONFIG_SOC_IMX8M) += soc-imx8m.o blk-ctl.o > > +obj-$(CONFIG_SOC_IMX8M) += soc-imx8m.o blk-ctl.o blk-ctl-imx8mm.o > > diff --git a/drivers/soc/imx/blk-ctl-imx8mm.c > > b/drivers/soc/imx/blk-ctl-imx8mm.c > > new file mode 100644 > > index 000000000000..cc6e6705f755 > > --- /dev/null > > +++ b/drivers/soc/imx/blk-ctl-imx8mm.c > > @@ -0,0 +1,138 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright 2021 NXP > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +#include "blk-ctl.h" > > + > > +#define MEDIA_BLK_BUS_RSTN_BLK_SYNC_SFT_EN > BIT(6) > > +#define MEDIA_BLK_MIPI_DSI_I_PRESETN_SFT_EN > BIT(5) > > +#define MEDIA_BLK_MIPI_CSI_I_PRESETN_SFT_EN > BIT(4) > > +#define MEDIA_BLK_CAMERA_PIXEL_RESET_N_SFT_EN > BIT(3) > > +#define MEDIA_BLK_CSI_BRIDGE_SFT_EN > GENMASK(2, 0) > > + > > +#define MEDIA_BLK_BUS_PD_MASK > BIT(12) > > +#define MEDIA_BLK_MIPI_CSI_PD_MASK > GENMASK(11, 10) > > +#define MEDIA_BLK_MIPI_DSI_PD_MASK > GENMASK(9, 8) > > +#define MEDIA_BLK_LCDIF_PD_MASK > GENMASK(7, 6) > > +#define MEDIA_BLK_CSI_BRIDGE_PD_MASK > GENMASK(5, 0) > > + > > +static struct imx_blk_ctl_hw imx8mm_dispmix_blk_ctl_pds[] = { > > + IMX_BLK_CTL_PD("CSI_BRIDGE", "dispmix", > IMX8MM_BLK_CTL_DISPMIX_CSI_BRIDGE, 0x4, > > + MEDIA_BLK_CSI_BRIDGE_PD_MASK, 0, > MEDIA_BLK_CSI_BRIDGE_SFT_EN, > > + IMX_BLK_CTL_PD_RESET), > > + IMX_BLK_CTL_PD("LCDIF", "dispmix", > IMX8MM_BLK_CTL_DISPMIX_LCDIF, 0x4, > > + MEDIA_BLK_LCDIF_PD_MASK, -1, -1, 0), > > + IMX_BLK_CTL_PD("MIPI_DSI", "mipi", > IMX8MM_BLK_CTL_DISPMIX_MIPI_DSI, 0x4, > > + MEDIA_BLK_MIPI_DSI_PD_MASK, 0, > MEDIA_BLK_MIPI_DSI_I_PRESETN_SFT_EN, > > + IMX_BLK_CTL_PD_RESET), > > + IMX_BLK_CTL_PD("MIPI_CSI", "mipi", > IMX8MM_BLK_CTL_DISPMIX_MIPI_CSI, 0x4, > > + MEDIA_BLK_MIPI_CSI_PD_MASK, 0, > > + MEDIA_BLK_MIPI_CSI_I_PRESETN_SFT_EN | > MEDIA_BLK_CAMERA_PIXEL_RESET_N_SFT_EN, > > + IMX_BLK_CTL_PD_RESET) }; > > + > > +static struct imx_blk_ctl_hw imx8mm_vpumix_blk_ctl_pds[] = { > > + IMX_BLK_CTL_PD("VPU_BLK_CTL_G2", "vpu-g2", > IMX8MM_BLK_CTL_G2_PD, 0x4, > > + BIT(0), 0, BIT(0), IMX_BLK_CTL_PD_RESET), > > + IMX_BLK_CTL_PD("VPU_BLK_CTL_G1", "vpu-g1", > IMX8MM_BLK_CTL_G1_PD, 0x4, > > + BIT(1), 0, BIT(1), IMX_BLK_CTL_PD_RESET), > > + IMX_BLK_CTL_PD("VPU_BLK_CTL_H1", "vpu-h1", > IMX8MM_BLK_CTL_H1_PD, 0x4, > > + BIT(2), 0, BIT(2), > IMX_BLK_CTL_PD_HANDSHAKE | > > +IMX_BLK_CTL_PD_RESET), > > Question for you or the group, > > I am trying to port this code to the Nano. I have the various virtual domains > for ISI, CSI, DSI, LCDIF, etc. but the system doesn't wake from sleep. You mean suspend/resume? I notice > that the IMX_BLK_CTL_PD_HANDSHAKE is only used occasionally, and I was > hoping someone could help me identify when it's needed. I know the Nano > doesn't have the VPU, but I want to make sure I'm not missing a > IMX_BLK_CTL_PD_HANDSHAKE if necessary. IMX_BLK_CTL_PD_HANDSHAKE is mostly for the bus clk of the blk ctl, but vpu not have a dedicated bus clk for handshake, however H1 clk could be used for handshake, so I mark it with IMX_BLK_CTL_PD_HANDSHAKE. Regards, Peng. > > I could also post an RFC to get feedback if that helps. > > adam > > > +}; > > + > > +static const struct regmap_config imx8mm_blk_ctl_regmap_config = { > > + .reg_bits = 32, > > + .reg_stride = 4, > > + .val_bits = 32, > > + .max_register = 0x30, > > + .fast_io = true, > > +}; > > + > > +static const struct imx_blk_ctl_dev_data > imx8mm_vpumix_blk_ctl_dev_data = { > > + .pds = imx8mm_vpumix_blk_ctl_pds, > > + .pds_num = ARRAY_SIZE(imx8mm_vpumix_blk_ctl_pds), > > + .hw_hsk = IMX_BLK_CTL_PD(NULL, NULL, > IMX8MM_BLK_CTL_H1_PD, 0x4, BIT(2), 0, BIT(2), > > + IMX_BLK_CTL_PD_HANDSHAKE), > > + .config = imx8mm_blk_ctl_regmap_config, > > + .active_pd_names = (char*[]){"vpumix", "g1", "g2", "h1"}, > > + .num_active_pd = 4, > > +}; > > + > > +static const struct imx_blk_ctl_dev_data > imx8mm_dispmix_blk_ctl_dev_data = { > > + .pds = imx8mm_dispmix_blk_ctl_pds, > > + .pds_num = ARRAY_SIZE(imx8mm_dispmix_blk_ctl_pds), > > + .hw_hsk = IMX_BLK_CTL_PD(NULL, NULL, -1, 0x4, > MEDIA_BLK_BUS_PD_MASK, 0, > > + > MEDIA_BLK_BUS_RSTN_BLK_SYNC_SFT_EN, > > + IMX_BLK_CTL_PD_HANDSHAKE | > IMX_BLK_CTL_PD_RESET), > > + .config = imx8mm_blk_ctl_regmap_config, > > + .active_pd_names = (char*[]){"dispmix", "mipi"}, > > + .num_active_pd = 2, > > +}; > > + > > +static int imx8mm_blk_ctl_probe(struct platform_device *pdev) { > > + struct device *dev = &pdev->dev; > > + const struct imx_blk_ctl_dev_data *dev_data = > of_device_get_match_data(dev); > > + struct regmap *regmap; > > + struct imx_blk_ctl *ctl; > > + void __iomem *base; > > + > > + ctl = devm_kzalloc(dev, sizeof(*ctl), GFP_KERNEL); > > + if (!ctl) > > + return -ENOMEM; > > + > > + base = devm_platform_ioremap_resource(pdev, 0); > > + if (IS_ERR(base)) > > + return PTR_ERR(base); > > + > > + regmap = devm_regmap_init_mmio(dev, base, > &dev_data->config); > > + if (IS_ERR(regmap)) > > + return PTR_ERR(regmap); > > + > > + ctl->regmap = regmap; > > + ctl->dev = dev; > > + ctl->power_count = 0; > > + mutex_init(&ctl->lock); > > + > > + ctl->num_clks = devm_clk_bulk_get_all(dev, &ctl->clks); > > + if (ctl->num_clks < 0) > > + return ctl->num_clks; > > + > > + dev_set_drvdata(dev, ctl); > > + ctl->dev_data = dev_data; > > + > > + return imx_blk_ctl_register(dev); } > > + > > +static const struct of_device_id imx_blk_ctl_of_match[] = { > > + { .compatible = "fsl,imx8mm-vpumix-blk-ctl", .data = > &imx8mm_vpumix_blk_ctl_dev_data }, > > + { .compatible = "fsl,imx8mm-dispmix-blk-ctl", .data = > &imx8mm_dispmix_blk_ctl_dev_data }, > > + { /* Sentinel */ } > > +}; > > +MODULE_DEVICE_TABLE(of, imx_blk_ctl_of_match); > > + > > +static struct platform_driver imx_blk_ctl_driver = { > > + .probe = imx8mm_blk_ctl_probe, > > + .driver = { > > + .name = "imx8mm-blk-ctl", > > + .of_match_table = > of_match_ptr(imx_blk_ctl_of_match), > > + .pm = &imx_blk_ctl_pm_ops, > > + }, > > +}; > > +module_platform_driver(imx_blk_ctl_driver); > > -- > > 2.30.0 > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel