Posts by RSchubert

    Dear support team,

    can somebody tell me if there is support for TLS (Thread Local Storage) in toolchain fs-toolchain-8.3-armv7ahf ?

    If yes, are there any known issues?

    The reason for my question is, that I have some TLS related bugs when using libvncserver (on armStoneA9with fsimx6-B2019.08 release).

    The problem is, that the Tight encoding palette stucture (static TLS PALETTE palette;) is getting corrupted (maybe while multithreading).

    I also created an issue on libvncserver github:

    Any idea?

    Thanks in advance.

    Dear support team,

    can you say if iMX6 RS485 is working on the new 4.9.88 kernel?

    On the previous 4.1.15 release RS485 was not working out of the box. So I made some changes to drivers/tty/serial/imx.c to get it working (but without DMA). You can find it in this forum some threads below (RS485 while booting from March 2018). It seems you have made some changes to the original serial driver from kernel 4.9.88. In mainline kernel the RS485 seems not to be working well even in later kernel versions (4.20 and maybe even later). In your driver I'm missing the test for "linux,rs485-enabled-at-boot-time" what can be set in the device tree. That's important because otherwise the RS485 may be "disturbed" by the armstone while booting because it's blocking the write enable line until the driver will be setup for RS485 in the application. So what is the reliable state of RS485 in the new driver? Is DMA working now also when sending more than 8 bytes?

    Thanks in advance.

    Kind regards.

    Thanks for your answer.

    When enabling FT5x06 driver in kernel the device will be found and /dev/input/event0 will be created.
    cat /dev/input/event0 will display no results - surely because the driver does not support the M12 touch.

    When trying to use the EDT-FT50x6 driver that supports the M12 device I'm not successful. There is no /dev/input device created.
    Here my changes inside the device tree (inspired by efusa9x.dts):

    Thanks for any idea.

    Dear support-team,

    for testing we have a ETM0700G0EDH6 display with capacitive touch controller. The supplier is providing a patch file for drivers/input/touchscreen/edt-ft5x06.c. The patch is for a different kernel version 4.13 and does not fit out of the box for kernel 4.1.15 V3.1. So I tried to apply the changes manually but the devices still is not working (no ic2 device 0x38 detected with i2cdetec). Inside device tree I'm using CONFIG_ARMSTONEA9_CAPTOUCH_FT5x06 configuration. The edt-ft5x06.c is supporting M06 and M09 device types. The new one is a M12 type. Do you have a driver that already is supporting M12 type (single touch would be OK - no multi touch needed)?

    While testing different configurations I got the device working once (at least the /dev/input/event0 device was created but the ts_lib did not send positions). I could not repeat this (because I edited this working version while testing ;( ) but I guess the hardware configuration must be OK.

    I attached the incompatible patch file for edt-ft5x06.c

    Any idea?
    Thanks in advance

    I decided doing it the last way and checking for a "linux,rs485-enabled-at-boot-time" inside the device tree uart definition (e.g. like the atmel or omap drivers are doing this).

    If anybody is interested I can send the modified drivers/tty/serial/imx.c file without warranty (it's working for me).
    I was not able to attach the file directly to this post. How to do this??

    Thanks for answering. I got it working while booting in u-boot.

    The time between the kernel muxing the pin to UART and my firmware is starting still is too long.
    So I muxed the pin to GPIO in device tree too. Now the pin is low while complete booting and kernel starting.

    The problem now is how do I remux the pin to UART in my firmware before opening the UART.
    If I leave the pin as GPIO the UART is working without the RTS signal only.
    Are there functions for remuxing the pins at runtime?
    Is there a way to remux pins with help of the sysfs?

    Thanks in advance...

    Thanks for that explanation. But what does it mean for me?
    So I guess what to do now is adding something like this to board_init in u-boot:

    And do I have to control this pin manually in kernel startup again or does the kernel leave the state as it was set by u-boot?

    RTS seems to be high while booting because on UART with RTS/CTS this will indicate the receiver is not ready.
    What if I would change the following device tree configuration


    If I understood the documentation correctly this would enable a 100kOhm pull down instead of a 100kOhm pull up. Could this help without messing up the whole configuration/functionality? Or is there a better way to ensure MX6QDL_PAD_CSI0_DAT17__UART4_RTS_B to be low while booting?

    Thanks for any help.

    Dear support-team,

    we're using armstoneA9 ttymxc3 for RS485 (Modbus RTU). We have connected RX/TX to R/D as well as RTS to enable RE/DE on a SN65HVD10 transceiver. It's working perfect but while booting sequence. The problem seems that while booting the RTS is enabling driving the bus lines on the transceiver. This will disturb communication of all other devices for some seconds. How can I invert this RTS line while booting on U-boot and inside the kernel so that the driver will be disabled?

    Thanks for answers.
    Kind regards.

    Dear support-team,

    when I try to rotate the screen content (180°) on armstoneA9 by:

    1. echo 2 > /sys/class/graphics/rotate/fb0

    nothing happens. Writing a 1 (normaly will rotate by 90°) is flipping the screen vertically.
    A look into /drivers/video/fbdev/mxc/mxc_ipuv3_fb.c is showing why this happens:

    1. pre.vflip = fbi->var.rotate ? true : false;

    Are there plans to include roation (at least 180°) into the driver?

    Thanks for hints.

    Thanks for your answer. SD is working in u-boot and in kernel. I know how to update kernel and rootfs from SD but I do not know how to update u-boot from u-boot.
    Any hint?

    Dear support-team,

    I want to set pin 32 of gpio expander (armstoneA9) to high level in u-boot.
    I added following lines to function board_init into file board/F+S/fsimx6/fsimx6.c

    1. gpio_direction_output(IMX_GPIO_NR(1, 21), 0);
    2. gpio_set_value(IMX_GPIO_NR(1, 21), 1);

    The pin value still is at 0V while booting (also before kernel is starting).

    Any idea? Thanks.

    Does it mean that if we go into production with 100+ devices we have to load u-boot, device tree and rootfs manually by typing the commands into putty?