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 B6ADFC433EF for ; Fri, 7 Jan 2022 15:38:24 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7FC20836C5; Fri, 7 Jan 2022 16:38:22 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20210112.gappssmtp.com header.i=@monstr-eu.20210112.gappssmtp.com header.b="IU3PgbdL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EB63C836CB; Fri, 7 Jan 2022 16:38:20 +0100 (CET) Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2D18183510 for ; Fri, 7 Jan 2022 16:38:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=xilinx.com Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=monstr@monstr.eu Received: by mail-wm1-x32e.google.com with SMTP id l4so4172116wmq.3 for ; Fri, 07 Jan 2022 07:38:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20210112.gappssmtp.com; s=20210112; h=sender:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=QIj38UHULaj73B+FDfTjJOQ3QTOYG8H15EdfSFh9V/U=; b=IU3PgbdLzWzO+TuyAkx7Y7Wpfv6Nc1JbfQ8t1XQdoKI/UW8+quYhrmXE1oKmr/pc/a 4RifuSKV+9h6z1LW21T9MIALFSpeVXc/tYd4NfSWwiXUcHvPToWBUb97EjDm2IrFY1Lh +IQsAueJTeplb84gPg/SsF9/mryKeZOisttH4YjHexP2jP+jNohIzV69LVODYxj1asQ9 197AHjRyfC5KFor/OPLtHumTzbn3kSIqUzQM8qtyjRAFRY/+VSfXv4qm682F02Nb1in1 5j/LxHRseZc5x5bk2mL4GQnUEUchDZYgiLTfa2aiS/sxVZSRbAXdQc6JGbENeQCesjg9 PCAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:subject:date:message-id :mime-version:content-transfer-encoding; bh=QIj38UHULaj73B+FDfTjJOQ3QTOYG8H15EdfSFh9V/U=; b=Vhq46exI76yNnaNmDGvIhuA73+W72NTUWfWO0ESYYiB7XBUaIbSw9dhczKi9/sUI/m YtWXrxNWz3XTSf1Psmb0uj1knBNFjmDY7wGdgkYVF1dcMdrvbZiq2LZPUr3EIpibGV1x KTrbjMXtHcG1FBgIZnwZzHTczVvr7T1n1NNo/hb2VtRBiUbd6L6cITffqB/rJ/7kzIQN sTHmjIBAeBxA5kHQMkqwZXwU8zgjBRuMZ3HsGOZnkqRx/1eUCSmP44+3QZngXaQaOq7W 1+HtsCakvHGBo8uQ2UtnYOKddlgJRO2imI6j6FONfROnd+U6l3PCuzWn6BS4Ru+znM/6 KnKQ== X-Gm-Message-State: AOAM531C3gdDkDB0en9lIBPDbVtfj3J/C778hg9lzbNBH9OcMO7g3N9E WU44Be8w51wQ+opRhr0O1UvECeUVGNdlaJtb X-Google-Smtp-Source: ABdhPJyvYmoS32iK2cYhNGRsw0VrAuG3uAHUBxX3YGPfW639POJ44B1rWE5NNrqqPO9WunJTc7csgQ== X-Received: by 2002:a05:600c:3388:: with SMTP id o8mr8845374wmp.145.1641569897570; Fri, 07 Jan 2022 07:38:17 -0800 (PST) Received: from localhost ([2a02:768:2307:40d6::648]) by smtp.gmail.com with ESMTPSA id f10sm5314057wmg.43.2022.01.07.07.38.17 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Jan 2022 07:38:17 -0800 (PST) From: Michal Simek To: u-boot@lists.denx.de, git@xilinx.com, Simon Glass Subject: [PATCH] dm: core: Switch order of pinctrl and power domain calls Date: Fri, 7 Jan 2022 16:38:09 +0100 Message-Id: <85e7e0be34d30b100c7bb419f801a8c2e22fd1e9.1641569887.git.michal.simek@xilinx.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 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.2 at phobos.denx.de X-Virus-Status: Clean The commit 3ad307784847 ("dm: core: device: enable power domain in probe") introduced enabling power domain when device is probed. By checking this sequence in Linux kernel was found that power domain is handled first followed by pinctrl setting. This patch is switching this order to follow Linux kernel that power domains are handled first follow by pinctrl setting. The issue was found on Xilinx Kria SOM where firmware is blocking setting up pin configuration/muxes without enabling power domain for the specific IP first. Signed-off-by: Michal Simek --- drivers/core/device.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/core/device.c b/drivers/core/device.c index efd07176e374..101ad8a22b37 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -518,6 +518,14 @@ int device_probe(struct udevice *dev) dev_or_flags(dev, DM_FLAG_ACTIVATED); + if (CONFIG_IS_ENABLED(POWER_DOMAIN) && dev->parent && + (device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) && + !(drv->flags & DM_FLAG_DEFAULT_PD_CTRL_OFF)) { + ret = dev_power_domain_on(dev); + if (ret) + goto fail; + } + /* * Process pinctrl for everything except the root device, and * continue regardless of the result of pinctrl. Don't process pinctrl @@ -536,14 +544,6 @@ int device_probe(struct udevice *dev) if (dev->parent && device_get_uclass_id(dev) != UCLASS_PINCTRL) pinctrl_select_state(dev, "default"); - if (CONFIG_IS_ENABLED(POWER_DOMAIN) && dev->parent && - (device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) && - !(drv->flags & DM_FLAG_DEFAULT_PD_CTRL_OFF)) { - ret = dev_power_domain_on(dev); - if (ret) - goto fail; - } - if (CONFIG_IS_ENABLED(IOMMU) && dev->parent && (device_get_uclass_id(dev) != UCLASS_IOMMU)) { ret = dev_iommu_enable(dev); -- 2.34.1