Re: [PATCH v9 0/4] Implement OCOTP driver for Vybrid using NVMEM

From: maitysanchayan
Date: Mon Aug 24 2015 - 04:35:38 EST


Hello,

Ping? Any feedback? Is this good to be merged?

Thanks.

- Sanchayan.

On 15-08-12 18:49:17, Sanchayan Maity wrote:
> Hello,
>
> This patchset is based on top of v9 of Srinivas's NVMEM framework patches.
> Tested on Greg's tree char-misc-next branch along with Stefan's NAND driver
> patchset.
>
> Sample output on Colibri VF50
>
> root@colibri-vf:/sys/bus/nvmem/devices/ocotp0# uname -a
> Linux colibri-vf 4.2.0-rc6-00130-g24fcfdc #3 SMP Wed Aug 12 18:31:24 IST 2015 armv7l GNU/Linux
>
> 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 11d4 2c14 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 1000 0000 0000 0000 0000 0000 0000
> 00008d0 3202 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 8 patches can be found here
> https://lkml.org/lkml/2015/8/10/566
>
> Version 7 patches can be found here
> https://lkml.org/lkml/2015/8/6/440
>
> 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 v8:
> 1. Fix three lines over 80 characters
> 2. Rebase on top of Greg's char-misc-next branch
>
> Changes since v7:
> 1. Add COMPILE_TEST to Kconfig
> 2. Use GENMASK and BIT macros where applicable
> 3. Fix a code alignment issue
> 4. Get the max_register value for regmap config using
> resource_size()
> 5. Also add copyright info as the driver logic is based off
> on ocotp code in barebox
> 6. Add missing info related to clock in DT binding doc
>
> 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 | 21 ++
> 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 | 302 +++++++++++++++++++++
> include/dt-bindings/clock/vf610-clock.h | 3 +-
> 7 files changed, 347 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/