Display 13.2 Module (M126) stuck in "[M5HDMI] Waiting the FPGA gets idle..."



  • Hi,

    I'm unsuccessful at getting a brand new Display Module 13.2 to work with a Core v.2.6 or a Fire v2.6.
    I'm using an HDMI display that works fine with the "Atom PSRAM - LCD Display Driver Kit" using UIFlow platform. But my Display Module 13.2 doesn't display anything on that monitor using UIFlow, Arduino or the Easyloader demo program with my Core or Fire controllers.
    Looks like there's a problem with the FPGA. The debug output of the demo program is the following with my Basic Core V2.6 (it's basically the same output with a Fire V2.6 as the program doesn't recognize the PSRAM of the Fire):

    ets Jul 29 2019 12:21:46

    rst:0x1 (POWERON_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:2
    load:0x3fff0030,len:1184
    load:0x40078000,len:13132
    load:0x40080400,len:3036
    entry 0x400805e4
    [��mum����2-hal-cpu.c:214] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz
    E (482) psram: PSRAM ID read error: 0xffffffff
    [ 8][W][esp32-hal-psram.c:71] psramInit(): PSRAM init failed!
    [ 22][I][M5GFX.cpp:482] init_impl(): [M5GFX] [Autodetect] load from NVS : board:2
    [ 26][D][M5GFX.cpp:445] _read_panel_id(): [M5GFX] [Autodetect] read cmd:04 = 3f0000e3
    [ 29][I][M5GFX.cpp:863] autodetect(): [M5GFX] [Autodetect] M5Stack
    [ 191][D][M5ModuleDisplay.h:98] init_impl(): [LGFX] pkg:0
    E (665) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (666) gpio: gpio_set_direction(274): GPIO number error
    E (670) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (675) gpio: gpio_set_direction(274): GPIO number error
    E (680) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (686) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (691) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (697) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (702) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (708) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (713) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (719) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (724) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (729) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (735) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (740) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (746) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (751) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (757) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (762) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (768) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (773) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (779) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (784) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (790) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (795) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (801) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (806) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (811) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (817) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (822) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (828) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (833) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (839) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (844) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (850) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (855) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (861) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (866) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (872) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (877) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (883) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (888) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (894) gpio: gpio_set_level(226): GPIO output gpio_num error
    E (899) i2c: i2c_set_pin(873): scl and sda gpio numbers are the same
    [ 431][W][common.cpp:1085] writeBytes(): [LGFX] i2c write error : ack wait
    [ 438][D][M5ModuleDisplay.h:132] init_impl(): [LGFX] DisplayModule with Core Basic/Fire/Go
    [ 446][I][Panel_M5HDMI.cpp:431] init(): [M5HDMI] i2c port:0 sda:21 scl:22
    [ 453][W][Wire.cpp:204] begin(): Bus already started in Master Mode.
    [ 460][I][Panel_M5HDMI.cpp:438] init(): [M5HDMI] Chip ID: 17 02 e2

    [ 465][I][Panel_M5HDMI.cpp:444] init(): [M5HDMI] Resetting HDMI transmitter...
    [ 474][I][Panel_M5HDMI.cpp:108] LOAD_FPGA(): [M5HDMI] Erase FPGA SRAM...
    [ 487][I][Panel_M5HDMI.cpp:124] LOAD_FPGA(): [M5HDMI] Starting Writing to SRAM...
    [ 987][I][Panel_M5HDMI.cpp:168] LOAD_FPGA(): [M5HDMI] SRAM Prog Finish...
    [ 988][I][Panel_M5HDMI.cpp:456] init(): [M5HDMI] Waiting the FPGA gets idle...

    I guess the Display Module 13.2 I received was defective from the get-go. The FPGA seems not responding after the SRAM is written. But any help would be greatly appreciated in troubleshooting my issue if I'm missing something somehow.

    Thanks a lot in advance!