|
@@ -108,6 +108,25 @@ int of_fdt_is_compatible(const void *blob,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * of_fdt_is_big_endian - Return true if given node needs BE MMIO accesses
|
|
|
+ * @blob: A device tree blob
|
|
|
+ * @node: node to test
|
|
|
+ *
|
|
|
+ * Returns true if the node has a "big-endian" property, or if the kernel
|
|
|
+ * was compiled for BE *and* the node has a "native-endian" property.
|
|
|
+ * Returns false otherwise.
|
|
|
+ */
|
|
|
+bool of_fdt_is_big_endian(const void *blob, unsigned long node)
|
|
|
+{
|
|
|
+ if (fdt_getprop(blob, node, "big-endian", NULL))
|
|
|
+ return true;
|
|
|
+ if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) &&
|
|
|
+ fdt_getprop(blob, node, "native-endian", NULL))
|
|
|
+ return true;
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* of_fdt_match - Return true if node matches a list of compatible values
|
|
|
*/
|