How to get a working LED/VFD front display on Tanix TX3 mini-A:
First, many thanks to Balbes, Igor and the other heroes of the Armbian community.
Instructions (noob-like, i.e. like me):
Install (see instructions at the top of this thread) the dtb file meson-gxl-s905w-tx3-mini-vfd.dtb.gz and boot your tx3 box with this file. (This assumes that you boot from SD/USB so that you don't risk bricking your box. See also notes below, incl md5sum)
Download the vfd code (module and daemon) tarball vfdd-20181209.tar.xz from a link at the bottom of the page http://www.rvq.fr/linux/tanix-vfd.php and unpack it someplace on your tx3 box.
Build the vfd module (natively): Install the *.deb package from Balbes/Armbian with linux kernel headers for the kernel you are running. Then, copy the contents of vfdd-20181209/vfdmod/vfdmod/ to some place in the kernel headers tree, say drivers/vfd Go to drivers/vfd and write up a Makefile somewhat like this;
KERNEL_SOURCE := /usr/src/linux-headers-4.19.7-aml-s9xxx
PWD := $(shell pwd)
default:
${MAKE} -C ${KERNEL_SOURCE} M=${PWD} modules
clean:
${MAKE} -C ${KERNEL_SOURCE} M=${PWD} clean
Run 'make' and build the module vfdmod.ko
Check that the module loads: insmod vfdmod.ko
Build the daemon vfdd: Go to the directory vfdd-20181209/ and run make. (I got some seemingly harmless warnings, which I ignored.) The daemon executable vfdd should emerge. After inspection/editing of the Makefile in vfdd-20181209/ (e.g. BINDIR, ETCDIR) you can run 'make install' to copy the the daemon executable and configuration file to their proper locations (or do this manually).
Test the daemon: Check the vfd conf file (default /etc/vfd.conf) and edit according to taste, or leave as-is. Start the daemon with recipe as in vfdd-20181209/vfdd.runit.in If everything is OK some nice little numbers and symbols should now emerge on the front LED display of your tx3 box. (Note that the daemon cycles through time/date/temp on the display and that e.g. the play button means bluetooth, I think.)
Notes:
The dtb file meson-gxl-s905w-tx3-mini-vfd.dtb (md5sum is fe846c5c3c7903b15c0725c2bd289fe5) is an augmentation of the Balbes/Armbian file meson-gxl-s905w-tx3-mini.dtb where the following definition has been added/compiled in (method; hack to Balbes' Armbian cross compile build environment) to support vfd (as per recipe in vfdd-20181209):
meson-vfd {
compatible = "amlogic,aml_vfd";
dev_name = "meson-vfd";
status = "okay";
gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>, /* STB */
<&gpio GPIODV_27 GPIO_ACTIVE_HIGH>, /* CLK */
<&gpio GPIODV_26 GPIO_ACTIVE_HIGH>; /* DI/DO */
};
(A dtb file can easily be decompiled and inspected by decompiling it with dtc, the device tree compiler.)
The vfd module can also be complied using the Balbes/Armbian cross compile environment, using (at least for me) some ugly hacks, but the native route seems much simpler. (The module built with the cross compile environment becomes smaller; I don't know why (perhaps due to some shared code).)
I have used information and links mainly from the excellent tx3 info source http://www.rvq.fr/linux/tanix-tx3.php