Add functionality for accessing device hardware registers, loading firmware bundles, and accessing the device's internal flash memory, and use it to implement the devlink flash functionality. Patch breakdown: Patch1: helpers to access hardware registers Patch2: low level functions to access flash memory Patch3: support to load firmware bundles Patch4: refactoring device initialization and helper functions for stopping and resuming device normal operation Patch5: devlink .flash_update callback implementation Ivan Vecera (5): dpll: zl3073x: Add functions to access hardware registers dpll: zl3073x: Add low-level flash functions dpll: zl3073x: Add firmware loading functionality dpll: zl3073x: Refactor DPLL initialization dpll: zl3073x: Implement devlink flash callback Documentation/networking/devlink/zl3073x.rst | 14 + drivers/dpll/zl3073x/Makefile | 2 +- drivers/dpll/zl3073x/core.c | 362 +++++++--- drivers/dpll/zl3073x/core.h | 32 + drivers/dpll/zl3073x/devlink.c | 92 ++- drivers/dpll/zl3073x/devlink.h | 3 + drivers/dpll/zl3073x/flash.c | 674 +++++++++++++++++++ drivers/dpll/zl3073x/flash.h | 29 + drivers/dpll/zl3073x/fw.c | 495 ++++++++++++++ drivers/dpll/zl3073x/fw.h | 52 ++ drivers/dpll/zl3073x/regs.h | 51 ++ 11 files changed, 1715 insertions(+), 91 deletions(-) create mode 100644 drivers/dpll/zl3073x/flash.c create mode 100644 drivers/dpll/zl3073x/flash.h create mode 100644 drivers/dpll/zl3073x/fw.c create mode 100644 drivers/dpll/zl3073x/fw.h -- 2.49.1