mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-02 17:40:41 +09:00
Merge branch '2019-08-20-master-imports'
- Assorted bugfixes
This commit is contained in:
commit
1e60ccd943
8
.mailmap
8
.mailmap
@ -4,10 +4,18 @@
|
||||
# and/or not always written the same way, making contributions from the
|
||||
# same person appearing not to be so or badly displayed.
|
||||
#
|
||||
# This file is also used by scripts/get_maintainer.pl.
|
||||
#
|
||||
# This file can be modified by hand or updated by the following command:
|
||||
# scripts/mailmapper > tmp; mv tmp .mailmap
|
||||
#
|
||||
# Entries in this file take one of the following forms:
|
||||
# Proper Name <commit@email.xx>
|
||||
# <proper@email.xx> <commit@email.xx>
|
||||
# Proper Name <proper@email.xx> <commit@email.xx>
|
||||
# Proper Name <proper@email.xx> Commit Name <commit@email.xx>
|
||||
|
||||
Alexander Graf <agraf@csgraf.de> <agraf@suse.de>
|
||||
Allen Martin <amartin@nvidia.com>
|
||||
Andreas Bießmann <andreas.devel@googlemail.com>
|
||||
Andreas Bießmann <andreas@biessmann.org>
|
||||
|
7
README
7
README
@ -267,6 +267,13 @@ board_init_f():
|
||||
- preloader_console_init() can be called here in extremis
|
||||
- should set up SDRAM, and anything needed to make the UART work
|
||||
- these is no need to clear BSS, it will be done by crt0.S
|
||||
- for specific scenarios on certain architectures an early BSS *can*
|
||||
be made available (via CONFIG_SPL_EARLY_BSS by moving the clearing
|
||||
of BSS prior to entering board_init_f()) but doing so is discouraged.
|
||||
Instead it is strongly recommended to architect any code changes
|
||||
or additions such to not depend on the availability of BSS during
|
||||
board_init_f() as indicated in other sections of this README to
|
||||
maintain compatibility and consistency across the entire code base.
|
||||
- must return normally from this function (don't call board_init_r()
|
||||
directly)
|
||||
|
||||
|
@ -1393,9 +1393,19 @@ static const struct msdc_compatible mt8516_compat = {
|
||||
.stop_clk_fix = true,
|
||||
};
|
||||
|
||||
static const struct msdc_compatible mt8183_compat = {
|
||||
.clk_div_bits = 12,
|
||||
.pad_tune0 = true,
|
||||
.async_fifo = true,
|
||||
.data_tune = true,
|
||||
.busy_check = true,
|
||||
.stop_clk_fix = true,
|
||||
};
|
||||
|
||||
static const struct udevice_id msdc_ids[] = {
|
||||
{ .compatible = "mediatek,mt7623-mmc", .data = (ulong)&mt7623_compat },
|
||||
{ .compatible = "mediatek,mt8516-mmc", .data = (ulong)&mt8516_compat },
|
||||
{ .compatible = "mediatek,mt8183-mmc", .data = (ulong)&mt8183_compat },
|
||||
{}
|
||||
};
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,133 +0,0 @@
|
||||
#ifndef jffs2_private_h
|
||||
#define jffs2_private_h
|
||||
|
||||
#include <jffs2/jffs2.h>
|
||||
|
||||
struct b_node {
|
||||
struct b_node *next;
|
||||
};
|
||||
|
||||
struct b_inode {
|
||||
struct b_inode *next;
|
||||
u32 offset; /* physical offset to beginning of real inode */
|
||||
u32 version;
|
||||
u32 ino;
|
||||
u32 isize;
|
||||
u32 csize;
|
||||
};
|
||||
|
||||
struct b_dirent {
|
||||
struct b_dirent *next;
|
||||
u32 offset; /* physical offset to beginning of real dirent */
|
||||
u32 version;
|
||||
u32 pino;
|
||||
u32 ino;
|
||||
unsigned int nhash;
|
||||
unsigned char nsize;
|
||||
unsigned char type;
|
||||
};
|
||||
|
||||
struct b_list {
|
||||
struct b_node *listTail;
|
||||
struct b_node *listHead;
|
||||
unsigned int listCount;
|
||||
struct mem_block *listMemBase;
|
||||
};
|
||||
|
||||
struct b_lists {
|
||||
char *partOffset;
|
||||
struct b_list dir;
|
||||
struct b_list frag;
|
||||
};
|
||||
|
||||
struct b_compr_info {
|
||||
u32 num_frags;
|
||||
u32 compr_sum;
|
||||
u32 decompr_sum;
|
||||
};
|
||||
|
||||
struct b_jffs2_info {
|
||||
struct b_compr_info compr_info[JFFS2_NUM_COMPR];
|
||||
};
|
||||
|
||||
static inline int
|
||||
hdr_crc(struct jffs2_unknown_node *node)
|
||||
{
|
||||
#if 1
|
||||
u32 crc = crc32_no_comp(0, (unsigned char *)node, sizeof(struct jffs2_unknown_node) - 4);
|
||||
#else
|
||||
/* what's the semantics of this? why is this here? */
|
||||
u32 crc = crc32_no_comp(~0, (unsigned char *)node, sizeof(struct jffs2_unknown_node) - 4);
|
||||
|
||||
crc ^= ~0;
|
||||
#endif
|
||||
if (node->hdr_crc != crc) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
static inline int
|
||||
dirent_crc(struct jffs2_raw_dirent *node)
|
||||
{
|
||||
if (node->node_crc != crc32_no_comp(0, (unsigned char *)node, sizeof(struct jffs2_raw_dirent) - 8)) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
static inline int
|
||||
dirent_name_crc(struct jffs2_raw_dirent *node)
|
||||
{
|
||||
if (node->name_crc != crc32_no_comp(0, (unsigned char *)&(node->name), node->nsize)) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
static inline int
|
||||
inode_crc(struct jffs2_raw_inode *node)
|
||||
{
|
||||
if (node->node_crc != crc32_no_comp(0, (unsigned char *)node, sizeof(struct jffs2_raw_inode) - 8)) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Borrowed from include/linux/dcache.h */
|
||||
|
||||
/* Name hashing routines. Initial hash value */
|
||||
/* Hash courtesy of the R5 hash in reiserfs modulo sign bits */
|
||||
#define init_name_hash() 0
|
||||
|
||||
/* partial hash update function. Assume roughly 4 bits per character */
|
||||
static inline unsigned long
|
||||
partial_name_hash(unsigned long c, unsigned long prevhash)
|
||||
{
|
||||
return (prevhash + (c << 4) + (c >> 4)) * 11;
|
||||
}
|
||||
|
||||
/*
|
||||
* Finally: cut down the number of bits to a int value (and try to avoid
|
||||
* losing bits)
|
||||
*/
|
||||
static inline unsigned long end_name_hash(unsigned long hash)
|
||||
{
|
||||
return (unsigned int) hash;
|
||||
}
|
||||
|
||||
/* Compute the hash for a name string. */
|
||||
static inline unsigned int
|
||||
full_name_hash(const unsigned char *name, unsigned int len)
|
||||
{
|
||||
unsigned long hash = init_name_hash();
|
||||
while (len--)
|
||||
hash = partial_name_hash(*name++, hash);
|
||||
return end_name_hash(hash);
|
||||
}
|
||||
|
||||
#endif /* jffs2_private.h */
|
@ -35,7 +35,7 @@ env__mmc_wr_configs = (
|
||||
|
||||
"""
|
||||
|
||||
@pytest.mark.buildconfigspec('cmd_mmc','cmd_random')
|
||||
@pytest.mark.buildconfigspec('cmd_mmc','cmd_memory', 'cmd_random')
|
||||
def test_mmc_wr(u_boot_console, env__mmc_wr_config):
|
||||
"""Test the "mmc write" command.
|
||||
|
||||
|
@ -450,7 +450,8 @@ int image_save_header (image_t * image, char *filename, char *varname)
|
||||
|
||||
default:
|
||||
strcpy (app, str);
|
||||
sprintf (str, "%s, 0x%02x", app, *dataptr++);
|
||||
sprintf(str, "%.*s, 0x%02x", (int)sizeof(str) - 7, app,
|
||||
*dataptr++);
|
||||
col++;
|
||||
count--;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user