Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -25,6 +25,11 @@ Required properties in the sram node:
- ranges : standard definition, should translate from local 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:

- reg : iomem address range, relative to the SRAM range
+4 −1
Original line number Diff line number Diff line
@@ -360,6 +360,9 @@ static int sram_probe(struct platform_device *pdev)
		return -EBUSY;
	}

	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))
		return PTR_ERR(sram->virt_base);