|
@@ -20,6 +20,7 @@
|
|
|
#include <linux/mtd/map.h>
|
|
|
#include <linux/mtd/partitions.h>
|
|
|
#include <linux/mtd/concat.h>
|
|
|
+#include <linux/mtd/cfi_endian.h>
|
|
|
#include <linux/of.h>
|
|
|
#include <linux/of_address.h>
|
|
|
#include <linux/of_platform.h>
|
|
@@ -233,6 +234,11 @@ static int of_flash_probe(struct platform_device *dev)
|
|
|
info->list[i].map.bankwidth = be32_to_cpup(width);
|
|
|
info->list[i].map.device_node = dp;
|
|
|
|
|
|
+ if (of_property_read_bool(dp, "big-endian"))
|
|
|
+ info->list[i].map.swap = CFI_BIG_ENDIAN;
|
|
|
+ else if (of_property_read_bool(dp, "little-endian"))
|
|
|
+ info->list[i].map.swap = CFI_LITTLE_ENDIAN;
|
|
|
+
|
|
|
err = of_flash_probe_gemini(dev, dp, &info->list[i].map);
|
|
|
if (err)
|
|
|
goto err_out;
|