Hi Chao, On Tuesday 26 November 2013 10:32 AM, Chao Xu wrote: > Thank you! Please see the inline reply. > > On Mon, Nov 25, 2013 at 10:40 PM, Lokesh Vutla <lokeshvu...@ti.com> wrote: >> Hi, >> On Tuesday 26 November 2013 09:55 AM, Abraham V. wrote: >>> Hello Chao, >>> (cc R.Sricharan from TI) >>> >>> Quite frankly, I have no idea why your pandaboard fails to work if >>> CONFIG_SYS_ENABLE_PADS_ALL isn't defined in the omap4_common.h file. From >>> the logs this patch was committed on 13/June/2012 by R.Sricharan. He might >>> have a better explanation so I'm adding him to this discussion. The git log >>> message says this, >> If we enable CONFIG_SYS_ENABLE_PADS_ALL, pin mux for non essential pads for >> u-boot >> will be configured. Ideally this configuration should be taken care by >> kernel. This is the main reason >> to remove this config option. >> Due to this reason the following is added to >> ./doc/feature-removal-schedule.txt >> >> "What: Remove CONFIG_SYS_ENABLE_PADS_ALL and CONFIG_SYS_CLOCKS_ENABLE_ALL >> When: Release v2013.07 >> >> Why: When set these options enable "all" of the pads and clocks found >> on OMAP4/5 platforms, so that the Linux Kernel does not have to. >> It has been agreed that this goes against the U-Boot design >> philosophy and since f3f98bb0 we have not enabled more than is >> used in U-Boot. The kernel has been updating drivers to enable >> rather than assume pads/clocks have been enabled already. Our >> expectation is that by v2013.07 a suitable kernel shall exist that >> does not need these options set for a reasonable I/O set to function. >> >> Who: Tom Rini <tr...@ti.com> and Sricharan R <r.sricha...@ti.com>" >> >> Please let me know if I am not clear. >> > The explanation is crystal clear. So the setup of non-essential pins > are left to the kernel. Then do I need to enable any linux kernel > config options to instruct the kernel to take over? I just copied the > old .config from my v3.7 kernel to build v3.12 kernel. No need to enable any config in kernel for this. Your dts should contain the required pin mux details. I am not sure what is in 3.7 kernel. May be its good to use omap2plus_defconfig.
>>> >>> "ARM: OMAP4/5: Do not configure non essential pads, clocks, dplls. >>> >>> Currently on OMAP4/5 platforms, many kernel drivers are dependent >>> upon the bootloaders for mux, dpll and clock configurations. >>> This should not be the case and bootloaders should set only the >>> minimum required for the uboot functionality and kernel boot. >>> >>> Note that this is going to break the kernel drivers. But this >>> is the only way to get things fixed in the kernel. >>> >>> Signed-off-by: R Sricharan <r.sricha...@ti.com>" >>> >>> so I'm curious now. Chao - was your problem that uboot refused to start or >>> were you seeing crashes in the linux kernel? If it's the former, then the >>> kernel doesn't even come into the picture. >> Yes even I am not clear at this point. Chao can you please clarify. >> Ideally the above config will not harm U-Boot to come up on your board. >> > I think it's the uboot refused to start. Because there was no single > character from the serial port. I enabled the early_printk option in > .config and added it to uEnv.txt. After I added the > CONFIG_SYS_CLOCKS_ENABLE_ALL, the board can boot until "Starting > Kernel". I then fixed some other issue of the kernel, like copy the > .dtb to /media/boot, and then kernel booted just fine. I'm curious, > too. Is there anything I can do to further debugging? Thank you both > very much! I think I got the problem. I grabbed my panda and tried latest mainline. As you said U-Boot didn't come up for me either. I did a bisect and verified which patch is causing th issue. Below is the patch which breaks omap4. "6789e84 i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework" I think because of the linker code added in this patch for omap-common/u-boot-spl.lds . = ALIGN(4); .u_boot_list : { KEEP(*(SORT(.u_boot_list*_i2c_*))); } >.sram If I comment out this code, u-boot comes up as usual. Tom/Heiko, can you give a pointer why this is causing the issue. Please correct me if I am wrong. Thanks and regards, Lokesh >> Thanks and regards, >> Lokesh >>> >>> Also, if you could try a simple experiment? Instead of defining that in the >>> common file, could you define it in the omap4_panda.h file and tell us if >>> uboot comes up? ( I'm just hesitant to make changes to a common file if the >>> issue is on only one board) >>> > I will try to do it tmr. >>> Puzzled, >>> Abraham V. >>> >>> >>> On Tue, Nov 26, 2013 at 9:14 AM, Chao Xu <caesarxuc...@gmail.com> wrote: >>> >>>> Hi Abraham, >>>> >>>> I finally got it working by adding "#define >>>> CONFIG_SYS_ENABLE_PADS_ALL" in u-boot/include/configs/omap4_common.h! >>>> This is removed by default in v2013.10. Do you know why? Thank you! >>>> >>>> On Sun, Nov 24, 2013 at 10:11 PM, Abraham V. >>>> <abraham.varric...@vvdntech.com> wrote: >>>>> Hello Chao, >>>>> >>>>> That sounds odd. Can you try downloading the latest mainline uboot >>>> sources >>>>> and compiling those for your board? >>>>> >>>>> ftp://ftp.denx.de/pub/u-boot/ >>>>> >>>>> At least, for the pandaboard I have, the 2013.10 release works well, >>>>> following your instructions. Only difference is that I'm using linaro's >>>>> cross-compiler. >>>>> >>>>> Puzzled, >>>>> Abraham V. >>>>> >>>>> >>>>> On Fri, Nov 22, 2013 at 8:59 PM, Chao Xu <caesarxuc...@gmail.com> wrote: >>>>>> >>>>>> Hi Abraham, >>>>>> >>>>>> Thank you very much for your detailed reply! But I think I can rule >>>>>> out the three possible problems you mentioned. >>>>>> 1. The cross compiler should be fine. Because I use it all the time to >>>>>> compile kernel for pandaboard and it has never been a problem >>>>>> 2. I'm doing exactly what you suggested, i.e. the SD card is >>>>>> partitioned by a pre-built image. >>>>>> 3. The serial cable is fine because the pre-built image was working >>>>>> properly with the serial cable. Only after I update the u-boot comes >>>>>> the no-output problem. >>>>>> Could you think of any other possible problem? I suspect maybe I need >>>>>> to modify other files (uEnv.txt, boot.scr) in the /boot partition? >>>>>> These files came along with the pre-built image. Thanks again. >>>>>> >>>>>> On Fri, Nov 22, 2013 at 3:17 AM, Abraham V. >>>>>> <abraham.varric...@vvdntech.com> wrote: >>>>>>> My company is designing a custom board that can be thought of as a >>>>>>> derivative of the pandaboard. I believe we have Rev B1 with us in the >>>>>>> office. >>>>>>> >>>>>>> Considering that you are not getting any debug messages on your serial >>>>>>> console, I suspect one of the following; >>>>>>> * your cross-compiler might have issues >>>>>>> * you haven't partitioned the SD card properly >>>>>>> * your serial cable might be damaged. >>>>>>> >>>>>>> Just short the TX and RX lines of your serial cable to test the last >>>>>>> point. >>>>>>> If you can see echo messages, then good, at least the cable is >>>> working. >>>>>>> >>>>>>> Next worry about the partitions - to boot from SD card, the omap4 on >>>> the >>>>>>> pandaboard expects it in a certain format. Try using pre-build >>>> binaries. >>>>>>> For >>>>>>> example; >>>>>>> >>>>>>> http://www.omappedia.com/wiki/Android_Panda_Pre_Built >>>>>>> http://omappedia.org/wiki/Ubuntu_Pre-built_Binaries_Guide >>>>>>> >>>>>>> They have instructions on how to format your SD card. Assuming they >>>>>>> work, >>>>>>> then good! Last point is to check your cross-compiler. Just replace >>>> the >>>>>>> existing MLO and u-boot.bin (or u-boot.img; it depends on what version >>>>>>> you >>>>>>> have) on the SD card with your compiled ones and you'll be in a good >>>>>>> position to narrow down bugs. >>>>>>> >>>>>>> All the best, >>>>>>> Abraham V. >>>>>>> >>>>>>> >>>>>>> On Fri, Nov 22, 2013 at 11:41 AM, Chao Xu <caesarxuc...@gmail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I'm trying to compile the latest u-boot for my Pandaboard Rev A2. The >>>>>>>> SD card was originally loaded with a working version of 12.04 >>>>>>>> linaro-unbunt-developer image. Early printk is enabled in the >>>> original >>>>>>>> image. >>>>>>>> >>>>>>>> I followed this guide (http://elinux.org/Panda_How_to_MLO_%26_u-boot >>>> ) >>>>>>>> and here is what I did: >>>>>>>> 1. export ARCH=arm >>>>>>>> 2. export CROSS_COMPILE=arm-linux-gnueabi- >>>>>>>> 3. make omap4_panda_config >>>>>>>> 4.make >>>>>>>> 5. cp MLO u-boot.img /SDCARD/boot/ >>>>>>>> >>>>>>>> But when switching on my Panda, there is no output from the serial >>>>>>>> port. And the heartbeat LED is always off. (When every thing works, >>>> it >>>>>>>> is on when booting, and blinks after booting finished). >>>>>>>> >>>>>>>> I don't have any former experience with u-boot. So please let me know >>>>>>>> if there is any more info I should provide. >>>>>>>> >>>>>>>> Any help would be much appreciated! Thank you! >>>>>>>> >>>>>>>> -- >>>>>>>> Regards, >>>>>>>> Chao Xu >>>>>>>> _______________________________________________ >>>>>>>> U-Boot mailing list >>>>>>>> U-Boot@lists.denx.de >>>>>>>> http://lists.denx.de/mailman/listinfo/u-boot >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Regards, >>>>>> Chao Xu >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Regards, >>>> Chao Xu >>>> >>> >>> >>> >>> _______________________________________________ >>> U-Boot mailing list >>> U-Boot@lists.denx.de >>> http://lists.denx.de/mailman/listinfo/u-boot >>> >> > > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot