Ticket Name: Linux/TDA2EVM5777: Linux Boot Halt Issue Query Text: Part Number: TDA2EVM5777 Tool/software: Linux Hello, I am running PROCESSOR_SDK_VISION_03_01_00_00 Linux on the tda2evm5777 and I am having an issue when I try to run it on another hardware (Part 1 below). I also tried to recreate the issue on the tda2evm5777 hardwaren(see part 2). Part 1 Linux starts to boot but will stop after these print statements: [ 2.653974] dmm 4e000000.dmm: initialized all PAT entries [ 2.661366] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 2.668038] [drm] No driver support for vblank timestamp query. [ 2.674367] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0 [ 2.693383] pcf857x: probe of 0-0020 failed with error -121 [ 2.699149] pcf857x: probe of 0-0021 failed with error -121 [ 2.705199] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.824026] asoc-simple-card sound0: tlv320aic3x-hifi <-> 48468000.mcasp mapping ok [ 2.846947] omap_hsmmc 480d1000.mmc: card claims to support voltages below defined range [ 2.856117] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.861575] hctosys: unable to open rtc device (rtc0) [ 2.875008] evm_1v8: disabling [ 2.878099] aic_dvdd: disabling [ 2.881432] ldousb: disabling [ 2.884702] pbias_mmc_omap5: disabling [ 2.888628] ALSA device list: [ 2.891624] #0: DRA7xx-EVM [ 2.895222] Waiting for root device PARTUUID=adadfbee-02... [ 2.906404] mmc1: queuing unknown CIS tuple 0x91 (3 bytes) [ 2.912637] mmc1: new high speed SDIO card at address 0001 Part 2 I tried to recreate the issue on the evaluation board (tda2evm5777) by disabling i2c1 in the dra7-evm-common.dts file. we can create a similar boot up halt. Here are the ending print statements for that: [ 2.261911] Power Management for TI OMAP4+ devices. [ 2.267080] Registering SWP/SWPB emulation handler [ 2.274549] dmm 4e000000.dmm: initialized all PAT entries [ 2.295529] omapdss_dss 58000000.dss: master bind failed: -517 [ 2.302038] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.307889] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode [ 2.314316] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode [ 2.433424] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm [ 2.439631] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm [ 2.445917] ti_oppdm 4a003b20.oppdm: Unable to get vdd regulator:-517 [ 2.453691] omapdss_dss 58000000.dss: master bind failed: -517 [ 2.461362] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.469302] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode [ 2.475754] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode [ 2.483051] hctosys: unable to open rtc device (rtc0) [ 2.501201] evm_1v8: disabling [ 2.504305] evm_3v3_sw: disabling [ 2.507636] aic_dvdd: disabling [ 2.510794] pbias_mmc_omap5: disabling [ 2.514580] vmmcwl_fixed: disabling [ 2.518280] ALSA device list: [ 2.521259] No soundcards found. [ 2.525593] Waiting for root device PARTUUID=adadfbee-02... Questions What is Linux trying to do or waiting on that would make it pause at this point in the bootup sequence? Does Linux require ECC DDR? Why would disabling I2C1 on a Vayu result in a similar boot halt? Please let me know if you need any information. I can also provide more boot print statements if it helps. Thank you in advance! -iFer Responses: Hi Have you reviewed the HW differences between the TI EVM and other HW - you will need to make appropriate changes to enable/ disable device nodes in the Linux Device tree file that describes your platform HW Does Linux require ECC DDR? No, Linux does not require ECC for DDR you can review your complete boot log - typically the boot flow includes probing of connecting devices and driver modules registered with the kernel. Following this the initialization scripts from the root FS are executed for configuring rest of your system.If either the device probe is stuck or you have some unfulfilled dependencies , you might see behavior similar to the one above You will need to carefully analyse the HW differences and make appropriate changes From the logs above, in both places the init seems to be stuck after initial MMC driver probe. Before disabling the I2C instance also review for devices connected to the I2C1 bus and ensure that the driver/software doesnt depend on that I2c instance anymore Hi, I2C1 is where TPS659039(PMIC) is connected. MMC requires ldo1 regulator which is on TPS659039 PMIC. Hence you see the boot hang when you disable I2C1. - Keerthy Hello, Thank you for your help. I have several differences between Vayu EVM and the other hardware. For more specifics on the other hardware, I have successfully booted Starterware and RTOS applications fine on the other hardware. Specifics about other hardware: 1) Boot device is MMC1. 2) EMMC is not present. 3) MMC regulator is always enabled. 4) SYS_BOOT is configured for sd boot. What I do not know, is what components on the Vayu board (and dtsi entries) does the default Vision SDK Linux kernel require to be there/enabled by default for Linux to not halt. That will help me narrow it down, as there are various differences. For example, on the Vayu board, the gpio expander is used for the vayu mmc reg enable, but on the other hardware, it is hard wired on. Would this cause the default Linux kernel to halt booting? If so, what DTSI entries do I disable/modify? What are the other components/dtsi entries that the default Vision SDK Linux kernel require to boot that RTOS/Starterware do not require to boot? Thank you for your help! -iFer Hi With Linux, your device tree file describes your board/hardware configuration. The default from our release would have enabled all the peripherals that need to be controlled from Linux - typically the video capture(and possibly display) related peripherals are controlled from RTOS side. depending on your case requirements, you need to finalize the peripherals that need to be controlled from Linux - for purpose of debugging you can mark a device node in the DT file as being disabled if you do not want to enable access to that from the Linux side. typical (but not complete - refer standard device tree file again) list of peripherals handled by linux include uart, usb, ethernet, mmc, i2c instances for interacting with PMIC, audio codec, video display output devices etc