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

Commit 5339f9d4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull DeviceTree updates from Rob Herring:

 - Rework and export the changeset API to make it available to users
   other than DT overlays

 - ARM secure devices binding

 - OCTEON USB binding

 - Clean-up of various SRAM binding docs

 - Various other binding doc updates

* tag 'devicetree-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (21 commits)
  drivers/of: Export OF changeset functions
  Fix documentation for adp1653 DT
  ARM: psci: Fix indentation in DT bindings
  of/platform: export of_default_bus_match_table
  of/unittest: Show broken behaviour in the platform bus
  of: fix declaration of of_io_request_and_map
  of/address: replace printk(KERN_ERR ...) with pr_err(...)
  of/irq: optimize device node matching loop in of_irq_init()
  dt-bindings: tda998x: Document the required 'port' node.
  net/macb: bindings doc: Merge cdns-emac to macb
  dt-bindings: Misc fix for the ATH79 DDR controllers
  dt-bindings: Misc fix for the ATH79 MISC interrupt controllers
  Documentation: dt: Add bindings for Secure-only devices
  dt-bindings: ARM: add arm,cortex-a72 compatible string
  ASoC: Atmel: ClassD: add GCK's parent clock in DT binding
  DT: add Olimex to vendor prefixes
  Documentation: fsl-quadspi: Add fsl,ls1021-qspi compatible string
  Documentation/devicetree: document OCTEON USB bindings
  usb: misc: usb3503: Describe better how to bind clock to the hub
  dt-bindings: Consolidate SRAM bindings from all vendors
  ...
parents cf8d7e38 18322377
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -63,7 +63,7 @@ Required properties:
- compatible : should be "arm,juno-sram-ns" for Non-secure SRAM on Juno
- compatible : should be "arm,juno-sram-ns" for Non-secure SRAM on Juno


The rest of the properties should follow the generic mmio-sram description
The rest of the properties should follow the generic mmio-sram description
found in ../../misc/sysram.txt
found in ../../sram/sram.txt


Each sub-node represents the reserved area for SCPI.
Each sub-node represents the reserved area for SCPI.


+1 −0
Original line number Original line Diff line number Diff line
@@ -157,6 +157,7 @@ nodes to be present and contain the properties described below.
			    "arm,cortex-a17"
			    "arm,cortex-a17"
			    "arm,cortex-a53"
			    "arm,cortex-a53"
			    "arm,cortex-a57"
			    "arm,cortex-a57"
			    "arm,cortex-a72"
			    "arm,cortex-m0"
			    "arm,cortex-m0"
			    "arm,cortex-m0+"
			    "arm,cortex-m0+"
			    "arm,cortex-m1"
			    "arm,cortex-m1"
+14 −11
Original line number Original line Diff line number Diff line
@@ -23,17 +23,20 @@ Main node required properties:


 - compatible    : should contain at least one of:
 - compatible    : should contain at least one of:


				 * "arm,psci" : for implementations complying to PSCI versions prior to
     * "arm,psci"     : For implementations complying to PSCI versions prior
					0.2. For these cases function IDs must be provided.
			to 0.2.

			For these cases function IDs must be provided.
				 * "arm,psci-0.2" : for implementations complying to PSCI 0.2. Function

					IDs are not required and should be ignored by an OS with PSCI 0.2
     * "arm,psci-0.2" : For implementations complying to PSCI 0.2.
					support, but are permitted to be present for compatibility with
			Function IDs are not required and should be ignored by
					existing software when "arm,psci" is later in the compatible list.
			an OS with PSCI 0.2 support, but are permitted to be

			present for compatibility with existing software when
				* "arm,psci-1.0" : for implementations complying to PSCI 1.0. PSCI 1.0 is
			"arm,psci" is later in the compatible list.
					backward compatible with PSCI 0.2 with minor specification updates,

					as defined in the PSCI specification[2].
     * "arm,psci-1.0" : For implementations complying to PSCI 1.0.
			PSCI 1.0 is backward compatible with PSCI 0.2 with
			minor specification updates, as defined in the PSCI
			specification[2].


 - method        : The method of calling the PSCI firmware. Permitted
 - method        : The method of calling the PSCI firmware. Permitted
                   values are:
                   values are:
+53 −0
Original line number Original line Diff line number Diff line
* ARM Secure world bindings

ARM CPUs with TrustZone support have two distinct address spaces,
"Normal" and "Secure". Most devicetree consumers (including the Linux
kernel) are not TrustZone aware and run entirely in either the Normal
world or the Secure world. However some devicetree consumers are
TrustZone aware and need to be able to determine whether devices are
visible only in the Secure address space, only in the Normal address
space, or visible in both. (One example of that situation would be a
virtual machine which boots Secure firmware and wants to tell the
firmware about the layout of the machine via devicetree.)

The general principle of the naming scheme for Secure world bindings
is that any property that needs a different value in the Secure world
can be supported by prefixing the property name with "secure-". So for
instance "secure-foo" would override "foo". For property names with
a vendor prefix, the Secure variant of "vendor,foo" would be
"vendor,secure-foo". If there is no "secure-" property then the Secure
world value is the same as specified for the Normal world by the
non-prefixed property. However, only the properties listed below may
validly have "secure-" versions; this list will be enlarged on a
case-by-case basis.

Defining the bindings in this way means that a device tree which has
been annotated to indicate the presence of Secure-only devices can
still be processed unmodified by existing Non-secure software (and in
particular by the kernel).

Note that it is still valid for bindings intended for purely Secure
world consumers (like kernels that run entirely in Secure) to simply
describe the view of Secure world using the standard bindings. These
secure- bindings only need to be used where both the Secure and Normal
world views need to be described in a single device tree.

Valid Secure world properties:

- secure-status : specifies whether the device is present and usable
  in the secure world. The combination of this with "status" allows
  the various possible combinations of device visibility to be
  specified. If "secure-status" is not specified it defaults to the
  same value as "status"; if "status" is not specified either then
  both default to "okay". This means the following combinations are
  possible:

   /* Neither specified: default to visible in both S and NS */
   secure-status = "okay";                          /* visible in both */
   status = "okay";                                 /* visible in both */
   status = "okay"; secure-status = "okay";         /* visible in both */
   secure-status = "disabled";                      /* NS-only */
   status = "okay"; secure-status = "disabled";     /* NS-only */
   status = "disabled"; secure-status = "okay";     /* S-only */
   status = "disabled";                             /* disabled in both */
   status = "disabled"; secure-status = "disabled"; /* disabled in both */
+4 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,10 @@ Required properties;


  - reg: I2C address
  - reg: I2C address


Required node:
  - port: Input port node with endpoint definition, as described
        in Documentation/devicetree/bindings/graph.txt

Optional properties:
Optional properties:
  - interrupts: interrupt number and trigger type
  - interrupts: interrupt number and trigger type
	default: polling
	default: polling
Loading