Learnincurve

  • Posts

    122
  • Joined

  • Last visited

Recent Profile Visitors

1529 profile views

Learnincurve's Achievements

  1. Hi, Just want to check what the recommended approach is with today's dist-upgrade. I noticed that armbian-bsp-cli-pine64 was held back, so tried a manual install to see what the problem was. Seems like apt wants to remove linux-focal-root-current-pine64 to upgrade armbian-bsp-cli-pine64. Is this a temporary dependency issue? Obviously not performing the upgrade unless informed of the correct approach. BR.
  2. Yes. This is working now! You just need to enable it in armbian-conf and make sure the "goodix" module gets loaded at boot for the touchscreen. Ignore instructions of the download page for now, they are for the older legacy releases. If you have trouble with the touchscreen failing to load on reboot, see this post:
  3. This is resolved now. After reading https://www.raspberrypi.org/forums/viewtopic.php?t=216901 I created the following systemd service file: Unit] Description=unload the goodix driver ahead of reboots to allow it to properly load again when the system restarts [Service] ExecStop=/sbin/rmmod goodix Type=oneshot RemainAfterExit=true [Install] WantedBy=multi-user.target System now comes up with working touchscreen every time:) ~ ~
  4. Hi Lucapinello, Thank you for the tip to make sure ts_uinput -d is running. For me, the problem with reboot seems to be at a lower level (at goodix module load and before tslib gets loaded). I am trying to work out how to unload the goodix module before reboot, as a manual removal of the module leads to a working reboot, but am having some trouble writing a systemd service that runs early, before reboot BR.
  5. 5.10.4-sunxi64 pine64 board with goodix 7" mipi-dsi LCD touchscreen. The LCD output is working fine across reboots after enabling the dt overlay using armbian-config. For the touchscreen, I have added "goodix" to /etc/modules and the digitizer works fine from all cold boots: ~$ dmesg | grep -i goodix [ 5.836601] Goodix-TS 1-005d: supply VDDIO not found, using dummy regulator [ 5.843605] Goodix-TS 1-005d: ID k}\xfa, version: 7b6f [ 5.866815] input: Goodix Capacitive TouchScreen as /devices/platform/soc/1c2ac00.i2c/i2c-1/1-005d/input/input5 but a reboot leads to either: [ 5.856172] Goodix-TS 1-005d: supply VDDIO not found, using dummy regulator [ 5.856668] Goodix-TS 1-005d: i2c test failed attempt 1: -6 [ 5.886780] Goodix-TS 1-005d: ID k}\xfa, version: 7b6f [ 5.909817] input: Goodix Capacitive TouchScreen as /devices/platform/soc/1c2ac00.i2c/i2c-1/1-005d/input/input5 and the screen works or: $ dmesg | grep -i goodix [ 5.862909] Goodix-TS 1-005d: supply VDDIO not found, using dummy regulator [ 5.864033] Goodix-TS 1-005d: i2c test failed attempt 1: -6 [ 5.889397] Goodix-TS 1-005d: i2c test failed attempt 2: -6 [ 5.925072] Goodix-TS 1-005d: I2C communication failure: -6 a double reboot works. It looks like the i2c bus is not being completely reset in time, but that multiple connection attempts sometimes succeed. Can anyone suggest a workaround, to force a reset, add more i2c test iterations or provide more time to load from reboot? BR.
  6. I'm having the same problem on a Pine64-plus. [ 6.465215] WARNING: CPU: 2 PID: 34 at drivers/clocksource/arm_arch_timer.c:364 sun50i_a64_read_cntpct_el0+0x2c/0x38 [ 6.467239] Modules linked in: cpufreq_dt joydev sch_fq_codel goodix panel_feiyang_fy07024di26a30d pinctrl_axp209 realtek dwmac_sun8i mdio_mux i2c_mv64xxx pwm_bl [ 6.470647] CPU: 2 PID: 34 Comm: kworker/2:1 Not tainted 5.10.4-sunxi64 #20.11.7 [ 6.472786] Hardware name: Pine64+ (DT) [ 6.475136] Workqueue: events dbs_work_handler [ 6.477389] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--) [ 6.479566] pc : sun50i_a64_read_cntpct_el0+0x2c/0x38 [ 6.481723] lr : arch_counter_get_cntpct_stable+0x3c/0x80 [ 6.483825] sp : ffff80001164ba30 [ 6.485913] x29: ffff80001164ba30 x28: ffff0000422b9a00 [ 6.488166] x27: ffff000043079f00 x26: ffff000077b6f098 [ 6.490462] x25: 0000000000000000 x24: ffff000042de0428 [ 6.492768] x23: ffff80001164bb30 [ 6.494818] hrtimer: interrupt took 27554375 ns [ 6.496877] x22: 0000000000000001 [ 6.499039] x21: 0000000000000001 x20: 0000000000000018 [ 6.501309] x19: ffff80001144e000 x18: 0000000000000001 [ 6.503570] x17: 0000000000000018 [ 6.505752] pwm-backlight backlight: supply power not found, using dummy regulator [ 6.507789] x16: 0000000000000002 [ 6.509935] x15: 0000000000000001 x14: 0000000000000001 [ 6.512194] x13: 0000000000000005 x12: 0000000000000021 [ 6.514410] x11: 0000000000000005 x10: 00000000bcd3d800 [ 6.516648] x9 : 0000000000000004 x8 : 0000000000000004 [ 6.518906] x7 : ffff800011411080 x6 : 00000000112a8800 [ 6.521209] x5 : 0000000000000010 x4 : 0000000000000012 [ 6.523465] x3 : 0000000000000050 x2 : 0000000015b25f37 [ 6.525690] x1 : 0000000000000000 x0 : 0000000015b25f3d [ 6.527922] Call trace: [ 6.530233] sun50i_a64_read_cntpct_el0+0x2c/0x38 [ 6.532385] __delay+0x24/0xa8 [ 6.534647] __udelay+0x2c/0x38 [ 6.536827] ccu_mux_notifier_cb+0x64/0xa0 [ 6.538965] srcu_notifier_call_chain+0x70/0xc0 [ 6.541146] __clk_notify+0x8c/0xc8 [ 6.543303] clk_propagate_rate_change+0xc4/0xe0 [ 6.545451] clk_core_set_rate_nolock+0x118/0x1f0 [ 6.547603] clk_set_rate+0x38/0xa8 [ 6.549779] dev_pm_opp_set_rate+0x258/0x5c8 [ 6.551994] set_target+0x30/0x40 [cpufreq_dt] [ 6.554186] __cpufreq_driver_target+0x2b0/0x698 [ 6.556342] od_dbs_update+0x140/0x1a0 [ 6.558463] dbs_work_handler+0x40/0x78 [ 6.560609] process_one_work+0x1f0/0x3c0 [ 6.562742] worker_thread+0x140/0x520 [ 6.564895] kthread+0x120/0x128 [ 6.567029] ret_from_fork+0x10/0x30 unloading the cpufreq-dt module helped somewhat, but manipulating the min/max cpu speeds does little to help. X is not installed, but I do have a simple graphical interface using FB. regarding the kworker threads eating CPU cycles I also noticed this post in a rpi forum, but not sure how to apply the recommended: dtparam=sd_poll_once dtoverlay=sdtweak,poll_once tweaks in Armbian.
  7. Hi, Thanks to the hard work of your team, the Pine64-plus touchscreen now works great with the mainline kernel and legacy images are no longer listed in the download options, but it looks like some of the instructions at https://www.armbian.com/pine64/ are still referring to the "old way" of doing things: ie: Pine64’s own LCD with touchscreen support can simply be activated in /boot/armbianEnv.txt by setting pine64_lcd=on and adding gt9xxf_ts to /etc/modules followed by a reboot. The LCD screen is now activated by manipulating the DT overlays, which can even be done from armbian-config - hardware, and the touchscreen module is now called "goodix". Please can someone find the time to update the instructions on the page? BR.
  8. I found the solution at I was expecting this to be called "cir something", but the device is already listed in the device tree as ir@1f02000. I did a sudo fdtput -t s /boot/dtb/allwinner/sun50i-a64-pine64-plus.dtb /soc/ir@1f02000 status okay and rebooted. Device now shows up as /dev/input/event2 Now all I need is to find some codes that can be used with it.
  9. Hi, Thank you all for so much work to fully implement the mainline kernel for the Pine64! So much is now working out-of-the-box with armbian, that there is no need to use the legacy version based on kernel 3.10. The pine64 does have CIR capabilities and the sunxi-cir kernel module is available, but we are still missing DT bindings for the device, although I see that an overlay file is present for the h5: /dts-v1/; / { compatible = "allwinner,sun50i-h5"; fragment@0 { target = <0xffffffff>; __overlay__ { pinctrl-names = "default"; pinctrl-0 = <0xffffffff>; status = "okay"; }; }; __fixups__ { ir = "/fragment@0:target:0"; r_ir_rx_pin = "/fragment@0/__overlay__:pinctrl-0:0"; }; }; /tmp/sun50i-h5-cir.dtbs (END) I would be very happy to try to implement and test this, if anyone can suggest changes to the overlay code, to shoehorn it into the pine64-plus DT. Update: I did try the obvious, simple approach of changing the compatible line to compatible = "allwinner,sun50i-a64" , recompiling and changing the filename to /boot/overlay-user/sun50i-a64-pine64-cir.dtbo but this looks like it messes up the official 7 inch lcd overlay (blank screen) that otherwise loads fine. So looks like it needs more changes. Many thanks in advance for any suggestions! BR.
  10. I cheated and upgraded to nightly from the latest stable build, which you can do from the armbian-config - System menu. Otherwise I see that all of https://minio.k-space.ee/armbian/ is unavailable at the moment. The link will probably work again later.
  11. : Issue is finally fixed in (at least) nightly builds ! There is now a "pine64-7inch-lcd" overlay in /boot/dtb//allwinner/overlay Just add "overlays=pine64-7inch-lcd" to armbianEnv.txt and screen magically works. A BIG thank you to the team for fixing this! Pine64 is now ready for mainline kernel goodness!
  12. Good suggestion! I did try disabling hdmi stuff earlier (without success, but not sure if it was before or after adding the panel, so will try again). I'm also a DTS-noob and finding it hard to get my head around it. Hence my spamming of this thread, which it looks like the experts are now filtering out (can't say I blame them).
  13. Update: I just took out the feiyang panel section in the device tree, as that gives the clearest dmesg indication that the dsi port is working: Have also discovered armbianmonitor -u. Dump at http://ix.io/2E03
  14. Hi p1x313d. Thank you for your support! No. The problem is not that I don't have the panel, I do. My problem is lack of understanding and knowledge regarding the Device Tree. I am at the stage where I am stuck, unable to correctly set the pins (I think) for the panel. @lex was able to do this, using an earlier kernel and device tree, but too many internal references in the later available trees have changed, and I'm not smart enough to sort them out. If you or anyone else would like to help trying to debug, I'd be very grateful, as this is holding up being able to move to a mainline kernel for anyone with the Pine64+ and the feiyang panel. Here's my latest logging output: dmesg | grep dsi [ 2.261142] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.263148] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.263985] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.264616] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.268920] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.269694] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.270269] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.270807] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 2.316217] sun4i-drm display-engine: bound 1ca0000.dsi (ops 0xffff800010daf360) [ 5.482679] OF: /soc/dsi@1ca0000/panel@0: could not get #gpio-cells for /soc/hdmi@1ee0000/ports/port@0/endpoint [ 5.482717] feiyang-fy07024di26a30d 1ca0000.dsi.0: [drm:feiyang_dsi_probe [panel_feiyang_fy07024di26a30d]] *ERROR* Couldn't get our reset GPIO [ 5.482855] feiyang-fy07024di26a30d: probe of 1ca0000.dsi.0 failed with error -22 attached, you can find my dtb and corresponding dts files, as well as the .dts of @lex's working example sun50i-a64-pine64+_MIPI.dts for patched kernel 5.3/5.4 . @lex's .dtb is attached to his earlier post in this thread, but I can re-attach it if it is no longer available to download. Note that mipi-dsi was only included in mainline from 5.6 sun50i-a64-pine64-plus.dts sun50i-a64-pine64+_MIPI.dts sun50i-a64-pine64-plus.dtb