updating and imx8mm based product from Android-10 to Android-12

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

updating and imx8mm based product from Android-10 to Android-12

406 Views
hpmarqui
Contributor I

I'm trying to update an imx8mm based product from Android-10 to Android-12

I'm re-using the existing device tree definition as is on Android 12. However various drivers are never been called and initialized.

The android-12 build runs but the LCD display is never initialized.  I can't even confirm that any of i2c based device are being initialized. There's a sn65dsi32 MIPI to LVDS bridge chip that needs to be initialized but the driver's probe function is never being called.

The older Android used a custom sn65dsi32 driver:

./drivers/gpu/drm/bridge/sn65/sn65dsi83_brg.h
./drivers/gpu/drm/bridge/sn65/sn65dsi83_drv.c
./drivers/gpu/drm/bridge/sn65/sn65dsi83_brg.c
./drivers/gpu/drm/bridge/sn65/sn65dsi83_timing.h

But the older driver won't compile on the newer kernel due to various missing header files.

But he newer kernel includes the following driver

./drivers/gpu/drm/bridge/ti-sn65dsi86.c

But the newer drivers probe function sn65dsi83_probe is never being called 

On the older Android 10 based Linux I could enabled various logging that would log when a node in the dtb was associated with a particular driver.  Output similar to the following:

By enabling debug levels messages in ./drivers/base/dd.c

[Mon Nov 13 15:37:33 2023] bus: 'platform': really_probe: bound device 30280000.watchdog to driver imx2-wdt
[Mon Nov 13 15:37:33 2023] driver: 'sdhci-esdhc-imx': driver_bound: bound to device '30b60000.mmc'
[Mon Nov 13 15:37:33 2023] bus: 'platform': really_probe: bound device 30b60000.mmc to driver sdhci-esdhc-imx
[Mon Nov 13 15:37:33 2023] driver: 'imx_ocotp': driver_bound: bound to device '30350000.ocotp-ctrl'
[Mon Nov 13 15:37:33 2023] bus: 'platform': really_probe: bound device 30350000.ocotp-ctrl to driver imx_ocotp
[Mon Nov 13 15:37:33 2023] driver: 'galcore': driver_bound: bound to device '38000000.gpu'
[Mon Nov 13 15:37:33 2023] bus: 'platform': really_probe: bound device 38000000.gpu to driver galcore

But this mechanism doesn't seem to work on the newer Linux kernel (5.15) used with Android-12

How can I debug why my dtb definitions are being associated or bound to a particular driver ?

If I query /sys/bus/i2c/devices I can see that my dtb definitions are there.

 

Tags (1)
0 Kudos
Reply
1 Reply

373 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You have to build the dtb and reinstall on the board, the you can debug it with Real View ICE or dgb.

Regars

0 Kudos
Reply