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.

PROCESSOR-SDK-AM335X: AM3352 boot up fail - error reading image u-boot.img

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: TPS65217

Hi,

I have a custom board using am335x and  DDR3L is K4B4G1646E-BYMA(Samsung).

SDK Version is "u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3".

Custom board pinmux is like am335x-evmsk, sdcard and ddr are also the same pin definition but RAM size increases from 256 to 512 MB.

Error logs are as below:

U-Boot SPL 2019.01-gc5ac1d28e6-dirty (Mar 17 2022 - 12:28:22 +0800)
Trying to boot from MMC1
spl_register_fat_device: fat register err - -1
spl_load_image_fat_buf: error reading image u-boot.img, err - -1
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

As you can see, am335x can not find u-boot.img. Is there anyone can advise suggestions?

Thanks.

  • There's a general board porting guide:
    software-dl.ti.com/.../How_to_Guides_Board_Port.html
    Please refer the porting guide for options for the new board porting, the debugging tips for new board bring-up...
    Best,
    -Hong

  • Hi Hong,

    Below is my log, the  boot.scr and uEnv.txt  should be found?

    Where can I get the files? Thanks.

    Note: I use am335x-evmsk.dts as my device tree and DRAM size increase from 256 to 512 MB.

    It seems like DDR3 of Samsung works fine?

    U-Boot 2019.01-gc5ac1d28e6 (Mar 18 2022 - 11:15:47 +0800)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x EVM-SK
    DRAM: 512 MiB
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... *** Warning - bad CRC, using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: Could not get PHY for ethernet@4a100000: addr 0
    eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    ** Unable to read file uEnv.txt **
    data abort
    pc : [<9ff7a96e>] lr : [<9ff74b57>]
    reloc pc : [<8081396e>] lr : [<8080db57>]
    sp : 9df38a18 ip : 00000000 fp : 00000000
    r10: 9df491f8 r9 : 9df46eb8 r8 : 00000000
    r7 : 9ffcb7ec r6 : e0c00000 r5 : 9df491c0 r4 : 00000010
    r3 : 9efcb804 r2 : 00000000 r1 : 9ffcb804 r0 : 9efcb804
    Flags: nzCv IRQs off FIQs on Mode SVC_32
    Code: d00f4282 68c26843 f0236881 60ca0303 (60914403)
    Resetting CPU ...

    resetting ...

  • Hi,

    Here is my new log, it seems it stuck at starting kernel.

    U-Boot 2020.01-00001-g5704c41f23-dirty (Mar 18 2022 - 19:02:07 +0800)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x Coupler(uboot)
    DRAM: 512 MiB
    WDT: Started with servicing (60s timeout)
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0
    Loading Environment from FAT... *** Warning - bad CRC, using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: Could not get PHY for ethernet@4a100000: addr 0
    eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4211200 bytes read in 286 ms (14 MiB/s)
    40236 bytes read in 6 ms (6.4 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff3000, end 8ffffd2b ... OK

    Starting kernel ...

    I don't understand why it stuck here.

  • Hi.

    SD/MMC found on device 0
    4211200 bytes read in 286 ms (14 MiB/s)
    40236 bytes read in 6 ms (6.4 MiB/s)

    I think the first read is reading the kernel from SD to DDR, and the second one is reading the DTB from SD to DDR.
    Can we check the DTB is the right Linux DTB you modified for your board?

    One common scenario causing the issue "Starting kernel ..." is mismatch between kernel DTB with the board.
    Some options for debug further:
    - minimize your kernel DT to bare-minimum to get kernel up-running, and then add-back "removed" device nodes.
    - use JTAG to debug what/how kernel start process lock-up is triggered...

    The general board porting guide
    software-dl.ti.com/.../Linux.html

    Best,
    -Hong

  • Hi Hong,

    I understand it may has something to do with am335x-evmsk.dtb.

    So I replace origin evmsk.dtb with custom board's evmsk.dtb, and I find evmsk still boot-up successfully. (Using the same pinmux of mmc0, power I2C, DDR3.....etc. )

    Does it prove that my am335x-evmsk.dtb has no big problem, right?

    Also I will use JTAG to debug it.

  • Hi Hong,

    Could you help me check the dts file on power section described correctly or not?

    Please see attachment. Thanks a lot.

    Note: The PMIC is TPS65217 so I reference the am335x-bone-common.dtsi to finish it.

    arch/arm/boot/dts/am335x-evmsk.dts

    // SPDX-License-Identifier: GPL-2.0-only
    /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     */
    
    /*
     * AM335x Starter Kit
     * http://www.ti.com/tool/tmdssk3358
     */
    
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    
    / {
    	model = "TI AM335x Coupler(kernel)";
    	compatible = "ti,am335x-evmsk", "ti,am33xx";
    
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&dcdc2_reg>;
    		};
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x80000000 0x20000000>; /* 512 MB */
    	};
    
    	chosen {
    		stdout-path = &uart0;
    	};
    
    	v5d: fixedregulator0 {
    		compatible = "regulator-fixed";
    		regulator-name = "+5V";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	/* TLV62065DSGR */
    	v1_0d_reg: fixedregulator-v1_0d {
    		compatible = "regulator-fixed";
    		regulator-name = "+1V0";
    		vin-supply = <&v5d>;
    		regulator-min-microvolt = <1000000>;
    		regulator-max-microvolt = <1000000>;
    	};
    
    	/* TLV62065DSGR */
    	v2_5d_reg: fixedregulator-v2_5d {
    		compatible = "regulator-fixed";
    		regulator-name = "+2V5";
    		vin-supply = <&v5d>;
    		regulator-min-microvolt = <2500000>;
    		regulator-max-microvolt = <2500000>;
    	};
    
    	/* TLV62065DSGR */
    	v3_3d_reg: fixedregulator-v3_3d {
    		compatible = "regulator-fixed";
    		regulator-name = "+3V3";
    		vin-supply = <&v5d>;
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    	};
    
    	leds {
    		pinctrl-names = "default";
    		pinctrl-0 = <&user_leds_s0>;
    
    		compatible = "gpio-leds";
    
    		led@1 {
    			label = "LED RUN : Green";
    			gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
    			default-state = "off";
    		};
    
    		led@2 {
    			label = "LED BF : Red";
    			gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
    			default-state = "off";
    		};
    
    		led@3 {
    			label = "LED MS : Green";
    			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
    			default-state = "off";
    		};
    
    		led@4 {
    			label = "LED MS : Red";
    			gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
    			default-state = "off";
    		};
    		
    		led@5 {
    			label = "LED NS : Green";
    			gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
    			default-state = "off";
    		};
    
    		led@6 {
    			label = "LED NS : Red";
    			gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
    			default-state = "off";
    		};
    	};
    };
    
    &am33xx_pinmux {
    	pinctrl-names = "default";
    
    	user_leds_s0: user_leds_s0 {
    		pinctrl-single,pins = <
    			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN3, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	    /* GPMC_CSn3.gpio2_0 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	    /* GPMC_CSn0.gpio1_29 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	    /* GPMC_OEn_REn.gpio2_3 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	        /* GPMC_WEn.gpio2_4 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* GPMC_BEn0_CLE.gpio2_5 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* GPMC_ADVn_ALE.gpio2_2 */
    		>;
    	};
    
    	i2c0_pins: pinmux_i2c0_pins {
    		pinctrl-single,pins = <
    			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)
    		>;
    	};
    
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)      /* uart0_rxd.uart0_rxd */ /* 0x0970-0x0800=0x0170  */
    			AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)   /* uart0_txd.uart0_txd */ /* 0x0974-0x0800=0x0174 */
    		>;
    	};
    
    	cpsw_default: cpsw_default {
    		pinctrl-single,pins = <
    			/* Slave 1 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
    			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
    			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE2)	    /* mii1_rxd3.rgmii1_rd3 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE2)	    /* mii1_rxd2.rgmii1_rd2 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE2)	    /* mii1_rxd1.rgmii1_rd1 */
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE2)	    /* mii1_rxd0.rgmii1_rd0 */
    
    			/* Slave 2 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a0.rgmii2_tctl */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a1.rgmii2_rctl */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a2.rgmii2_td3 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a3.rgmii2_td2 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a4.rgmii2_td1 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a5.rgmii2_td0 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a6.rgmii2_tclk */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a7.rgmii2_rclk */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a8.rgmii2_rd3 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a9.rgmii2_rd2 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a10.rgmii2_rd1 */
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLDOWN, MUX_MODE2)	/* gpmc_a11.rgmii2_rd0 */
    		>;
    	};
    
    	cpsw_sleep: cpsw_sleep {
    		pinctrl-single,pins = <
    			/* Slave 1 reset value */
    			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    
    			/* Slave 2 reset value*/
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLDOWN, MUX_MODE7)
    		>;
    	};
    
    	davinci_mdio_default: davinci_mdio_default {
    		pinctrl-single,pins = <
    			/* MDIO */
    			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
    		>;
    	};
    
    	davinci_mdio_sleep: davinci_mdio_sleep {
    		pinctrl-single,pins = <
    			/* MDIO reset value */
    			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
    			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
    		>;
    	};
    
        /* SD Card */
    	mmc1_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7) 		/* spi0_cs1.gpio0_6 */
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)       /* mmc0_dat0.mmc0_dat0 */
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_INPUT, MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */
    		>;
    	};
    };
    
    &uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    
    	status = "okay";
    };
    
    &i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&i2c0_pins>;
    
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tps: tps@24 {
    		reg = <0x24>;
    	};
    };
    
    &usb {
    	status = "okay";
    };
    
    &usb_ctrl_mod {
    	status = "okay";
    };
    
    &usb0_phy {
    	status = "okay";
    };
    
    &usb0 {
    	status = "okay";
    };
    
    &cppi41dma  {
    	status = "okay";
    };
    
    #include "tps65217.dtsi"
    
    &tps {
    	regulators {
    		dcdc1_reg: regulator@0 {
    			regulator-name = "vdds_dpr";
    			regulator-always-on;
    		};
    
    		dcdc2_reg: regulator@1 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <925000>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		dcdc3_reg: regulator@2 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <925000>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		ldo1_reg: regulator@3 {
    			regulator-name = "vio,vrtc,vdds";
    			regulator-always-on;
    		};
    
    		ldo2_reg: regulator@4 {
    			regulator-name = "vdd_3v3aux";
    			regulator-always-on;
    		};
    
    		ldo3_reg: regulator@5 {
    			regulator-name = "vdd_1v8";
    			regulator-always-on;
    		};
    
    		ldo4_reg: regulator@6 {
    			regulator-name = "vdd_3v3a";
    			regulator-always-on;
    		};
    	};
    };
    
    &mac {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&cpsw_default>;
    	pinctrl-1 = <&cpsw_sleep>;
    	status = "okay";
    };
    
    &davinci_mdio {
    	pinctrl-names = "default", "sleep";
    	pinctrl-0 = <&davinci_mdio_default>;
    	pinctrl-1 = <&davinci_mdio_sleep>;
    	status = "okay";
    
    	ethphy0: ethernet-phy@0 {
    		reg = <0>;
    	};
    
    	ethphy1: ethernet-phy@1 {
    		reg = <1>;
    	};
    };
    
    &cpsw_emac0 {
    	phy-handle = <&ethphy0>;
    	phy-mode = "rgmii-id";
    };
    
    &cpsw_emac1 {
    	phy-handle = <&ethphy1>;
    	phy-mode = "rgmii-id";
    };
    
    /* SD Card */
    &mmc1 {
    	status = "okay";
    	vmmc-supply = <&v3_3d_reg>;
    	bus-width = <4>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&mmc1_pins>;
    	cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
    };
    
    &sham {
    	status = "okay";
    };
    
    &aes {
    	status = "okay";
    };
    
    &gpio0 {
    	ti,no-reset-on-init;
    };
    
    &rtc {
    	status = "disabled";
    };
    

  • Hi Hong,

    I noticed when the board stuck at "Starting Kernel...", the VDCDC2 which is vdd_mpu should be 1.26V but it's 1.1V.

    Is it the root cause that the board cat not get into kernel?

  • Hi,
    I'm looping in my colleague to follow up on "Starting Kernel..." issue.
    Best,
    -Hong

  • Hi,

    After I enable earlyprintk, the messages are as below.

    It still failed but I see the error message, Unable to handle kernel paging request at virtual address 80f01f08.

    Could you give some advices?

    U-Boot SPL 2020.01-00001-g5704c41f23-dirty (Mar 23 2022 - 18:26:26 +0800)
    Trying to boot from MMC1
    
    
    U-Boot 2020.01-00001-g5704c41f23-dirty (Mar 23 2022 - 18:26:26 +0800)
    
    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x Delta Coupler(uboot)
    DRAM:  512 MiB
    WDT:   Started with servicing (60s timeout)
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    <ethaddr> not set. Validating first E-fuse MAC
    Net:   Could not get PHY for ethernet@4a100000: addr 0
    eth0: ethernet@4a100000
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4653568 bytes read in 316 ms (14 MiB/s)
    59029 bytes read in 8 ms (7 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8ffee000, end 8ffff694 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 5.4.106-g023faefa70 (plcnet@plcnet-ubuntu) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #3 PREEMPT Thu Mar 24 16:43:30 CST 2022
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM335x Coupler(kernel)
    [    0.000000] printk: bootconsole [earlycon0] enabled
    [    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 0x9c800000
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129666
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=c4e71061-02 rw rootfstype=ext4 rootwait earlyprintk
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 453844K/523264K available (9216K kernel code, 295K rwdata, 3096K rodata, 1024K init, 254K bss, 20268K reserved, 49152K cma-reserved, 0K highmem)
    [    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] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
    [    0.000000] random: get_random_bytes called from start_kernel+0x2b4/0x470 with crng_init=0
    [    0.000000] 8<--- cut here ---
    [    0.000000] Unable to handle kernel paging request at virtual address 80f01f08
    [    0.000000] pgd = (ptrval)
    [    0.000000] [80f01f08] *pgd=00000000
    [    0.000000] Internal error: Oops: 805 [#1] PREEMPT ARM
    [    0.000000] Modules linked in:
    [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.4.106-g023faefa70 #3
    [    0.000000] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.000000] PC is at __of_find_property+0x4/0x60
    [    0.000000] LR is at __of_device_is_available.part.0+0x2c/0xc0
    [    0.000000] pc : [<c076dc04>]    lr : [<c076efe0>]    psr: a0000093
    [    0.000000] sp : c0f01f18  ip : 00000000  fp : 00000000
    [    0.000000] r10: 00000000  r9 : c0bed178  r8 : c0c90f8c
    [    0.000000] r7 : c0e4a900  r6 : c0f01f3c  r5 : dc002940  r4 : a0000093
    [    0.000000] r3 : 00000000  r2 : c0f01f18  r1 : c0c7c120  r0 : dfa3f380
    [    0.000000] Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
    [    0.000000] Control: 10c5387d  Table: 80004019  DAC: 00000051
    [    0.000000] Process swapper (pid: 0, stack limit = 0x(ptrval))
    [    0.000000] Stack: (0xc0f01f18 to 0xc0f02000)
    [    0.000000] 1f00:                                                       dfa3f1f0 c0f03048
    [    0.000000] 1f20: a0000093 c076f0a8 c0c90f8c c0bed178 dfa3f380 c0e1c310 c0e4b3b8 dc002648
    [    0.000000] 1f40: dc002948 c0f03048 c0bed0c4 c0f4a364 c0f03040 00000001 00000001 c0bed0c4
    [    0.000000] 1f60: c0bed178 00000000 00000000 c0e09e4c 00000002 c0e0a518 00000000 00000000
    [    0.000000] 1f80: 00000000 c0f03048 c0e39a38 c0f03040 c0f4a000 00000000 dfeff080 c0e39a38
    [    0.000000] 1fa0: 10c53c7d c0e0a824 c0bed0c4 00000001 00000000 c0e00c40 ffffffff ffffffff
    [    0.000000] 1fc0: 00000000 c0e00584 00000000 c0e39a38 3abb8391 c0f03048 00000000 c0e00330
    [    0.000000] 1fe0: 00000051 10c03c7d 00000e05 8ffee000 413fc082 00000000 00000000 00000000
    [    0.000000] [<c076dc04>] (__of_find_property) from [<c076f0a8>] (of_device_is_available+0x34/0x80)
    [    0.000000] [<c076f0a8>] (of_device_is_available) from [<c0e1c310>] (of_clk_init+0x68/0x238)
    [    0.000000] [<c0e1c310>] (of_clk_init) from [<c0e09e4c>] (omap_clk_init+0x3c/0x58)
    [    0.000000] [<c0e09e4c>] (omap_clk_init) from [<c0e0a518>] (__omap_sync32k_timer_init.constprop.0+0x38/0x2d8)
    [    0.000000] [<c0e0a518>] (__omap_sync32k_timer_init.constprop.0) from [<c0e0a824>] (omap3_gptimer_timer_init+0x30/0x58)
    [    0.000000] [<c0e0a824>] (omap3_gptimer_timer_init) from [<c0e00c40>] (start_kernel+0x2f0/0x470)
    [    0.000000] [<c0e00c40>] (start_kernel) from [<00000000>] (0x0)
    [    0.000000] Code: e3a04000 e1a00004 e8bd8070 e3500000 (e92d4070)
    [    0.000000] ---[ end trace a862031cd1177211 ]---
    [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!

  • Hi Woody,

    As you can see at the end of the console log you attached, it seems there is a problem in sync32k timer init, likely related to device tree configurations. Please ensure the device tree configurations match to your design.

  • Hi Bin,

    There is no RTC32K oscillator on my board but I am not sure how to disable it.

    After I follow the steps from section "Remove dependency on RTC", I can not find the selection "Enable the RTC32K OSC on AM33xx based platforms" in the menuconfig.

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

     I also disable it in am335x-evmsk.dts of both u-boot and kernel stage as below, .

    &rtc {
    	status = "disabled";
    };
    

    But I found the "CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC" is always defined.

    #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC 1

    So the question is the error log shows RTC error in kernel, theb how do I  solve it or disable it?

    Thanks.

  • Hi Bin,

    I meet the kernel error as below, could you help on this?

    U-Boot 2020.01-00002-ga5f367b992-dirty (Mar 29 2022 - 17:11:33 +0800)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x Delta Coupler(uboot)
    DRAM: Woody: dram_init, ram_size=536870912
    512 MiB
    Woody: board_init
    WDT: Started with servicing (60s timeout)
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0
    Loading Environment from FAT... *** Warning - bad CRC, using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: Could not get PHY for ethernet@4a100000: addr 0
    eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4657664 bytes read in 318 ms (14 MiB/s)
    59005 bytes read in 8 ms (7 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8ffee000, end 8ffff67c ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 5.4.106-g023faefa70 (plcnet@plcnet-ubuntu) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #4 PREEMPT Wed Mar 30 16:58:51 CST 2022
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] OF: fdt: Machine model: TI AM335x Coupler(kernel)
    [ 0.000000] printk: bootconsole [earlycon0] enabled
    [ 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 0x9c800000
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] 8<--- cut here ---
    [ 0.000000] Unable to handle kernel paging request at virtual address efff1a90
    [ 0.000000] pgd = (ptrval)
    [ 0.000000] [efff1a90] *pgd=00000000
    [ 0.000000] Internal error: Oops: 5 [#1] PREEMPT ARM
    [ 0.000000] Modules linked in:
    [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.4.106-g023faefa70 #4
    [ 0.000000] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 0.000000] PC is at strcasecmp+0xc/0x58
    [ 0.000000] LR is at __of_device_is_compatible+0xa0/0x104
    [ 0.000000] pc : [<c0956320>] lr : [<c076def4>] psr: a0000093
    [ 0.000000] sp : c0f01ed8 ip : c0aaf604 fp : fffff000
    [ 0.000000] r10: 00000000 r9 : dfa459e8 r8 : dfa45988
    [ 0.000000] r7 : c0a01870 r6 : c0a01890 r5 : c0a018b0 r4 : efff1a90
    [ 0.000000] r3 : 00000000 r2 : 00000000 r1 : c0a018b0 r0 : efff1a90
    [ 0.000000] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
    [ 0.000000] Control: 10c5387d Table: 80004019 DAC: 00000051
    [ 0.000000] Process swapper (pid: 0, stack limit = 0x(ptrval))
    [ 0.000000] Stack: (0xc0f01ed8 to 0xc0f02000)
    [ 0.000000] 1ec0: efff1a90 c076def4
    [ 0.000000] 1ee0: c0a01870 00000000 00000000 dfa45988 a0000093 00000000 c0c90dc8 c076ece0
    [ 0.000000] 1f00: dfa45988 c0a01870 00000000 c0f01f38 a0000093 c076ef54 c0e38084 1ff00000
    [ 0.000000] 1f20: c0f06ed8 c0a01870 c0f75478 80000000 c0c90dc8 c0e09ebc 00000000 c0f03048
    [ 0.000000] 1f40: 80000000 c0e38084 1ff00000 c0f06ed8 9fefffff c0e09d88 00000000 c0f03048
    [ 0.000000] 1f60: 00000040 c0e048ec c0f01f78 c0f01f80 c0f4a000 c0be9a44 00000000 00000000
    [ 0.000000] 1f80: 00000000 00000000 c0be7e58 c0f03048 8ffee000 c0e00330 c0f03040 10c03c7d
    [ 0.000000] 1fa0: c0f4a000 8ffee000 413fc082 10c53c7d 00000000 c0e009c0 00000000 00000000
    [ 0.000000] 1fc0: 00000000 00000000 00000000 c0e39a38 00000000 c0f03048 00000000 c0e00330
    [ 0.000000] 1fe0: 00000051 10c03c7d 00000e05 8ffee000 413fc082 00000000 00000000 00000000
    [ 0.000000] [<c0956320>] (strcasecmp) from [<c076def4>] (__of_device_is_compatible+0xa0/0x104)
    [ 0.000000] [<c076def4>] (__of_device_is_compatible) from [<c076ece0>] (__of_match_node.part.0+0x1c/0x68)
    [ 0.000000] [<c076ece0>] (__of_match_node.part.0) from [<c076ef54>] (of_find_matching_node_and_match+0xb8/0x118)
    [ 0.000000] [<c076ef54>] (of_find_matching_node_and_match) from [<c0e09ebc>] (omap2_control_base_init+0x30/0xbc)
    [ 0.000000] [<c0e09ebc>] (omap2_control_base_init) from [<c0e09d88>] (am33xx_init_early+0x34/0xa0)
    [ 0.000000] [<c0e09d88>] (am33xx_init_early) from [<c0e048ec>] (setup_arch+0xaec/0xb40)
    [ 0.000000] [<c0e048ec>] (setup_arch) from [<c0e009c0>] (start_kernel+0x70/0x470)
    [ 0.000000] [<c0e009c0>] (start_kernel) from [<00000000>] (0x0)
    [ 0.000000] Code: e8bd8070 e30fc604 e34cc0aa e92d4010 (e4d03001)
    [ 0.000000] random: get_random_bytes called from print_oops_end_marker+0x24/0x4c with crng_init=0
    [ 0.000000] ---[ end trace 0000000000000000 ]---
    [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!

  • Hi Woody,

    [ 0.000000] PC is at strcasecmp+0xc/0x58
    [ 0.000000] LR is at __of_device_is_compatible+0xa0/0x104

    It seems your devicetree file has errors. Please review what you have modified.

  • Hi Bin,

    After I modified the kernel dts as simple as I can, there are only sdmmc and uart0 interface.

    #include "am33xx.dtsi"
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    
    / {
    	model = "TI AM335x Coupler(kernel)";
    	compatible = "ti,am335x-evmsk", "ti,am33xx";
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x80000000 0x20000000>; /* 512 MB */
    	};
    
    	chosen {
    		stdout-path = &uart0;
    	};
    
    	v5d: fixedregulator0 {
    		compatible = "regulator-fixed";
    		regulator-name = "+5V";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-boot-on;
    	};
    
    	/* TLV62065DSGR */
    	v1_0d_reg: fixedregulator-v1_0d {
    		compatible = "regulator-fixed";
    		regulator-name = "+1V0";
    		vin-supply = <&v5d>;
    		regulator-min-microvolt = <1000000>;
    		regulator-max-microvolt = <1000000>;
    	};
    
    	/* TLV62065DSGR */
    	v2_5d_reg: fixedregulator-v2_5d {
    		compatible = "regulator-fixed";
    		regulator-name = "+2V5";
    		vin-supply = <&v5d>;
    		regulator-min-microvolt = <2500000>;
    		regulator-max-microvolt = <2500000>;
    	};
    
    	/* TLV62065DSGR */
    	v3_3d_reg: fixedregulator-v3_3d {
    		compatible = "regulator-fixed";
    		regulator-name = "+3V3";
    		vin-supply = <&v5d>;
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    	}; 
    
    };
    
    &am33xx_pinmux {
    
    	uart0_pins: pinmux_uart0_pins {
    		pinctrl-single,pins = <
    			AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
    		>;
    	};	
    
    	sdmmc_pins: pinmux_mmc1_pins {
    		pinctrl-single,pins = <
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
    			AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
    		>;
    	};	
    };
    
    
    &uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&uart0_pins>;
    
    	status = "okay";
    };
    
    
    /* SD Card */
    &mmc1 {
    	status = "okay";
    	vmmc-supply = <&v3_3d_reg>;
    	bus-width = <4>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&sdmmc_pins>;
    	cd-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
    };

    The error logs are as below, do you have any ideas about this? Does it still fail on dts file?

    U-Boot SPL 2020.01-00002-ga5f367b992-dirty (Mar 29 2022 - 17:11:33 +0800)
    Trying to boot from MMC1
    
    
    U-Boot 2020.01-00002-ga5f367b992-dirty (Mar 29 2022 - 17:11:33 +0800)
    
    CPU  : AM335X-GP rev 2.1
    Model: TI AM335x(uboot)
    DRAM:  Woody: dram_init, ram_size=536870912
    512 MiB
    Woody: board_init
    WDT:   Started with servicing (60s timeout)
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    <ethaddr> not set. Validating first E-fuse MAC
    Net:   Could not get PHY for ethernet@4a100000: addr 0
    eth0: ethernet@4a100000
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4657664 bytes read in 317 ms (14 MiB/s)
    55942 bytes read in 7 ms (7.6 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8ffef000, end 8ffffa85 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 5.4.106-g023faefa70 (plcnet@plcnet-ubuntu) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #4 PREEMPT Wed Mar 30 16:58:51 CST 2022
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM335x Coupler(kernel)
    [    0.000000] printk: bootconsole [earlycon0] enabled
    [    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 0x9c800000
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    0.000000] 8<--- cut here ---
    [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [    0.000000] pgd = (ptrval)
    [    0.000000] [00000000] *pgd=00000000
    [    0.000000] Internal error: Oops: 5 [#1] PREEMPT ARM
    [    0.000000] Modules linked in:
    [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.4.106-g023faefa70 #4
    [    0.000000] Hardware name: Generic AM33XX (Flattened Device Tree)
    [    0.000000] PC is at strcmp+0x0/0x34
    [    0.000000] LR is at __of_find_property+0x3c/0x60
    [    0.000000] pc : [<c0956404>]    lr : [<c076dc3c>]    psr: a0000093
    [    0.000000] sp : c0f01e98  ip : c0f00000  fp : dfa47670
    [    0.000000] r10: c0f01f20  r9 : dfa47808  r8 : c0f40308
    [    0.000000] r7 : 00000000  r6 : 00000000  r5 : c0c4ed50  r4 : dfa477c8
    [    0.000000] r3 : 00000072  r2 : 00000064  r1 : c0c4ed50  r0 : 00000000
    [    0.000000] Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
    [    0.000000] Control: 10c5387d  Table: 80004019  DAC: 00000051
    [    0.000000] Process swapper (pid: 0, stack limit = 0x(ptrval))
    [    0.000000] Stack: (0xc0f01e98 to 0xc0f02000)
    [    0.000000] 1e80:                                                       ffffe000 a0000093
    [    0.000000] 1ea0: c077643c c076dc90 00000000 ffffffff dfa47670 dfa47670 c0f40308 c076dce0
    [    0.000000] 1ec0: dfa47670 c0776454 00000000 c0f40308 c077643c c0775440 c0bea7e4 00000000
    [    0.000000] 1ee0: c0f07fa8 c0e14b94 ffffffff c0f03048 c0e41568 dfeff280 dfa47808 c0f07fa0
    [    0.000000] 1f00: c0bea7e4 00000000 c0f07fa8 c0c90dc8 fffff000 c0e0ac9c ffffffff 9fefffff
    [    0.000000] 1f20: 00000008 00000000 c0c90dc8 c0f03048 c0f08bb0 c0e38084 1ff00000 c0f06ed8
    [    0.000000] 1f40: 9fefffff c0f75478 80000000 c0e0c818 c0e38084 c0e09da0 00000000 c0f03048
    [    0.000000] 1f60: 00000040 c0e048ec c0f01f78 c0f01f80 c0f4a000 c0be9a44 00000000 00000000
    [    0.000000] 1f80: 00000000 00000000 c0be7e58 c0f03048 8ffef000 c0e00330 c0f03040 10c03c7d
    [    0.000000] 1fa0: c0f4a000 8ffef000 413fc082 10c53c7d 00000000 c0e009c0 00000000 00000000
    [    0.000000] 1fc0: 00000000 00000000 00000000 c0e39a38 00000000 c0f03048 00000000 c0e00330
    [    0.000000] 1fe0: 00000051 10c03c7d 00000e05 8ffef000 413fc082 00000000 00000000 00000000
    [    0.000000] [<c0956404>] (strcmp) from [<c076dc3c>] (__of_find_property+0x3c/0x60)
    [    0.000000] [<c076dc3c>] (__of_find_property) from [<c076dc90>] (of_find_property+0x30/0x78)
    [    0.000000] [<c076dc90>] (of_find_property) from [<c076dce0>] (of_get_property+0x8/0x14)
    [    0.000000] [<c076dce0>] (of_get_property) from [<c0776454>] (of_bus_pci_match+0x18/0x114)
    [    0.000000] [<c0776454>] (of_bus_pci_match) from [<c0775440>] (of_get_address+0x5c/0x1bc)
    [    0.000000] [<c0775440>] (of_get_address) from [<c0e0ac9c>] (omap_hwmod_init+0x1a8/0x238)
    [    0.000000] [<c0e0ac9c>] (omap_hwmod_init) from [<c0e0c818>] (am33xx_hwmod_init+0xc/0x1c)
    [    0.000000] [<c0e0c818>] (am33xx_hwmod_init) from [<c0e09da0>] (am33xx_init_early+0x4c/0xa0)
    [    0.000000] [<c0e09da0>] (am33xx_init_early) from [<c0e048ec>] (setup_arch+0xaec/0xb40)
    [    0.000000] [<c0e048ec>] (setup_arch) from [<c0e009c0>] (start_kernel+0x70/0x470)
    [    0.000000] [<c0e009c0>] (start_kernel) from [<00000000>] (0x0)
    [    0.000000] Code: e3520000 e5e32001 1afffffb e12fff1e (e4d03001)
    [    0.000000] random: get_random_bytes called from print_oops_end_marker+0x24/0x4c with crng_init=0
    [    0.000000] ---[ end trace 0000000000000000 ]---
    [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!