Android embedded porting


New member
Jan 5, 2019
Hello all,

i'm working in a company where we develop touch panel for home. On these panels we add some app for control domotics system.
These touch panels work with an Android operating system that is customized by the company that provide us these panels. The problem is that this company is not interested to upgrade the first android that they provide us, so we are normally locked on old Android versions. I want so to understand better how complex, and the common problems that there are for realize/develop an Android upgrade .
Normally our touch panels mount:
  • a Rockchip CPU es: the RK3368
  • 2GB RAM
  • 16GB of eMMC
  • a Rockchip PMIC es: RK818
  • a touch panel connected with the LVDS interface and the touch with i2c
  • a time of flight sensor for detect proximity
  • a temperature / humidity sensor
  • one ETH port
  • USB ports
  • a wifi module
  • a codec audio chip
  • an accelerometer
For example the kernel modules are
ls /sys/module/
8188eu         gt2005                  nt99240_2way           sg
alarm_dev      hci_uart                optee                  sierra_net
asix           hid                     optee_armtz            sit
bcmdhd         hid_apple               ov2659                 smsc75xx
binder         hid_magicmouse          ov5640                 smsc95xx
block          hid_ntrig               ppp_generic            snd
bluetooth      hid_prodikeys           ppp_mppe               snd_pcm
bnep           hidp                    printk                 snd_soc_rk312x
bridge         hm2057                  pvrsrvkm               snd_soc_rt5631
camsys_drv     hm5065                  pwm_rockchip           snd_soc_rt5670
cdc_ncm        hso                     random                 snd_timer
cfg80211       iep_drv                 rc_core                snd_usb_audio
ch             ipv6                    rcupdate               sp0838
cifs           ir_kbd_i2c              rcutree                sp2518
configfs       kernel                  rfcomm                 spurious
cpuidle        l2tp_core               rfkill                 stmmac
ddr_freq       l2tp_ppp                rk30_camera_oneframe   stmvl53l0x
dm_bufio       loop                    rk3368_lcdc            sysrq
dm_verity      lowmemorykiller         rk_camera              tcp_cubic
dwc_otg        mac80211                rk_fb                  uinput
ehci_hcd       mmc_core                rk_serial              usb_storage
fiq_debugger   mmcblk                  rockchip_pm            usbcore
firmware_class mpu6050                 rockchip_pwm_remotectl usbhid
flashlight     mt9p111                 rt5025_debug           usblp
fuse           nf_conntrack            rt5025_i2c             uvcvideo
g_android      nf_conntrack_amanda     rt5025_irq             vcodec_service
gc0307         nf_conntrack_ftp        rt5025_misc            vflash
gc0308         nf_conntrack_h323       rt5025_regulator       videobuf2_core
gc0309         nf_conntrack_ipv4       rt5036_i2c             videobuf_core
gc0328         nf_conntrack_irc        rt5036_irq             wlan
gc0329         nf_conntrack_netbios_ns rt5036_misc            workqueue
gc2015         nf_conntrack_sane       rt5036_regulator       xpad
gc2035         nf_conntrack_tftp       sch_htb                xt_qtaguid
generic_sensor nt99160_2way            scsi_mod               xt_quota2
Normally we have the build system for compile the Android version give us by the company that realize the touch panel in source code format, except for some small files that we recieve in .bin format.
My questions regarding Android are:
  • what are the mains problems for an Android upgrade?
  • it's normally hard to find the kernel drivers? For example on this touch panel we have a Kernel version 3.10 with Android 6, thinking to upgrade this to the kernel 4.4 and Android 9 what kind of problem can give us?
For the rockchip cpu i have find the kernel repo that seems to contain the kernel for linux or android but i'm not sure about that.

These question are for understand if we can think to find a company that will help us to upgrade our Android version.