mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge tag 'xilinx-for-v2020.10-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze
Xilinx changes for v2020.10-rc3 - Fix fdtfile variable setup - Fix bootm_*/fdt_high/initrd_high variables handling - Fix Kconfig dependencies for Xilinx drivers - Fix booting u-boot from lowest memory - Fix firmware payload argument count for Versal - Fix dfu configurations - Fix mio_bank property handling - Fix and align code around ID detection - Start to use ENV_VARS_UBOOT_RUNTIME_CONFIG - Simplify logic around reading MAC from eeprom - Decrease malloc length for zynqmp mini qspi - Enable preboot for ZynqMP and Versal i2c: - Fix i2c eeprom partitions handling mmc: - Fix logic around HS mode enabling and use proper functions
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
#define DFU_ALT_INFO_RAM \
|
||||
"dfu_ram_info=" \
|
||||
"setenv dfu_alt_info " \
|
||||
"Image ram $kernel_addr_r $kernel_size_r\\\\;" \
|
||||
"Image ram 80000 $kernel_size_r\\\\;" \
|
||||
"system.dtb ram $fdt_addr_r $fdt_size_r\0" \
|
||||
"dfu_ram=run dfu_ram_info && dfu 0 ram 0\0" \
|
||||
"thor_ram=run dfu_ram_info && thordown 0 ram 0\0"
|
||||
@@ -79,7 +79,6 @@
|
||||
#define CONFIG_CLOCKS
|
||||
|
||||
#define ENV_MEM_LAYOUT_SETTINGS \
|
||||
"fdt_high=10000000\0" \
|
||||
"fdt_addr_r=0x40000000\0" \
|
||||
"fdt_size_r=0x400000\0" \
|
||||
"pxefile_addr_r=0x10000000\0" \
|
||||
|
||||
@@ -58,10 +58,12 @@
|
||||
#define DFU_ALT_INFO_RAM \
|
||||
"dfu_ram_info=" \
|
||||
"setenv dfu_alt_info " \
|
||||
"Image ram $kernel_addr $kernel_size\\\\;" \
|
||||
"system.dtb ram $fdt_addr $fdt_size\0" \
|
||||
"Image ram 80000 $kernel_size_r\\\\;" \
|
||||
"system.dtb ram $fdt_addr_r $fdt_size_r\0" \
|
||||
"dfu_ram=run dfu_ram_info && dfu 0 ram 0\0" \
|
||||
"thor_ram=run dfu_ram_info && thordown 0 ram 0\0"
|
||||
"thor_ram=run dfu_ram_info && thordown 0 ram 0\0" \
|
||||
"dfu_ram_tftp=run dfu_ram_info && setenv updatefile boot && " \
|
||||
"setenv loadaddr 10000000 && dfu tftp ram 0\0"
|
||||
|
||||
#define DFU_ALT_INFO \
|
||||
DFU_ALT_INFO_RAM
|
||||
@@ -99,10 +101,11 @@
|
||||
#define CONFIG_CLOCKS
|
||||
|
||||
#define ENV_MEM_LAYOUT_SETTINGS \
|
||||
"fdt_high=10000000\0" \
|
||||
"fdt_addr_r=0x40000000\0" \
|
||||
"fdt_size_r=0x400000\0" \
|
||||
"pxefile_addr_r=0x10000000\0" \
|
||||
"kernel_addr_r=0x18000000\0" \
|
||||
"kernel_size_r=0x10000000\0" \
|
||||
"scriptaddr=0x20000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" \
|
||||
"script_size_f=0x80000\0" \
|
||||
|
||||
@@ -13,6 +13,6 @@
|
||||
#include <configs/xilinx_zynqmp_mini.h>
|
||||
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + 0x20000)
|
||||
#define CONFIG_SYS_MALLOC_LEN 0x2000
|
||||
#define CONFIG_SYS_MALLOC_LEN 0x1a00
|
||||
|
||||
#endif /* __CONFIG_ZYNQMP_MINI_QSPI_H */
|
||||
|
||||
@@ -196,7 +196,6 @@
|
||||
/* Default environment */
|
||||
#ifndef CONFIG_EXTRA_ENV_SETTINGS
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"fdt_high=0x20000000\0" \
|
||||
"scriptaddr=0x20000\0" \
|
||||
"script_size_f=0x40000\0" \
|
||||
"fdt_addr_r=0x1f00000\0" \
|
||||
|
||||
@@ -926,6 +926,23 @@ int fdtdec_decode_display_timing(const void *blob, int node, int index,
|
||||
*/
|
||||
int fdtdec_setup_mem_size_base(void);
|
||||
|
||||
/**
|
||||
* fdtdec_setup_mem_size_base_lowest() - decode and setup gd->ram_size and
|
||||
* gd->ram_start by lowest available memory base
|
||||
*
|
||||
* Decode the /memory 'reg' property to determine the lowest start of the memory
|
||||
* bank bank and populate the global data with it.
|
||||
*
|
||||
* This function should be called from a boards dram_init(). This helper
|
||||
* function allows for boards to query the device tree for DRAM size and start
|
||||
* address instead of hard coding the value in the case where the memory size
|
||||
* and start address cannot be detected automatically.
|
||||
*
|
||||
* @return 0 if OK, -EINVAL if the /memory node or reg property is missing or
|
||||
* invalid
|
||||
*/
|
||||
int fdtdec_setup_mem_size_base_lowest(void);
|
||||
|
||||
/**
|
||||
* fdtdec_setup_memory_banksize() - decode and populate gd->bd->bi_dram
|
||||
*
|
||||
|
||||
@@ -62,6 +62,23 @@ enum pm_api_id {
|
||||
PM_API_MAX,
|
||||
};
|
||||
|
||||
enum pm_query_id {
|
||||
PM_QID_INVALID = 0,
|
||||
PM_QID_CLOCK_GET_NAME = 1,
|
||||
PM_QID_CLOCK_GET_TOPOLOGY = 2,
|
||||
PM_QID_CLOCK_GET_FIXEDFACTOR_PARAMS = 3,
|
||||
PM_QID_CLOCK_GET_PARENTS = 4,
|
||||
PM_QID_CLOCK_GET_ATTRIBUTES = 5,
|
||||
PM_QID_PINCTRL_GET_NUM_PINS = 6,
|
||||
PM_QID_PINCTRL_GET_NUM_FUNCTIONS = 7,
|
||||
PM_QID_PINCTRL_GET_NUM_FUNCTION_GROUPS = 8,
|
||||
PM_QID_PINCTRL_GET_FUNCTION_NAME = 9,
|
||||
PM_QID_PINCTRL_GET_FUNCTION_GROUPS = 10,
|
||||
PM_QID_PINCTRL_GET_PIN_GROUPS = 11,
|
||||
PM_QID_CLOCK_GET_NUM_CLOCKS = 12,
|
||||
PM_QID_CLOCK_GET_MAX_DIVISOR = 13,
|
||||
};
|
||||
|
||||
#define PM_SIP_SVC 0xc2000000
|
||||
|
||||
#define ZYNQMP_PM_VERSION_MAJOR 1
|
||||
@@ -77,6 +94,15 @@ enum pm_api_id {
|
||||
|
||||
#define PMUFW_V1_0 ((1 << ZYNQMP_PM_VERSION_MAJOR_SHIFT) | 0)
|
||||
|
||||
/*
|
||||
* Return payload size
|
||||
* Not every firmware call expects the same amount of return bytes, however the
|
||||
* firmware driver always copies 5 bytes from RX buffer to the ret_payload
|
||||
* buffer. Therefore allocating with this defined value is recommended to avoid
|
||||
* overflows.
|
||||
*/
|
||||
#define PAYLOAD_ARG_CNT 5U
|
||||
|
||||
unsigned int zynqmp_firmware_version(void);
|
||||
void zynqmp_pmufw_load_config_object(const void *cfg_obj, size_t size);
|
||||
int xilinx_pm_request(u32 api_id, u32 arg0, u32 arg1, u32 arg2,
|
||||
|
||||
Reference in New Issue
Block a user