Xilinx changes for v2021.04

arm64:
- DT updates

microblaze:
- Add support for NOR device support

spi:
- Fix unaligned data write issue

nand:
- Minor code change

xilinx:
- Fru fix in limit calculation
- Fill git repo link for all Xilinx boards

video:
- Add support for seps525 spi display

tools:
- Minor Vitis file support

cmd/common
- Minor code indentation fixes

serial:
- Uartlite debug uart initialization fix
This commit is contained in:
Tom Rini
2021-01-06 07:57:33 -05:00
25 changed files with 540 additions and 80 deletions

View File

@@ -81,6 +81,20 @@
# define BOOT_TARGET_DEVICES_QSPI(func)
#endif
#if defined(CONFIG_MTD_NOR_FLASH)
# define BOOT_TARGET_DEVICES_NOR(func) func(NOR, nor, na)
#else
# define BOOT_TARGET_DEVICES_NOR(func)
#endif
#define BOOTENV_DEV_NOR(devtypeu, devtypel, instance) \
"bootcmd_nor=cp.b ${script_offset_nor} ${scriptaddr} ${script_size_f} && " \
"echo NOR: Trying to boot script at ${scriptaddr} && " \
"source ${scriptaddr}; echo NOR: SCRIPT FAILED: continuing...;\0"
#define BOOTENV_DEV_NAME_NOR(devtypeu, devtypel, instance) \
"nor "
#define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
"bootcmd_qspi=sf probe 0 0 0 && " \
"sf read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \
@@ -101,7 +115,8 @@
#define BOOT_TARGET_DEVICES(func) \
BOOT_TARGET_DEVICES_JTAG(func) \
BOOT_TARGET_DEVICES_QSPI(func) \
BOOT_TARGET_DEVICES_QSPI(func) \
BOOT_TARGET_DEVICES_NOR(func) \
BOOT_TARGET_DEVICES_DHCP(func) \
BOOT_TARGET_DEVICES_PXE(func)

View File

@@ -114,8 +114,16 @@ struct video_priv {
u8 bg_col_idx;
};
/* Placeholder - there are no video operations at present */
/**
* struct video_ops - structure for keeping video operations
* @video_sync: Synchronize FB with device. Some device like SPI based LCD
* displays needs synchronization when data in an FB is available.
* For these devices implement video_sync hook to call a sync
* function. vid is pointer to video device udevice. Function
* should return 0 on success video_sync and error code otherwise
*/
struct video_ops {
int (*video_sync)(struct udevice *vid);
};
#define video_get_ops(dev) ((struct video_ops *)(dev)->driver->ops)
@@ -151,15 +159,17 @@ int video_clear(struct udevice *dev);
/**
* video_sync() - Sync a device's frame buffer with its hardware
*
* @vid: Device to sync
* @force: True to force a sync even if there was one recently (this is
* very expensive on sandbox)
*
* @return: 0 on success, error code otherwise
*
* Some frame buffers are cached or have a secondary frame buffer. This
* function syncs these up so that the current contents of the U-Boot frame
* buffer are displayed to the user.
*
* @dev: Device to sync
* @force: True to force a sync even if there was one recently (this is
* very expensive on sandbox)
*/
void video_sync(struct udevice *vid, bool force);
int video_sync(struct udevice *vid, bool force);
/**
* video_sync_all() - Sync all devices' frame buffers with there hardware