linux merge requestshttps://source.puri.sm/Librem5/linux/-/merge_requests2020-04-03T09:14:13Zhttps://source.puri.sm/Librem5/linux/-/merge_requests/105use the interconnect framework to set frequencies in devfreq2020-04-03T09:14:13ZMartin Kepplingeruse the interconnect framework to set frequencies in devfreqThe target branch here might not make sense: It's the few commits above the merge-commits in the tree.
This implements our devfreq needs onto the most recent solution for the mainline tree.
Important: This **depends** on https://so...The target branch here might not make sense: It's the few commits above the merge-commits in the tree.
This implements our devfreq needs onto the most recent solution for the mainline tree.
Important: This **depends** on https://source.puri.sm/Librem5/librem5-devkit-tools/merge_requests/145 being at users before! So at least a new `Breaks` relation to l5-devkit-tools (+a release) is needed.https://source.puri.sm/Librem5/linux/-/merge_requests/104librem5_defconfig: Enable crypto options required by iwd2020-04-02T10:37:32ZSebastian Krzyszkowiaklibrem5_defconfig: Enable crypto options required by iwdhttps://source.puri.sm/Librem5/linux/-/merge_requests/103WIP: Add "busfreq" governor to devfreq2020-03-30T10:48:57ZMartin KepplingerWIP: Add "busfreq" governor to devfreqSo frequencies in devfreq are changed at runtime via governors only. hence, I wrote a simple new governor. But please keep in mind I'm *not* yet happy with it at all. I push this very early in order to be able to talk about it (and the g...So frequencies in devfreq are changed at runtime via governors only. hence, I wrote a simple new governor. But please keep in mind I'm *not* yet happy with it at all. I push this very early in order to be able to talk about it (and the general idea).
Just a few problems:
* the name: In order to add to the devfreq/busfreq confusion, I named the devfreq governor "busfreq" -.-
* the global data variable. This is ugly. (should we require drivers to "register" with the governor, in order to pass on its state?)
* is there more useful settings than "performance" and "powersave" we can sanely use?
* The first user, the nwl-dsi bridge: Is the call placed at the right location?
It works and *can* be the right direction to solve this, but it has to improve quite a bit before considering to post upstream and discuss there.https://source.puri.sm/Librem5/linux/-/merge_requests/101Adjust the pin control register values of each SDA and SCL pin2020-04-18T07:50:23ZEric KuzmenkoAdjust the pin control register values of each SDA and SCL pinThis will configure the SDA and SCL pins of each I2C bus to have a drive strength of 45Ohms, a slew rate of 50MHz, and disable their internal pull-up resistors.
This should be merged along with https://source.puri.sm/Librem5/linux-next/...This will configure the SDA and SCL pins of each I2C bus to have a drive strength of 45Ohms, a slew rate of 50MHz, and disable their internal pull-up resistors.
This should be merged along with https://source.puri.sm/Librem5/linux-next/merge_requests/71.
Here is the .dtb that I built and tested:
[imx8mq-librem5.dtb](/uploads/8329b18facb909cbcdd12913f548caba/imx8mq-librem5.dtb)
```
purism@pureos:~$ uname -a
Linux pureos 5.3.0-librem5-h1 #1 SMP PREEMPT Fri Mar 20 17:01:48 UTC 2020 aarch64 GNU/Linux
purism@pureos:~$ sha1sum /boot/dtbs/5.3.0-librem5-h1/imx8mq-librem5.dtb
d1162a83fec3bf99af20bd6d9bd92f94aee4de5f /boot/dtbs/5.3.0-librem5-h1/imx8mq-librem5.dtb
```
Here are my results from testing this change:
```
purism@pureos:~$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- UU
40: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
purism@pureos:~$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- UU --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: UU -- -- -- -- -- -- -- -- -- UU -- -- -- -- --
70: -- -- -- -- -- -- -- --
purism@pureos:~$ sudo i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- UU -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- 4a -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
purism@pureos:~$ sudo i2cdetect -y 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --
70: -- -- -- -- -- -- -- --
purism@pureos:~$ sudo i2cget -f -y 0 0x4b 0x00
0xa2
```
I measured I2C1_SDA which did not exhibit any misbehavior:
![scope1](/uploads/ab68c894feba7941e8798ccc726860e6/scope1.png)
![scope2](/uploads/6c5a9e1e783450234e04da4c78a8dc48/scope2.png)https://source.puri.sm/Librem5/linux/-/merge_requests/99WIP: dwc3 runtime PM2020-06-08T12:54:06ZMartin KepplingerWIP: dwc3 runtime PMFor us, this depends on https://source.puri.sm/Librem5/linux-next/merge_requests/84 being merged first!
upstream reference: https://lore.kernel.org/linux-usb/20200318083508.20781-1-martin.kepplinger@puri.sm/T/For us, this depends on https://source.puri.sm/Librem5/linux-next/merge_requests/84 being merged first!
upstream reference: https://lore.kernel.org/linux-usb/20200318083508.20781-1-martin.kepplinger@puri.sm/T/https://source.puri.sm/Librem5/linux/-/merge_requests/96Input: edt-ft5x06 - add fw_version debugfs file to read2020-03-17T08:19:32ZMartin KepplingerInput: edt-ft5x06 - add fw_version debugfs file to readAdd simple fw_version file in debugfs to read the value from 0xa6
which is the firmware version.
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>Add simple fw_version file in debugfs to read the value from 0xa6
which is the firmware version.
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>https://source.puri.sm/Librem5/linux/-/merge_requests/95Simplify version and branch switches2020-03-18T10:54:46ZGuido GuntherSimplify version and branch switchesThis
- builds the meta package to switch the default kernel automatically when switching the source package name
- simplifies switching kernel/abi versions
- adds some docs
See individual commit messages for details.This
- builds the meta package to switch the default kernel automatically when switching the source package name
- simplifies switching kernel/abi versions
- adds some docs
See individual commit messages for details.Guido GuntherGuido Guntherhttps://source.puri.sm/Librem5/linux/-/merge_requests/93librem5_defconfig: Enable WireGuard VPN support2020-03-18T10:51:41ZSebastian Krzyszkowiaklibrem5_defconfig: Enable WireGuard VPN supporthttps://source.puri.sm/Librem5/linux/-/merge_requests/92mxsfb: Increase the pixel clock2020-04-08T14:23:05ZSebastian Krzyszkowiakmxsfb: Increase the pixel clockThis allows to reach ~55 FPS (as opposed to ~32 FPS with previous value), which improves the perceived UI smoothness and reduces input lag a lot.This allows to reach ~55 FPS (as opposed to ~32 FPS with previous value), which improves the perceived UI smoothness and reduces input lag a lot.https://source.puri.sm/Librem5/linux/-/merge_requests/91arm64: dts: librem5: Mark touchscreen as compatible with edt,edt-ft55062020-03-18T07:58:38ZSebastian Krzyszkowiakarm64: dts: librem5: Mark touchscreen as compatible with edt,edt-ft5506This allows it to use all 10 supported touch points
(edt,edt-ft5206 supports only 5).This allows it to use all 10 supported touch points
(edt,edt-ft5206 supports only 5).https://source.puri.sm/Librem5/linux/-/merge_requests/89redpine: Always go into Mimic-UAPSD branch of power management2020-03-23T11:23:43ZSebastian Krzyszkowiakredpine: Always go into Mimic-UAPSD branch of power managementThis seems to fix/workaround issues with WiFi connection being dropped after
enabling power_save mode with some networks.This seems to fix/workaround issues with WiFi connection being dropped after
enabling power_save mode with some networks.https://source.puri.sm/Librem5/linux/-/merge_requests/88gitlab-ci: Don't accumulate old packages in job artifacts2020-03-17T15:23:14ZSebastian Krzyszkowiakgitlab-ci: Don't accumulate old packages in job artifactshttps://source.puri.sm/Librem5/linux/-/merge_requests/84WIP: add tps 6598x EXTCON2020-05-21T20:40:26ZAngus Ainslieangus.ainslie@puri.smWIP: add tps 6598x EXTCONAdd an extcon device to the tps6598x driver to be able to communicate cable changes.
Add an extcon notifier to the BQ25896 to set currents based on extcon cahngesAdd an extcon device to the tps6598x driver to be able to communicate cable changes.
Add an extcon notifier to the BQ25896 to set currents based on extcon cahngeshttps://source.puri.sm/Librem5/linux/-/merge_requests/83WIP: Wifi fixes2021-01-14T14:05:14ZAngus Ainslieangus.ainslie@puri.smWIP: Wifi fixesThis moves the wifi power control to a regulator and adds a startup delay to increase module boot stability.
Also fixes the wifi and bt rfkill gpios.This moves the wifi power control to a regulator and adds a startup delay to increase module boot stability.
Also fixes the wifi and bt rfkill gpios.https://source.puri.sm/Librem5/linux/-/merge_requests/82USB: Add USB_QUIRK_RESET_RESUME quirk for Microchip USB26422020-06-19T14:23:50ZGuido GuntherUSB: Add USB_QUIRK_RESET_RESUME quirk for Microchip USB2642This unbreaks modem on/off for me when i remove the sd/card (https://source.puri.sm/Librem5/linux-next/issues/170#note_89824) but it also saves way less power since that quirk prevents the hub from autosuspend (i still see about a 100mW ...This unbreaks modem on/off for me when i remove the sd/card (https://source.puri.sm/Librem5/linux-next/issues/170#note_89824) but it also saves way less power since that quirk prevents the hub from autosuspend (i still see about a 100mW improvement while phone calls continue to work (in a quick test).
To test use this kernel and issue `echo 1 > /sys/bus/usb/devices/1-1/1-1.1/remove`https://source.puri.sm/Librem5/linux/-/merge_requests/81Runtime PM for light/proximity2020-05-04T18:10:00ZGuido GuntherRuntime PM for light/proximitySince runtime pm seems to become a thing here recently i've backported what i submitted upstream (and which is queued in the iio-sensors tree already) for light/proximity: https://lore.kernel.org/linux-iio/20200206112651.2b85e3a8@archlinux/Since runtime pm seems to become a thing here recently i've backported what i submitted upstream (and which is queued in the iio-sensors tree already) for light/proximity: https://lore.kernel.org/linux-iio/20200206112651.2b85e3a8@archlinux/https://source.puri.sm/Librem5/linux/-/merge_requests/80phy: fsl-imx8-mipi-dphy: Hook into runtime pm2020-03-17T11:13:09ZGuido Guntherphy: fsl-imx8-mipi-dphy: Hook into runtime pmThis allows us to shut down the mipi power domain on the SOC. The
alternative would be to drop the dphy from the mipi power domain in the
SOCs device tree and only have the DSI host controller visible there
(and rely on the phy layer...This allows us to shut down the mipi power domain on the SOC. The
alternative would be to drop the dphy from the mipi power domain in the
SOCs device tree and only have the DSI host controller visible there
(and rely on the phy layer's built in runtime pm handling) but this
would make the power domain dependency less explicit.
Currently the pm domain can't be shut off when blanking the panel:
```
pm_genpd_summary
domain status slaves
/device runtime status
----------------------------------------------------------------------
mipi on
/devices/platform/soc@0/soc@0:bus@30800000/30a00300.dphy unsupported
/devices/platform/soc@0/soc@0:bus@30800000/30a00000.mipi_dsi suspended
```
while with this change we can shut down the power domain on panel blank:
```
mipi off-0
/devices/platform/soc@0/soc@0:bus@30800000/30a00300.dphy suspended
/devices/platform/soc@0/soc@0:bus@30800000/30a00000.mipi_dsi suspended
```
Signed-off-by: Guido Günther <agx@sigxcpu.org>https://source.puri.sm/Librem5/linux/-/merge_requests/78PM / devfreq: backport device name for compatibility2020-03-18T10:58:52ZMartin KepplingerPM / devfreq: backport device name for compatibilityUpstream commit 66d0e797bf095d407479c89952d42b1d96ef0a7f
Backported to 5.3 in order to be compatible with newer kernels.
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Upstream commit 66d0e797bf095d407479c89952d42b1d96ef0a7f
Backported to 5.3 in order to be compatible with newer kernels.
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
https://source.puri.sm/Librem5/linux/-/merge_requests/77Iinitial hks rfkill driver2021-02-19T10:08:58ZGuido GuntherIinitial hks rfkill driverSome initial rfkill drivers, mostly here so i get up to date debs (i only tested on linux-next so far) and have something to link to.
Note that adding the camera is uabi change so we likely want to skip that until merged upstream (al...Some initial rfkill drivers, mostly here so i get up to date debs (i only tested on linux-next so far) and have something to link to.
Note that adding the camera is uabi change so we likely want to skip that until merged upstream (also camera is not really *rf*kll so we might end up handling this as a button - i'll bring that upstream once the driver is suitable).
Known deficiencies:
- can only bind a single GPIO to a rfkill. This can be fixed by switching to bitflags in `include/dt-bindings/rfkill/rfkill.h` but since this needs more work (#256 ) we can defer it
- binding docs (same reasoning as above)https://source.puri.sm/Librem5/linux/-/merge_requests/76Role switch2020-05-21T20:40:26ZAngus Ainslieangus.ainslie@puri.smRole switchThis set provides the data role switch for USB C.
fixes https://source.puri.sm/Librem5/linux-next/issues/158This set provides the data role switch for USB C.
fixes https://source.puri.sm/Librem5/linux-next/issues/158