Skip to content

Implement SoC driver for Vybrid

Sanchayan Maity linux-arm-kernel linux-devicetree lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest5 patches 10 repliesIn review
  2. v34 patches 10 repliesSuperseded
  3. v25 patches 9 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v14 patches3 repliesSuperseded

Changes in v4 from the cover letter

1. Use just a compatible node at the SoC node and do not use a separate node for the binding
2. Use syscon regmap lookup for getting information from MSCM and OCROM nodes.
3. Introduce a NVMEM consumer API for getting a NVMEM cell given a device node containing that cell.
4. Do not introduce any node at the SoC level.

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5ARM: dts: vfxxx: Add device tree node for OCOTParch/arm/boot/dts/vfxxx.dtsi+16 -00 replies
2/5ARM: dts: vfxxx: Add On-Chip ROM node for Vybridarch/arm/boot/dts/vfxxx.dtsi+5 -00 replies
3/5nvmem: core: Add consumer API to get nvmem cell from nodedrivers/nvmem/core.c include/linux/nvmem-consumer.h+32 -139 replies
4/5soc: Add SoC driver for Freescale Vybrid platformdrivers/soc/Kconfig drivers/soc/fsl/Kconfig drivers/soc/fsl/Makefile +1 more+224 -01 reply
5/5ARM: dts: vfxxx: Add a compatible binding for Vybrid SoC bus driverarch/arm/boot/dts/vfxxx.dtsi+1 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [PATCH v4 0/5] Implement SoC driver for Vybrid

Hello,

This fourth patch series is rebased on top of shawn's for-next branch and tested on Colibri Vybrid VF50 and VF61 modules.

This patchset implements SoC bus support for Freescale Vybrid platform, implementing the following
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-soc

This a reworked version of an older patchset series posted in June 2015 which was at v5 then [1]. Since the NVMEM framework was then getting introduced, we decided that first a NVMEM driver for OCOTP peripheral being in place would be better.

Compared to the older revisions, this driver now relies on NVMEM consumer API using the NVMEM based vf610_ocotp driver which has already been in mainline for a while now.

One point on which we were not sure here is whether we really should introduce a new Kconfig symbol as being introduced here. While we could just enable it when SOC_VF610 is selected, this however would introduce circular dependencies.

Feedback is most welcome.

@Rob Herring
Does this patchset address the concerns you had? The only change to the device tree is now for the compatible property.

@Srinivas
Is this new NVMEM consumer API acceptable? Would you recommend a different approach?

Changes since v3:
1. Use just a compatible node at the SoC node and do not use a separate node for the binding
2. Use syscon regmap lookup for getting information from MSCM and OCROM nodes.
3. Introduce a NVMEM consumer API for getting a NVMEM cell given a device node containing that cell.
4. Do not introduce any node at the SoC level.

Changes since v2:
1. Remove syscon_regmap_read_from_offset function and use the available syscon functions
2. Remove fsl,vf610-soc-bus and related bindings at SoC node level and introduce a fsl,vf610-soc node which is used by the driver to bind and has all the required phandles plus the NVMEM consumer handles.
3. Fix memory leak. of_node_put was not called for returned node of of_parse_phandle and memory allocated by nvmem_cell_read was not freed explicitly in return error paths.

Changes since v1:
Add device tree binding documentation.

2016: v3 patchset
https://lkml.org/lkml/2016/5/20/200

2016: v2 patchset
https://lkml.org/lkml/2016/5/2/69

2016: v1 patchset
https://lkml.org/lkml/2016/3/11/132

[1] Older v5:
http://lkml.iu.edu/hypermail/linux/kernel/1506.0/03787.html
Even earlier versions:
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

Regards,
Sanchayan.

Sanchayan Maity (4):
ARM: dts: vfxxx: Add device tree node for OCOTP
ARM: dts: vfxxx: Add On-Chip ROM node for Vybrid
soc: Add SoC driver for Freescale Vybrid platform
ARM: dts: vfxxx: Add a compatible binding for Vybrid SoC bus driver

Stefan Agner (1):
nvmem: core: Add consumer API to get nvmem cell from node

 arch/arm/boot/dts/vfxxx.dtsi   |  23 ++++-
 drivers/nvmem/core.c           |  44 ++++++---
 drivers/soc/Kconfig            |   1 +
 drivers/soc/fsl/Kconfig        |  10 ++
 drivers/soc/fsl/Makefile       |   1 +
 drivers/soc/fsl/soc-vf610.c    | 212 +++++++++++++++++++++++++++++++++++++++++
 include/linux/nvmem-consumer.h |   1 +
 7 files changed, 278 insertions(+), 14 deletions(-)
 create mode 100644 drivers/soc/fsl/Kconfig
 create mode 100644 drivers/soc/fsl/soc-vf610.c
Signature · 1 line
2.9.0