Qualcomm SAR2130P is one of the platforms which require 4-byte reads when accessing the QFPROM data. Fix several omission in the NVMEM core, rework the QFPROM driver to use readl() instead of readb() and finally add compatible string for the QFPROM as present on the Qualcomm SAR2130P. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- Changes in v5: - Expanded fixed-cell schema to allow starting bit greater than 7 (Srini) - Dropped the applied schema patch (Rob) - Link to v4: https://lore.kernel.org/r/20250109-sar2130p-nvmem-v4-0-633739fe5f11@xxxxxxxxxx Changes in v4: - Fix conition for bits vs bytes overflow (Akhil) - Link to v3: https://lore.kernel.org/r/20250104-sar2130p-nvmem-v3-0-a94e0b7de2fa@xxxxxxxxxx Changes in v3: - Reworked the qfprom driver to specify stride and word size (Srinivas) - Link to v2: https://lore.kernel.org/r/20241027-sar2130p-nvmem-v2-0-743c1271bf2d@xxxxxxxxxx Changes in v2: - Picked up required patch from QCLinux. - Link to v1: https://lore.kernel.org/r/20241017-sar2130p-nvmem-v1-1-6cc32789afc6@xxxxxxxxxx --- Dmitry Baryshkov (5): dt-bindings: nvmem: fixed-cell: increase bits start value to 31 nvmem: core: fix bit offsets of more than one byte nvmem: core: verify cell's raw_len nvmem: core: update raw_len if the bit reading is required nvmem: qfprom: switch to 4-byte aligned reads .../bindings/nvmem/layouts/fixed-cell.yaml | 2 +- drivers/nvmem/core.c | 36 +++++++++++++++++----- drivers/nvmem/qfprom.c | 26 ++++++++++++---- 3 files changed, 49 insertions(+), 15 deletions(-) --- base-commit: 253c82b3a2cec22bf9db65645f934fbe095899a3 change-id: 20241017-sar2130p-nvmem-5f856d99bbb7 Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>