Add support for lan9662 OTP controller that is available on lan9662. The driver gives access to non-volatile memory. It allows both write and read access to it. v3->v4: - remove lan9668 compatible string from driver - fix the bindings by changing the order of entries under items for compatible property v2->v3: - fix dt-bindings, make sure that make dt_binding_check passes - remove lan9662_writel/readl/clrbits/setbits and use writel/readl - remove WARN_ON(offset >= OTP_MEM_SIZE) as it can't happen v1->v2: - remove unneed quotes for $ref: nvmem.yaml# - rename lan966x to lan9662 as not to have any wildcards - remove compatible string syscon Horatiu Vultur (2): dt-bindings: lan9662-otpc: document Lan9662 OTPC nvmem: lan9662-otp: add support. .../nvmem/microchip,lan9662-otpc.yaml | 45 ++++ drivers/nvmem/Kconfig | 8 + drivers/nvmem/Makefile | 2 + drivers/nvmem/lan9662-otpc.c | 222 ++++++++++++++++++ 4 files changed, 277 insertions(+) create mode 100644 Documentation/devicetree/bindings/nvmem/microchip,lan9662-otpc.yaml create mode 100644 drivers/nvmem/lan9662-otpc.c -- 2.33.0