From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) (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 676282FF669 for ; Wed, 25 Feb 2026 07:22:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772004170; cv=none; b=n6WVjQSJvf/4AyDdl3gPjntu2tqYSjhEWZtkt64A3U6LoG9KHopmNYuU2NhiEDslKLqx9fJSPyuno6kIpcKy+XOkRUVc6CuNaYFBhDS+HKczL+i/MpETiPOZ20FajyfJWek7YDdRYhPaNVm1ZWbbs61yKO4TP0frYu4NIRyeEmo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772004170; c=relaxed/simple; bh=sHRk2Hp0rmz6wExMNKvWvTKY3R8Wd/8NMckreGOzltQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SoeyrVwJFPNpjWQRaL3S6fr60B3K2sSxv0O7xA3kTNQg75LuJeCaFV3uqCBGNJ1enEozk74jEu9nSV/4Y1bTSyVtJDxFnNl2F3qbc3Hho+IlpQn41FlV2G257eLGPEZMUb/2iQSiv+e5uj0SKjmBGtvn/MehfsOssbfqfikK3hg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=ae73mxMS; arc=none smtp.client-ip=209.85.215.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="ae73mxMS" Received: by mail-pg1-f171.google.com with SMTP id 41be03b00d2f7-c6e1f417918so1816318a12.3 for ; Tue, 24 Feb 2026 23:22:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1772004169; x=1772608969; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=k8XpTwYaznTB7X95a9deMFZcsmj1UdrXkb3hcBiKjSk=; b=ae73mxMSi5L8CeUNzD2aLd/NRhtOAZX/KbcSMYIXNZ6u5BeXVzr6QlvwIpvADjwSuJ 9bgD0MTYy/dQe0bcLODfzntuQETAANLQfbbgGzUEZkZgi5Oi7LASFJnavnWaij7bp0PD 1Xq9vnWR6b3mQrgJZd44fq2znQ6p/XmOtfWxA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772004169; x=1772608969; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=k8XpTwYaznTB7X95a9deMFZcsmj1UdrXkb3hcBiKjSk=; b=GV8pcIU51ear00ydAdrYtGYNtMmSNZ9+aFC9HGz0LSyjM4/k2+psaiuvNLoWN4Ys1/ OW+jBP9NgsoQHExU5//1EeFKltvaFMwqarZYOuEdKOuqqSJiIt1QIkxQTqiYT92pB29Y do7gotpBmeT0MasTgGbVEFRpA4kxNpf/K79eAcy7hgbpSUxgIlCIp1FkE2DaJtEME2fE +VpnvMn1bUWpAHcULc7IdmzWmpqkddXXwv4k8UQlWpbX+1lIXzA86bagrYZFNJ+tQgo/ d84wv3tjWkfEIJ6p6xIyYyfSr3fKczlexrApleFNjMsjvWHlgxY4DyP0pjPEck+KVERC u24Q== X-Forwarded-Encrypted: i=1; AJvYcCV/otNVSr6pebz4C3Ef3JLBHk7nIieSLEMEuH26rRQhVzJwrgSaD6JAJWaEwleUbFSsL0Yf7/1Zg4MnGJ8=@vger.kernel.org X-Gm-Message-State: AOJu0YwU4QZC0wVufRsdgN4cjxGrzpCXi8d2HCdN7d5yanDXkOiSFXcN 9XyUaTyujgrsFfsX8FoQiTyogvlGk1XsonIOUhFJezbhsEkpQDLv2+WE8/XEqq7iCA== X-Gm-Gg: ATEYQzzGUt3h6gIMzZ+zRcLlmfzgydNtAq/c237W28ZpKQlSFWtvwM6bwM5PLROLZlU h645lZcjq2pJnxvAK1nXD2j6Zb6VXPcx1HpNic+tCTjn6w8ofxelFnibgaewzSthxLREiuuBELv Oey90EdkjqYThyGD5aEGiRpJFp+QZQqwFR9jlf2b1sKRRsYuMIFJD4D4b060oD1/KEm6dHaduRf E1xrIQSsXnhRPjLyhxED1ag1+wPxA4tq2yCjwGvga6kK9Ka4w9PsTFIR4iIoZ7qLqbjyZCzEToF /HDNTBmJahlEjESL4uL3VMA4M6WXpDtMNk/N/UPrGglCzt90saH5QVpgm4QYrKw6jF/bfeAs32D lJ8pdujGdqb/Dtf9PIdgydKVgOAJK1GDzve21RcTvoI0wb9AWxKWwjxQzvNY3kCUxAXnPI1Dxmr XZHP/2i73cyNxtn7zlhMxns2T1SXgaReiTqMM1rKqTWBHVSahALcdDJrXnEWlaXqb6YBQgOo+YY t6LDg== X-Received: by 2002:a17:902:e80b:b0:2ab:3ac6:8d01 with SMTP id d9443c01a7336-2add1382e48mr18547135ad.29.1772004168768; Tue, 24 Feb 2026 23:22:48 -0800 (PST) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:9d6:2e6a:941b:690]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ad7503fdc9sm130814435ad.80.2026.02.24.23.22.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 23:22:48 -0800 (PST) From: Chen-Yu Tsai To: Matthias Brugger , AngeloGioacchino Del Regno , Ryder Lee , Jianjun Wang , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Chen-Yu Tsai , Bartosz Golaszewski , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/7] PCI: mediatek-gen3: add power control support Date: Wed, 25 Feb 2026 15:22:17 +0800 Message-ID: <20260225072225.3345307-1-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.414.gf7e9f6c205-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hi folks, This series adds power control support to the MediaTek PCIe gen3 controller driver. This allows proper modeling of WiFi and NVMe adapters in the device tree and control over their power supplies. Patch 1 through 4 are cleanups and minor improvements to the driver. Patch 5 adds power control support using the new pwrctrl API to the PCIe controller driver. Patch 6 adds the WiFi and BT power supplies for the MT8195 Cherry design. This is actually a M.2 E-key slot, but support for that is still WIP [1]. And even with it merged, support for the USB side still needs to be figured out. We can either merge this as is for now, and do another conversion later, or just keep this one out. However this is still an improvement over the current device tree, in which the power for the slot is always on using a pinctrl setting. Patch 7 adds the M.2 M-key NVMe slot found on MT8195 Dojo Chromebooks. This change actually makes use of the M.2 pwrseq driver. Please have a look. Thanks ChenYu [1] https://lore.kernel.org/linux-pci/20260224-pci-m2-e-v5-0-dd9b9501d33c@oss.qualcomm.com/ Chen-Yu Tsai (7): PCI: mediatek-gen3: Clean up mtk_pcie_parse_port() with dev_err_probe() PCI: mediatek-gen3: Add error path for probe and resume driver callbacks PCI: mediatek-gen3: Split out device power helpers PCI: mediatek-gen3: Disable device if further setup fails PCI: mediatek-gen3: Integrate new pwrctrl API arm64: dts: mediatek: mt8195-cherry: add WiFi PCIe and BT USB power supplies arm64: dts: mediatek: mt8195-cherry-dojo: Describe M.2 M-key NVMe slot .../dts/mediatek/mt8195-cherry-dojo-r1.dts | 38 ++++ .../boot/dts/mediatek/mt8195-cherry.dtsi | 47 +++-- drivers/pci/controller/pcie-mediatek-gen3.c | 185 +++++++++++------- 3 files changed, 183 insertions(+), 87 deletions(-) -- 2.53.0.414.gf7e9f6c205-goog