* add dependency on CONFIG_OF and select REGMAP_MMIO (suggested by Paul Cercueil <paul@xxxxxxxxxxxxxxx>) * add clk_prepare_enable() (suggested by Paul Cercueil <paul@xxxxxxxxxxxxxxx>) * inline jz4780_efuse_read_32bytes() since it is only used once * remove read optimization for full block (suggested by Paul Cercueil <paul@xxxxxxxxxxxxxxx>) * simplify calculations for rd_adj and rd_strobe (suggested by Paul Cercueil <paul@xxxxxxxxxxxxxxx>) * do calculations for rd_adj and rd_strobe in local variables * fix overflow check (did allow for 5 bit values although register is 4 bit wide) * fixes for yaml (sugested by Andreas Kemnade <andreas@xxxxxxxxxxxx>) PATCH V5 2020-02-22 11:25:35: * no longer RFC but PATCH * add yaml bindings (by Andreas Kemnade <andreas@xxxxxxxxxxxx>) * fixes to yaml (suggested by Rob Herring <robh@xxxxxxxxxx>) RFC V4 2020-02-17 17:55:35: * removed read_only for nvmem config because there is no write method * Kconfig: replaced depends MACH_JZ4780 with MACH_INGENIC * run through checkpatch and fixed issues * made use of devm_nvram_register() and get rid of jz4780_efuse_remove() (suggested by Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>) * squashed previous patch 1/9 and 2/9 into single (regmap based) driver RFC V3 2020-02-16 20:20:59: This series is based on and a follow up for https://lore.kernel.org/patchwork/cover/868157/ ("[v2,0/2] Add efuse driver for Ingenic JZ4780 SoC") Original authors were PrasannaKumar Muralidharan <prasannatsmkumar@xxxxxxxxx> Mathieu Malaterre <malat@xxxxxxxxxx> and there are additions / code improvements by H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Paul Cercueil <paul@xxxxxxxxxxxxxxx> This setup works, if the dm9000 driver is compiled as a module. Therefore it is all RFC level. It is also not completely checkpatched. H. Nikolaus Schaller (1): MIPS: DTS: CI20: make DM9000 Ethernet controller use NVMEM to find the default MAC address PrasannaKumar Muralidharan (5): nvmem: add driver for JZ4780 efuse Bindings: nvmem: add bindings for JZ4780 efuse Documentation: ABI: nvmem: add documentation for JZ4780 efuse ABI nvmem: MAINTAINERS: add maintainer for JZ4780 efuse driver MIPS: DTS: JZ4780: define node for JZ4780 efuse .../ABI/testing/sysfs-driver-jz4780-efuse | 16 ++ .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 50 ++++ MAINTAINERS | 5 + arch/mips/boot/dts/ingenic/ci20.dts | 3 + arch/mips/boot/dts/ingenic/jz4780.dtsi | 17 +- drivers/nvmem/Kconfig | 12 + drivers/nvmem/Makefile | 2 + drivers/nvmem/jz4780-efuse.c | 239 ++++++++++++++++++ 8 files changed, 343 insertions(+), 1 deletion(-) create mode 100644 Documentation/ABI/testing/sysfs-driver-jz4780-efuse create mode 100644 Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml create mode 100644 drivers/nvmem/jz4780-efuse.c -- 2.23.0