Other Parts Discussed in Thread: TPS65917-Q1
Tool/software: Linux
I need some help on booting from QSPI on the dra726.
I am obviously not doing things right since it can't find kernel
I am able to load u-boot of qspi, it stops at the u-boot prompt
If I set the boot to boot on SD with an SD card I can boot, it would also boot off the eMMC.
Do you have example configuration and some howto on this?
I set the addresses to match the devicetree info.
/*
* Default to using SPI for environment, etc.
* 0x000000 - 0x03FFFF : QSPI.SPL (256KiB)
* 0x040000 - 0x13FFFF : QSPI.u-boot (1MiB)
* 0x140000 - 0x1BFFFF : QSPI.devicetree (512KiB)
* 0x1C0000 - 0x1FFFFF : QSPI.u-boot-env (256KiB)
* 0x200000 - 0x23FFFF : QSPI.u-boot-env.redund (256KiB)
* 0x240000 - 0xA3FFFF : QSPI.kernel (8MiB)
* 0xA40000 - 0xABFFFF : QSPI.logo (512KiB)
* 0xAC0000 - 0x3FFFFFF : USERLAND
*/
#define CONFIG_SYS_SPI_KERNEL_OFFS 0x240000
#define CONFIG_SYS_SPI_ARGS_OFFS 0x140000
#define CONFIG_SYS_SPI_ARGS_SIZE 0x80000
#if defined(CONFIG_QSPI_BOOT)
/* In SPL, use the environment and discard MMC support for space. */
#ifdef CONFIG_SPL_BUILD
#undef CONFIG_SPL_MMC_SUPPORT
#endif
#define CONFIG_SPL_ENV_SUPPORT
#define CONFIG_ENV_IS_IN_SPI_FLASH
#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
#define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
#define CONFIG_ENV_SIZE (256 << 10)
#define CONFIG_ENV_SECT_SIZE (256 << 10) /* 256 KB sectors */
#define CONFIG_ENV_OFFSET 0x1C0000
#define CONFIG_ENV_OFFSET_REDUND 0x200000
#endif
/* SPI SPL */
#define CONFIG_SPL_SPI_SUPPORT
#define CONFIG_SPL_DMA_SUPPORT
#define CONFIG_TI_EDMA3
#define CONFIG_SPL_SPI_LOAD
#define CONFIG_SPL_SPI_FLASH_SUPPORT
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x40000
U-Boot 2016.05 (Jun 22 2017 - 10:13:54 -0400)
CPU : DRA722-GP ES2.0
Model: ACTIA Global Display
ACTIA Global Display: Rev C
DRAM: 1 GiB
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB, mapp0
*** Warning - bad CRC, using default environment
MMC: no pinctrl for hs
no pinctrl for hs
OMAP SD/MMC: 0, OMAP SD/MMC: 1
SF: Detected S25FL512S_256K with page size 512 Bytes, erase size 256 KiB, total 64 MiB, mapp0
*** Warning - bad CRC, using default environment
Net: No ethernet found.
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
Card did not respond to voltage select!
Card did not respond to voltage select!
=>
I have MLO, u-boot.img, device tree and kernel programmed in NOR from Linux
&qspi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&qspi1_pins>;
spi-max-frequency = <48000000>;
m25p80@0 {
compatible = "s25fl512s";
spi-max-frequency = <48000000>;
reg = <0>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
#address-cells = <1>;
#size-cells = <1>;
spi-cpol;
spi-cpha;
/* MTD partition table.
* The ROM checks the first four physical blocks
* for a valid file to boot and the flash here is
* 256KiB block size.
*/
partition@0 {
label = "QSPI.MLO";
reg = <0x0 0x40000>;
};
partition@1 {
label = "QSPI.u-boot.img";
reg = <0x40000 0x100000>;
};
partition@2 {
label = "QSPI.devicetree";
reg = <0x140000 0x80000>;
};
partition@3 {
label = "QSPI.u-boot-env";
reg = <0x1C0000 0x40000>;
};
partition@4 {
label = "QSPI.u-boot-env.redund";
reg = <0x200000 0x40000>;
};
partition@5 {
label = "QSPI.zImage";
reg = <0x240000 0x800000>;
};
partition@6 {
label = "QSPI.logo";
reg = <0xa40000 0x80000>;
};
partition@7 {
label = "QSPI.userland";
reg = <0xac0000 0x3540000>;
};
};
};