AnsweredAssumed Answered

Unable to get Sabre 7D on Android 7.1.2 to display on X-IMXEBOOKDC3

Question asked by Tom Oke on Feb 27, 2020
Latest reply on Mar 24, 2020 by igorpadykov

I am using an MCIMX7SABRE board with an X-IMXEBOOKDC3 (rather than the DC4) and am unable to get android to display on the DC3, even though the MAX17135 is found in the boot sequence and it succeeds in flashing the e-ink screen, so I know that power and the control signals and clocks all work.

 

The initial try was with the pre-built images (as per section 4 of the Android User's Guide) which also produced the initial screen flash. It confirmed that one could use the bootargs video=mxcepdcfb:ED060XH2C1,bpp=16, which demonstrated the ability to specify this on the bootargs. In a stock image video=mxcepdcfb:E060SCM,bpp=16 produces an error when the firmware file cannot be found and there is no epdc.fw default file.

 

This only resulted in the initial flash. Android continued running and was accessible through the console, but nothing on the screen.

 

I have updated the external/linux-firmware-imx/firmware/fsl-epdc.mk file to include all the firmware files from 

external/linux-firmware-imx/firmware/epdc:

  1. _epdc_ED060XH2C1.fw
  2. epdc_E060SCM.fw

  3. epdc_E60_V110.fw

  4. epdc_E60_V220.fw

  5. epdc_E97_V110.fw

and can boot with the bootargs with the video=mxcepdcfb:E060SCM,bpp=16 argument, and the firmware file is found (there is no error as there was before the firmware files were included in the build).

 

The console shows the MAX17135 being found for eink, later has a line saying a register could not be written on the max and then later shows the EPD regulators being disabled along with other regulators, but the fact that the screen flashed indicated that the max was successfully used, at least by u-boot.

 

usb_otg1_vbus: disabling

can2-3v3: disabling

wlreg_on: disabling

GVDD: disabling

GVEE: disabling

HVINN: disabling

HVINP: disabling

VNEG: disabling

VPOS: disabling

VLDO2: disabling

 

At this stage I am not sure how to proceed:

  1. in /d/regulator we can see the EPD regulators, amongst the others, so the correct dtb must have been read to setup the sysfs entries
  2. I see no error associated to a display element other than the "max17135 2-0048: Unable to write MAX17135 register via I2C"

My expectation is that the stock image, with the EPDC bootargs should have at least given me some display, even with poor quality since the clock rate would be wrong.

 

The update of firmware files, so that the correct display clock rates and configuration could be used, did no better.

 

So I am open to any suggestions as to why a stock build of 7.1.2, as per the User's Guide (section 3), flash with the mfgtool as per the Quick Start Guide (section 8.5 for bootargs initialization), does not have the android system using the apparently functional DC3 display.

 

I have attached a console log of a boot:

Outcomes