From patchwork Mon May 4 13:16:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 1282617 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=XBd7mF/6; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49G2rP1Rsmz9sTH for ; Mon, 4 May 2020 22:55:01 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 06C3381F7E; Mon, 4 May 2020 14:54:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="XBd7mF/6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4D21281F92; Mon, 4 May 2020 14:54:23 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03on061c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe09::61c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 071A881F70 for ; Mon, 4 May 2020 14:54:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xe9gISiJL6VuLGoC0yBApFXEUgeBNFmeCLjMXdM/S3dPW0qKAlHMUwNNkMx5PUkUrmdDnjPxArSTYdKeb5yfMcXsMKKs4yhHNzeNflflWEfXqpkTxAHKm1E8k5nqZtJ2uq3ark8H1ILIywrYwPHRB7IVy3KCdI87evRO4U7QU/U9CYd89YIA5mdH+mf+kQaZUTHy6sJ7timI9vFO+ZHnwQjjyBIysytIvytJWm1sn2yhlvLsee3Bgwmk3sLBmj0lUO+UIUgSFWTafnD63O9qxFUjltUWJW0uVlUNVPQAr+51qwAEZUEqpQuX6XMfYOeVTWQVDzodmzkgxJ78Dh1uHA== 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=EnkcLjTqWh4rhxz1bk3K+RUayukLvmkJyLL8WE14CaA=; b=XueykOvuwlSvtV7BFv3HDi0yWH8SKpjcomnbTRqY2B4gZalWdR5LBduYQzbTOPodacaNMbkdcvqujbtUXaVNjdCXwJe/OOJSY1wWAxIyX30aZuBvU7LBNFnGXP8ezl0qsTwoRY9OpPlb1Mzjsxwf6dbnBD8fvx5N5JamLpSS2BEzId16mpxGmhd1Q54uDMmpwpzT+cR6JkIVzKdSSIdPXsL6Qcl2avKl17/JW2ejuFNAzMsVsomR4P5dg4MDlAPiWOYqSY6i19RwLs7toupihukGh3Pu5cdVzEJOJe15ZYDXJ5hfYwWueg4z5mYhP17NZfejq/z9d/j9AsGSunf52A== 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=EnkcLjTqWh4rhxz1bk3K+RUayukLvmkJyLL8WE14CaA=; b=XBd7mF/6c+Oqwq+hTAgGa3ReRvSUSVNy4yfVDbiU1lUVjAVQJ/7eH3AN5DLBf6KH8XFvfko8e+nzx5fJW3cNw/vBUBN9c2xanZudlctUnpntph6Uklbhx77RFdHTWGCZ5vPt+ioThKoOEmE6xqEcXs/XBSNaiE3sW5jIk/FVvog= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB6PR0402MB2773.eurprd04.prod.outlook.com (2603:10a6:4:94::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Mon, 4 May 2020 12:53:59 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d17b:d767:19c3:b871]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d17b:d767:19c3:b871%6]) with mapi id 15.20.2958.029; Mon, 4 May 2020 12:53:59 +0000 From: Peng Fan To: sbabic@denx.de, festevam@gmail.com Cc: uboot-imx@nxp.com, u-boot@lists.denx.de, agust@denx.de, Peng Fan , Ye Li Subject: [PATCH V2 2/6] imx8: power: Add PD device lookup interface to power domain uclass Date: Mon, 4 May 2020 21:16:50 +0800 Message-Id: <20200504131654.17085-2-peng.fan@nxp.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200504131654.17085-1-peng.fan@nxp.com> References: <20200504131654.17085-1-peng.fan@nxp.com> X-ClientProxiedBy: SG2PR02CA0029.apcprd02.prod.outlook.com (2603:1096:3:18::17) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by SG2PR02CA0029.apcprd02.prod.outlook.com (2603:1096:3:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Mon, 4 May 2020 12:53:56 +0000 X-Mailer: git-send-email 2.16.4 X-Originating-IP: [119.31.174.71] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e4fd1cee-c3b1-4591-f61a-08d7f02a3691 X-MS-TrafficTypeDiagnostic: DB6PR0402MB2773:|DB6PR0402MB2773: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1079; X-Forefront-PRVS: 03932714EB X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IiWonr8HpVZiOpl6CZcqwoO0vc2Aq1ZRxMNtwyjTjRCLngltHHeSE7cTFO7vnkIQ799QeWGQQmCrf08f3qQTfmvc1HOlP/h7bt2LOIdlb2rtj00IbDWbnlRNUdkikI13MJumY9pm/1zhuiskYN1YA/tZKVY8hT00oeRlSwnH5BWsax5M1EEJf5E5pWwINjVgeoTVkC/D+FEV/oeLDF8Ybc9f8k5zn8BdUogS8juYNwcef8KcKHy6URnaaIHaxN8Vw2BfdJghzHWLr/2Bw4rt9O8E9PmEQZdZ+v053puIZaFdKR9QEQ8BpUmc1k8Mm1HWKaMS8KmS0qCN9xX3OSNkQXpVBSZ1Xtyt8EPb/ZX9JxeneB20rXXbMpfASXy0oWxAoZBoKf2ayBNlFfK872AGibR+fYhAkgVAb6Sm1WFMamE9wTovL1borItKMDw5fLuA 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; SFTY:; SFS:(4636009)(396003)(346002)(366004)(39860400002)(376002)(136003)(316002)(6666004)(8676002)(6512007)(26005)(1076003)(186003)(86362001)(5660300002)(6486002)(16526019)(6506007)(8936002)(2906002)(36756003)(956004)(52116002)(4326008)(66946007)(66476007)(66556008)(2616005)(54906003)(44832011)(478600001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: t+Vs5SLQzRQ8EHpY3auN6lyEq+P5cQugRAhAuqbeGtLePKK/gU2sZAkQ44c+XIGYzxrRyvzgy7bc4CaJjhtcz8tPteeSYvv5aWS6cLT85/Ih5PtAj734oq+Oewq2u3Sax0jqBoqunRgx9CmmtnfVxg3Mds3bw6SkEaUM2t/4DiqG4bkgWSbgFEj3bZkuC7IG0n69WZOFagJlHnbWjJw1C4MqyF94g2/Dz+g27q8y7Zp9B9zTC2tgRRlUSpBSQvO+h52baKtGEWmKj92ntefsa9g+x1Ivid846r3ezt4DNAcVPC1ktMbahNCxC0Bp7YIPoW8vKx/Nkz8MnSx7aqIWLaFSJ2oIYueZ/fO0Afs53jsVF37MYtw2lpXc6vX86trmZt+W1BGcgSXNIuj7bP/Eks71r0jC+pxWi5J+HKYT75WHV7Dx39fttzMoNzq3Cgozj9cGOM+RlchHUg6WZDW/WSj+GONEwJf8lfH/mOzx90Yj6/KfUgAcukz41ieaoDyCqOCWobUTuilMlo80SlXG+oYAvEIttKj9H1juTKNKdq60PXbXqKQZiw3q5hZo8m46e/FpoyrH3ZCOmn0L92RUcKUbTs3d4QJs7A7snlKxUtB8VSIDOaEWBLfHTf9JIGVqqQhZdeJJ26T4U6Ag75oqaEpesE0xsPBCqX8GSDDRXI349E6Bi8xFbDlr/eBjpdQoLv/xRVxztyFCcfROq0gDLfwX0XL5UBxkqc+T30lySEwZ3J5pWaC8oev/Dy4YhVWZl71XQ58hPTpou/4Pk/3Anh4gigLgd4eO9wvIgqMunv8= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4fd1cee-c3b1-4591-f61a-08d7f02a3691 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 May 2020 12:53:59.3691 (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: 2PKOdHiTYhO8bhipx9rHHykAy8eqV7TwEo5+d2eCoD68i0W76Yk2SfrmzyDJxFdycEZcMzRnVJBR8mmseKWEZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2773 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Add power_domain_lookup_name interface to power domain uclass to find a power domain device by its DTB node name, not using its associated client device. Through this interface, we can operate the power domain devices directly. This is needed for non-DM drivers. Modified from Ye's NXP downstream patch only for legacy imx8 power domain driver, since we have not migrated to use new power domain driver. Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8/sys_proto.h | 7 +++++++ drivers/power/domain/imx8-power-domain-legacy.c | 28 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/arch/arm/include/asm/arch-imx8/sys_proto.h b/arch/arm/include/asm/arch-imx8/sys_proto.h index 0e981ae950..fc33e6ed18 100644 --- a/arch/arm/include/asm/arch-imx8/sys_proto.h +++ b/arch/arm/include/asm/arch-imx8/sys_proto.h @@ -5,6 +5,11 @@ #include #include +#include +#include +#include +#include +#include #include struct pass_over_info_t { @@ -21,3 +26,5 @@ void build_info(void); enum boot_device get_boot_device(void); int print_bootinfo(void); int sc_pm_setup_uart(sc_rsrc_t uart_rsrc, sc_pm_clock_rate_t clk_rate); +int imx8_power_domain_lookup_name(const char *name, + struct power_domain *power_domain); diff --git a/drivers/power/domain/imx8-power-domain-legacy.c b/drivers/power/domain/imx8-power-domain-legacy.c index 6f01a60b34..2c479744d3 100644 --- a/drivers/power/domain/imx8-power-domain-legacy.c +++ b/drivers/power/domain/imx8-power-domain-legacy.c @@ -19,6 +19,34 @@ struct imx8_power_domain_priv { bool state_on; }; +int imx8_power_domain_lookup_name(const char *name, + struct power_domain *power_domain) +{ + struct udevice *dev; + struct power_domain_ops *ops; + int ret; + + debug("%s(power_domain=%p name=%s)\n", __func__, power_domain, name); + + ret = uclass_get_device_by_name(UCLASS_POWER_DOMAIN, name, &dev); + if (ret) { + printf("%s fail: %s, ret = %d\n", __func__, name, ret); + return ret; + } + + ops = (struct power_domain_ops *)dev->driver->ops; + power_domain->dev = dev; + ret = ops->request(power_domain); + if (ret) { + debug("ops->request() failed: %d\n", ret); + return ret; + } + + debug("%s ok: %s\n", __func__, dev->name); + + return 0; +} + static int imx8_power_domain_request(struct power_domain *power_domain) { debug("%s(power_domain=%p)\n", __func__, power_domain);