From patchwork Fri Feb 28 13:58:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H. Nikolaus Schaller" X-Patchwork-Id: 11412371 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D570592A for ; Fri, 28 Feb 2020 13:58:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC62B246B8 for ; Fri, 28 Feb 2020 13:58:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=goldelico.com header.i=@goldelico.com header.b="LQfko0aZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726897AbgB1N6b (ORCPT ); Fri, 28 Feb 2020 08:58:31 -0500 Received: from mo4-p02-ob.smtp.rzone.de ([81.169.146.170]:17266 "EHLO mo4-p02-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725892AbgB1N6b (ORCPT ); Fri, 28 Feb 2020 08:58:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1582898308; s=strato-dkim-0002; d=goldelico.com; h=Message-Id:Date:Subject:Cc:To:From:X-RZG-CLASS-ID:X-RZG-AUTH:From: Subject:Sender; bh=wrldJyxJYIOAEtXdPjbfxM3DEq4MJZ0QuMAfUsB2SbM=; b=LQfko0aZ7wxR41b6P2eDMMVp0pClwrTsKI7NDvLy4JeRdQQmGMU44gHDH+cFOsZqpJ xw+eLUdtvqf9jTL0Gykqz4w3XFXfJZVtH9AvLOgQQ6ApkyYTCnG39ktqi7jzA7L5mTw/ dPEgx2Yq6Y37tVvstOUHL7E/HOTkLiMl9lBChBpnY98lujeK5jCUj2ZlHraZq+oIUty7 kFd9AVs51WneDJ+hb5qoPbm5/7r5ypNdfuxSJLsINczked1/eW83yuIlGXDik0Mn+EI4 laRMmbsvZWGhihliVCJya/+UwUxNQVtdn8yIQOOi1/CKwzMUZbePz+Yaxa1yFDk30Bi4 m7YQ== X-RZG-AUTH: ":JGIXVUS7cutRB/49FwqZ7WcJeFKiMhflhwDubTJ9o1mfYzBGHXH6G1+ULkA=" X-RZG-CLASS-ID: mo00 Received: from iMac.fritz.box by smtp.strato.de (RZmta 46.2.0 DYNA|AUTH) with ESMTPSA id y0a02cw1SDwN1A4 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Fri, 28 Feb 2020 14:58:23 +0100 (CET) From: "H. Nikolaus Schaller" To: PrasannaKumar Muralidharan , Andreas Kemnade , Paul Cercueil , Mathieu Malaterre , Srinivas Kandagatla , Rob Herring , Mark Rutland , Ralf Baechle , Paul Burton , Mauro Carvalho Chehab , "David S. Miller" , Greg Kroah-Hartman , Jonathan Cameron , "H. Nikolaus Schaller" , Krzysztof Kozlowski , Kees Cook , Andi Kleen , Geert Uytterhoeven Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-mips@vger.kernel.org, letux-kernel@openphoenux.org, kernel@pyra-handheld.com Subject: [PATCH v7 0/7] MIPS: CI20: Add efuse driver for Ingenic JZ4780 and attach to DM9000 for stable MAC addresses Date: Fri, 28 Feb 2020 14:58:16 +0100 Message-Id: X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org * use devm_add_action_or_reset to unprepare clock in case of error (suggested by Paul Cercueil ) * use already existing constants to check for overflow of rd_adj and rd_strobe * remove clock-names from bindings example and DTS (suggested by Paul Cercueil ) * addition for nemc driver to handle this correctly (contributed by Paul Cercueil ) * make efuse a child node of nemc to avoid problems with overlapping reg address ranges (suggested by Paul Cercueil ) PATCH V6 2020-02-26 12:16:07: * add dependency on CONFIG_OF and select REGMAP_MMIO (suggested by Paul Cercueil ) * add clk_prepare_enable() (suggested by Paul Cercueil ) * inline jz4780_efuse_read_32bytes() since it is only used once * remove read optimization for full block (suggested by Paul Cercueil ) * simplify calculations for rd_adj and rd_strobe (suggested by Paul Cercueil ) * 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 ) PATCH V5 2020-02-22 11:25:35: * no longer RFC but PATCH * add yaml bindings (by Andreas Kemnade ) * fixes to yaml (suggested by Rob Herring ) 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 ) * 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 Mathieu Malaterre and there are additions / code improvements by H. Nikolaus Schaller Paul Cercueil 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 Paul Cercueil (1): memory: jz4780_nemc: Only request IO memory the driver will use 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 | 49 ++++ MAINTAINERS | 5 + arch/mips/boot/dts/ingenic/ci20.dts | 3 + arch/mips/boot/dts/ingenic/jz4780.dtsi | 19 +- drivers/memory/jz4780-nemc.c | 15 +- drivers/nvmem/Kconfig | 12 + drivers/nvmem/Makefile | 2 + drivers/nvmem/jz4780-efuse.c | 234 ++++++++++++++++++ 9 files changed, 352 insertions(+), 3 deletions(-) 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