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 phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2A247C43334 for ; Tue, 21 Jun 2022 08:13:13 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A8EA282104; Tue, 21 Jun 2022 10:13:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=aspeedtech.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com header.b="zpVnfsV5"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A1A48839BD; Tue, 21 Jun 2022 10:13:09 +0200 (CEST) Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on2070c.outbound.protection.outlook.com [IPv6:2a01:111:f400:feae::70c]) (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 A028383345 for ; Tue, 21 Jun 2022 10:13:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=aspeedtech.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ryan_chen@aspeedtech.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ionzIsfEmXWhdZ4iQs0PqsB5oeTP33+sUO4678CGas2b6ifZZSM62jcNSan1DcObhZs+5ih6nDGFPz8mGeIMZum3JcAJuMqfgViczgwUUOkSpgJoYHw5DFmA1C6D36VQekdD2PcHNKh701IVBlxtVPKNcuzeP7D8L4QY/TAdPH75dUxjmyF+GzUUZJilCrHCpPr4ZXc58FXOdPppnaz2/yHWrnQKE2B/B1wxA++zqbv9hq9252trpe4wyVn2tyojD5JmG4rCS8q3M/TpWBc996Ko2XKx6v9pcofKGziy0RgjO6Xt7+1yF5TH79bh9c/rhCMqZAlwxKXC9kK+Cjo8Ng== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7ziUxGcPmrAJxIch7e+E4kL4QKqhTYPyh4vcX+A9eRc=; b=RFktCIIozyPoJFBdZSfQgETdyaPc9ZfWv5ykwhjU4oB0Ut2jwRlWfQLuTzvHFk5ZTfleMLoTp66NM+1OyMG+S01udQUHJhfE7mrPxgtGKL4BPPA4S9Sh8v3QRvXLcWawNx7m7iISnuvvAyesPmRTgUCvOnFg94cXd39W2FGLlmSbzvUaCGCDULttvCiHQOmTgHVj1waqr7TiLgH5ola2cpHKkVuzGYIYeqXaVArf7fw7tOuwuY+DrcVIsDyqoc7fQZ2K4Ha1+sjgl9JqahJ4lu9Ml/tVsFYM7L7+M5ft+nmzg95uWBiR/pkON1hKGdgdBsnpnawdjXKfslRh3tqvcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7ziUxGcPmrAJxIch7e+E4kL4QKqhTYPyh4vcX+A9eRc=; b=zpVnfsV5qUKTFNO1C5AnqI4dd0rjg9tlp/74aVmGNrWBH/A1rVEw3abZLJfylBb3/AF0QuEmApNxHhFot8kFjG9eLUhWW/pRWkE/NVTEUASYPikNYl5Oqs49qCkfZQJ+0unWihlQaQSXAAFaTkSg2GddxveJlQi18ixyYiNOn1vDfs/mjeNvT3vFyAkZ5TzuzFufeu/GSXB8rfDyOmDGHaPh9Z7MA0o5vyv3UJjTVW2p9weOGS0YVbLf4SgC9xVkoTkA+cmFrxrETLiDiLfeVe/xIbnmTMA9AfwgoLETM3LVURJiQP1WCzqX5orVtyBSiSHfe2H+SmXjrYKriHLPQQ== Received: from SEZPR06MB5269.apcprd06.prod.outlook.com (2603:1096:101:78::6) by SI2PR06MB4409.apcprd06.prod.outlook.com (2603:1096:4:15c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.15; Tue, 21 Jun 2022 08:12:58 +0000 Received: from SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::ac67:6f7c:3c88:eb8c]) by SEZPR06MB5269.apcprd06.prod.outlook.com ([fe80::ac67:6f7c:3c88:eb8c%6]) with mapi id 15.20.5353.022; Tue, 21 Jun 2022 08:12:58 +0000 From: Ryan Chen To: Joel Stanley , BMC-SW , Heiko Schocher CC: "u-boot@lists.denx.de" , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: RE: [PATCH 06/10] reset/aspeed: Implement status callback Thread-Topic: [PATCH 06/10] reset/aspeed: Implement status callback Thread-Index: AQHYhHb3wnhvcjrbn0mWTBDDjACLvK1ZhHJQ Date: Tue, 21 Jun 2022 08:12:58 +0000 Message-ID: References: <20220620072457.3445278-1-joel@jms.id.au> <20220620072457.3445278-7-joel@jms.id.au> In-Reply-To: <20220620072457.3445278-7-joel@jms.id.au> Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 67ddd696-d9d6-4933-ba34-08da535dda20 x-ms-traffictypediagnostic: SI2PR06MB4409:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zv3PmibIxMG+pnbQYL+ynwIOjfAILkw3ox9ZCxcE/TXjBsk2JAC0dx7mLSlWzowdEJaKQaR7sjQv0UmTG6Uvv9M2eG85NE/gtF7SZK5o7ob7iE5KI8igM0CACK1mkMTWJnuWC9g+XWyFLOo2UVM//KPVwsrA0OVpa6G5VE5oVLhxFs2IKL2PGkWWeZqOU1jqaAQQ4V7dfiJfrmIT8GJNhExZWLKhlqTf316KzTa0ka82rYugb/UPWO12DsbFp95l+mO4izWhKGmVXJ78wAIx/lDzalkpGO9z9VLjnqpHg7e3pnknnmEq/WeIgmWTiCBz74/iHEYvdPS7hugSQhmfQYsHa6jepOxQootyrzym9SdM+tWtwlli/e9gjji9L1MJ0V4+HeLCCnpeVlHtNE6bEkMImTixx8T3RoDbWWqTIjOV5rSolZTpxUShZjYriwDDzStdcO07DWJ6lX3mAvH5cVU6YwCuBmIHRtZYfEZoET63DXcNG3luiUADjUEOgkNfKBqXGxflg/otx5auwIxeAjGsZjWhRCGKo9gG/7m1aDmPqWVkVCZYYfTfEx3aBG1Was4JHWM2Myp8LiQ9vR/dBdYNiI0d/V3X0nxdK0YRrftMNOzBwYt1amF+ChhFUuYWs38lDHbHMlKpbSjMAhFE8G/F9x1drUfD1IwMiY10hT+whJjIC3bL0zj4bvSPePpC2OL15QHIuBYQjJbGcpSrTDwf6gtKtrr9+elsMQIhrHM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR06MB5269.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(346002)(376002)(39840400004)(396003)(136003)(66946007)(6506007)(8676002)(2906002)(66476007)(66446008)(64756008)(4326008)(66556008)(186003)(110136005)(7696005)(38100700002)(76116006)(54906003)(55016003)(83380400001)(41300700001)(5660300002)(53546011)(52536014)(38070700005)(71200400001)(86362001)(478600001)(26005)(9686003)(316002)(8936002)(33656002)(122000001)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?kwuQ8m2CrLMssqCKyq1ywrh0l/3tmsGfIMKXg6CZNXlX7EvWynDL6K2lvD?= =?iso-8859-1?Q?OGGEnK1Ce7mJ8fUtaC4wpZVzDubhuOk1OL4kOzEmdUG2Usz6xeCmschuq0?= =?iso-8859-1?Q?/Pp+wwO+WhhpI+HZmPMSTQGr11A+i8vuaLQ3HfEJyZ7h9Pq+vjCdCMQ+PU?= =?iso-8859-1?Q?f0HWD0rCpMqJUhg4WigIETlu9EwUvhe910SBA6qw+O1svhp/qtEUJQ0B0f?= =?iso-8859-1?Q?pbWskCg6j2GOWWpW1cHKEPK7UttReKyVztrb9DsCG2mlzj9YB+oHtGrDPk?= =?iso-8859-1?Q?0hMFtH06OmyIv5lsDgdMOg8iV+vsH9p5qOgiE+60DCkL+w8dVYWdhvGdrP?= =?iso-8859-1?Q?BHH2eRfoAu7SuAPoYLsAXSU+C7h6+28SM/p1g9ijzPleF/Pjo4hjZmI9+X?= =?iso-8859-1?Q?gtBh/cIl6eaHqAd/pc+Fu/+KLAGmDxEMEd0emSr0sFmhMbZJK2mbrz44sn?= =?iso-8859-1?Q?dQul/ZeLOlxaQLHm6wWQPjLpFNqN7tUIzwLJcVyOf9wosl0tedvcaZMX3+?= =?iso-8859-1?Q?MceBtjiXs/FeKXs61JSmFT2EGmXCrh4uZZKAgg5k9HtWBGiiM53ne+P019?= =?iso-8859-1?Q?HPV6EqA+QySdPwB66yRmTfiXXrdKVTfssR9Sa6wJoQyXNfAMBjGlgLZRef?= =?iso-8859-1?Q?3AFoplJRl1uHluBwgaGC05DZ8NuGsOB3Ofn7VC83geOgcBVFeafeLCZbSv?= =?iso-8859-1?Q?frfVeei/rdBNSFKl226J5I8ZrwqRQqKtvQN/becWSb8QKdhdU7LVJzd0Yz?= =?iso-8859-1?Q?pKgv3SbbfoimxOkYISKrxdsTDaGT38P9dl7FsYHPBYo/Aem22HnidSKZcr?= =?iso-8859-1?Q?ldB8hzTh9cvTXmfjqseIO+xPWERP9LC/ZXUN6aOnp5vGWHHjLAOIEypXHB?= =?iso-8859-1?Q?t04mOn5g6AMCUvj/ei8dyxLo9h5tAbFUCOVYVBF7ShR2Umq3ekg5F7tiXx?= =?iso-8859-1?Q?7HAKOWndPUlFLvREB4E0+RoiA7bjGvsf/W/SZtckie0DhN6b/yiTDAUigQ?= =?iso-8859-1?Q?oChP9bwJPRHVKVyFBk6SR59XrzLlbD7ZcZew+PqK2N/hv73EokVwAHvLlq?= =?iso-8859-1?Q?EpV++kN+j/2yrvsYFP837V4fBIfoL3eljgM9NvquXQiMdZgwqJ4CvwigAO?= =?iso-8859-1?Q?+aC42wu307DfrJpHpayyZ4Oq5SYuvhX+G32L1lZOfqEML2wyz0aKWS98ie?= =?iso-8859-1?Q?haL/5BWEM9ws9NGEKHNLlGL1wSWdn4O3ixrGQiHt/pKaVomBvRi0nUzVLh?= =?iso-8859-1?Q?UCAtsCSq2XFDvackMzu6vSPyA9e6Y7Lp3FkGTRTzWK2x6gedwXHiGrTCRl?= =?iso-8859-1?Q?Y/sC08EI/SE/GxmEcOyiymG/+x9NVIHdGt9XaR+6pO7T3/4xFz/G0HcChR?= =?iso-8859-1?Q?9BadhW4Y4+2zquYmywpJ8/gEazEq1QGPtdwaQqcsI9arnxs5wrq9U/OZyJ?= =?iso-8859-1?Q?G+afE9IWOtnI6Y2p2pW2vB49Sh+76U4ZKKlkoUPJ3DeHZPEO0w3M2AwRVX?= =?iso-8859-1?Q?Q3zwGdlnx9dox1HfkN2nc2hgK7o8NKP/rDAC0TLf2uDVFHqYq4RPe1l025?= =?iso-8859-1?Q?z8s8bcN0TksWL+NRqGh5As8AbWQFZtVVj30jDe+tpMT33uolxbLHBgV/IG?= =?iso-8859-1?Q?7AOHtmwaFw2QEjBJhqSZCdQ7SSSTfBOZ60xUnNHBxhcdCcPz7Sse6xL7ka?= =?iso-8859-1?Q?5yq1NupM2YfixepgeKb1DFDBIFW9DHozt2gBKBGYp9g527d3QpbSEtvueK?= =?iso-8859-1?Q?3DjgQQthl0Af282IXG04vGSxeFG/tNMkt5UdIkyMCQeolvvyiBf1ROMuuB?= =?iso-8859-1?Q?53cmYtUDDt5Or+Hg0JPpmByGZp+Z+nQ=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5269.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67ddd696-d9d6-4933-ba34-08da535dda20 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2022 08:12:58.2832 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: K3RgcJFeop7F/sp/QuTL6bHZFAZjlz/tvC2hYEluP2vFQvxIfBuk4/NeAQ3VJP+VvnfAfaOVZPqkVfCUS5n5LJLU7812t1L0/aKpTkDSolE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2PR06MB4409 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.103.6 at phobos.denx.de X-Virus-Status: Clean > -----Original Message----- > From: joel.stan@gmail.com On Behalf Of Joel Stanley > Sent: Monday, June 20, 2022 3:25 PM > To: Ryan Chen ; BMC-SW > ; Heiko Schocher > Cc: u-boot@lists.denx.de; C=E9dric Le Goater > Subject: [PATCH 06/10] reset/aspeed: Implement status callback >=20 > The I2C driver shares a reset line between buses, so allow it to test the= state of > the reset line before resetting it. >=20 > Signed-off-by: Joel Stanley Reviewed-by: Ryan Chen > --- > drivers/reset/reset-ast2500.c | 19 +++++++++++++++++++ > drivers/reset/reset-ast2600.c | 17 +++++++++++++++++ > 2 files changed, 36 insertions(+) >=20 > diff --git a/drivers/reset/reset-ast2500.c b/drivers/reset/reset-ast2500.= c index > 0a1dd236aff3..d9cecf3a72e8 100644 > --- a/drivers/reset/reset-ast2500.c > +++ b/drivers/reset/reset-ast2500.c > @@ -48,6 +48,24 @@ static int ast2500_reset_deassert(struct reset_ctl > *reset_ctl) > return 0; > } >=20 > +static int ast2500_reset_status(struct reset_ctl *reset_ctl) { > + struct ast2500_reset_priv *priv =3D dev_get_priv(reset_ctl->dev); > + struct ast2500_scu *scu =3D priv->scu; > + int status; > + > + debug("%s: reset_ctl->id: %lu\n", __func__, reset_ctl->id); > + > + if (reset_ctl->id < 32) > + status =3D BIT(reset_ctl->id) & readl(&scu->sysreset_ctrl1); > + else > + status =3D BIT(reset_ctl->id - 32) & readl(&scu->sysreset_ctrl2); > + > + return !!status; > +} > + > + > + > static int ast2500_reset_probe(struct udevice *dev) { > int rc; > @@ -79,6 +97,7 @@ static const struct udevice_id ast2500_reset_ids[] =3D > { struct reset_ops ast2500_reset_ops =3D { > .rst_assert =3D ast2500_reset_assert, > .rst_deassert =3D ast2500_reset_deassert, > + .rst_status =3D ast2500_reset_status, > }; >=20 > U_BOOT_DRIVER(ast2500_reset) =3D { > diff --git a/drivers/reset/reset-ast2600.c b/drivers/reset/reset-ast2600.= c index > 985235a3ac46..1732a450efc0 100644 > --- a/drivers/reset/reset-ast2600.c > +++ b/drivers/reset/reset-ast2600.c > @@ -47,6 +47,22 @@ static int ast2600_reset_deassert(struct reset_ctl > *reset_ctl) > return 0; > } >=20 > +static int ast2600_reset_status(struct reset_ctl *reset_ctl) { > + struct ast2600_reset_priv *priv =3D dev_get_priv(reset_ctl->dev); > + struct ast2600_scu *scu =3D priv->scu; > + int status; > + > + debug("%s: reset_ctl->id: %lu\n", __func__, reset_ctl->id); > + > + if (reset_ctl->id < 32) > + status =3D BIT(reset_ctl->id) & readl(&scu->modrst_ctrl1); > + else > + status =3D BIT(reset_ctl->id - 32) & readl(&scu->modrst_ctrl2); > + > + return !!status; > +} > + > static int ast2600_reset_probe(struct udevice *dev) { > int rc; > @@ -78,6 +94,7 @@ static const struct udevice_id ast2600_reset_ids[] =3D > { struct reset_ops ast2600_reset_ops =3D { > .rst_assert =3D ast2600_reset_assert, > .rst_deassert =3D ast2600_reset_deassert, > + .rst_status =3D ast2600_reset_status, > }; >=20 > U_BOOT_DRIVER(ast2600_reset) =3D { > -- > 2.35.1