From nobody Sat Oct 11 12:05:11 2025 Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF57223D281; Tue, 10 Jun 2025 16:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749573441; cv=none; b=S4QHywv++0Qt9uWYkRI5c5pRgy+phKIzt5uomDlT2uqEQWyuAyZ3HxdZz1x/wAzdMnWhqsNxJh3Ue61WATPM5MiZyGCi9aFhAyupFZd3ApWTvNThqNSAnDUMEXhH3r6sorov/VFtBFzNMYPxryiwrc+d+7vNXJIafSXQEr8k1rs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749573441; c=relaxed/simple; bh=8kEZBnV6Gg0YL6iqB2crT0RuhYZLdUOgPZ2gA0nvtu4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=jvAqL9+/Em16CVJMBdDkIvdiv6+ua3OvGQXjQYFvBSIR6IpVG7Bg8P65Exdmwx5H2BxIML9XvbAIFUK2BFtuMn3SiaXe2t3KrFNDteamAOZb/blqKHOepNe8t9PSdSxggAABi0kwgw6SJ6sCQfX37c0C00UjU9DJOY+iyJnW7pE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=L79KbN4o; arc=none smtp.client-ip=209.85.222.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="L79KbN4o" Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-7d09a17d2f7so465578285a.1; Tue, 10 Jun 2025 09:37:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749573438; x=1750178238; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=vek3l8Nm6PYSR+a+p5WH1tFEh9m7ZoSbhoGF7zP/muM=; b=L79KbN4o6J7x9HxnnVYwNHL7PThwZzECWFhO2qYASIUJ6wOQQmxwYh2K9Rv4q/8uNp cZUimSdARj6GVG2ZkiPbkWWlf30xdgMO0A3cuNHDAxxm21VKE2vPJMe8H/0KaV5KXuaT DxvDYqRoOaYjRUW8/Dg2WI7A1/PJR8GqGEfg4dcLz+Y2ojkVWByyb6aMX5N4amnUMty8 vMddXPm6cHgXGwZy9ZUwMmWnyVcXjLs1ZjG9BhpIakkBKTYUZlReIvJpG1e5HKU9AjUZ KzZIDVrqiAQCv6YTptzp/UAXdb1b3o/zxp+wyvnOwX9xFDw91g0BiVO3f1JcurRiQG2U fjag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749573438; x=1750178238; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vek3l8Nm6PYSR+a+p5WH1tFEh9m7ZoSbhoGF7zP/muM=; b=bdK/jNg3xFoQoCDdrhe5T0zTrcQfOpxTLZPXT0+miNCBu9qkddBlrgzVGE7unXxFPa ndorD026UxtT1JXFaYFCozIcQSateRZR4ksZO4yUAh+QXo1DTdAZHEzQcQlStKqi3n/f 0lVGva2kY6XlflgSmG4Wp/JLAUPuXLlLX5BCRYbwCxgK118US2isQNw0sTchc/BHaph4 lNgS57OyKH4PMbF3OqThgr+EIIx9ngVI95BbzKbC7iMuXjJZBeVBS9bHtB4EFlo/tCiT ywxNmHP0/p6sDfyHoMJqXOIoQR3oohCJ+ZIXAJVcIDedTbvPex0G0smQJ9exeWOc6J5E ZIAQ== X-Forwarded-Encrypted: i=1; AJvYcCUnjm5kXBQbY+atW8CIvSTFmHgmEhnf+M33qZxnVTwKBiAMrs1KlUAVtcRCfBXHsjfyDtJaOsj3XP3oEy8=@vger.kernel.org, AJvYcCVqrAZ1lJz7ASlsimG+1EBKr0oV2q14nvJeg4kPOoDOJ2X2fKscJ2elf/mroWLn3qUWbU68aYbUD8Ym@vger.kernel.org X-Gm-Message-State: AOJu0YxhHies6YJt7B8n8J9wUYE1kypkvPxvOVRH30dU8MvzrzaxDKrj fZ0ceplbcphq6DYnJwb6cxyLKZ1MUolUbv0iBHHWAwYa8jjkf4yNNOlE X-Gm-Gg: ASbGncssz6rm0+mYZoTvx60X4LtPC1FYO4FvphdZKqxDZ3ZelNvJ6WUsPnAUYtsxVQu fwAn87C1eEzQs3o1uwb1il3tdXhGuLwpVscnutXuZIQW1BoZ9bKxTg10ROTWuo7DEobVkP02JbG Mw47JzlZQoIw7V8WSQEMb5zHjPnZZ59Rrhq7dgKqh2byw0oY2BqVT3KUbaRam84RC77hnBVFY4+ B5tfV1UpMIUMtt8IkbgAkDgTK9XLcub/5r7+bX0ZZg1Vy3vrS9aZlcUk89Ud3yhyanleFCQ3bxK LoDUv6injlSmFtT4mbM5K4h4TRmCjXaDPJQ97B7zwqQ3dpmLRA== X-Google-Smtp-Source: AGHT+IHGaxxovrv2vFOeyWwXKXC8AtzwIvEB5fpx3Rxey4/mgeB4i4LmRr6mNTejwPat0j2MR0ppkg== X-Received: by 2002:a05:620a:4513:b0:7d2:2833:6dff with SMTP id af79cd13be357-7d3a888df03mr7490585a.26.1749573438459; Tue, 10 Jun 2025 09:37:18 -0700 (PDT) Received: from geday ([2804:7f2:800b:5a56::dead:c001]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-87eeaf97af8sm1488235241.33.2025.06.10.09.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jun 2025 09:37:18 -0700 (PDT) Date: Tue, 10 Jun 2025 13:37:12 -0300 From: Geraldo Nascimento To: linux-rockchip@lists.infradead.org Cc: Hugh Cole-Baker , Shawn Lin , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Heiko Stuebner , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v2 1/2] PCI: rockchip-host: Retry link training on failure without PERST# Message-ID: <810f533e9e8f6844df2f9f2eda28fdbeb11db05e.1749572238.git.geraldogabriel@gmail.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" After almost 30 days of battling with RK3399 buggy PCIe on my Rock Pi N10 through trial-and-error debugging, I finally got positive results with enumeration on the PCI bus for both a Realtek 8111E NIC and a Samsung PM981a SSD. The NIC was connected to a M.2->PCIe x4 riser card and it would get stuck on Polling.Compliance, without breaking electrical idle on the Host RX side. The Samsung PM981a SSD is directly connected to M.2 connector and that SSD is known to be quirky (OEM... no support) and non-functional on the RK3399 platform. The Samsung SSD was even worse than the NIC - it would get stuck on Detect.Active like a bricked card, even though it was fully functional via USB adapter. It seems both devices benefit from retrying Link Training if - big if here - PERST# is not toggled during retry. For retry to work, flow must be exactly as handled by present patch, that is, we must cut 3.3V power, disable the clocks, then re-enable both clocks and power regulator and go through initialization without touching PERST#. Then quirky devices are able to sucessfully enumerate. No functional change for already working devices. Signed-off-by: Geraldo Nascimento --- drivers/pci/controller/pcie-rockchip-host.c | 141 ++++++++++++-------- 1 file changed, 87 insertions(+), 54 deletions(-) diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/cont= roller/pcie-rockchip-host.c index b9e7a8710cf0..67b3b379d277 100644 --- a/drivers/pci/controller/pcie-rockchip-host.c +++ b/drivers/pci/controller/pcie-rockchip-host.c @@ -284,6 +284,53 @@ static void rockchip_pcie_set_power_limit(struct rockc= hip_pcie *rockchip) rockchip_pcie_write(rockchip, status, PCIE_RC_CONFIG_DCR); } =20 +static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip) +{ + struct device *dev =3D rockchip->dev; + int err; + + if (!IS_ERR(rockchip->vpcie12v)) { + err =3D regulator_enable(rockchip->vpcie12v); + if (err) { + dev_err(dev, "fail to enable vpcie12v regulator\n"); + goto err_out; + } + } + + if (!IS_ERR(rockchip->vpcie3v3)) { + err =3D regulator_enable(rockchip->vpcie3v3); + if (err) { + dev_err(dev, "fail to enable vpcie3v3 regulator\n"); + goto err_disable_12v; + } + } + + err =3D regulator_enable(rockchip->vpcie1v8); + if (err) { + dev_err(dev, "fail to enable vpcie1v8 regulator\n"); + goto err_disable_3v3; + } + + err =3D regulator_enable(rockchip->vpcie0v9); + if (err) { + dev_err(dev, "fail to enable vpcie0v9 regulator\n"); + goto err_disable_1v8; + } + + return 0; + +err_disable_1v8: + regulator_disable(rockchip->vpcie1v8); +err_disable_3v3: + if (!IS_ERR(rockchip->vpcie3v3)) + regulator_disable(rockchip->vpcie3v3); +err_disable_12v: + if (!IS_ERR(rockchip->vpcie12v)) + regulator_disable(rockchip->vpcie12v); +err_out: + return err; +} + /** * rockchip_pcie_host_init_port - Initialize hardware * @rockchip: PCIe port information @@ -291,11 +338,14 @@ static void rockchip_pcie_set_power_limit(struct rock= chip_pcie *rockchip) static int rockchip_pcie_host_init_port(struct rockchip_pcie *rockchip) { struct device *dev =3D rockchip->dev; - int err, i =3D MAX_LANE_NUM; + int err, i =3D MAX_LANE_NUM, is_reinit =3D 0; u32 status; =20 - gpiod_set_value_cansleep(rockchip->perst_gpio, 0); + if (!is_reinit) { + gpiod_set_value_cansleep(rockchip->perst_gpio, 0); + } =20 +reinit: err =3D rockchip_pcie_init_port(rockchip); if (err) return err; @@ -322,16 +372,46 @@ static int rockchip_pcie_host_init_port(struct rockch= ip_pcie *rockchip) rockchip_pcie_write(rockchip, PCIE_CLIENT_LINK_TRAIN_ENABLE, PCIE_CLIENT_CONFIG); =20 - msleep(PCIE_T_PVPERL_MS); - gpiod_set_value_cansleep(rockchip->perst_gpio, 1); - - msleep(PCIE_T_RRS_READY_MS); + if (!is_reinit) { + msleep(PCIE_T_PVPERL_MS); + gpiod_set_value_cansleep(rockchip->perst_gpio, 1); + msleep(PCIE_T_RRS_READY_MS); + } =20 /* 500ms timeout value should be enough for Gen1/2 training */ err =3D readl_poll_timeout(rockchip->apb_base + PCIE_CLIENT_BASIC_STATUS1, status, PCIE_LINK_UP(status), 20, 500 * USEC_PER_MSEC); - if (err) { + + if (err && !is_reinit) { + while (i--) + phy_power_off(rockchip->phys[i]); + i =3D MAX_LANE_NUM; + while (i--) + phy_exit(rockchip->phys[i]); + i =3D MAX_LANE_NUM; + is_reinit =3D 1; + dev_dbg(dev, "Will reinit PCIe without toggling PERST#"); + if (!IS_ERR(rockchip->vpcie12v)) + regulator_disable(rockchip->vpcie12v); + if (!IS_ERR(rockchip->vpcie3v3)) + regulator_disable(rockchip->vpcie3v3); + regulator_disable(rockchip->vpcie1v8); + regulator_disable(rockchip->vpcie0v9); + rockchip_pcie_disable_clocks(rockchip); + err =3D rockchip_pcie_enable_clocks(rockchip); + if (err) + return err; + err =3D rockchip_pcie_set_vpcie(rockchip); + if (err) { + dev_err(dev, "failed to set vpcie regulator\n"); + rockchip_pcie_disable_clocks(rockchip); + return err; + } + goto reinit; + } + + else if (err) { dev_err(dev, "PCIe link training gen1 timeout!\n"); goto err_power_off_phy; } @@ -613,53 +693,6 @@ static int rockchip_pcie_parse_host_dt(struct rockchip= _pcie *rockchip) return 0; } =20 -static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip) -{ - struct device *dev =3D rockchip->dev; - int err; - - if (!IS_ERR(rockchip->vpcie12v)) { - err =3D regulator_enable(rockchip->vpcie12v); - if (err) { - dev_err(dev, "fail to enable vpcie12v regulator\n"); - goto err_out; - } - } - - if (!IS_ERR(rockchip->vpcie3v3)) { - err =3D regulator_enable(rockchip->vpcie3v3); - if (err) { - dev_err(dev, "fail to enable vpcie3v3 regulator\n"); - goto err_disable_12v; - } - } - - err =3D regulator_enable(rockchip->vpcie1v8); - if (err) { - dev_err(dev, "fail to enable vpcie1v8 regulator\n"); - goto err_disable_3v3; - } - - err =3D regulator_enable(rockchip->vpcie0v9); - if (err) { - dev_err(dev, "fail to enable vpcie0v9 regulator\n"); - goto err_disable_1v8; - } - - return 0; - -err_disable_1v8: - regulator_disable(rockchip->vpcie1v8); -err_disable_3v3: - if (!IS_ERR(rockchip->vpcie3v3)) - regulator_disable(rockchip->vpcie3v3); -err_disable_12v: - if (!IS_ERR(rockchip->vpcie12v)) - regulator_disable(rockchip->vpcie12v); -err_out: - return err; -} - static void rockchip_pcie_enable_interrupts(struct rockchip_pcie *rockchip) { rockchip_pcie_write(rockchip, (PCIE_CLIENT_INT_CLI << 16) & --=20 2.49.0 From nobody Sat Oct 11 12:05:11 2025 Received: from mail-ua1-f53.google.com (mail-ua1-f53.google.com [209.85.222.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 449EE24167E; Tue, 10 Jun 2025 16:37:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749573457; cv=none; b=PRBiG/ToEy+ovkV3SoV02Z6uVWpeV34VBixGrgmdW4iihU30+5F7w2S6yLfj0hfcHY7kFKPKLqv6PMFtYzRkHr4mRlLxxv0Hg7mILN8Pu9xA6sZEJhNuTjhN6Vq1TGoSdAFIee8dCfZnRqRpSPKxqrso6nfDZ1zvAslcGFr1ySc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749573457; c=relaxed/simple; bh=XIFaf4bEWALQrBBhUMLGiEsl+xvEuzIUbJHmGcT3v04=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=h836r40mercZtCjPBN3UTtq+0supog1VyYvb2grYr8l3EKrtMEQ0PKllo47DX0vGNMKf99+GKXhr/ZmrY3Bc/+OGj9xQ8ZFfvOYZdFI6+0oK24gK7QC4RXq8N5TFIoOl6PjOqWnehAmUD6EL4bNX8XuwmFBphScNEDuj4reaXgw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Mo0l9itf; arc=none smtp.client-ip=209.85.222.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Mo0l9itf" Received: by mail-ua1-f53.google.com with SMTP id a1e0cc1a2514c-86d587dbc15so6601241.1; Tue, 10 Jun 2025 09:37:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749573455; x=1750178255; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Jr1AjOf8uNWev/Vso1mJTfg4siB3r6WSL8vizNNJAl0=; b=Mo0l9itfV98uU2sBBVAcPkPd8n8anRlhpwcJLIT7rKWdq4BA15vL9uQBs4lfOk3p/W oyVh6+PzQsggJhoW8QQPfUhc3XTUj+MCbQFNmdqWGUAB3XijTSzLT9FOrlYs59VOK0B3 lxpdlUgZkK9uVDv66ZVlU8gDzlYb8Acv+UjbH/Y94lGp2rc8UiNnJOADl3mcdi/xNmad WRUpYMtNb/jcJQN3Km8qg3sYPfKq/vM18cJViRlOZMj+izoXNMQiAaElxck42SRNkIsa R8kPx0zWGr3wEEr1uVAHarRFRN2sPtd8YA+XaRhcnsX52RyI9cajUmkFk8d9luBhtUhT Y1xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749573455; x=1750178255; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Jr1AjOf8uNWev/Vso1mJTfg4siB3r6WSL8vizNNJAl0=; b=lHxYfz0s5bV6e3drEJpuoih21A+pkUEek/T+or9ozkkyXbkck5N7vuYEbwsgYLb1eR AvMN+i1rqQZ9kZXJNMNEKYa3gqHvwWzbMKcfAv9xInpqx1zhR5s6s4G5kCX/RKqv+RZX eNXJzRpXhD0BUw38WngZmghI3okjuFpZKMYyFmPlpeRCv+F1pxFadYYMHfrmihmantEk vJYLlwv5l78DYAqnvDKtFdJ6rscRfjcpnkoQGmsLpj4IflFCeRGMh7lZegYzS9qp8Syk EQqmsECPsPGxHS1d64wUSIvhoc6Xpst8O4SVDsMYM/vBba0mcW5xSwy9BsnxRMHdc8jh xpbA== X-Forwarded-Encrypted: i=1; AJvYcCULO+jV2ihRNDzpYRYTVo277NG6toN4QD0giA6UwEnCaC1yMMOdrn6Nohh/zV2tVM+fDEnJh/XkyZrL@vger.kernel.org, AJvYcCXQxXvPBLGg13kejpDeztDfB1l4Q5SOCErhQYjTymKeoQvDHB5EQWwTKR/JU1L3C9bUzGPj/wM1mKeUDS8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5bmwvk3QENajNy3SzFPP14bQKsAQZ1Ra1S+Nb6qrEV6/5Xlx9 vGj+Z9k8BQX/is3B6e3SuunNi9AN0RLbXm64nz3ha2f22zebNQ7jfjDK X-Gm-Gg: ASbGncsbzqAtmjCfp17Vy9ot3GFlA/AdrU1Ct7W6ytvxLZCKd+TILTHdUY7MkCe3KtL DQiXZsilpgq0k3fI6WWxiZbenLLqLSzyseULtRJMcge/uhgfDUdu6XRmXBFSuYTTo08ngvznbZI k/zKKybDF3ynuUtLAIot2j078cP1tmCxuOsZlt1jKYx4MLH9xImy5Ix1La/sO7tm8Yr4xRjrvxc 5xT+3HDZ/zkTcHKHCbxOULbr/EFYAu7gdz0z+Z3Od0EIr4nnuV7DinNJguSItSDzbJk4+ii7H0C 2Kwwo9ZtJ47SOvAF455Lbw4/OKD/71Qa29h4BONxb5RrwbpIWA== X-Google-Smtp-Source: AGHT+IE8Big/lftsM2jqr/dJ0fUdU/HQyEnl6k3nT8QeUNCa9mrBUfckol12Cv9K8cvwwPN75N28vA== X-Received: by 2002:ac5:c5db:0:b0:531:188b:c1a0 with SMTP id 71dfb90a1353d-53121e4f7bbmr94264e0c.4.1749573455100; Tue, 10 Jun 2025 09:37:35 -0700 (PDT) Received: from geday ([2804:7f2:800b:5a56::dead:c001]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53113c0ee03sm1594059e0c.39.2025.06.10.09.37.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jun 2025 09:37:34 -0700 (PDT) Date: Tue, 10 Jun 2025 13:37:29 -0300 From: Geraldo Nascimento To: linux-rockchip@lists.infradead.org Cc: Hugh Cole-Baker , Shawn Lin , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas , Heiko Stuebner , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v2 2/2] arm64: dts: rockchip: drop PCIe 3v3 always-on and boot-on Message-ID: <28fb85b76b3adba86995b187036f3eff8a68e10e.1749572238.git.geraldogabriel@gmail.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Example commit of needed dropping of regulator always-on/boot-on declarations to make sure quirky devices known to not be working on RK3399 are able to enumerate on second try without assertion/deassertion of PERST# in-band PCIe reset signal. One example only, to avoid patch-bomb. Signed-off-by: Geraldo Nascimento --- arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi b/arch/a= rm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi index 8ce7cee92af0..d31fd3d34cda 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi @@ -25,8 +25,6 @@ vcc3v3_pcie: regulator-vcc-pcie { pinctrl-names =3D "default"; pinctrl-0 =3D <&pcie_pwr>; regulator-name =3D "vcc3v3_pcie"; - regulator-always-on; - regulator-boot-on; vin-supply =3D <&vcc5v0_sys>; }; =20 --=20 2.49.0