pyra-kernel issueshttp://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues2020-08-21T19:17:09Zhttp://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/8Repair bq2429x driver2020-08-21T19:17:09ZMichael Mrozekevildragon@openpandora.orgRepair bq2429x driverThe bq2429x driver is in need of refactoring and repair. Lots of things are hardcoded which should be in the device tree.
If possible, we'd also like to support booting and running without a battery.The bq2429x driver is in need of refactoring and repair. Lots of things are hardcoded which should be in the device tree.
If possible, we'd also like to support booting and running without a battery.http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/7Merge support for inverted lid switch2019-11-09T23:57:31ZMichael Mrozekevildragon@openpandora.orgMerge support for inverted lid switchLetux added a patch to support the inverted lid switch. We need to add this patch as well.Letux added a patch to support the inverted lid switch. We need to add this patch as well.http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/6add etnaviv/vivante support to device tree2019-07-31T20:14:04ZMichael Mrozekevildragon@openpandora.orgadd etnaviv/vivante support to device treehttps://dev.pyra-handheld.com/kernel/pyra-kernel/blob/pyra/Documentation/devicetree/bindings/display/etnaviv/etnaviv-drm.txt
https://dev.pyra-handheld.com/snippets/428https://dev.pyra-handheld.com/kernel/pyra-kernel/blob/pyra/Documentation/devicetree/bindings/display/etnaviv/etnaviv-drm.txt
https://dev.pyra-handheld.com/snippets/428http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/5twl6040: speakers and headphone output are currently a single 4 channel pcm2019-12-25T11:47:31ZMichael Mrozekevildragon@openpandora.orgtwl6040: speakers and headphone output are currently a single 4 channel pcmI'm not sure if this should be fixed in the kernel, or in userspace.
channel 1+2 = headphone , 3+4 = speakers
Current workaround is to have pulseaudio mix output to all 4 channels.
This doesn't cut out the speakers when headphones are ...I'm not sure if this should be fixed in the kernel, or in userspace.
channel 1+2 = headphone , 3+4 = speakers
Current workaround is to have pulseaudio mix output to all 4 channels.
This doesn't cut out the speakers when headphones are attached.http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/4twl6040 : L15 creates 6 extra devices with (null) names that make the driver ...2019-12-25T11:42:56ZMichael Mrozekevildragon@openpandora.orgtwl6040 : L15 creates 6 extra devices with (null) names that make the driver lock up when accessed.This also locks up pulseaudio, and the mate (and probably other WM too) settings daemon when it probes for soundcards.
Currently working around it by forcing pulseaudio to only use the first L15 device, sound works fine after that.
```
...This also locks up pulseaudio, and the mate (and probably other WM too) settings daemon when it probes for soundcards.
Currently working around it by forcing pulseaudio to only use the first L15 device, sound works fine after that.
```
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: H58040000encode [HDMI 58040000.encoder], device 0: HDMI 58040000.encoder snd-soc-dummy-dai-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Bluetooth [Bluetooth], device 0: 40122000.mcbsp-W2CBW003 W2CBW003-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 0: TWL6040 twl6040-legacy-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 1: (null) (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 3: (null) (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 4: (null) (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 5: (null) (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 6: (null) (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: L15 [Letux Cortex 15], device 7: (null) twl6040-legacy-7 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: Tuner [Tuner], device 0: 40124000.mcbsp-W2CBW003 W2CBW003-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 4: Telephony [Telephony], device 0: 40126000.mcbsp-gtm601 gtm601-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
```
```
[ 8.830048] omap-abe-twl6040 sound: ASoC: unknown pin AFML
[ 8.830055] omap-abe-twl6040 sound: ASoC: unknown pin AFMR
[ 8.830716] omap-abe-twl6040 sound: twl6040-legacy <-> 40132000.mcpdm mapping ok
[ 8.830805] omap-abe-twl6040 sound: snd-soc-dummy-dai <-> MultiMedia1 mapping ok
[ 8.830862] omap-abe-twl6040 sound: snd-soc-dummy-dai <-> MultiMedia2 mapping ok
[ 8.830939] omap-abe-twl6040 sound: snd-soc-dummy-dai <-> Voice mapping ok
[ 8.831009] omap-abe-twl6040 sound: snd-soc-dummy-dai <-> Tones mapping ok
[ 8.831081] omap-abe-twl6040 sound: snd-soc-dummy-dai <-> MODEM mapping ok
[ 8.831138] omap-abe-twl6040 sound: snd-soc-dummy-dai <-> MultiMedia1 LP mapping ok
[ 8.831197] omap-abe-twl6040 sound: twl6040-legacy <-> 40132000.mcpdm mapping ok
[ 8.831242] omap-abe-twl6040 sound: Connecting non-supply widget to supply widget is not supported (Headset Mic -> Headset Mic Bias)
[ 8.831246] omap-abe-twl6040 sound: ASoC: no dapm match for Headset Mic --> (null) --> Headset Mic Bias
[ 8.831250] omap-abe-twl6040 sound: ASoC: Failed to add route Headset Mic -> direct -> Headset Mic Bias
[ 8.831261] omap-abe-twl6040 sound: Connecting non-supply widget to supply widget is not supported (Main Handset Mic -> Main Mic Bias)
[ 8.831265] omap-abe-twl6040 sound: ASoC: no dapm match for Main Handset Mic --> (null) --> Main Mic Bias
[ 8.831269] omap-abe-twl6040 sound: ASoC: Failed to add route Main Handset Mic -> direct -> Main Mic Bias
[ 8.831279] omap-abe-twl6040 sound: Connecting non-supply widget to supply widget is not supported (Sub Handset Mic -> Main Mic Bias)
[ 8.831283] omap-abe-twl6040 sound: ASoC: no dapm match for Sub Handset Mic --> (null) --> Main Mic Bias
[ 8.831287] omap-abe-twl6040 sound: ASoC: Failed to add route Sub Handset Mic -> direct -> Main Mic Bias
[ 8.831297] omap-abe-twl6040 sound: ASoC: no source widget found for PDM_DL1
[ 8.831301] omap-abe-twl6040 sound: ASoC: Failed to add route PDM_DL1 -> direct -> Headset Playback
[ 8.831308] omap-abe-twl6040 sound: ASoC: no source widget found for PDM_DL2
[ 8.831312] omap-abe-twl6040 sound: ASoC: Failed to add route PDM_DL2 -> direct -> Handsfree Playback
[ 8.831318] omap-abe-twl6040 sound: ASoC: no source widget found for Analog Capture
[ 8.831322] omap-abe-twl6040 sound: ASoC: Failed to add route Analog Capture -> direct -> PDM_UL1
[ 8.831327] omap-abe-twl6040 sound: ASoC: no source widget found for BT_VX_DL
[ 8.831331] omap-abe-twl6040 sound: ASoC: Failed to add route BT_VX_DL -> direct -> omap-mcbsp.1 Playback
[ 8.831336] omap-abe-twl6040 sound: ASoC: no source widget found for omap-mcbsp.1 Capture
[ 8.831340] omap-abe-twl6040 sound: ASoC: Failed to add route omap-mcbsp.1 Capture -> direct -> BT_VX_UL
[ 8.831346] omap-abe-twl6040 sound: ASoC: no source widget found for MM_EXT_DL
[ 8.831350] omap-abe-twl6040 sound: ASoC: Failed to add route MM_EXT_DL -> direct -> omap-mcbsp.2 Playback
[ 8.831356] omap-abe-twl6040 sound: ASoC: no source widget found for omap-mcbsp.2 Capture
[ 8.831360] omap-abe-twl6040 sound: ASoC: Failed to add route omap-mcbsp.2 Capture -> direct -> MM_EXT_UL
```
During boot this also happens, probably related:
```
[ 8.616884] ------------[ cut here ]------------
[ 8.616906] WARNING: CPU: 1 PID: 1371 at drivers/base/devres.c:899 snd_soc_card_new_dai_links+0x5c/0x94 [snd_soc_omap_abe_twl6040]
[ 8.616910] Modules linked in: snd_soc_omap_abe_twl6040(+) snd_soc_simple_card(+) snd_soc_simple_card_utils snd_soc_twl6040 snd_soc_gtm601 leds_gpio wwan_on_off snd_soc_w2cbw003_bt snd_soc_omap_hdmi_audio wlcore_sdio hci_uart snd_soc_ts3a227e btbcm leds_is31fl319x crtouch_mt bq2429x_charger bmp280_spi bq27xxx_battery_i2c ina2xx bq27xxx_battery twl6040_vibra palmas_gpadc bluetooth usb3503 ecdh_generic bmg160_i2c bmc150_magn_i2c bmc150_accel_i2c bmc150_accel_core bmc150_magn bmg160_core bmp280_i2c industrialio_triggered_buffer kfifo_buf bno055 bmp280 snd_soc_omap_mcpdm snd_soc_omap_aess snd_soc_omap_mcbsp snd_soc_sdma sunrpc ip_tables x_tables ipv6 autofs4 omapdrm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm drm_panel_orientation_quirks panel_boe_w677l encoder_tpd12s015 pwm_omap_dmtimer
[ 8.617052] connector_hdmi pwm_bl omapdss omapdss_base cec ehci_omap dwc3_omap tsc2007 industrialio gpio_twl6040 palmas_pwrbutton tca8418_keypad as5013
[ 8.617092] CPU: 1 PID: 1371 Comm: systemd-udevd Not tainted 4.19.60-letux-lpae-pyra-bat+ #3
[ 8.617096] Hardware name: Generic OMAP5 (Flattened Device Tree)
[ 8.617116] [<c02111c0>] (unwind_backtrace) from [<c020c37c>] (show_stack+0x10/0x14)
[ 8.617124] [<c020c37c>] (show_stack) from [<c08ef2ac>] (dump_stack+0x7c/0x98)
[ 8.617134] [<c08ef2ac>] (dump_stack) from [<c022ec74>] (__warn+0xdc/0xfc)
[ 8.617140] [<c022ec74>] (__warn) from [<c022eda4>] (warn_slowpath_null+0x38/0x44)
[ 8.617151] [<c022eda4>] (warn_slowpath_null) from [<bf50b458>] (snd_soc_card_new_dai_links+0x5c/0x94 [snd_soc_omap_abe_twl6040])
[ 8.617193] [<bf50b458>] (snd_soc_card_new_dai_links [snd_soc_omap_abe_twl6040]) from [<bf50b8e8>] (omap_abe_probe+0x458/0x5f8 [snd_soc_omap_abe_twl6040])
[ 8.617206] [<bf50b8e8>] (omap_abe_probe [snd_soc_omap_abe_twl6040]) from [<c064151c>] (platform_drv_probe+0x48/0x94)
[ 8.617214] [<c064151c>] (platform_drv_probe) from [<c063f428>] (really_probe+0x21c/0x3a8)
[ 8.617220] [<c063f428>] (really_probe) from [<c063f8c0>] (driver_probe_device+0x178/0x19c)
[ 8.617228] [<c063f8c0>] (driver_probe_device) from [<c063f974>] (__driver_attach+0x90/0x110)
[ 8.617235] [<c063f974>] (__driver_attach) from [<c063d7d0>] (bus_for_each_dev+0x64/0xa0)
[ 8.617243] [<c063d7d0>] (bus_for_each_dev) from [<c063e888>] (bus_add_driver+0x1b0/0x228)
[ 8.617250] [<c063e888>] (bus_add_driver) from [<c064065c>] (driver_register+0xb4/0xf8)
[ 8.617259] [<c064065c>] (driver_register) from [<bf511080>] (omap_abe_init+0x80/0x1000 [snd_soc_omap_abe_twl6040])
[ 8.617274] [<bf511080>] (omap_abe_init [snd_soc_omap_abe_twl6040]) from [<c0202d14>] (do_one_initcall+0x40/0x25c)
[ 8.617283] [<c0202d14>] (do_one_initcall) from [<c02ab2a4>] (do_init_module+0x58/0x1c8)
[ 8.617291] [<c02ab2a4>] (do_init_module) from [<c02aa138>] (load_module+0x1c84/0x2180)
[ 8.617297] [<c02aa138>] (load_module) from [<c02aa848>] (sys_finit_module+0x98/0xdc)
[ 8.617303] [<c02aa848>] (sys_finit_module) from [<c02011c8>] (__sys_trace_return+0x0/0x10)
[ 8.617307] Exception stack(0xe979bfa8 to 0xe979bff0)
[ 8.617312] bfa0: 00000000 004483cc 0000000f 0045c8b8 00000000 be8afa04
[ 8.617317] bfc0: 00000000 004483cc 00000000 0000017b 00020000 00000008 0045c8b8 00459f38
[ 8.617321] bfe0: be8af8e8 be8af8d8 b6e86aeb b6d971c2
[ 8.617325] ---[ end trace 0842a3967b8ce551 ]---
```http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/3Proper integration of the TILER rotation2019-11-06T03:19:29ZMichael Mrozekevildragon@openpandora.orgProper integration of the TILER rotationReported by Nikolaus. Inform him when fixed.
The current TILER rotation-code used in the Pyra was just a quick
hack to get it to work.
It causes some issues (as far as I am aware because of this we can't
use the 3D driver and omapdrm ...Reported by Nikolaus. Inform him when fixed.
The current TILER rotation-code used in the Pyra was just a quick
hack to get it to work.
It causes some issues (as far as I am aware because of this we can't
use the 3D driver and omapdrm also doesn't work properly), so it
needs to be cleaned up for release.http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/2twl6040: handle DC offset of the handsfree speakers2019-11-06T03:19:27ZMichael Mrozekevildragon@openpandora.orgtwl6040: handle DC offset of the handsfree speakersReported by Nikolaus. Inform him when fixed.
the twl6040 can tell the audio subsystem that there is some DC
offset in the class D amplifiers. But this is not taken care of by
the McASP/BSP drivers.
The result is that the speakers ar...Reported by Nikolaus. Inform him when fixed.
the twl6040 can tell the audio subsystem that there is some DC
offset in the class D amplifiers. But this is not taken care of by
the McASP/BSP drivers.
The result is that the speakers are driven with DC offset which has
negative effects:
* higher energy consumption than needed
* membrane is already deflected in 0 position
* loud sound may make the membrane run to the mechanical end
positions which gives a very scratchy noise
Solution: read out these registers and make the OMAP subtract the
offset from the data before it is sent through the serial interface.
It may be that the AESS could handle that better, but we do not have
AESS up and running.http://dev.pyra-handheld.com/kernel/pyra-kernel/-/issues/1Battery state of charge indications are not precise2019-11-10T00:01:16ZMichael Mrozekevildragon@openpandora.orgBattery state of charge indications are not preciseReported by Nikolaus. Inform him when fixed.
The % display is almost correct, but calculations of remaining time
are wrong, because the bq27xxx does not know exact battery capacity.
It should be provided by DT through the driver to Fl...Reported by Nikolaus. Inform him when fixed.
The % display is almost correct, but calculations of remaining time
are wrong, because the bq27xxx does not know exact battery capacity.
It should be provided by DT through the driver to Flash inside the
bq27xxx but isn't.
Another effect is that we have reduced End Of Charging voltage of
the bq24297 by 50mV to 4.15V (because it could make the modem turn
off due to overvoltage in some situations). This means that the
battery is never charged to 100%.
This effect is not properly handled by the bq27xxx setup.