This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3356: SDCard bootup without EEPROM access

Part Number: AM3356
Other Parts Discussed in Thread: WL1837MOD, WL1837MODCOM8I, WL1835MODCOM8B

Hello team,

My customer is trying to do boot-up without reading EEPROM now. They are developing their system without EEPROM, However, first of all, They are evaluating u-boot function (no reading EEPROM) with AM3335x GPEVM currently. But, customer does not success it with GPEVM yet. Customer is using SDCard boot. Customer is referring the following “Processor SDK User Guide”.

https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/AM335X/linux/How_to_Guides/Board_Port/U-Boot.html

I received some information about their modification. However, I noticed that it included private information… therefore, I’d like to request Experts to off-line-support. Is it O.K?

It will be really appreciated if you will agree .

 

Best regards,

Miyazaki

  • Hi Miyazaki-san,

    Takayuki Miyazaki said:
    My customer is trying to do boot-up without reading EEPROM now. They are developing their system without EEPROM, However, first of all, They are evaluating u-boot function (no reading EEPROM) with AM3335x GPEVM currently. But, customer does not success it with GPEVM yet.

    Some options to try out

    a) Not read EEPROM by removing do_board_detect() call as listed below in “arch/arm/mach-omap2/am33xx/board.c”

    early_system_init (){
    …
    // do_board_detect()
    …
    }
    

    b) change code as listed below in “board/ti/am335x/board.h” to make board_is_gp_evm() call return "true"

    static inline int board_is_gp_evm(void)
    {
            return 1;
    // return board_ti_is("A33515BB");
    }
    

    Best,

    -Hong

  • Hi Hong,

    Thanks for your advice on this. I'll share this with customer, first of all. Also, I'd like to share the modifications which customer has done, by off-line.

    best regards, Miyazaki

  • Hi Hong,

    Customer tried to do a) modification and b) modification, however, it still failed. Could you share any other solution, please ?

    I shared summary-document of customer's modification previously, would you see any issue for customer's procedure?

    It will be appreciated if you will share your other advice/comments on this.

    best regards, Miyazaki

  • Hello Hong,

    Can I have any update for this, please?

    best regards,

    Miyazaki

  • Hi Miyazaki,

    Can we add “#define DEBUG” at the top of “/lib/initcall.c”?

    This would add full “initcall xxxxxxxx” debug dump in u-boot log to have more visibility on where u-boot boot fails.

    For u-boot (proper) boot flow:

    - initcall_run_list() (/lib/initcall.c) is called by boot_init_f() (/common/board_f.c), which executes a sequence of initialization functions as defined in init_sequence_f[] = {…};

    Similarly initcall_run_list() is also called in boot_init_r() (/common/board_r.c), which runs a sequence of initialization functions as defined in init_sequence_r[] = {…};

    Best,

    -Hong

  • Hi Hong,

    I received the debug.log with “#define DEBUG” from my customer. I attached this (initcall_DEBUG.zip). I believe it will be helpful to do analysis.

    Best regards, Miyazaki

  • Hi Miyazaki-san,

    From your attached log, the issue is most likely due to MMC dtb mis-configuration.

    In reference to AM335x evm, there're three dts files, "am335x-evm.dts", "am33xx.dtsi", and "am335x-evm-u-boot.dtsi", where "am335x-evm-u-boot.dtsi" get implicitly included by main dts file "am335x-evm.dts", and mmc3 node is disabled in "am335x-evm-u-boot.dtsi" as listed below:

    &mmc3 {
    	status = "disabled";
    };

    Note that mmc3 is intended for usage with SDIO based wifi module.

    Please check if the similar "am335x-evm-u-boot.dtsi" is generated for your own dts files, where mmc3 node needs to be setup as above.

    Best,

    -Hong

  • HI Hong,

    Thank you so much for your hard work. Our customer is developing their system with AM3356/WL1837MOD, however, customer is verifying this u-boot (non-EEPROM access) with AM335xGP-EVM, so, please let me confirm if customer connects AM335xGPEVM to WiFI board (WL1837MODCOM8I) in this verification. 

    Also, please allow me to confirm  "MMC dtb mis-configuration". according to debug-log, there is possibility that u-boot stopped during SDIO-access . Is that correct?

    At first,  I’d like to share your comments with customer. I really appreciate.

    Best regards, Miyazaki

  • Hi Miyazaki-san,

    yes, mmc3 node needs to be disabled when booting on TI EVM w/o SDIO wifi module connected on MMC3
    I checked the decoded dtb after running "dtc -I dtb am335x-evm.dtb > am335x-evm.dtb.txt".
    Note that mmc3 node is disabled as shown below:

    		mmc@47810000 {
    			compatible = "ti,omap4-hsmmc";
    			ti,hwmods = "mmc3";
    			ti,needs-special-reset;
    			interrupts = <0x1d>;
    			reg = <0x47810000 0x1000>;
    			status = "disabled";
    		...
    		}

    Best,

    -Hong

    am335x-evm.dtb.txt

  • Hi Hong,

    Sorry for my late input. The begin of this week is national holiday in Japan. I received customer's feedback. Customer is verifying this u-boot with AM335x-GP-EVM+WL1835MODCOM8B. therefore, I don't believe that they should disable mmc3 node. Or, should I request customer to disable mmc3 node?

    It will be appreciated if you will share more advice on this none-EEPROM boot.

    Best regards,

    Miyazaki

  • Hi Miyazaki-san,

    1. WLAN module (i.e. WL18xx) is not active during u-boot booting phase, that is why mmc3 node in u-boot device tree needs to be disabled as in my previous post. Note that there's no WL18xx driver in u-boot.

    2. In Linux kernel boot up, kernel device tree would setup mmc3 node for SDIO I/F accordingly, along with WL1800 kernel driver/module installation.

    Hopefully this clarify your question.

    Best,

    -Hong

  • Hi Hong,

    Thanks for your clarification. I had misunderstood. It. I will request customer to disable the status of mmc3 node.

    After that, I’ll wait for customer’s feedback.

    Best regards,

    Miyazaki

  • Hi Hong,

    Customer was able to confirm this none-EEPROM booting is working fine. 

    Thanks for your kind help !

    Best regards,

    Miyazaki