Commit eb43e023 authored by Marcin Wojtas's avatar Marcin Wojtas Committed by David S. Miller

misc: sram: add optional ioremap without write combining

Some SRAM users may require non-bufferable access to the memory, which is
impossible, because devm_ioremap_wc() is used for setting sram->virt_base.

This commit adds optional flag 'no-memory-wc', which allow to choose remap
method, using DT property. Documentation is updated accordingly.
Signed-off-by: default avatarMarcin Wojtas <mw@semihalf.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d3bf9b19
...@@ -25,6 +25,11 @@ Required properties in the sram node: ...@@ -25,6 +25,11 @@ Required properties in the sram node:
- ranges : standard definition, should translate from local addresses - ranges : standard definition, should translate from local addresses
within the sram to bus addresses within the sram to bus addresses
Optional properties in the sram node:
- no-memory-wc : the flag indicating, that SRAM memory region has not to
be remapped as write combining. WC is used by default.
Required properties in the area nodes: Required properties in the area nodes:
- reg : iomem address range, relative to the SRAM range - reg : iomem address range, relative to the SRAM range
......
...@@ -360,7 +360,10 @@ static int sram_probe(struct platform_device *pdev) ...@@ -360,7 +360,10 @@ static int sram_probe(struct platform_device *pdev)
return -EBUSY; return -EBUSY;
} }
sram->virt_base = devm_ioremap_wc(sram->dev, res->start, size); if (of_property_read_bool(pdev->dev.of_node, "no-memory-wc"))
sram->virt_base = devm_ioremap(sram->dev, res->start, size);
else
sram->virt_base = devm_ioremap_wc(sram->dev, res->start, size);
if (IS_ERR(sram->virt_base)) if (IS_ERR(sram->virt_base))
return PTR_ERR(sram->virt_base); return PTR_ERR(sram->virt_base);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment