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.

AM4378: changes in u-boot files for custom board

Part Number: AM4378
Other Parts Discussed in Thread: TPS65218, AM4372

using SDK 6.03

we had this working in SDK 4.03. in that SDK we made the following changes (from the u-boot dir):

arch/arm

-Kconfig: added "source "board/ti/custom-board/Kconfig"" (line 1057)

arch/arm/dts

- custom DTS file based on our board and the dtb file from building it and custom dtsi file

-makefile: added custom dtb file list starting with "dtb-$(CONFIG_AM43XX) +=" (line 125)

board/ti/common

-board_detect.c: in the if(rc) block (starting at line 191) added 

strlcpy(ep->name, "am437x_custom", TI_EEPROM_HDR_NAME_LEN + 1);
strlcpy(ep->version, "v1.0", TI_EEPROM_HDR_REV_LEN + 1);
strlcpy(ep->serial, "serialnumber", TI_EEPROM_HDR_SERIAL_LEN + 1);

board/ti/cusom_board

-added board.c, board.h, kconfig, mux.c - basically a copy of the evm directory but with .c and .h modifications to match our board

configs

-added our own defconfig file am43xx_custom_defconfig, copie from the evm with the following changes:

-CONFIG_TARGET_AM43XX_EVM=y becomes CONFIG_TARGET_custom_BOARD=y (line 4)

-CONFIG_DEFAULT_DEVICE_TREE="am437x-gp-evm" becomes CONFIG_DEFAULT_DEVICE_TREE="am437x-custom" (line 7)

-CONFIG_OF_LIST="am437x-gp-evm am437x-sk-evm am43x-epos-evm am437x-idk-evm" becomes CONFIG_OF_LIST="am437x-custom" (line 42)

-CONFIG_G_DNL_MANUFACTURER="Texas Instruments" becomes CONFIG_G_DNL_MANUFACTURER="company" (line 75)

include/configs

-added our own board's header file, based on evm file

-define CONFIG_MAX_RAM_BANK_SIZE becomes (1024 << 19) to match our board (line 14)

-"fdtfile=undefined\0" \ becomes "fdtfile=am437x-custom.dtb\0" \ (line 189)

-added "consoleblank=0\0"\ to line 194

-removed 

"findfdt="\
"if test $board_name = AM43EPOS; then " \
"setenv fdtfile am43x-epos-evm.dtb; fi; " \
"if test $board_name = AM43__GP; then " \
"setenv fdtfile am437x-gp-evm.dtb; fi; " \
"if test $board_name = AM43XXHS; then " \
"setenv fdtfile am437x-gp-evm.dtb; fi; " \
"if test $board_name = AM43__SK; then " \
"setenv fdtfile am437x-sk-evm.dtb; fi; " \
"if test $board_name = AM43_IDK; then " \
"setenv fdtfile am437x-idk-evm.dtb; fi; " \
"if test $fdtfile = undefined; then " \
"echo WARNING: Could not determine device tree; fi; \0" \ at line 246

the commands to build u-boot were:

make ARCH=arm CROSS_COMPILE=/$HOME/ti-processor-sdk-linux-am437x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- am43xx_custom_defconfig

make ARCH=arm CROSS_COMPILE=/$HOME/ti-processor-sdk-linux-am437x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- -j8

and it would build an MLO file and that's it

it would appear a lot has changed in u-boot in the 6.03 SDK and i would like to know if anything different is needed/added/removed in order to create/insert a custom board into u-boot and be able to build it?

  • Hello,

    Our subject owner is out for the rest of the week. They will reply next week.

    Regards,

    Nick

  • Hello Michael,

    Have you got a chance to take a look at the u-boot board porting tips:

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

    Best,

    -Hong

  • i did not see that, because when i look at the user guide for the SDK i get "6.4. Linux Porting Guide for AM571x/AM570x Speed Grades"

    so having followed that i still have problems which is why i asked this to begin with

    1) scale_vcores is never called so my core voltage is always wrong preventing me from booting properly. 

    2) board_eth_init is never called preventing our ethernet stack from initialing. 

    3) a call to i2c_write which used to work just fine in 4.03 is now undefined even though <i2c.h> is included

  • Hello Michael,

    cobsonchael said:
    1) scale_vcores is never called so my core voltage is always wrong preventing me from booting properly

    scale_vcores() should be called by default in SPL, see the attached call flow below:

    >>>>

    B::Var.Frame_/Locals_/Caller
    -000|scale_vcores()
    |
    -001|setup_dplls(inline)
    -001|prcm_init()
    | __v = 0x0300
    |
    | scale_vcores();
    -002|board_early_init_f()
    |
    | prcm_init();
    -003|board_init_f(
    | ?)
    |
    | board_early_init_f();
    -004|main(asm)
    |
    | bl board_init_f
    |
    ---|end of frame

    <<<<

    cobsonchael said:
    2) board_eth_init is never called preventing our ethernet stack from initialing. 

    board_eth_init() has some dependency, such as "CONFIG_DRIVER_TI_CPSW" etc...

    Best,

    -Hong

  • i remember in 4.03 we had to make a change to the vcore settings because it did not include an m value that we were using. did the call for scale_vcores change between then an now? i have a bunch of printf's in my routine and they don't run, and when i call scale_vcores directly it calls it from clock.c at arch/arm/mach-omap2/am33xx/ which is a blank function (no code)

    i am guessing all my custom work is being negated because of the define CONFIG_SPL_BUILD which is causing my code to not be run/compiled. where is the best way to turn this off so that i can set our custom values for our pll's, DDR, etc. i must have missed this step in the porting guide.

    as for our ethernet init not running, we have copied the EVM code pretty closely so "CONFIG_DRIVER_TI_CPSW=y" is in our defconfig file. what else could cause our "board_eth_init" function to not run?

    and what about #3? is i2c_write not longer supported? or do i have to add something to make it supported in u-boot?

  • i checked the voltage of Vcore and it is 1.13V, so scale_vcore is not happening at all

  • i looked in my v4.03 SDK and it looks like CONFIG_SPL_BUILD is defied there as well. but for some reason it must not be called because our vCore voltage is wrong and none of my printf's are showing up

    we copied the EVM very closely so i either messed something up in board.c or i missed something else

    what can we do to fix this? i assume this must work just fine for the evm

  • Hello Michael,

    Yes, scale_vcores() should be called by default in SPL.

    Are you able to get the SPL/u-boot up-running on your board with the new changes?

    Best,

    -Hong

  • what new changes? no it doesn't work. i have tried printf and puts commands in the scale_vcore routine and neither of them output and my core voltage is wrong verified by a scope so i am pretty confident that it isn't being called.  what do you need from me to help you help me

  • Hello Michael,

    There's tips on <Update PMIC configuration> section in the previous shared link:

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

    I'm able to capture the call flow for scale_vcores() with the latest SDK 6.3 on TI EVM.

    Hopefully they're useful for your reference.

    Best,

    -Hong

    AM43xx_SPL_scale_vcores()_FLow.pptx

    • TI AMxxx SoCs are typically supplied by an external Power Management IC (PMIC) connected via the I2C interface. One of the jobs of the PMIC is it to supply and provide the VDD_MPU and VDD_CORE voltages according to the desired Operating Performance Point (OPP) meeting datasheet requirements. General information
    • The PMIC is being configured through the scale_vcores() function inside the board.c file which gets invoked by the architectural drivers prior to setting up the SoC’s PLLs.  Again general information
    • The actual PMIC configuration is made dependent on the clock frequency configured for a given board (see next step). It may also need to be made dependent on silicon revision, so review the originating TI EVM’s code carefully, which is mostly directed based on board_is_*() invocations We use the EVM configuration for our crystal and it worked in SDK 4.03
    • Configure which PMIC driver to use by enabling the desired driver via #define CONFIG_POWER_* in the device specific header file include/configs/<myboard>.h"#define CONFIG_POWER_TPS65218" in our custom_board.h in include/configs
    • Only the driver for the PMIC that is actually used on the board should be enabled. For a list of available drivers try searching for appropriate CONFIG options as follows: git grep 'CONFIG_POWER_TPS' drivers/power/pmicall other "CONFIG_POWER_TPS" defines were removed from our custom_board.h file

    is it possible there is some DTS thing that changed that i am missing?

  • Hi Michael,

    I don't think the issue was caused by DTS setting as PMIC setup is done in very early SPL code (refer to the detailed call flow I uploaded yesterday).

    Do we have JTAG debugger on board?

    If yes, I would recommend using JTAG debugger to trace code running on your board with the working call flow as reference.

    Best,

    -Hong

  • following "3.1.1.16. Uboot SPL Debugging Tips" and putting the loop code in "early_system_init" in u-boot/arch/arm/mach-omap2/hwinit-common.c i have determined that the early init in SPL is not running. the board boots just fine with that loop code in there. so it's hard to load symbols and start debugging. what could cause early_system_init to not run?

  • Hi Michael,

    cobsonchael said:
    following "3.1.1.16. Uboot SPL Debugging Tips" and putting the loop code in "early_system_init" in u-boot/arch/arm/mach-omap2/hwinit-common.c i have determined that the early init in SPL is not running. the board boots just fine with that loop code in there. so it's hard to load symbols and start debugging. what could cause early_system_init to not run?

    The early_system_init() in <u-boot/arch/arm/mach-omap2/am33xx/board.c> is the one being built into am43xx SPL/u-boot.

    Best,

    -Hong

  • ok i was following this:

    "If a user is working with AM335x/AM437x/AM57xx, the test code could be added in the “early_system_init” function in the file <ti_sdk_dir>/board-support/<u-boot_version>/arch/arm/mach-omap2/hwinit-common.c."

  • ok JTAG confirmed that those voltages are being set and i realized i was looking at the wrong test point for the voltage. so it looks like that is all happening. SPL wasn't putting out any of my printf statements or puts, i don't know why since the UART init happens very early in SPL

    now let's work on why board_eth_init never gets called. CONFIG_DRIVER_TI_CPSW=y in my defconfig. i would think this would happen at board level so i would expect printf's to work but i am getting nothing. what other factors would cause my ethernet setup to not happen?

  • Hi Michael,

    For your reference, there's a section "setup early debug UART" 

    https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/AM437X/linux/How_to_Guides/Board_Port/U-Boot.html#customizing-the-newly-established-baseline-to-support-actual-target-platform

    I'm also attaching a patch I tested with the latest SDK 6.3 on TI EVM.

    Best,

    -Hong

    0001-SDK6.3-early-UART-print-enable-in-SPL-with-printf-ex.patch.txt
    From 60bbdb6643c170a4e5da07164492f19e6ccee5ab Mon Sep 17 00:00:00 2001
    From: [Hong Guan] <hguan@ti.com>
    Date: Thu, 13 Aug 2020 17:18:24 -0700
    Subject: [PATCH 1/1] SDK6.3 early UART print enable in SPL with printf example
    
    
    Signed-off-by: [Hong Guan] <hguan@ti.com>
    ---
     arch/arm/mach-omap2/am33xx/board.c |    3 +++
     configs/am43xx_evm_defconfig       |    7 +++++++
     2 files changed, 10 insertions(+), 0 deletions(-)
     mode change 100644 => 100755 arch/arm/mach-omap2/am33xx/board.c
     mode change 100644 => 100755 configs/am43xx_evm_defconfig
    
    diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c
    old mode 100644
    new mode 100755
    index 62158a9..051a2b8
    --- a/arch/arm/mach-omap2/am33xx/board.c
    +++ b/arch/arm/mach-omap2/am33xx/board.c
    @@ -534,8 +534,11 @@ void board_init_f(ulong dummy)
     {
     	hw_data_init();
     	early_system_init();
    +	printf("\nPassed early_system_init()\n");
     	board_early_init_f();
    +	printf("\nPassed board_early_init_f()\n");
     	sdram_init();
    +	printf("\nPassed sdram_init()\n");
     	/* dram_init must store complete ramsize in gd->ram_size */
     	gd->ram_size = get_ram_size(
     			(void *)CONFIG_SYS_SDRAM_BASE,
    diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
    old mode 100644
    new mode 100755
    index 6272063..6b7afb0
    --- a/configs/am43xx_evm_defconfig
    +++ b/configs/am43xx_evm_defconfig
    @@ -12,6 +12,13 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1"
     CONFIG_SYS_CONSOLE_INFO_QUIET=y
     # CONFIG_MISC_INIT_R is not set
     CONFIG_VERSION_VARIABLE=y
    +# early UART
    +CONFIG_DEBUG_UART_BASE=0x44e09000
    +CONFIG_DEBUG_UART_CLOCK=48000000
    +CONFIG_DEBUG_UART=y
    +CONFIG_DEBUG_UART_OMAP=y
    +CONFIG_DEBUG_UART_SHIFT=2
    +CONFIG_DEBUG_UART_ANNOUNCE=y
     CONFIG_SPL_ETH_SUPPORT=y
     CONFIG_SPL_MTD_SUPPORT=y
     CONFIG_SPL_NET_SUPPORT=y
    -- 
    1.7.1
    
    

  • thank you for the patch. all my printf's related to vcore, DDR, and PLL's came through

    it seems like you are going out of your way to ignore my question about board_eth_init

  • Hi Michael,

    It is good to know early printf's work on your setup. I have few questions:

    1. On your setup, is SPL booting from ethernet? or other media?
    2. Is u-boot prompt reached?

    Best,

    -Hong

  • on our current setup everything is booting from the SDCard.

    i am getting through uboot nd into kernel. the kernel fails to load and crashes and i am HOPING that by fixing my uboot issues the kernel issues will also be taken care of

    here is the complete output from our most recent boot:

    <debug_uart>
    *********Scaling vcores****************
    Getting ready to scale...
    almost scaling...
    1330mV
    Getting DDR pll settings
    DDR set

    U-Boot SPL 2019.01-ga764a508fd-dirty (Aug 27 2020 - 15:39:53 -0500)
    Trying to boot from MMC1
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!


    U-Boot 2019.01-ga764a508fd-dirty (Aug 27 2020 - 15:39:53 -0500)

    CPU : AM437X-GP rev 1.2
    Model: TI AM437x UTI BOARD
    DRAM: 512 MiB
    PMIC: TPS65218
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0
    Loading Environment from FAT... OK
    Net: eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    ## Error: "findfdt" not defined
    717 bytes read in 2 ms (349.6 KiB/s)
    Importing environment from mmc0 ...
    4297216 bytes read in 224 ms (18.3 MiB/s)
    53209 bytes read in 6 ms (8.5 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff0000, end 8fffffd8 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.19.94-gbe5389fd85 (michael_j@UTI-CPELNX-03) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT Fri Aug 7 14:11:03 CDT 0
    [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] OF: fdt: Machine model: TI AM437x UTI BOARD
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 48 MiB at 0x9d000000
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM437x ES1.2 (sgx neon)
    [ 0.000000] random: get_random_bytes called from start_kernel+0xa4/0x434 with crng_init=0
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129920
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 video=HDMI-A-1:800x600 root=/dev/nfs nfsroot=192.168.61.105:/home/ULTRATEC/michael_j/ti-processor-sdk-linux-am437x-evm-06.03.00.106/targetNFS,nop
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Memory: 455884K/524288K available (9216K kernel code, 316K rwdata, 2736K rodata, 1024K init, 254K bss, 19252K reserved, 49152K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xe0800000 - 0xff800000 ( 496 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (10208 kB)
    [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
    [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 317 kB)
    [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 255 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] Tasks RCU enabled.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] L2C: platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C: DT/platform modifies aux control register: 0x0e030000 -> 0x3e430000
    [ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [ 0.000000] OMAP L2C310: ROM does not support power control setting
    [ 0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
    [ 0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB
    [ 0.000000] L2C-310: CACHE_ID 0x410000c9, AUX_CTRL 0x4e430000
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000012] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000031] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000039] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000437] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [ 0.000446] OMAP clocksource: 32k_counter at 32768 Hz
    [ 0.000844] Console: colour dummy device 80x30
    [ 0.000875] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000880] This ensures that you still see kernel messages. Please
    [ 0.000885] update your kernel commandline.
    [ 0.000925] Calibrating delay loop... 1987.37 BogoMIPS (lpj=9936896)
    [ 0.060184] pid_max: default: 32768 minimum: 301
    [ 0.060347] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.060364] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.061101] CPU: Testing write buffer coherency: ok
    [ 0.061157] CPU0: Spectre v2: using BPIALL workaround
    [ 0.062015] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.062161] rcu: Hierarchical SRCU implementation.
    [ 0.062492] EFI services will not be available.
    [ 0.063317] devtmpfs: initialized
    [ 0.072365] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [ 0.072747] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.072771] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.075854] pinctrl core: initialized pinctrl subsystem
    [ 0.076551] DMI not present or invalid.
    [ 0.076950] NET: Registered protocol family 16
    [ 0.078672] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.152196] cpuidle: using governor ladder
    [ 0.152235] cpuidle: using governor menu
    [ 0.153959] omap_l3_noc 44000000.ocp: L3 debug error: target 8 mod:0 (unclearable)
    [ 0.154028] omap_l3_noc 44000000.ocp: L3 application error: target 8 mod:0 (unclearable)
    [ 0.159080] OMAP GPIO hardware version 0.1
    [ 0.166999] No ATAGs?
    [ 0.167019] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [ 0.167038] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [ 0.180716] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.185353] SCSI subsystem initialized
    [ 0.185873] media: Linux media interface: v0.10
    [ 0.185914] videodev: Linux video capture interface: v2.00
    [ 0.186006] pps_core: LinuxPPS API ver. 1 registered
    [ 0.186014] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.186034] PTP clock support registered
    [ 0.186066] EDAC MC: Ver: 3.0.0
    [ 0.187038] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.187671] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.188746] clocksource: Switched to clocksource timer1
    [ 0.196344] NET: Registered protocol family 2
    [ 0.197080] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
    [ 0.197111] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.197147] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.197188] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.197312] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.197330] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.197466] NET: Registered protocol family 1
    [ 0.198006] RPC: Registered named UNIX socket transport module.
    [ 0.198020] RPC: Registered udp transport module.
    [ 0.198026] RPC: Registered tcp transport module.
    [ 0.198031] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.199940] Initialise system trusted keyrings
    [ 0.200248] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [ 0.204305] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.205018] NFS: Registering the id_resolver key type
    [ 0.205053] Key type id_resolver registered
    [ 0.205059] Key type id_legacy registered
    [ 0.205099] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.207369] Key type asymmetric registered
    [ 0.207385] Asymmetric key parser 'x509' registered
    [ 0.207453] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [ 0.207464] io scheduler noop registered
    [ 0.207471] io scheduler deadline registered
    [ 0.207706] io scheduler cfq registered (default)
    [ 0.207716] io scheduler mq-deadline registered
    [ 0.207723] io scheduler kyber registered
    [ 0.210177] pinctrl-single 44e10800.pinmux: 199 pins, size 796
    [ 0.213632] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [ 0.213712] pwm-backlight backlight: Linked as a consumer to regulator.0
    [ 0.256301] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.259553] omap8250 44e09000.serial: No clock speed specified: using default: 48000000
    [ 0.260252] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 31, base_baud = 3000000) is a 8250
    [ 0.972487] console [ttyS0] enabled
    [ 0.976609] omap8250 481a6000.serial: No clock speed specified: using default: 48000000
    [ 0.985373] 481a6000.serial: ttyS3 at MMIO 0x481a6000 (irq = 32, base_baud = 3000000) is a 8250
    [ 0.996161] omap_rng 48310000.rng: Random Number Generator ver. 20
    [ 1.002614] random: fast init done
    [ 1.006230] random: crng init done
    [ 1.010973] omapdss_dss 4832a000.dss: 4832a000.dss supply vdda_video not found, using dummy regulator
    [ 1.021019] omapdss_dss 4832a000.dss: Linked as a consumer to regulator.0
    [ 1.027943] omapdss_dss 4832a000.dss: Dropping the link to regulator.0
    [ 1.047849] brd: module loaded
    [ 1.059733] loop: module loaded
    [ 1.066684] libphy: Fixed MDIO Bus: probed
    [ 1.086732] mdio_bus 4a101000.mdio: mii_bus 4a101000.mdio couldn't get reset GPIO
    [ 1.095024] cpsw 4a100000.ethernet: Detected MACID = f0:b5:d1:3e:99:bb
    [ 1.101719] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 1.108103] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 1.113398] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 1.121968] i2c /dev entries driver
    [ 1.127470] cpuidle: enable-method property 'ti,am4372' found operations
    [ 1.134739] sdhci: Secure Digital Host Controller Interface driver
    [ 1.140980] sdhci: Copyright(c) Pierre Ossman
    [ 1.146358] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.1
    [ 1.178886] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.185794] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.197629] NET: Registered protocol family 10
    [ 1.203502] Segment Routing with IPv6
    [ 1.207333] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.214013] NET: Registered protocol family 17
    [ 1.218927] Key type dns_resolver registered
    [ 1.223491] omap_voltage_late_init: Voltage driver support not added
    [ 1.230900] Loading compiled-in X.509 certificates
    [ 1.249443] GPIO line 147 (AVDD_EN) hogged as output/high
    [ 1.257180] mmc0: host does not support reading read-only switch, assuming write-enable
    [ 1.265438] ------------[ cut here ]------------
    [ 1.270180] WARNING: CPU: 0 PID: 51 at drivers/irqchip/irq-gic.c:1016 gic_irq_domain_translate+0xdc/0xe4
    [ 1.279767] Modules linked in:
    [ 1.282921] mmc0: new high speed SDHC card at address 0007
    [ 1.288694] CPU: 0 PID: 51 Comm: kworker/0:2 Not tainted 4.19.94-gbe5389fd85 #1
    [ 1.297020] mmcblk0: mmc0:0007 SDCIT 14.6 GiB
    [ 1.301574] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 1.307541] Workqueue: events deferred_probe_work_func
    [ 1.313677] Backtrace:
    [ 1.316312] mmcblk0: p1 p2
    [ 1.319414] [<c010cb64>] (dump_backtrace) from [<c010ced4>] (show_stack+0x18/0x1c)
    [ 1.327027] r7:00000009 r6:00000000 r5:c0bf273c r4:00000000
    [ 1.333558] [<c010cebc>] (show_stack) from [<c0915c6c>] (dump_stack+0x24/0x28)
    [ 1.340911] [<c0915c48>] (dump_stack) from [<c012d628>] (__warn+0xe0/0xf8)
    [ 1.347821] [<c012d548>] (__warn) from [<c012d688>] (warn_slowpath_null+0x48/0x50)
    [ 1.355465] r9:c0e087f0 r8:c0e03048 r7:0000005e r6:c04578a8 r5:000003f8 r4:c0bf273c
    [ 1.363287] [<c012d640>] (warn_slowpath_null) from [<c04578a8>] (gic_irq_domain_translate+0xdc/0xe4)
    [ 1.372473] r6:dc408000 r5:00000001 r4:00000000
    [ 1.377113] [<c04577cc>] (gic_irq_domain_translate) from [<c04578f4>] (gic_irq_domain_alloc+0x44/0xa8)
    [ 1.386468] r5:00000001 r4:c04578b0
    [ 1.390084] [<c04578b0>] (gic_irq_domain_alloc) from [<c01782ac>] (irq_domain_alloc_irqs_parent+0x24/0x30)
    [ 1.399793] r9:c0e087f0 r8:0000005f r7:dc40c000 r6:ffffffa9 r5:00000000 r4:c04578b0
    [ 1.407582] [<c0178288>] (irq_domain_alloc_irqs_parent) from [<c011fde4>] (wakeupgen_domain_alloc+0xc4/0xf0)
    [ 1.417460] r5:00000000 r4:0000005f
    [ 1.421066] [<c011fd20>] (wakeupgen_domain_alloc) from [<c0179b3c>] (__irq_domain_alloc_irqs+0x130/0x2b4)
    [ 1.430685] r10:00000000 r9:006080c0 r8:dbeb0ec0 r7:0000005e r6:0000005e r5:c011fd20
    [ 1.438545] r4:00000001
    [ 1.441105] [<c0179a0c>] (__irq_domain_alloc_irqs) from [<c017a0f8>] (irq_create_fwspec_mapping+0x270/0x338)
    [ 1.450986] r10:00000006 r9:c0e35830 r8:00000000 r7:00000000 r6:dbe45944 r5:dc40c000
    [ 1.458855] r4:c0e03048
    [ 1.461403] [<c0179e88>] (irq_create_fwspec_mapping) from [<c017a224>] (irq_create_of_mapping+0x64/0x80)
    [ 1.470933] r8:00000000 r7:dbeb3400 r6:00000000 r5:dcb3e274 r4:c0e03048
    [ 1.477668] [<c017a1c0>] (irq_create_of_mapping) from [<c075c588>] (of_irq_get+0x6c/0xb8)
    [ 1.485887] r4:c0e03048
    [ 1.488447] [<c075c51c>] (of_irq_get) from [<c06bc84c>] (i2c_device_probe+0x260/0x26c)
    [ 1.496408] r6:c0e35830 r5:00000000 r4:dbeb3420
    [ 1.501065] [<c06bc5ec>] (i2c_device_probe) from [<c05b8a88>] (really_probe+0x204/0x2c0)
    [ 1.509202] r9:c0e35830 r8:00000000 r7:00000000 r6:c0e85a00 r5:dbeb3420 r4:c0e859fc
    [ 1.516982] [<c05b8884>] (really_probe) from [<c05b8ce8>] (driver_probe_device+0x68/0x180)
    [ 1.525293] r10:00000000 r9:c0e859d8 r8:00000001 r7:c05b8ef8 r6:dbeb3420 r5:c0e35830
    [ 1.533164] r4:dbeb3420 r3:00000000
    [ 1.536758] [<c05b8c80>] (driver_probe_device) from [<c05b8f9c>] (__device_attach_driver+0xa4/0xc8)
    [ 1.545852] r9:c0e859d8 r8:00000001 r7:c05b8ef8 r6:dbeb3420 r5:dbe45b44 r4:c0e35830
    [ 1.553641] [<c05b8ef8>] (__device_attach_driver) from [<c05b6aa4>] (bus_for_each_drv+0x88/0xcc)
    [ 1.562472] r7:c05b8ef8 r6:dbe45b44 r5:c0e03048 r4:00000000
    [ 1.568156] [<c05b6a1c>] (bus_for_each_drv) from [<c05b8804>] (__device_attach+0xd8/0x140)
    [ 1.576463] r7:dbe544b8 r6:dbeb3454 r5:c0e03048 r4:dbeb3420
    [ 1.582157] [<c05b872c>] (__device_attach) from [<c05b900c>] (device_initial_probe+0x14/0x18)
    [ 1.590727] r8:dbeb3420 r7:dbe544b8 r6:c0e3e798 r5:dbeb3420 r4:dbeb3428
    [ 1.597459] [<c05b8ff8>] (device_initial_probe) from [<c05b7b6c>] (bus_probe_device+0x8c/0x94)
    [ 1.606130] [<c05b7ae0>] (bus_probe_device) from [<c05b45e8>] (device_add+0x37c/0x620)
    [ 1.614093] r7:dbe544b8 r6:00000000 r5:c0e03048 r4:dbeb3428
    [ 1.619788] [<c05b426c>] (device_add) from [<c05b48a8>] (device_register+0x1c/0x20)
    [ 1.627479] r10:00000000 r9:dbeb3420 r8:00000000 r7:dbeb3404 r6:dbe54480 r5:dbe45c44
    [ 1.635349] r4:dbeb3420
    [ 1.637897] [<c05b488c>] (device_register) from [<c06bacd8>] (i2c_new_device+0x148/0x2d4)
    [ 1.646116] r5:dbe45c44 r4:dbeb3400
    [ 1.649720] [<c06bab90>] (i2c_new_device) from [<c06be594>] (of_i2c_register_device+0x64/0x8c)
    [ 1.658370] r9:0000000c r8:dbe544b8 r7:dcb52788 r6:dbe544b8 r5:dbe54480 r4:c0e03048
    [ 1.666158] [<c06be530>] (of_i2c_register_device) from [<c06be910>] (of_i2c_register_devices+0x94/0xe4)
    [ 1.675600] r7:c0c2f98c r6:dcb5250c r5:dbe54480 r4:dcb52788
    [ 1.681295] [<c06be87c>] (of_i2c_register_devices) from [<c06bbcdc>] (i2c_register_adapter+0x174/0x3f8)
    [ 1.690739] r9:0000000c r8:0000000b r7:00000000 r6:c0e3e9a4 r5:dbe544b8 r4:dbe54480
    [ 1.698520] [<c06bbb68>] (i2c_register_adapter) from [<c06bbfb8>] (__i2c_add_numbered_adapter+0x58/0x94)
    [ 1.708050] r9:0000000c r8:0000000b r7:dc559e10 r6:c0e03048 r5:dbe54480 r4:00000000
    [ 1.715839] [<c06bbf60>] (__i2c_add_numbered_adapter) from [<c06bc094>] (i2c_add_adapter+0xa0/0xd4)
    [ 1.724930] r5:dc559e00 r4:dbe54480
    [ 1.728524] [<c06bbff4>] (i2c_add_adapter) from [<c06bc0ec>] (i2c_add_numbered_adapter+0x24/0x28)
    [ 1.737440] r5:dc559e00 r4:dbe54440
    [ 1.741046] [<c06bc0c8>] (i2c_add_numbered_adapter) from [<c06c19fc>] (omap_i2c_probe+0x4ec/0x710)
    [ 1.750059] [<c06c1510>] (omap_i2c_probe) from [<c05baa90>] (platform_drv_probe+0x50/0xa0)
    [ 1.758358] r10:00000006 r9:c0e3e958 r8:00000000 r7:00000000 r6:c0e3e958 r5:00000000
    [ 1.766228] r4:dc559e10
    [ 1.768785] [<c05baa40>] (platform_drv_probe) from [<c05b8a88>] (really_probe+0x204/0x2c0)
    [ 1.777083] r7:00000000 r6:c0e85a00 r5:dc559e10 r4:c0e859fc
    [ 1.782776] [<c05b8884>] (really_probe) from [<c05b8ce8>] (driver_probe_device+0x68/0x180)
    [ 1.791088] r10:c0e33e7c r9:00000000 r8:00000001 r7:c05b8ef8 r6:dc559e10 r5:c0e3e958
    [ 1.798959] r4:dc559e10 r3:00000000
    [ 1.802551] [<c05b8c80>] (driver_probe_device) from [<c05b8f9c>] (__device_attach_driver+0xa4/0xc8)
    [ 1.811644] r9:00000000 r8:00000001 r7:c05b8ef8 r6:dc559e10 r5:dbe45e74 r4:c0e3e958
    [ 1.819432] [<c05b8ef8>] (__device_attach_driver) from [<c05b6aa4>] (bus_for_each_drv+0x88/0xcc)
    [ 1.828254] r7:c05b8ef8 r6:dbe45e74 r5:c0e03048 r4:00000000
    [ 1.833948] [<c05b6a1c>] (bus_for_each_drv) from [<c05b8804>] (__device_attach+0xd8/0x140)
    [ 1.842257] r7:c0e33e5c r6:dc559e44 r5:c0e03048 r4:dc559e10
    [ 1.847941] [<c05b872c>] (__device_attach) from [<c05b900c>] (device_initial_probe+0x14/0x18)
    [ 1.856511] r8:c0e0f884 r7:c0e33e5c r6:c0e34070 r5:dc559e10 r4:dc559e10
    [ 1.863251] [<c05b8ff8>] (device_initial_probe) from [<c05b7b6c>] (bus_probe_device+0x8c/0x94)
    [ 1.871910] [<c05b7ae0>] (bus_probe_device) from [<c05b802c>] (deferred_probe_work_func+0x68/0x94)
    [ 1.880916] r7:c0e33e5c r6:c0e33e48 r5:c0e33e48 r4:dc559e10
    [ 1.886603] [<c05b7fc4>] (deferred_probe_work_func) from [<c01453e8>] (process_one_work+0x210/0x430)
    [ 1.895783] r7:00000000 r6:dcb33100 r5:dbe24a00 r4:c0e33e78
    [ 1.901476] [<c01451d8>] (process_one_work) from [<c0145900>] (worker_thread+0x2f8/0x674)
    [ 1.909699] r10:c0e0f884 r9:c0e0f898 r8:ffffe000 r7:c0e16320 r6:dbe24a14 r5:c0e0f884
    [ 1.917558] r4:dbe24a00
    [ 1.920119] [<c0145608>] (worker_thread) from [<c014b774>] (kthread+0x158/0x160)
    [ 1.927548] r10:dc477e78 r9:c0145608 r8:dbe24a00 r7:dbe44000 r6:00000000 r5:dbe234c0
    [ 1.935418] r4:dbe23580
    [ 1.937965] [<c014b61c>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
    [ 1.945226] Exception stack(0xdbe45fb0 to 0xdbe45ff8)
    [ 1.950307] 5fa0: 00000000 00000000 00000000 00000000
    [ 1.958520] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 1.966740] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [ 1.973393] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c014b61c
    [ 1.981262] r4:dbe234c0
    [ 1.983804] ---[ end trace 8b24389eba0f5ba2 ]---
    [ 2.024514] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [ 2.031605] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [ 2.037770] omapdss_dss 4832a000.dss: 4832a000.dss supply vdda_video not found, using dummy regulator
    [ 2.047174] omapdss_dss 4832a000.dss: Linked as a consumer to regulator.0
    [ 2.054112] omapdss_dss 4832a000.dss: Dropping the link to regulator.0
    [ 2.061058] Unable to handle kernel NULL pointer dereference at virtual address 00000008
    [ 2.069260] pgd = 1de28df8
    [ 2.071980] [00000008] *pgd=00000000
    [ 2.075575] Internal error: Oops: 5 [#1] PREEMPT ARM
    [ 2.080558] Modules linked in:
    [ 2.083631] CPU: 0 PID: 51 Comm: kworker/0:2 Tainted: G W 4.19.94-gbe5389fd85 #1
    [ 2.092363] Hardware name: Generic AM43 (Flattened Device Tree)
    [ 2.098323] Workqueue: events deferred_probe_work_func
    [ 2.103487] PC is at device_reorder_to_tail+0x50/0x90
    [ 2.108557] LR is at device_reorder_to_tail+0x40/0x90
    [ 2.113626] pc : [<c05b5848>] lr : [<c05b5838>] psr: a0000013
    [ 2.119916] sp : dbe45e58 ip : dbe45e58 fp : dbe45e6c
    [ 2.125159] r10: c0e33e7c r9 : 00000000 r8 : c0e0f884
    [ 2.130402] r7 : c05b57f8 r6 : 00000000 r5 : dbe154c8 r4 : fffffffc
    [ 2.136954] r3 : 7ef1a156 r2 : 7ef1a156 r1 : 00000000 r0 : 00000000
    [ 2.143509] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
    [ 2.150672] Control: 10c53c7d Table: 80004059 DAC: 00000051
    [ 2.156440] Process kworker/0:2 (pid: 51, stack limit = 0x143870a5)
    [ 2.162731] Stack: (0xdbe45e58 to 0xdbe46000)
    [ 2.167105] 5e40: dbe07590 c0e03048
    [ 2.175319] 5e60: dbe45e9c dbe45e70 c05b360c c05b5804 c0e4f318 dbe05a80 dbe07590 7ef1a156
    [ 2.183532] 5e80: dbc95e10 dbc95e10 dbc95e10 c0e33e5c dbe45eb4 dbe45ea0 c05b5838 c05b35b4
    [ 2.191746] 5ea0: c0e33c60 00000001 dbe45ed4 dbe45eb8 c05b58b8 c05b5804 dbc95e10 c0e33e48
    [ 2.199959] 5ec0: c0e33e48 c0e33e5c dbe45ef4 dbe45ed8 c05b8024 c05b5894 c0e33e78 dbe24a00
    [ 2.208170] 5ee0: dcb33100 00000000 dbe45f2c dbe45ef8 c01453e8 c05b7fd0 c0e16320 ffffe000
    [ 2.216382] 5f00: c0e0f898 dbe24a00 c0e0f884 dbe24a14 c0e16320 ffffe000 c0e0f898 c0e0f884
    [ 2.224595] 5f20: dbe45f74 dbe45f30 c0145900 c01451e4 c092b200 c0bc799c dbe234c0 00000000
    [ 2.232808] 5f40: c0e4dbae c0e16320 c0145608 dbe23580 dbe234c0 00000000 dbe44000 dbe24a00
    [ 2.241021] 5f60: c0145608 dc477e78 dbe45fac dbe45f78 c014b774 c0145614 dbe23598 dbe23598
    [ 2.249234] 5f80: 00000000 dbe234c0 c014b61c 00000000 00000000 00000000 00000000 00000000
    [ 2.257447] 5fa0: 00000000 dbe45fb0 c01010e8 c014b628 00000000 00000000 00000000 00000000
    [ 2.265659] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 2.273870] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [ 2.282078] Backtrace:
    [ 2.284550] [<c05b57f8>] (device_reorder_to_tail) from [<c05b360c>] (device_for_each_child+0x64/0x9c)
    [ 2.293807] r5:c0e03048 r4:dbe07590
    [ 2.297399] [<c05b35a8>] (device_for_each_child) from [<c05b5838>] (device_reorder_to_tail+0x40/0x90)
    [ 2.306656] r7:c0e33e5c r6:dbc95e10 r5:dbc95e10 r4:dbc95e10
    [ 2.312339] [<c05b57f8>] (device_reorder_to_tail) from [<c05b58b8>] (device_pm_move_to_tail+0x30/0x48)
    [ 2.321682] r5:00000001 r4:c0e33c60
    [ 2.325273] [<c05b5888>] (device_pm_move_to_tail) from [<c05b8024>] (deferred_probe_work_func+0x60/0x94)
    [ 2.334791] r7:c0e33e5c r6:c0e33e48 r5:c0e33e48 r4:dbc95e10
    [ 2.340479] [<c05b7fc4>] (deferred_probe_work_func) from [<c01453e8>] (process_one_work+0x210/0x430)
    [ 2.349649] r7:00000000 r6:dcb33100 r5:dbe24a00 r4:c0e33e78
    [ 2.355332] [<c01451d8>] (process_one_work) from [<c0145900>] (worker_thread+0x2f8/0x674)
    [ 2.363546] r10:c0e0f884 r9:c0e0f898 r8:ffffe000 r7:c0e16320 r6:dbe24a14 r5:c0e0f884
    [ 2.371406] r4:dbe24a00
    [ 2.373956] [<c0145608>] (worker_thread) from [<c014b774>] (kthread+0x158/0x160)
    [ 2.381384] r10:dc477e78 r9:c0145608 r8:dbe24a00 r7:dbe44000 r6:00000000 r5:dbe234c0
    [ 2.389244] r4:dbe23580
    [ 2.391791] [<c014b61c>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
    [ 2.399041] Exception stack(0xdbe45fb0 to 0xdbe45ff8)
    [ 2.404110] 5fa0: 00000000 00000000 00000000 00000000
    [ 2.412322] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 2.420534] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [ 2.427176] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c014b61c
    [ 2.435036] r4:dbe234c0
    [ 2.437580] Code: e5b54058 e1550004 e2444004 0a000006 (e594000c)
    [ 2.443774] ---[ end trace 8b24389eba0f5ba3 ]---

  • maybe it's how i am building everything. attached are some scripts i use to build u-boot, the kernel, and deploy them to the sd card. i am kind of new to linux so i'm hoping all the scripts are there

    buildscripts.tar

  • so i did some more investigating. i found that if i leave out the following ethernet stuff from the dts file i can boot to command prompt:

    &mac {
    slaves = <1>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mii_1_pins_default>;
    pinctrl-1 = <&mii_1_pins_sleep>;
    status = "okay";
    };

    &davinci_mdio {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mdio_1_pins_default>;
    pinctrl-1 = <&mdio_1_pins_sleep>;
    status = "okay";

    reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
    reset-delay-us = <2>; //1us reset time
    };

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "mii";
    };

    which is interesting since the ethernet isn't being initialized in uboot. i am thinking the kernel is looking for resources that aren't set up.  

    i really need more help with this uboot ethernet issue

  • it would appear, at least from what little i can interpret, that board_eth_init doesn't ever get called

    it would appear it only gets called from eth_initialize in eth_legacy.c, but the eth_initialize that actually gets called is from eth-uclass.c which doesn't ever call board_eth_init, so it likely loads whatever nominal default values you use for the EVM ethernet setup and it never loads the custom ethernet setup we use for our board

    so do we need something like: CONFIG_IMAGE_FORMAT_LEGACY defined? i fnot which define would we need? which file would we include it in?

  • Hi Michael,

    In fact, there's a very similar on-going e2e thread discussing almost the same issue you're currently working on.

    https://e2e.ti.com/support/processors/f/791/t/937659

    Will you take a look at this thread, and let me know if it applies to your issue?

    If yes, can we use the other thread for us continuing our discussion, and close this thread?

    Also thinking that your original post was on how to port/upgrade your u-boot to the latest SDK 6.3, and I believe that you made u-boot up running on your setup.

    Best,

    -Hong