diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/firmware/psci.c | 7 | ||||
-rw-r--r-- | drivers/mtd/cfi_flash.c | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c index 451fbdebba..cef8adc817 100644 --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c @@ -13,6 +13,7 @@ #include <libfdt.h> #include <linux/arm-smccc.h> #include <linux/errno.h> +#include <linux/printk.h> #include <linux/psci.h> psci_fn *invoke_psci_fn; @@ -48,7 +49,7 @@ static int psci_bind(struct udevice *dev) ret = device_bind_driver(dev, "psci-sysreset", "psci-sysreset", NULL); if (ret) - debug("PSCI System Reset was not bound.\n"); + pr_debug("PSCI System Reset was not bound.\n"); } return 0; @@ -62,7 +63,7 @@ static int psci_probe(struct udevice *dev) method = fdt_stringlist_get(gd->fdt_blob, dev_of_offset(dev), "method", 0, NULL); if (!method) { - printf("missing \"method\" property\n"); + pr_warn("missing \"method\" property\n"); return -ENXIO; } @@ -71,7 +72,7 @@ static int psci_probe(struct udevice *dev) } else if (!strcmp("smc", method)) { invoke_psci_fn = __invoke_psci_fn_smc; } else { - printf("invalid \"method\" property: %s\n", method); + pr_warn("invalid \"method\" property: %s\n", method); return -EINVAL; } diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 8a5babea7b..f096e039cb 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -1694,7 +1694,7 @@ static void cmdset_amd_read_jedec_ids(flash_info_t *info) { ushort bankId = 0; uchar manuId; - uchar lsbits; + uchar feature; flash_write_cmd(info, 0, 0, AMD_CMD_RESET); flash_unlock_seq(info, 0); @@ -1710,8 +1710,14 @@ static void cmdset_amd_read_jedec_ids(flash_info_t *info) } info->manufacturer_id = manuId; - lsbits = flash_read_uchar(info, FLASH_OFFSET_LOWER_SW_BITS); - info->sr_supported = lsbits & BIT(0); + debug("info->ext_addr = 0x%x, cfi_version = 0x%x\n", + info->ext_addr, info->cfi_version); + if (info->ext_addr && info->cfi_version >= 0x3134) { + /* read software feature (at 0x53) */ + feature = flash_read_uchar(info, info->ext_addr + 0x13); + debug("feature = 0x%x\n", feature); + info->sr_supported = feature & 0x1; + } switch (info->chipwidth){ case FLASH_CFI_8BIT: |