diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/nand/raw/nand_spl_loaders.c | 28 | ||||
-rw-r--r-- | drivers/tpm/tpm2_tis_spi.c | 2 | ||||
-rw-r--r-- | drivers/tpm/tpm_tis.h | 2 |
3 files changed, 31 insertions, 1 deletions
diff --git a/drivers/mtd/nand/raw/nand_spl_loaders.c b/drivers/mtd/nand/raw/nand_spl_loaders.c index 177c12b581..4befc75c04 100644 --- a/drivers/mtd/nand/raw/nand_spl_loaders.c +++ b/drivers/mtd/nand/raw/nand_spl_loaders.c @@ -41,6 +41,34 @@ int nand_spl_load_image(uint32_t offs, unsigned int size, void *dst) return 0; } +/** + * nand_spl_adjust_offset - Adjust offset from a starting sector + * @sector: Address of the sector + * @offs: Offset starting from @sector + * + * If one or more bad blocks are in the address space between @sector + * and @sector + @offs, @offs is increased by the NAND block size for + * each bad block found. + */ +u32 nand_spl_adjust_offset(u32 sector, u32 offs) +{ + unsigned int block, lastblock; + + block = sector / CONFIG_SYS_NAND_BLOCK_SIZE; + lastblock = (sector + offs) / CONFIG_SYS_NAND_BLOCK_SIZE; + + while (block <= lastblock) { + if (nand_is_bad_block(block)) { + offs += CONFIG_SYS_NAND_BLOCK_SIZE; + lastblock++; + } + + block++; + } + + return offs; +} + #ifdef CONFIG_SPL_UBI /* * Temporary storage for non NAND page aligned and non NAND page sized diff --git a/drivers/tpm/tpm2_tis_spi.c b/drivers/tpm/tpm2_tis_spi.c index 36016de4a6..9a8145e6ba 100644 --- a/drivers/tpm/tpm2_tis_spi.c +++ b/drivers/tpm/tpm2_tis_spi.c @@ -676,7 +676,7 @@ static const struct tpm_tis_chip_data tpm_tis_std_chip_data = { static const struct udevice_id tpm_tis_spi_ids[] = { { - .compatible = "tis,tpm2-spi", + .compatible = "tcg,tpm_tis-spi", .data = (ulong)&tpm_tis_std_chip_data, }, { } diff --git a/drivers/tpm/tpm_tis.h b/drivers/tpm/tpm_tis.h index 947585f8e3..2a160fe05c 100644 --- a/drivers/tpm/tpm_tis.h +++ b/drivers/tpm/tpm_tis.h @@ -104,6 +104,7 @@ struct tpm_cmd_t { /* Max number of iterations after i2c NAK */ #define MAX_COUNT 3 +#ifndef __TPM_V2_H /* * Max number of iterations after i2c NAK for 'long' commands * @@ -127,5 +128,6 @@ enum tis_status { TPM_STS_DATA_AVAIL = 0x10, TPM_STS_DATA_EXPECT = 0x08, }; +#endif #endif |