Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754765AbbHFPan (ORCPT ); Thu, 6 Aug 2015 11:30:43 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:36521 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753969AbbHFPam (ORCPT ); Thu, 6 Aug 2015 11:30:42 -0400 From: Sanchayan Maity To: linux-arm-kernel@lists.infradead.org, srinivas.kandagatla@linaro.org, maxime.ripard@free-electrons.com Cc: stefan@agner.ch, shawn.guo@kernel.org, kernel@pengutronix.de, stefan.wahren@i2se.com, linux-kernel@vger.kernel.org, p.zabel@pengutronix.de, Sanchayan Maity Subject: [PATCH v7 0/4] Implement OCOTP driver for Vybrid using NVMEM Date: Thu, 6 Aug 2015 20:57:26 +0530 Message-Id: X-Mailer: git-send-email 2.5.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4130 Lines: 120 Hello, This patchset is based on top of v9 of Srinivas's NVMEM framework patches. Sample output on Colibri VF61 root@colibri-vf:/sys/bus/nvmem/devices/ocotp0# hexdump nvmem 0000000 0000 0000 0000 0000 0000 0000 0000 0000 * 0000410 72a6 df64 0000 0000 0000 0000 0000 0000 0000420 39d4 2807 0000 0000 0000 0000 0000 0000 0000430 0000 0000 0000 0000 0000 0000 0000 0000 * 0000450 0280 0000 0000 0000 0000 0000 0000 0000 0000460 0000 0000 0000 0000 0000 0000 0000 0000 * 0000880 8f01 0000 0000 0000 0000 0000 0000 0000 0000890 0000 0000 0000 0000 0000 0000 0000 0000 * 00008c0 0000 1500 0000 0000 0000 0000 0000 0000 00008d0 330d 0800 0000 0000 0000 0000 0000 0000 00008e0 0000 e100 0000 0000 0000 0000 0000 0000 00008f0 0000 0000 0000 0000 0000 0000 0000 0000 * 0000c80 bada bada 0000 0000 0000 0000 0000 0000 * 0000cc0 0000 0000 0000 0000 0000 0000 0000 0000 * 0000cf0 The driver has changed quite a bit from the first version relying on of_platform_populate in mach file, to using SoC driver under drivers/soc and finally to NVMEM. Feedback and comments most welcome. Version 6 RFC patches can be found here http://lkml.iu.edu/hypermail/linux/kernel/1506.2/05123.html Version 5 of the patchset can be found here http://lkml.iu.edu/hypermail/linux/kernel/1506.0/03787.html Version 4 of the patchset can be found here https://lkml.org/lkml/2015/5/26/199 Version 3 of the patchset can be found here http://www.spinics.net/lists/arm-kernel/msg420847.html Version 2 of the patchset can be found here http://www.spinics.net/lists/devicetree/msg80654.html Version 1 of the patchset can be found here http://www.spinics.net/lists/devicetree/msg80257.html The RFC version can be found here https://lkml.org/lkml/2015/5/11/13 Changes since v6: 1. Use the v9 of NVMEM framework patchset 2. Add a few comments 3. Initialise buffer address not part of the fuse map to 0 instead of only handling buffer locations with valid fuse addresses. Changes since v5: Use NVMEM framework by Srinivas and Maxime Changes since v4: 1. Use devm_* family of functions and use a struct to get rid of global variables (suggested by Joachim Eastwood) 2. Make Kconfig govern the compilation with tristate, instead of earlier bool. Paul Bolle raised a valid point that perhaps this should have been built in with the bool, however I had not taken into consideration generic distro kernels and it makes sense to have this tristated. (comments from Paul Bolle and Andreas Farber) Changes since v3: Instead of using the syscon_regmap_lookup_by_compatible function use a phandle in the device tree along with offsets specified in this phandle node and then read the offset along with the device node in the driver for reading from the required region. Changes since v2: Implement the SoC bus code as a driver in drivers/soc by registering with fsl,mscm-cpucfg as per Arnd's feedback Changes since v1: Sort the headers in alphabetical order Changes since RFC: Use a DT entry for the ROM area while specifying it as syscon. Thanks & Regards, Sanchayan Maity. Sanchayan Maity (4): clk: clk-vf610: Add clock for Vybrid OCOTP controller ARM: dts: vfxxx: Add OCOTP node drivers: nvmem: Add Vybrid OCOTP support nvmem: Add DT binding documentation for Vybrid OCOTP driver .../devicetree/bindings/nvmem/vf610-ocotp.txt | 20 ++ arch/arm/boot/dts/vfxxx.dtsi | 9 + drivers/clk/imx/clk-vf610.c | 1 + drivers/nvmem/Kconfig | 10 + drivers/nvmem/Makefile | 2 + drivers/nvmem/vf610-ocotp.c | 297 +++++++++++++++++++++ include/dt-bindings/clock/vf610-clock.h | 3 +- 7 files changed, 341 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/nvmem/vf610-ocotp.txt create mode 100644 drivers/nvmem/vf610-ocotp.c -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/