Other Parts Discussed in Thread: AM3352, TPS65910, TPS51200
Tool/software: Linux
Hi,
We are trying to run u-boot and kernel on the custom board with AM3352 processor. We are using u-boot and Linux available in the latest TI-SDK (TI-SDK-5.03.00.07).
For u-boot, we have modified the board configuration as per our board and u-boot is working i.e) we are able to see the u-boot prompt.
We have compiled the kernel with default configuration for “tisdk_am335x-evm_defconfig”
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage
We are trying to boot the kernel from u-boot prompt manually with below commands, but the kernel is not coming up.
fatload mmc 0:1 0x88000000 am335x-evm.dtb
fatload mmc 0:1 0x82000000 zImage
setenv bootargs console=ttyS0, 115200
bootz 0x82000000 - 0x88000000
Kernel is not booting below is the message:
U-Boot 2018.01-00569-g7b4e473842-dirty (Jun 26 2019 - 17:34:38 +0530)
CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 256 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
Net: No ethernet found.
Hit any key to stop autoboot: 0
=> fatload mmc 0:1 0x88000000 am335x-evm.dtb
41323 bytes read in 6 ms (6.6 MiB/s)
=> fatload mmc 0:1 0x82000000 zImage
3912192 bytes read in 332 ms (11.2 MiB/s)
=> setenv bootargs console=ttyS0, 115200
=> bootz 0x82000000 - 0x88000000
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8df08000, end 8df1516a ... OK
Starting kernel ...We again re-compiled the kernel to generate uImage from below command:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage
and tried to boot the kernel with below commands, but still we could not.
U-Boot 2018.01-00569-g7b4e473842-dirty (Jun 26 2019 - 17:34:38 +0530)
CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 256 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
Net: No ethernet found.
Hit any key to stop autoboot: 0
=>
=>
=> fatload mmc 0:1 0x88000000 am335x-evm.dtb
41323 bytes read in 6 ms (6.6 MiB/s)
=> fatload mmc 0:1 0x82000000 uImage
3912256 bytes read in 332 ms (11.2 MiB/s)
=> setenv bootargs console=ttyS0, 115200
=> bootm 0x82000000 - 0x88000000
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-4.14.79-ge669d52447
Created: 2019-06-28 6:51:48 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3912192 Bytes = 3.7 MiB
Load Address: 82000000
Entry Point: 82000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Kernel Image ... OK
Loading Device Tree to 8df08000, end 8df1516a ... OK
Starting kernel ...
Bootloader can read the Kernel and DTB file from SD-Card but control is not being passed to kernel. (that is what we are presuming). We have refered to below link and looks like that our problem is like Problem #1 explained in below link.
Since our is custom board and is somewhat similar to am335x-evmsk board. We are now suspecting that there may be some problem with respect to .DTB file and now we are looking up generating .DTB file for our board.
From the TI PinMux Tool we have generated below files:
- Am335x_pinmux.h
- Am335x_pinmux_data.c
- Devicetree.dtsi
From the above generated files, I have below questions:
- Which are the .h and .c files in the U-boot and Linux needs to be updated using above files?
- Do I need to update/modify .dts files both in U-boot and Linux also? If yes, please let us know the most nearby/closest file which can be used as reference for this?
- I am noticing that .dtb file is generated by both both in u-boot and Linux. Which is the file I need to copy to the BOOT folder of the SD-card?
Please let us know the steps for creating/modifying the DTS and DTSI file. Also steps to copy the files with details on <FROM> and <TO> folders.
Regards
Srinivasa