aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-24 11:46:18 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-24 11:46:18 -0400
commitd56a669ca59c37ed0a7282a251b2f2f22533343a (patch)
treecef7bd4699754057474cc96430864f690f1786e0 /Documentation/devicetree/bindings
parent836ee4874e201a5907f9658fb2bf3527dd952d30 (diff)
parent04fca0e390e80d88c2f959aef86e0bb7f26fea01 (diff)
Merge tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull second batch of devicetree updates from Rob Herring: "As Grant mentioned in the first devicetree pull request, here is the 2nd batch of DT changes for 4.1. The main remaining item here is the endianness bindings and related 8250 driver support. - DT endianness specification bindings - big-endian 8250 serial support - DT overlay unittest updates - various DT doc updates - compile fixes for OF_IRQ=n" * tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: frv: add io{read,write}{16,32}be functions mn10300: add io{read,write}{16,32}be functions Documentation: DT bindings: add doc for Altera's SoCFPGA platform of: base: improve of_get_next_child() kernel-doc Doc: dt: arch_timer: discourage clock-frequency use of: unittest: overlay: Keep track of created overlays of/fdt: fix allocation size for device node path serial: of_serial: Support big-endian register accesses serial: 8250: Add support for big-endian MMIO accesses of: Document {little,big,native}-endian bindings of/fdt: Add endianness helper function for early init code of: Add helper function to check MMIO register endianness of/fdt: Remove "reg" data prints from early_init_dt_scan_memory of: add vendor prefix for Artesyn of: Add dummy of_irq_to_resource_table() for IRQ_OF=n of: OF_IRQ should depend on IRQ_DOMAIN
Diffstat (limited to 'Documentation/devicetree/bindings')
-rw-r--r--Documentation/devicetree/bindings/arm/altera.txt14
-rw-r--r--Documentation/devicetree/bindings/arm/arch_timer.txt8
-rw-r--r--Documentation/devicetree/bindings/common-properties.txt60
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt1
4 files changed, 81 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/arm/altera.txt b/Documentation/devicetree/bindings/arm/altera.txt
new file mode 100644
index 000000000000..558735aacca8
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/altera.txt
@@ -0,0 +1,14 @@
1Altera's SoCFPGA platform device tree bindings
2---------------------------------------------
3
4Boards with Cyclone 5 SoC:
5Required root node properties:
6compatible = "altr,socfpga-cyclone5", "altr,socfpga";
7
8Boards with Arria 5 SoC:
9Required root node properties:
10compatible = "altr,socfpga-arria5", "altr,socfpga";
11
12Boards with Arria 10 SoC:
13Required root node properties:
14compatible = "altr,socfpga-arria10", "altr,socfpga";
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
index 256b4d8bab7b..e774128935d5 100644
--- a/Documentation/devicetree/bindings/arm/arch_timer.txt
+++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
@@ -17,7 +17,10 @@ to deliver its interrupts via SPIs.
17- interrupts : Interrupt list for secure, non-secure, virtual and 17- interrupts : Interrupt list for secure, non-secure, virtual and
18 hypervisor timers, in that order. 18 hypervisor timers, in that order.
19 19
20- clock-frequency : The frequency of the main counter, in Hz. Optional. 20- clock-frequency : The frequency of the main counter, in Hz. Should be present
21 only where necessary to work around broken firmware which does not configure
22 CNTFRQ on all CPUs to a uniform correct value. Use of this property is
23 strongly discouraged; fix your firmware unless absolutely impossible.
21 24
22- always-on : a boolean property. If present, the timer is powered through an 25- always-on : a boolean property. If present, the timer is powered through an
23 always-on power domain, therefore it never loses context. 26 always-on power domain, therefore it never loses context.
@@ -46,7 +49,8 @@ Example:
46 49
47- compatible : Should at least contain "arm,armv7-timer-mem". 50- compatible : Should at least contain "arm,armv7-timer-mem".
48 51
49- clock-frequency : The frequency of the main counter, in Hz. Optional. 52- clock-frequency : The frequency of the main counter, in Hz. Should be present
53 only when firmware has not configured the MMIO CNTFRQ registers.
50 54
51- reg : The control frame base address. 55- reg : The control frame base address.
52 56
diff --git a/Documentation/devicetree/bindings/common-properties.txt b/Documentation/devicetree/bindings/common-properties.txt
new file mode 100644
index 000000000000..3193979b1d05
--- /dev/null
+++ b/Documentation/devicetree/bindings/common-properties.txt
@@ -0,0 +1,60 @@
1Common properties
2
3The ePAPR specification does not define any properties related to hardware
4byteswapping, but endianness issues show up frequently in porting Linux to
5different machine types. This document attempts to provide a consistent
6way of handling byteswapping across drivers.
7
8Optional properties:
9 - big-endian: Boolean; force big endian register accesses
10 unconditionally (e.g. ioread32be/iowrite32be). Use this if you
11 know the peripheral always needs to be accessed in BE mode.
12 - little-endian: Boolean; force little endian register accesses
13 unconditionally (e.g. readl/writel). Use this if you know the
14 peripheral always needs to be accessed in LE mode.
15 - native-endian: Boolean; always use register accesses matched to the
16 endianness of the kernel binary (e.g. LE vmlinux -> readl/writel,
17 BE vmlinux -> ioread32be/iowrite32be). In this case no byteswaps
18 will ever be performed. Use this if the hardware "self-adjusts"
19 register endianness based on the CPU's configured endianness.
20
21If a binding supports these properties, then the binding should also
22specify the default behavior if none of these properties are present.
23In such cases, little-endian is the preferred default, but it is not
24a requirement. The of_device_is_big_endian() and of_fdt_is_big_endian()
25helper functions do assume that little-endian is the default, because
26most existing (PCI-based) drivers implicitly default to LE by using
27readl/writel for MMIO accesses.
28
29Examples:
30Scenario 1 : CPU in LE mode & device in LE mode.
31dev: dev@40031000 {
32 compatible = "name";
33 reg = <0x40031000 0x1000>;
34 ...
35 native-endian;
36};
37
38Scenario 2 : CPU in LE mode & device in BE mode.
39dev: dev@40031000 {
40 compatible = "name";
41 reg = <0x40031000 0x1000>;
42 ...
43 big-endian;
44};
45
46Scenario 3 : CPU in BE mode & device in BE mode.
47dev: dev@40031000 {
48 compatible = "name";
49 reg = <0x40031000 0x1000>;
50 ...
51 native-endian;
52};
53
54Scenario 4 : CPU in BE mode & device in LE mode.
55dev: dev@40031000 {
56 compatible = "name";
57 reg = <0x40031000 0x1000>;
58 ...
59 little-endian;
60};
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 83737a3403d7..80339192c93e 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -26,6 +26,7 @@ aptina Aptina Imaging
26arasan Arasan Chip Systems 26arasan Arasan Chip Systems
27arm ARM Ltd. 27arm ARM Ltd.
28armadeus ARMadeus Systems SARL 28armadeus ARMadeus Systems SARL
29artesyn Artesyn Embedded Technologies Inc.
29asahi-kasei Asahi Kasei Corp. 30asahi-kasei Asahi Kasei Corp.
30atmel Atmel Corporation 31atmel Atmel Corporation
31auo AU Optronics Corporation 32auo AU Optronics Corporation