mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-20 21:31:32 +02:00
Merge patch series "*** Various fixes & improvements for phycore-AM6* SoMs ***"
Wadim Egorov <w.egorov@phytec.de> says: It includes various fixes and improvements for phyCORE-AM62x and phyCORE-AM64x SoMs. Notable is the last patch which prepares for use with future ECC memory fixups.
This commit is contained in:
commit
ca4becc149
@ -127,6 +127,32 @@
|
||||
|
||||
flash@0 {
|
||||
bootph-all;
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "ospi.tiboot3";
|
||||
reg = <0x00000 0x80000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "ospi.tispl";
|
||||
reg = <0x080000 0x200000>;
|
||||
};
|
||||
partition@280000 {
|
||||
label = "ospi.u-boot";
|
||||
reg = <0x280000 0x400000>;
|
||||
};
|
||||
partition@680000 {
|
||||
label = "ospi.env";
|
||||
reg = <0x680000 0x40000>;
|
||||
};
|
||||
partition@6c0000 {
|
||||
label = "ospi.env.backup";
|
||||
reg = <0x6c0000 0x40000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -142,6 +168,15 @@
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
&usbss0 {
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
dr_mode = "peripheral";
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
&vcc_3v3_mmc {
|
||||
bootph-all;
|
||||
};
|
||||
|
@ -115,6 +115,32 @@
|
||||
bootph-all;
|
||||
flash@0 {
|
||||
bootph-all;
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "ospi.tiboot3";
|
||||
reg = <0x00000 0x80000>;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "ospi.tispl";
|
||||
reg = <0x080000 0x200000>;
|
||||
};
|
||||
partition@280000 {
|
||||
label = "ospi.u-boot";
|
||||
reg = <0x280000 0x400000>;
|
||||
};
|
||||
partition@680000 {
|
||||
label = "ospi.env";
|
||||
reg = <0x680000 0x40000>;
|
||||
};
|
||||
partition@6c0000 {
|
||||
label = "ospi.env.backup";
|
||||
reg = <0x6c0000 0x40000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <env_internal.h>
|
||||
#include <fdt_support.h>
|
||||
#include <spl.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
|
||||
@ -94,3 +95,12 @@ int board_late_init(void)
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_OF_LIBFDT) && IS_ENABLED(CONFIG_OF_BOARD_SETUP)
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
{
|
||||
fdt_copy_fixed_partitions(blob);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
@ -4,6 +4,7 @@
|
||||
* Author: Wadim Egorov <w.egorov@phytec.de>
|
||||
*/
|
||||
|
||||
#include <asm/arch/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <spl.h>
|
||||
#include <fdt_support.h>
|
||||
@ -46,7 +47,12 @@ static u8 phytec_get_am62_ddr_size_default(void)
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
u8 ram_size = phytec_get_am62_ddr_size_default();
|
||||
u8 ram_size;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_CPU_V7R))
|
||||
return fdtdec_setup_mem_size_base();
|
||||
|
||||
ram_size = phytec_get_am62_ddr_size_default();
|
||||
|
||||
/*
|
||||
* HACK: ddrss driver support 2GB RAM by default
|
||||
@ -91,6 +97,9 @@ int dram_init_banksize(void)
|
||||
{
|
||||
u8 ram_size;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_CPU_V7R))
|
||||
return fdtdec_setup_memory_banksize();
|
||||
|
||||
ram_size = phytec_get_am62_ddr_size_default();
|
||||
switch (ram_size) {
|
||||
case EEPROM_RAM_SIZE_1GB:
|
||||
@ -173,6 +182,26 @@ int do_board_detect(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if IS_ENABLED(CONFIG_SPL_BUILD)
|
||||
void spl_perform_fixups(struct spl_image_info *spl_image)
|
||||
{
|
||||
u64 start[CONFIG_NR_DRAM_BANKS];
|
||||
u64 size[CONFIG_NR_DRAM_BANKS];
|
||||
int bank;
|
||||
int ret;
|
||||
|
||||
dram_init();
|
||||
dram_init_banksize();
|
||||
|
||||
for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
|
||||
start[bank] = gd->bd->bi_dram[bank].start;
|
||||
size[bank] = gd->bd->bi_dram[bank].size;
|
||||
}
|
||||
|
||||
ret = fdt_fixup_memory_banks(spl_image->fdt_addr, start, size, CONFIG_NR_DRAM_BANKS);
|
||||
}
|
||||
#endif
|
||||
|
||||
#define CTRLMMR_USB0_PHY_CTRL 0x43004008
|
||||
#define CTRLMMR_USB1_PHY_CTRL 0x43004018
|
||||
#define CORE_VOLTAGE 0x80000000
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include <env/ti/k3_dfu.env>
|
||||
|
||||
fdtaddr=0x88000000
|
||||
loadaddr=0x82000000
|
||||
scriptaddr=0x80000000
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_K3=y
|
||||
CONFIG_SYS_MALLOC_LEN=0x2000000
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x8000
|
||||
CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||
@ -11,7 +12,7 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80b80000
|
||||
CONFIG_SF_DEFAULT_SPEED=25000000
|
||||
CONFIG_ENV_SIZE=0x2000
|
||||
CONFIG_ENV_OFFSET=0xFFFFD000
|
||||
CONFIG_ENV_OFFSET=0x680000
|
||||
CONFIG_SPL_DM_SPI=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-phyboard-lyra-rdk"
|
||||
CONFIG_SPL_TEXT_BASE=0x80080000
|
||||
@ -26,6 +27,7 @@ CONFIG_SPL_BSS_MAX_SIZE=0x80000
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_SIZE_LIMIT=0x40000
|
||||
CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x800
|
||||
CONFIG_ENV_OFFSET_REDUND=0x6c0000
|
||||
CONFIG_SPL_FS_FAT=y
|
||||
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
@ -36,11 +38,13 @@ CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
|
||||
CONFIG_BOOTSTD_FULL=y
|
||||
CONFIG_SYS_BOOTM_LEN=0x800000
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_BOOTCOMMAND="run mmcboot; bootflow scan -lb"
|
||||
CONFIG_DEFAULT_FDT_FILE="oftree"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_SPL_MAX_SIZE=0x58000
|
||||
CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
|
||||
CONFIG_SPL_BOARD_INIT=y
|
||||
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
|
||||
@ -50,29 +54,41 @@ CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_DM_MAILBOX=y
|
||||
CONFIG_SPL_DM_SPI_FLASH=y
|
||||
CONFIG_SPL_POWER_DOMAIN=y
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
# CONFIG_SPL_SPI_FLASH_TINY is not set
|
||||
CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
|
||||
CONFIG_SPL_SPI_LOAD=y
|
||||
CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
|
||||
CONFIG_SPL_YMODEM_SUPPORT=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_SPL_MULTI_DTB_FIT=y
|
||||
CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
|
||||
CONFIG_ENV_OVERWRITE=y
|
||||
CONFIG_ENV_IS_NOWHERE=y
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||||
CONFIG_SYS_MMC_ENV_DEV=1
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SPL_DM=y
|
||||
CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SPL_REGMAP=y
|
||||
CONFIG_SPL_SYSCON=y
|
||||
CONFIG_SPL_OF_TRANSLATE=y
|
||||
CONFIG_CLK=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_CLK_TI_SCI=y
|
||||
CONFIG_DFU_MMC=y
|
||||
CONFIG_DFU_RAM=y
|
||||
CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
|
||||
CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
|
||||
CONFIG_DMA_CHANNELS=y
|
||||
CONFIG_TI_K3_NAVSS_UDMA=y
|
||||
CONFIG_TI_SCI_PROTOCOL=y
|
||||
@ -91,10 +107,9 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
# CONFIG_SPI_FLASH_SMART_HWCAPS is not set
|
||||
CONFIG_SPI_FLASH_SOFT_RESET=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_S28HX_T=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_SPI_FLASH_MT35XU=y
|
||||
CONFIG_SPI_FLASH_MTD=y
|
||||
CONFIG_PHY_TI_DP83867=y
|
||||
CONFIG_PHY_FIXED=y
|
||||
CONFIG_TI_AM65_CPSW_NUSS=y
|
||||
@ -117,4 +132,21 @@ CONFIG_CADENCE_QSPI=y
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_SPL_SYSRESET=y
|
||||
CONFIG_SYSRESET_TI_SCI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB_GADGET=y
|
||||
CONFIG_SPL_DM_USB_GADGET=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_DWC3_GENERIC=y
|
||||
CONFIG_SPL_USB_DWC3_GENERIC=y
|
||||
CONFIG_SPL_USB_DWC3_AM62=y
|
||||
CONFIG_USB_DWC3_AM62=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="Phytec"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x0451
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
|
||||
CONFIG_USB_GADGET_DOWNLOAD=y
|
||||
CONFIG_SPL_DFU=y
|
||||
CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
|
||||
|
@ -105,7 +105,6 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
# CONFIG_SPI_FLASH_SMART_HWCAPS is not set
|
||||
CONFIG_SPI_FLASH_SOFT_RESET=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_SPI_FLASH_MT35XU=y
|
||||
CONFIG_PINCTRL=y
|
||||
|
@ -13,7 +13,7 @@ CONFIG_TARGET_PHYCORE_AM64X_A53=y
|
||||
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xFFFFD000
|
||||
CONFIG_ENV_OFFSET=0x680000
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_SPL_DM_SPI=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am642-phyboard-electra-rdk"
|
||||
@ -28,6 +28,7 @@ CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x80a00000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x80000
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_ENV_OFFSET_REDUND=0x6c0000
|
||||
CONFIG_SPL_FS_FAT=y
|
||||
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
@ -68,6 +69,7 @@ CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
@ -76,6 +78,7 @@ CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_SPL_MULTI_DTB_FIT=y
|
||||
CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||||
CONFIG_SYS_MMC_ENV_DEV=1
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SPL_DM=y
|
||||
@ -118,10 +121,9 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
# CONFIG_SPI_FLASH_SMART_HWCAPS is not set
|
||||
CONFIG_SPI_FLASH_SOFT_RESET=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_S28HX_T=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_SPI_FLASH_MT35XU=y
|
||||
CONFIG_SPI_FLASH_MTD=y
|
||||
CONFIG_MULTIPLEXER=y
|
||||
CONFIG_MUX_MMIO=y
|
||||
CONFIG_PHY_TI_DP83867=y
|
||||
|
@ -121,7 +121,6 @@ CONFIG_SPI_FLASH_SFDP_SUPPORT=y
|
||||
# CONFIG_SPI_FLASH_SMART_HWCAPS is not set
|
||||
CONFIG_SPI_FLASH_SOFT_RESET=y
|
||||
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
||||
CONFIG_SPI_FLASH_SPANSION=y
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_SPI_FLASH_MT35XU=y
|
||||
CONFIG_PHY_TI_DP83867=y
|
||||
|
@ -110,13 +110,13 @@ tiboot3.bin, tispl.bin and u-boot.img are stored on the uSD card.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sf probe
|
||||
mtd list
|
||||
fatload mmc 1 ${loadaddr} tiboot3.bin
|
||||
sf update $loadaddr 0x0 $filesize
|
||||
mtd write ospi.tiboot3 ${loadaddr} 0 ${filesize}
|
||||
fatload mmc 1 ${loadaddr} tispl.bin
|
||||
sf update $loadaddr 0x80000 $filesize
|
||||
mtd write ospi.tispl ${loadaddr} 0 ${filesize}
|
||||
fatload mmc 1 ${loadaddr} u-boot.img
|
||||
sf update $loadaddr 0x280000 $filesize
|
||||
mtd write ospi.u-boot ${loadaddr} 0 ${filesize}
|
||||
|
||||
|
||||
Boot Modes
|
||||
@ -151,6 +151,10 @@ Boot switches should be changed with power off.
|
||||
- 11011100
|
||||
- 00000000
|
||||
|
||||
* - USB DFU
|
||||
- 11001010
|
||||
- 00100000
|
||||
|
||||
Further Information
|
||||
-------------------
|
||||
|
||||
|
@ -111,13 +111,13 @@ tiboot3.bin, tispl.bin and u-boot.img are stored on the uSD card.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sf probe
|
||||
mtd list
|
||||
fatload mmc 1 ${loadaddr} tiboot3.bin
|
||||
sf update $loadaddr 0x0 $filesize
|
||||
mtd write ospi.tiboot3 ${loadaddr} 0 ${filesize}
|
||||
fatload mmc 1 ${loadaddr} tispl.bin
|
||||
sf update $loadaddr 0x80000 $filesize
|
||||
mtd write ospi.tispl ${loadaddr} 0 ${filesize}
|
||||
fatload mmc 1 ${loadaddr} u-boot.img
|
||||
sf update $loadaddr 0x280000 $filesize
|
||||
mtd write ospi.u-boot ${loadaddr} 0 ${filesize}
|
||||
|
||||
|
||||
Boot Modes
|
||||
|
Loading…
x
Reference in New Issue
Block a user