mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 05:24:39 +01:00
Add support for handling PCIe M.2 connectors as Power Sequencing devices. These connectors are exposed as Power Sequencing devices as they often support multiple interfaces like PCIe/SATA, USB/UART to the host machine, and the interfaces may be driven by different client drivers at the same time. This driver handles the PCIe interface of these connectors. It first checks for the presence of the graph port in the Root Port node with the help of of_graph_is_present() API. If present, it acquires/powers ON the corresponding pwrseq device. Once the pwrseq device is powered ON, the driver will skip parsing the Root Port/Slot resources and register with the pwrctrl framework. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://patch.msgid.link/20260128-pci-m2-v7-1-9b3a5fe3d244@oss.qualcomm.com
49 lines
1.3 KiB
Text
49 lines
1.3 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
config HAVE_PWRCTRL
|
|
bool
|
|
|
|
config PCI_PWRCTRL
|
|
tristate
|
|
|
|
config PCI_PWRCTRL_PWRSEQ
|
|
tristate
|
|
select POWER_SEQUENCING
|
|
select PCI_PWRCTRL
|
|
|
|
config PCI_PWRCTRL_SLOT
|
|
tristate "PCI Power Control driver for PCI slots"
|
|
select POWER_SEQUENCING
|
|
select PCI_PWRCTRL
|
|
help
|
|
Say Y here to enable the PCI Power Control driver to control the power
|
|
state of PCI slots.
|
|
|
|
This is a generic driver that controls the power state of different
|
|
PCI slots. The voltage regulators powering the rails of the PCI slots
|
|
are expected to be defined in the devicetree node of the PCI bridge.
|
|
|
|
config PCI_PWRCTRL_TC9563
|
|
tristate "PCI Power Control driver for TC9563 PCIe switch"
|
|
select PCI_PWRCTRL
|
|
default m if ARCH_QCOM
|
|
depends on I2C
|
|
help
|
|
Say Y here to enable the PCI Power Control driver of TC9563 PCIe
|
|
switch.
|
|
|
|
This driver enables power and configures the TC9563 PCIe switch
|
|
through i2c. TC9563 is a PCIe switch which has one upstream and three
|
|
downstream ports. To one of the downstream ports integrated ethernet
|
|
MAC is connected as endpoint device. Other two downstream ports are
|
|
supposed to connect to external device.
|
|
|
|
# deprecated
|
|
config HAVE_PWRCTL
|
|
bool
|
|
select HAVE_PWRCTRL
|
|
|
|
# deprecated
|
|
config PCI_PWRCTL_PWRSEQ
|
|
tristate
|
|
select PCI_PWRCTRL_PWRSEQ
|