mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-15 09:27:35 +00:00
Xilinx changes for v2021.01-rc3
Microblaze: - Enable GC - Get rid of xparameters.h and switch to DT for CFI - Fix config file tpm: - Fix TPM code zynqmp: - Enable TPM by default - Remove unused macros fru: - Several fixes especially use limit for recording -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCX7eTAAAKCRDKSWXLKUoM IQ/nAJ41sZwLDKsq2r6OhCYEv6Y9za0bUQCfTOhMt4+LPv4h4Og8pAlAg4Pwb7w= =URLE -----END PGP SIGNATURE----- Merge tag 'xilinx-for-v2021.01-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2021.01-rc3 Microblaze: - Enable GC - Get rid of xparameters.h and switch to DT for CFI - Fix config file tpm: - Fix TPM code zynqmp: - Enable TPM by default - Remove unused macros fru: - Several fixes especially use limit for recording
This commit is contained in:
commit
5b8991c667
11 changed files with 35 additions and 110 deletions
|
@ -134,7 +134,8 @@ struct apu_regs {
|
||||||
struct csu_regs {
|
struct csu_regs {
|
||||||
u32 reserved0[4];
|
u32 reserved0[4];
|
||||||
u32 multi_boot;
|
u32 multi_boot;
|
||||||
u32 reserved1[12];
|
u32 reserved1[11];
|
||||||
|
u32 idcode;
|
||||||
u32 version;
|
u32 version;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -149,7 +150,4 @@ struct pmu_regs {
|
||||||
|
|
||||||
#define pmu_base ((struct pmu_regs *)ZYNQMP_PMU_BASEADDR)
|
#define pmu_base ((struct pmu_regs *)ZYNQMP_PMU_BASEADDR)
|
||||||
|
|
||||||
#define ZYNQMP_CSU_IDCODE_ADDR 0xFFCA0040
|
|
||||||
#define ZYNQMP_CSU_VER_ADDR 0xFFCA0044
|
|
||||||
|
|
||||||
#endif /* _ASM_ARCH_HARDWARE_H */
|
#endif /* _ASM_ARCH_HARDWARE_H */
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
|
PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
|
||||||
|
PLATFORM_CPPFLAGS += -fdata-sections -ffunction-sections
|
||||||
|
|
||||||
|
LDFLAGS_FINAL += --gc-sections
|
||||||
|
|
||||||
ifeq ($(CONFIG_SPL_BUILD),)
|
ifeq ($(CONFIG_SPL_BUILD),)
|
||||||
PLATFORM_CPPFLAGS += -fPIC
|
PLATFORM_CPPFLAGS += -fPIC
|
||||||
|
|
|
@ -14,7 +14,7 @@ SECTIONS
|
||||||
{
|
{
|
||||||
__text_start = .;
|
__text_start = .;
|
||||||
arch/microblaze/cpu/start.o (.text)
|
arch/microblaze/cpu/start.o (.text)
|
||||||
*(.text)
|
*(.text*)
|
||||||
__text_end = .;
|
__text_end = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ SECTIONS
|
||||||
.data ALIGN(0x4):
|
.data ALIGN(0x4):
|
||||||
{
|
{
|
||||||
__data_start = .;
|
__data_start = .;
|
||||||
*(.data)
|
*(.data*)
|
||||||
__data_end = .;
|
__data_end = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ SECTIONS
|
||||||
__bss_start = .;
|
__bss_start = .;
|
||||||
*(.sbss)
|
*(.sbss)
|
||||||
*(.scommon)
|
*(.scommon)
|
||||||
*(.bss)
|
*(.bss*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__bss_end = .;
|
__bss_end = .;
|
||||||
|
|
|
@ -50,12 +50,16 @@ struct fru_board_data {
|
||||||
/* Xilinx custom fields */
|
/* Xilinx custom fields */
|
||||||
u8 rev_type_len;
|
u8 rev_type_len;
|
||||||
u8 rev[FRU_BOARD_MAX_LEN];
|
u8 rev[FRU_BOARD_MAX_LEN];
|
||||||
|
u8 pcie_type_len;
|
||||||
|
u8 pcie[FRU_BOARD_MAX_LEN];
|
||||||
|
u8 uuid_type_len;
|
||||||
|
u8 uuid[FRU_BOARD_MAX_LEN];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct fru_table {
|
struct fru_table {
|
||||||
bool captured;
|
|
||||||
struct fru_common_hdr hdr;
|
struct fru_common_hdr hdr;
|
||||||
struct fru_board_data brd;
|
struct fru_board_data brd;
|
||||||
|
bool captured;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FRU_TYPELEN_CODE_MASK 0xC0
|
#define FRU_TYPELEN_CODE_MASK 0xC0
|
||||||
|
|
|
@ -163,12 +163,15 @@ static int fru_parse_board(unsigned long addr)
|
||||||
{
|
{
|
||||||
u8 i, type;
|
u8 i, type;
|
||||||
int len;
|
int len;
|
||||||
u8 *data, *term;
|
u8 *data, *term, *limit;
|
||||||
|
|
||||||
memcpy(&fru_data.brd.ver, (void *)addr, 6);
|
memcpy(&fru_data.brd.ver, (void *)addr, 6);
|
||||||
addr += 6;
|
addr += 6;
|
||||||
data = (u8 *)&fru_data.brd.manufacturer_type_len;
|
data = (u8 *)&fru_data.brd.manufacturer_type_len;
|
||||||
|
|
||||||
|
/* Record max structure limit not to write data over allocated space */
|
||||||
|
limit = data + sizeof(struct fru_board_data);
|
||||||
|
|
||||||
for (i = 0; ; i++, data += FRU_BOARD_MAX_LEN) {
|
for (i = 0; ; i++, data += FRU_BOARD_MAX_LEN) {
|
||||||
len = fru_check_type_len(*(u8 *)addr, fru_data.brd.lang_code,
|
len = fru_check_type_len(*(u8 *)addr, fru_data.brd.lang_code,
|
||||||
&type);
|
&type);
|
||||||
|
@ -178,6 +181,9 @@ static int fru_parse_board(unsigned long addr)
|
||||||
if (len == -EINVAL)
|
if (len == -EINVAL)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* Stop when amount of chars is more then fields to record */
|
||||||
|
if (data + len > limit)
|
||||||
|
break;
|
||||||
/* This record type/len field */
|
/* This record type/len field */
|
||||||
*data++ = *(u8 *)addr;
|
*data++ = *(u8 *)addr;
|
||||||
|
|
||||||
|
@ -217,7 +223,7 @@ int fru_capture(unsigned long addr)
|
||||||
|
|
||||||
hdr = (struct fru_common_hdr *)addr;
|
hdr = (struct fru_common_hdr *)addr;
|
||||||
|
|
||||||
memcpy((void *)&fru_data.hdr, (void *)hdr,
|
memcpy((void *)&fru_data, (void *)hdr,
|
||||||
sizeof(struct fru_common_hdr));
|
sizeof(struct fru_common_hdr));
|
||||||
|
|
||||||
fru_data.captured = true;
|
fru_data.captured = true;
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
||||||
/*
|
|
||||||
* (C) Copyright 2007 Michal Simek
|
|
||||||
*
|
|
||||||
* Michal SIMEK <monstr@monstr.eu>
|
|
||||||
*
|
|
||||||
* CAUTION: This file is a faked configuration !!!
|
|
||||||
* There is no real target for the microblaze-generic
|
|
||||||
* configuration. You have to replace this file with
|
|
||||||
* the generated file from your Xilinx design flow.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Microblaze is microblaze_0 */
|
|
||||||
#define XILINX_FSL_NUMBER 3
|
|
||||||
|
|
||||||
/* Flash Memory is FLASH_2Mx32 */
|
|
||||||
#define XILINX_FLASH_START 0x2c000000
|
|
||||||
#define XILINX_FLASH_SIZE 0x00800000
|
|
|
@ -48,8 +48,10 @@ CONFIG_DM_I2C=y
|
||||||
CONFIG_LED=y
|
CONFIG_LED=y
|
||||||
CONFIG_LED_GPIO=y
|
CONFIG_LED_GPIO=y
|
||||||
CONFIG_MTD=y
|
CONFIG_MTD=y
|
||||||
|
CONFIG_DM_MTD=y
|
||||||
CONFIG_MTD_NOR_FLASH=y
|
CONFIG_MTD_NOR_FLASH=y
|
||||||
CONFIG_FLASH_CFI_DRIVER=y
|
CONFIG_FLASH_CFI_DRIVER=y
|
||||||
|
CONFIG_CFI_FLASH=y
|
||||||
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
|
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
|
||||||
CONFIG_FLASH_CFI_MTD=y
|
CONFIG_FLASH_CFI_MTD=y
|
||||||
CONFIG_SYS_FLASH_PROTECTION=y
|
CONFIG_SYS_FLASH_PROTECTION=y
|
||||||
|
|
|
@ -57,6 +57,7 @@ CONFIG_CMD_TFTPPUT=y
|
||||||
CONFIG_CMD_CACHE=y
|
CONFIG_CMD_CACHE=y
|
||||||
CONFIG_CMD_TIME=y
|
CONFIG_CMD_TIME=y
|
||||||
CONFIG_CMD_TIMER=y
|
CONFIG_CMD_TIMER=y
|
||||||
|
CONFIG_CMD_TPM=y
|
||||||
CONFIG_CMD_EXT4_WRITE=y
|
CONFIG_CMD_EXT4_WRITE=y
|
||||||
CONFIG_CMD_MTDPARTS=y
|
CONFIG_CMD_MTDPARTS=y
|
||||||
CONFIG_CMD_MTDPARTS_SPREAD=y
|
CONFIG_CMD_MTDPARTS_SPREAD=y
|
||||||
|
@ -137,6 +138,7 @@ CONFIG_ZYNQ_SERIAL=y
|
||||||
CONFIG_SPI=y
|
CONFIG_SPI=y
|
||||||
CONFIG_ZYNQ_SPI=y
|
CONFIG_ZYNQ_SPI=y
|
||||||
CONFIG_ZYNQMP_GQSPI=y
|
CONFIG_ZYNQMP_GQSPI=y
|
||||||
|
CONFIG_TPM2_TIS_SPI=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
CONFIG_USB_XHCI_DWC3=y
|
CONFIG_USB_XHCI_DWC3=y
|
||||||
|
@ -156,5 +158,6 @@ CONFIG_USB_ETHER_ASIX=y
|
||||||
CONFIG_WDT=y
|
CONFIG_WDT=y
|
||||||
CONFIG_WDT_CDNS=y
|
CONFIG_WDT_CDNS=y
|
||||||
CONFIG_PANIC_HANG=y
|
CONFIG_PANIC_HANG=y
|
||||||
|
CONFIG_TPM=y
|
||||||
CONFIG_SPL_GZIP=y
|
CONFIG_SPL_GZIP=y
|
||||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||||
|
|
|
@ -30,8 +30,6 @@
|
||||||
#include "tpm_tis.h"
|
#include "tpm_tis.h"
|
||||||
#include "tpm_internal.h"
|
#include "tpm_internal.h"
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
|
||||||
|
|
||||||
#define TPM_ACCESS(l) (0x0000 | ((l) << 12))
|
#define TPM_ACCESS(l) (0x0000 | ((l) << 12))
|
||||||
#define TPM_INT_ENABLE(l) (0x0008 | ((l) << 12))
|
#define TPM_INT_ENABLE(l) (0x0008 | ((l) << 12))
|
||||||
#define TPM_STS(l) (0x0018 | ((l) << 12))
|
#define TPM_STS(l) (0x0018 | ((l) << 12))
|
||||||
|
@ -520,7 +518,6 @@ static int tpm_tis_spi_cleanup(struct udevice *dev)
|
||||||
static int tpm_tis_spi_open(struct udevice *dev)
|
static int tpm_tis_spi_open(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct tpm_chip *chip = dev_get_priv(dev);
|
struct tpm_chip *chip = dev_get_priv(dev);
|
||||||
struct tpm_chip_priv *priv = dev_get_uclass_priv(dev);
|
|
||||||
|
|
||||||
if (chip->is_open)
|
if (chip->is_open)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
|
@ -8,24 +8,14 @@
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
#define __CONFIG_H
|
#define __CONFIG_H
|
||||||
|
|
||||||
#include "../board/xilinx/microblaze-generic/xparameters.h"
|
/* Microblaze is microblaze_0 */
|
||||||
|
#define XILINX_FSL_NUMBER 3
|
||||||
|
|
||||||
/* MicroBlaze CPU */
|
/* MicroBlaze CPU */
|
||||||
#define MICROBLAZE_V5 1
|
#define MICROBLAZE_V5 1
|
||||||
|
|
||||||
#define CONFIG_SYS_BOOTM_LEN (64 * 1024 * 1024)
|
#define CONFIG_SYS_BOOTM_LEN (64 * 1024 * 1024)
|
||||||
|
|
||||||
/* linear and spi flash memory */
|
|
||||||
#ifdef XILINX_FLASH_START
|
|
||||||
#define FLASH
|
|
||||||
#undef SPIFLASH
|
|
||||||
#undef RAMENV /* hold environment in flash */
|
|
||||||
#else
|
|
||||||
#undef FLASH
|
|
||||||
#undef SPIFLASH
|
|
||||||
#define RAMENV /* hold environment in RAM */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* uart */
|
/* uart */
|
||||||
/* The following table includes the supported baudrates */
|
/* The following table includes the supported baudrates */
|
||||||
# define CONFIG_SYS_BAUDRATE_TABLE \
|
# define CONFIG_SYS_BAUDRATE_TABLE \
|
||||||
|
@ -40,67 +30,17 @@
|
||||||
#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_TEXT_BASE - \
|
#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_TEXT_BASE - \
|
||||||
CONFIG_SYS_MALLOC_F_LEN)
|
CONFIG_SYS_MALLOC_F_LEN)
|
||||||
|
|
||||||
/*
|
#ifdef CONFIG_CFI_FLASH
|
||||||
* CFI flash memory layout - Example
|
|
||||||
* CONFIG_SYS_FLASH_BASE = 0x2200_0000;
|
|
||||||
* CONFIG_SYS_FLASH_SIZE = 0x0080_0000; 8MB
|
|
||||||
*
|
|
||||||
* SECT_SIZE = 0x20000; 128kB is one sector
|
|
||||||
* CONFIG_ENV_SIZE = SECT_SIZE; 128kB environment store
|
|
||||||
*
|
|
||||||
* 0x2200_0000 CONFIG_SYS_FLASH_BASE
|
|
||||||
* FREE 256kB
|
|
||||||
* 0x2204_0000 CONFIG_ENV_ADDR
|
|
||||||
* ENV_AREA 128kB
|
|
||||||
* 0x2206_0000
|
|
||||||
* FREE
|
|
||||||
* 0x2280_0000 CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef FLASH
|
|
||||||
# define CONFIG_SYS_FLASH_BASE XILINX_FLASH_START
|
|
||||||
# define CONFIG_SYS_FLASH_SIZE XILINX_FLASH_SIZE
|
|
||||||
/* ?empty sector */
|
/* ?empty sector */
|
||||||
# define CONFIG_SYS_FLASH_EMPTY_INFO 1
|
# define CONFIG_SYS_FLASH_EMPTY_INFO 1
|
||||||
/* max number of memory banks */
|
/* max number of memory banks */
|
||||||
# define CONFIG_SYS_MAX_FLASH_BANKS 1
|
# define CONFIG_SYS_MAX_FLASH_BANKS 1
|
||||||
/* max number of sectors on one chip */
|
/* max number of sectors on one chip */
|
||||||
# define CONFIG_SYS_MAX_FLASH_SECT 512
|
# define CONFIG_SYS_MAX_FLASH_SECT 2048
|
||||||
/* hardware flash protection */
|
|
||||||
/* use buffered writes (20x faster) */
|
|
||||||
# ifdef RAMENV
|
|
||||||
# else /* FLASH && !RAMENV */
|
|
||||||
/* 128K(one sector) for env */
|
|
||||||
# endif /* FLASH && !RAMBOOT */
|
|
||||||
#else /* !FLASH */
|
|
||||||
|
|
||||||
#ifdef SPIFLASH
|
|
||||||
# ifdef RAMENV
|
|
||||||
# else /* SPIFLASH && !RAMENV */
|
|
||||||
/* 128K(two sectors) for env */
|
|
||||||
/* Warning: adjust the offset in respect of other flash content and size */
|
|
||||||
# endif /* SPIFLASH && !RAMBOOT */
|
|
||||||
#else /* !SPIFLASH */
|
|
||||||
|
|
||||||
/* ENV in RAM */
|
|
||||||
#endif /* !SPIFLASH */
|
|
||||||
#endif /* !FLASH */
|
|
||||||
|
|
||||||
#define XILINX_USE_ICACHE 1
|
|
||||||
#define XILINX_USE_DCACHE 1
|
|
||||||
|
|
||||||
#if defined(XILINX_USE_ICACHE)
|
|
||||||
# define CONFIG_ICACHE
|
|
||||||
#else
|
|
||||||
# undef CONFIG_ICACHE
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(XILINX_USE_DCACHE)
|
#define CONFIG_ICACHE
|
||||||
# define CONFIG_DCACHE
|
#define CONFIG_DCACHE
|
||||||
#else
|
|
||||||
# undef CONFIG_DCACHE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef XILINX_DCACHE_BYTE_SIZE
|
#ifndef XILINX_DCACHE_BYTE_SIZE
|
||||||
#define XILINX_DCACHE_BYTE_SIZE 32768
|
#define XILINX_DCACHE_BYTE_SIZE 32768
|
||||||
|
@ -111,12 +51,6 @@
|
||||||
*/
|
*/
|
||||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||||
|
|
||||||
#if defined(CONFIG_MTD_PARTITIONS)
|
|
||||||
/* MTD partitions */
|
|
||||||
|
|
||||||
/* default mtd partition table */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* size of console buffer */
|
/* size of console buffer */
|
||||||
#define CONFIG_SYS_CBSIZE 512
|
#define CONFIG_SYS_CBSIZE 512
|
||||||
/* max number of command args */
|
/* max number of command args */
|
||||||
|
@ -194,15 +128,12 @@
|
||||||
|
|
||||||
/* SPL part */
|
/* SPL part */
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_FLASH_BASE
|
#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE
|
||||||
# define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_FLASH_BASE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* for booting directly linux */
|
/* for booting directly linux */
|
||||||
|
#define CONFIG_SYS_FDT_BASE (CONFIG_SYS_TEXT_BASE + \
|
||||||
|
0x40000)
|
||||||
|
|
||||||
#define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + \
|
|
||||||
0x40000)
|
|
||||||
#define CONFIG_SYS_FDT_SIZE (16 << 10)
|
|
||||||
#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_TEXT_BASE + \
|
#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_TEXT_BASE + \
|
||||||
0x1000000)
|
0x1000000)
|
||||||
|
|
||||||
|
|
|
@ -2170,7 +2170,6 @@ CONFIG_SYS_FCC_PSMR
|
||||||
CONFIG_SYS_FDT_BASE
|
CONFIG_SYS_FDT_BASE
|
||||||
CONFIG_SYS_FDT_LOAD_ADDR
|
CONFIG_SYS_FDT_LOAD_ADDR
|
||||||
CONFIG_SYS_FDT_PAD
|
CONFIG_SYS_FDT_PAD
|
||||||
CONFIG_SYS_FDT_SIZE
|
|
||||||
CONFIG_SYS_FEC0_IOBASE
|
CONFIG_SYS_FEC0_IOBASE
|
||||||
CONFIG_SYS_FEC1_IOBASE
|
CONFIG_SYS_FEC1_IOBASE
|
||||||
CONFIG_SYS_FECI2C
|
CONFIG_SYS_FECI2C
|
||||||
|
|
Loading…
Reference in a new issue