0

I am trying to install HY463 touch screen driver on to raspberrypi-cm3 buster lite. I have installed drivers before. But Their website does not provide any Makefile or any documentation for me to compile/add the drivers

Can anyone provide me any pointers or documentation that could help me

Edit1: Adding the link to website: https://www.hycontek.com/en/category/products-en/touch-en

Edit2: I now see a pdf document which look like it has instructions on how to add it. So I am translating that now

Edit3: So according to the document I have to do these below steps

4.1 Migration File This section describes how to transplant our driver. The functions implemented include driver mount, touch point report, sleep wake-up FW upgrade and other interfaces for APK and ADB debug call. 
1. Copy the hy46xx_ts.c and hy46xx_ts.h files to the kernel/include/linux/input/touchscreen/ directory. 
2. Modify the Makefile in the kernel/include/linux/input/touchscreen/ directory and add a line to the end of this file: obj-$(CONFIG_TOUCHSCREEN_HYCON) += hy46xx_ts.o 
4.2 Compile After completing the work described in Section 4.1 You can compile the kernel, enter the compile command at the command line: Make -j4 bootimage Wait for the compilation to complete, compile successfully will generate boot.img. 

But This document still does not tell me how to compile it after boot-up. I cannot do this above method because. My Image now has cross-compile tool and all packages installed on it. If I now create a new image then I would have to do that all over again

Can someone give me any pointers on how to generate a Makefile and then add this touchscreen module

  • 2
    saying Their website is practically useless ... please add a link to the website – jsotola Sep 12 '19 at 00:06
  • @thesillywhat, You might like to read my answer to the following question, where I share my touch screen driver building experience. There are also many pointers. The tutorial I followed is very detailed and newbie friendly. https://raspberrypi.stackexchange.com/questions/98549/lcd-tft-screen-2-8-ili9341-spi-connect – tlfong01 Sep 12 '19 at 01:05

1 Answers1

1

Note, this is not a complete answer. I've encountered compile-time errors when building the Hycon sources, and decided to switch to a different solution instead of fixing their code.

This is how you would normally install such driver:

  1. Copy hy46xx_ts.c and hy46xx_ts.h to the drivers/input/touchscreen directory
  2. Modify drivers/input/touchscreen/KConfig, append a section:
config  TOUCHSCREEN_HYCON
       tristate  "hycon touchscreen driver"
       help
           hycon touchscreen driver
  1. Modify drivers/input/touchscreen/Makefile, append a line:
obj-$(CONFIG_TOUCHSCREEN_HYCON)          += hy46xx_ts.o
  1. Run your preferred config tool such as make menuconfig, and enable the hycon touchscreen as module.
  2. Build the module (make modules). You may also need to build the full kernel beforehand in order to have the correct Module.symvers file
  3. Install the .ko file

You can also configure the driver to be compiled into the kernel at step (4), in such case you need to build the full kernel image (make zImage) at step (5) and install the kernel at step (6). See the documentation for your board for details.

If cross-compiling, you need to add the appropriate ARCH & CROSS_COMPILE variables to the make command line.