[PATCH v6 0/9] Add simple NVMEM Framework via regmap.
From: Srinivas Kandagatla <hidden>
Date: 2015-06-24 18:51:05
Also in:
linux-api, linux-arm-msm, linux-devicetree, lkml
Subsystem:
nvmem framework, the rest · Maintainers:
Srinivas Kandagatla, Linus Torvalds
On 24/06/15 18:47, Stefan Wahren wrote:
Hi Srinivas,quoted
Srinivas Kandagatla [off-list ref] hat am 24. Juni 2015 um 15:03 geschrieben: On 24/06/15 13:30, Stefan Wahren wrote:quoted
quoted
quoted
If the question is just about hexdump, then hexdump itself can read file from given offset and size.yes, this is my question at first. Let me show the difference between the current implementation and my expectations as a user. $ hexdump /sys/class/nvmem/mxs-ocotp/nvmem Current implementation: dump the complete register range defined in DTIts dumping the range which is specified in the provider regmap. If the requirement is to dump only particular range, this has to be made explicit while creating regmap, which is to specify the base address to start from "First data register" and max_register to be "Last data register "- "First data register"i know about max_register, but i can't find the base address in regmap_config.
Base is not in the regmap config, its the value which you pass to the For example, if I had to do similar change to qfprom driver It would look like: ><-----------------------cut---------------------------------><
diff --git a/drivers/nvmem/qfprom.c b/drivers/nvmem/qfprom.c
index 7f7a82f..26ced95 100644
--- a/drivers/nvmem/qfprom.c
+++ b/drivers/nvmem/qfprom.c@@ -52,9 +52,9 @@ static int qfprom_probe(struct platform_device *pdev) if (IS_ERR(base)) return PTR_ERR(base); - qfprom_regmap_config.max_register = resource_size(res) - 1; + qfprom_regmap_config.max_register = my_data_size; - regmap = devm_regmap_init_mmio(dev, base, &qfprom_regmap_config); + regmap = devm_regmap_init_mmio(dev, base + data_offset,
&qfprom_regmap_config);
if (IS_ERR(regmap)) {
dev_err(dev, "regmap init failed\n");
return PTR_ERR(regmap);
><-----------------------cut---------------------------------><
--srini
Do you mean struct regmap_access_table *rd_table ?quoted
quoted
User expectation: dump only the data from OCOTP block Let me explain it for i.MX28 OCOTP 0x8002c000 // Start of OCOTP register block (defined in DT) 0x8002c020 // First data register 0x8002c290 // Last data register 0x8002dfff // End of OCOTP register block (defined in DT) My knowledge about regmap is limited, but how can i achieve that hexdump give me only the data registers? From my understanding this should be handled in regmap and not in the read function.Setup the base and regmap_config correctly in the provider driver before calling regmap_init_mmio(). Let me know if you need more details.Yes, please. Stefanquoted
--sriniquoted
Are my expectations about the raw access wrong?_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel-- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html