
I changed fdt_high but got the same result. I wrote my device tree, added it into the makefile and copy the sama5d2.config with my board name. I also got rid of all the unnecessary stuff. I'm now using the correct .dtb file (in arch/arm/boot/dts/) My device tree stdout-path does point into my flexcom1 serial port. Do you see something wrong? flx1: flexcom@f8038000 { atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; status = "okay";
uart5: serial@200 { compatible = "atmel,at91sam9260-usart"; reg = <0x200 0x200>; interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; #address-cells = <1>; #size-cells = <0>; clocks = <&flx0_clk>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flx0_default>; atmel,fifo-size = <16>; status = "okay"; }; }; Here's a new log if it is of any use: AT91Bootstrap 3.8.9-00026-gd7a52fb-dirty (miƩ feb 21 10:03:49 CST 2018)
SD/MMC: Image: Read file u-boot.bin to 0x26f00000 MMC: Specification Version 1.2 SD/MMC: Done to load image <debug_uart> MMC: sdio-host@a0000000: 0
** Unable to use mmc 0:1 for loading the env ** Using default environment
In: serial@f8038200 Out: serial@f8038200 Err: serial@f8038200 stdin stdout stderr Hit any key to stop autoboot: 0 reading p_a5_tab_reva.dtb 26135 bytes read in 18 ms (1.4 MiB/s) reading zImage 2452336 bytes read in 198 ms (11.8 MiB/s) ## Current stack ends at 0x27b84588 * kernel: cmdline image address = 0x22000000 ## Flattened Device Tree blob at 21000000 Booting using the fdt blob at 0x21000000 using: FDT Loading Device Tree to 27b79000, end 27b82616 ... OK ## Transferring control to Linux (at address 22000000)...
Starting kernel ...
As my understanding goes those are the only things I need, my device tree and the linux image. I think my main problem is that I don't have the console in my serial port, that's why it appears like it hangs but I'm not so sure about that. I also defined the following inside my config file: CONFIG_DEBUG_UART_PHYS=0xf8038200 CONFIG_DEBUG_UART_VIRT=0xf7038200
Any help would be appreciated.
On Fri, Mar 2, 2018 at 11:58 AM, Nicolas Ferre nicolas.ferre@microchip.com wrote:
On 01/03/2018 at 20:55, Mariano Coromac wrote:
I found the problem. In my header file I was reading from eMMC device 1. Not 0. That's why the operations with mmc worked in command line but did not on startup. Please correct me if I'm mistaken but I have a couple questions.
- Do I need a partition in my eMMC in order to boot the Linux kernel?
When I run "mmc part" it shows no partition at all. 2) When U-Boot finishes compiling it generates a .dtb with the name of my custom board. I need to write this file (alongside zImage) inside my eMMC for my Linux Kernel to boot right?
Actually no: the .dtb from U-Boot is for U-Boot to use. For loading the Linux kernel, you must use the .dtb that is produced by the compilation of the kernel (in arch/arm/boot/dts/)
When I try to boot the kernel it hangs in here:
=> boot reading p_a5_tab_reva.dtb 13699 bytes read in 18 ms (743.2 KiB/s) reading zImage 3749624 bytes read in 298 ms (12 MiB/s) ## Flattened Device Tree blob at 21000000 Booting using the fdt blob at 0x21000000 Loading Device Tree to 27b7d000, end 27b83582 ... OK
Starting kernel ...
What do you think of this? Perhaps is regarding the kernel itself or maybe is a UBoot configuration?
-- Nicolas Ferre