2023-03-01 08:18:14

by Alexander Stein

[permalink] [raw]
Subject: Re: [PATCH v1 00/15] create power sequencing subsystem

Hi,

sorry for being late to the party.

Am Mittwoch, 19. Oktober 2022, 08:03:22 CET schrieb Dmitry Baryshkov:
> Ho,
>
> On Thu, 13 Oct 2022 at 22:50, Matthias Kaehlcke <[email protected]> wrote:
> > Do you still plan to refresh this series?
> >
> > I know there have been multiple attempts to get something similar
> > landed in the past 10 year or so. Your series didn't seem to get
> > much pushback from maintainers, might be worth sending a refresh :)
>
> Yes, I hope to return to it eventually. I just had no time for it lately.

I just found this thread while searching for power sequencing devices in
Linux. From what I understand this is transforming the existing mmc pwrseq
drivers into generic ones. What is the intention of this new subsystem? What
is it supposed to address?
In my case I have an LTE module attached via USB, but in order to use it I
need to perform several steps:
1. apply power supply
2. Issue a reset pulse(!), the length actually defines whether its a reset or
poweroff/on
3a. wait for a GPIO to toggle
3b. wait a minimum time
4a. device will enumerate on USB
4b. device can be access using UART

This is something required to actually see/detect the device in the first
place, thus it cannot be part of the device driver side.
Is this something pwrseq is supposed to address?

Best regards,
Alexander

> > On Wed, Oct 06, 2021 at 06:53:52AM +0300, Dmitry Baryshkov wrote:
> > > This is a proposed power sequencer subsystem. This is a
> > > generification of the MMC pwrseq code. The subsystem tries to abstract
> > > the idea of complex power-up/power-down/reset of the devices.
> > >
> > > The primary set of devices that promted me to create this patchset is
> > > the Qualcomm BT+WiFi family of chips. They reside on serial+platform
> > > or serial + SDIO interfaces (older generations) or on serial+PCIe (newer
> > > generations). They require a set of external voltage regulators to be
> > > powered on and (some of them) have separate WiFi and Bluetooth enable
> > > GPIOs.
> > >
> > > The major drawback for now is the lack of proper PCIe integration
> > > At this moment support for PCIe is hacked up to be able to test the
> > > PCIe part of qca6390. Proper PCIe support would require automatically
> > > powering up the devices before the scan basing on the proper device
> > > structure in the device tree. This two last patches are noted as WIP and
> > > are included into the patchset for the purpose of testing WiFi on newer
> > > chips (like qca6390/qca6391).
> > >
> > > Changes since RFC v2:
> > > - Add documentation for the pwrseq code. Document data structures,
> > >
> > > macros and exported functions.
> > >
> > > - Export of_pwrseq_xlate_onecell()
> > > - Add separate pwrseq_set_drvdata() function to follow the typical API
> > >
> > > design
> > >
> > > - Remove pwrseq_get_optional()/devm_pwrseq_get_optional()
> > > - Moved code to handle old mmc-pwrseq binding to the MMC patch
> > > - Split of_pwrseq_xlate_onecell() support to a separate patch
> > >
> > > Changes since RFC v1:
> > > - Provider pwrseq fallback support
> > > - Implement fallback support in pwrseq_qca.
> > > - Mmove susclk handling to pwrseq_qca.
> > > - Significantly simplify hci_qca.c changes, by dropping all legacy
> > >
> > > code. Now hci_qca uses only pwrseq calls to power up/down bluetooth
> > > parts of the chip.
> > >
> > > _______________________________________________
> > > ath10k mailing list
> > > [email protected]
> > > http://lists.infradead.org/mailman/listinfo/ath10k


--
TQ-Systems GmbH | M?hlstra?e 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht M?nchen, HRB 105018
Gesch?ftsf?hrer: Detlef Schneider, R?diger Stahl, Stefan Schneider
http://www.tq-group.com/




2023-03-01 09:03:53

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH v1 00/15] create power sequencing subsystem

On Wed, 1 Mar 2023 at 09:17, Alexander Stein
<[email protected]> wrote:
>
> Hi,
>
> sorry for being late to the party.
>
> Am Mittwoch, 19. Oktober 2022, 08:03:22 CET schrieb Dmitry Baryshkov:
> > Ho,
> >
> > On Thu, 13 Oct 2022 at 22:50, Matthias Kaehlcke <[email protected]> wrote:
> > > Do you still plan to refresh this series?
> > >
> > > I know there have been multiple attempts to get something similar
> > > landed in the past 10 year or so. Your series didn't seem to get
> > > much pushback from maintainers, might be worth sending a refresh :)
> >
> > Yes, I hope to return to it eventually. I just had no time for it lately.
>
> I just found this thread while searching for power sequencing devices in
> Linux. From what I understand this is transforming the existing mmc pwrseq
> drivers into generic ones. What is the intention of this new subsystem? What
> is it supposed to address?
> In my case I have an LTE module attached via USB, but in order to use it I
> need to perform several steps:
> 1. apply power supply
> 2. Issue a reset pulse(!), the length actually defines whether its a reset or
> poweroff/on
> 3a. wait for a GPIO to toggle
> 3b. wait a minimum time
> 4a. device will enumerate on USB
> 4b. device can be access using UART
>
> This is something required to actually see/detect the device in the first
> place, thus it cannot be part of the device driver side.
> Is this something pwrseq is supposed to address?

Yes, this is one of those typical use-cases for discoverable buses
that we need to add support for, in one way or the other.

>
> Best regards,
> Alexander

[...]

Kind regards
Uffe