- 19 Feb, 2021 6 commits
-
-
Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
Some devices like the Librem 5 have full hardware kill switches that cut power to the device. Their state is indicated via gpio pin so the drivers only purpose is to forward the current switch state to the rfkill core. This needs more work to go upstream. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This simplifies things when creating multiple switches. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This allows us to use them in bindings. TODO: use types in header Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
- 25 Jan, 2021 1 commit
-
-
Angus Ainslie authored
These sections should be read only as they contain important data. Signed-off-by:
Angus Ainslie <angus@akkea.ca>
-
- 19 Jan, 2021 1 commit
-
-
Martin Kepplinger authored
Signed-off-by:
Martin Kepplinger <martin.kepplinger@puri.sm>
-
- 18 Jan, 2021 20 commits
-
-
This allows to verify that a sane firmware is on the device. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This is give the general information from which e.g. charging and partner decision can be made. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This helps downstream supplies to adjust their input limits. Signed-off-by:
Angus Ainslie <angus@akkea.ca> Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This allows to trace the negotiated contract as sink. It's only updated when the contract is actually established. Signed-off-by:
Angus Ainslie <angus@akkea.ca> Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This allows to signal the DP core when an alt mode got negotiated. The (not yet mainlne) cadence/mhdp driver uses this to enable DP only when an alt mode got negotiated to save power on the Librem 5. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
Don't immediately set the data role, only set it in response the negotiated value notification from the tps6589x. Otherwise data role switch fails for DRP. We only use values cached from the IRQ instead of poking I2C all the time. The update is moved in a function that will become more useful in later commits. Signed-off-by:
Angus Ainslie <angus@akkea.ca> Fixes: 18a6c866 ("usb: typec: tps6598x: Add USB role switching logic")
-
Instead of refetching power status cache it and only update it when a change is signalled via irq. This simplifies tracing and adding more supply properties in follow up patches. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This is useful to debug DP negotiation and pin assignment. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
Together with the PD status register this is vital for debugging power negotiations at runtime. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This is give the general information from which e.g. charging and partner decision can be made. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
Allow to get irq event information via the tracing framework. This allows to inspect USB-C negotiation at runtime. Signed-off-by:
Guido Günther <agx@sigxcpu.org>
-
This gives us the initial psy support and fixes by using commit 10eb0b6a . Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
This is consistent with other IRQs and makes keeps currents low. Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
The maximum is 5.51V according to the data sheet. Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
The bq25892 shares the USB 2 DP/DM with the dwc3 disable the auto negotiation so there is no contention. Signed-off-by:
Angus Ainslie <angus@akkea.ca>
-
The auto_dpdm_disable was added to disable dpdm negotiation so document it. Signed-off-by:
Angus Ainslie <angus@akkea.ca>
-
When the USB DP/DM lines are connected to more than 1 part on the board we should disable auto DP/DM. Signed-off-by:
Angus Ainslie <angus@akkea.ca>
-
This enables/disbles OTG via register too. This way we avoid having to wait for the GPIO which can give timing problems if that happens later. Drop charging enable/disable while at that since the IRQ handler toggles this via `F_CONV_*` anyway. Signed-off-by:
Guido Günther <guido.gunther@puri.sm>
-
When we're supplied by another supply adjust the input limit to what the upstream supply can provide.
-
This reverts commit a2caa72f.
-
- 11 Jan, 2021 1 commit
-
-
Guido Gunther authored
Using them as keys has several problems: - the pressed state can trigger auto repeat in other parts of the stack - userspace expects the switches to mean 'toggle' not 'indicate'. So flipping e.g. the wifi killswitch toggles airplane mode although it should indicate: hks engaged.
-
- 07 Jan, 2021 3 commits
-
-
We don't need the status update unless it's plugged in. With broken CC lines the cable sometimes shows as plugged in even when it isn't. Look further into the status register to see if it is connected and disable the STATUS interrupt to stop the irq storm. Signed-off-by:
Angus Ainslie <angus@akkea.ca>
-
Martin Kepplinger authored
Signed-off-by:
Martin Kepplinger <martin.kepplinger@puri.sm>
-
Martin Kepplinger authored
This is the 5.9.16 stable release
-
- 05 Jan, 2021 1 commit
-
-
Sebastian Krzyszkowiak authored
Commit 66d3f246 removed always-on marking from GPU regulator, which is great for power saving - however, it introduces additional i2c0 traffic which can be deadly for devices from the Dogwood batch. To workaround the i2c0 shutdown issue on Dogwood, this commit marks buck3 as always-on again - but only for Dogwood (r3).
-
- 22 Dec, 2020 7 commits
-
-
Sebastian Krzyszkowiak authored
-
Sebastian Krzyszkowiak authored
-
Sebastian Krzyszkowiak authored
-
Sebastian Krzyszkowiak authored
It has to be done just once as part of POR init. Doing it at each boot resets the gauge state, so it can't learn the battery characteristics over time.
-
Sebastian Krzyszkowiak authored
-
Sebastian Krzyszkowiak authored
The new value isn't taken into account until a refresh is triggered.
-
Sebastian Krzyszkowiak authored
It's supposed to be a read-only value maintained by the gauge.
-