aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-04-13 19:18:44 -0400
committerArnd Bergmann <arnd@arndb.de>2015-04-13 19:18:44 -0400
commit9705feacb778d2aa8bb868e8a9ab40557f7f7043 (patch)
tree1b375461706efeebd40ca653cf771e2fb975c08e /Documentation/devicetree
parent643ee0d50a7392671c0488912cdbb37549ac4cc7 (diff)
parent8e047c120fb2ccb7b7aba8f5e9224e463f86bebc (diff)
Merge tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/late
Pull "The i.MX device tree updates for 4.1" from Shawn Guo: - Convert GPC controller to use stacked interrupt domains - Add power domain descriptions for i.MX6 platforms - Improve i.MX25 pin function defines - Disable PWM devices in <soc>.dtsi by default and enable it at board level dts where the device is actually available. - Define labels for SNVS RTC device to ease the board description, where an external RTC is available. - Add dr_mode host setting to all i.MX host-only USB instances - Support Miscellaneous System Control Module (MSCM) for VF610 - Add initial i.MX6SL WaRP Board support - Add i.MX6SX SDB revision B board support - A bunch of imx28-apf28dev board updates, including gpio polarity correction and CAN, AUART device support. - SolidRun iMX6 platform updates: dual-license of GPLv2/X11, PWM setup, PCF8523 RTC, GPIO key and SGTL5000 audio support. - A number of random device additions for boards: SPI and CAN for vf-colibri, MAX7310 GPIO expander for imx6qdl-sabreauto and LCD support for imx25-pdk. Note: Branch imx/cleanup was merged as the base to solve conflict on imx25 iomux header. Branch imx/soc was merged as the base to solve conflict on arch/arm/mach-imx/gpc.c. And Jason Cooper's irqchip/vybrid branch was pulled into the base as a run-time dependency. * tag 'imx-dt-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (69 commits) ARM: dts: hummingboard: add sgtl5000 support for Hummingboard Pro ARM: dts: imx25-pinfunc: Add several pinfunctions ARM: dts: vf610: fix missing irqs ARM: dts: cubox: Map gpio-keys to gpio3 8 ARM: dts: hummingboard: Setup pwm lines ARM: dts: hummingboard: enable PCF8523 RTC support ARM: dts: Re-license SolidRun iMX6 platform DT GPL v2/X11 ARM: dts: imx28: add alternative pinmuxing for spi3 ARM: dts: imx6sx: Add label snvs_rtc ARM: dts: imx6sl: Add label snvs_rtc ARM: imx6: Warn when an old DT is detected ARM: imx6: Allow GPC interrupts affinity to be changed ARM: imx6qdl-sabreauto.dtsi: add max7310 support ARM: dts: imx6sl-warp: Add BCM4330 support ARM: dts: imx28-apf28dev: add wakeup function to user button ARM: dts: imx28-apf28dev: fix user button polarity ARM: dts: imx25-pinfunc: remove input values for pinfuncs without input register ARM: dts: vf610: add Miscellaneous System Control Module (MSCM) ARM: dts: imx6sl-warp: Pass 'bus-width' property ARM: dts: imx6qdl: disable PWMs by default ...
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-cpucfg.txt14
-rw-r--r--Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt33
-rw-r--r--Documentation/devicetree/bindings/power/fsl,imx-gpc.txt59
3 files changed, 106 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-cpucfg.txt b/Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-cpucfg.txt
new file mode 100644
index 000000000000..44aa3c451ccf
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-cpucfg.txt
@@ -0,0 +1,14 @@
1Freescale Vybrid Miscellaneous System Control - CPU Configuration
2
3The MSCM IP contains multiple sub modules, this binding describes the first
4block of registers which contains CPU configuration information.
5
6Required properties:
7- compatible: "fsl,vf610-mscm-cpucfg", "syscon"
8- reg: the register range of the MSCM CPU configuration registers
9
10Example:
11 mscm_cpucfg: cpucfg@40001000 {
12 compatible = "fsl,vf610-mscm-cpucfg", "syscon";
13 reg = <0x40001000 0x800>;
14 }
diff --git a/Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt b/Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt
new file mode 100644
index 000000000000..669808b2af49
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt
@@ -0,0 +1,33 @@
1Freescale Vybrid Miscellaneous System Control - Interrupt Router
2
3The MSCM IP contains multiple sub modules, this binding describes the second
4block of registers which control the interrupt router. The interrupt router
5allows to configure the recipient of each peripheral interrupt. Furthermore
6it controls the directed processor interrupts. The module is available in all
7Vybrid SoC's but is only really useful in dual core configurations (VF6xx
8which comes with a Cortex-A5/Cortex-M4 combination).
9
10Required properties:
11- compatible: "fsl,vf610-mscm-ir"
12- reg: the register range of the MSCM Interrupt Router
13- fsl,cpucfg: The handle to the MSCM CPU configuration node, required
14 to get the current CPU ID
15- interrupt-controller: Identifies the node as an interrupt controller
16- #interrupt-cells: Two cells, interrupt number and cells.
17 The hardware interrupt number according to interrupt
18 assignment of the interrupt router is required.
19 Flags get passed only when using GIC as parent. Flags
20 encoding as documented by the GIC bindings.
21- interrupt-parent: Should be the phandle for the interrupt controller of
22 the CPU the device tree is intended to be used on. This
23 is either the node of the GIC or NVIC controller.
24
25Example:
26 mscm_ir: interrupt-controller@40001800 {
27 compatible = "fsl,vf610-mscm-ir";
28 reg = <0x40001800 0x400>;
29 fsl,cpucfg = <&mscm_cpucfg>;
30 interrupt-controller;
31 #interrupt-cells = <2>;
32 interrupt-parent = <&intc>;
33 }
diff --git a/Documentation/devicetree/bindings/power/fsl,imx-gpc.txt b/Documentation/devicetree/bindings/power/fsl,imx-gpc.txt
new file mode 100644
index 000000000000..65cc0345747d
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/fsl,imx-gpc.txt
@@ -0,0 +1,59 @@
1Freescale i.MX General Power Controller
2=======================================
3
4The i.MX6Q General Power Control (GPC) block contains DVFS load tracking
5counters and Power Gating Control (PGC) for the CPU and PU (GPU/VPU) power
6domains.
7
8Required properties:
9- compatible: Should be "fsl,imx6q-gpc" or "fsl,imx6sl-gpc"
10- reg: should be register base and length as documented in the
11 datasheet
12- interrupts: Should contain GPC interrupt request 1
13- pu-supply: Link to the LDO regulator powering the PU power domain
14- clocks: Clock phandles to devices in the PU power domain that need
15 to be enabled during domain power-up for reset propagation.
16- #power-domain-cells: Should be 1, see below:
17
18The gpc node is a power-controller as documented by the generic power domain
19bindings in Documentation/devicetree/bindings/power/power_domain.txt.
20
21Example:
22
23 gpc: gpc@020dc000 {
24 compatible = "fsl,imx6q-gpc";
25 reg = <0x020dc000 0x4000>;
26 interrupts = <0 89 IRQ_TYPE_LEVEL_HIGH>,
27 <0 90 IRQ_TYPE_LEVEL_HIGH>;
28 pu-supply = <&reg_pu>;
29 clocks = <&clks IMX6QDL_CLK_GPU3D_CORE>,
30 <&clks IMX6QDL_CLK_GPU3D_SHADER>,
31 <&clks IMX6QDL_CLK_GPU2D_CORE>,
32 <&clks IMX6QDL_CLK_GPU2D_AXI>,
33 <&clks IMX6QDL_CLK_OPENVG_AXI>,
34 <&clks IMX6QDL_CLK_VPU_AXI>;
35 #power-domain-cells = <1>;
36 };
37
38
39Specifying power domain for IP modules
40======================================
41
42IP cores belonging to a power domain should contain a 'power-domains' property
43that is a phandle pointing to the gpc device node and a DOMAIN_INDEX specifying
44the power domain the device belongs to.
45
46Example of a device that is part of the PU power domain:
47
48 vpu: vpu@02040000 {
49 reg = <0x02040000 0x3c000>;
50 /* ... */
51 power-domains = <&gpc 1>;
52 /* ... */
53 };
54
55The following DOMAIN_INDEX values are valid for i.MX6Q:
56ARM_DOMAIN 0
57PU_DOMAIN 1
58The following additional DOMAIN_INDEX value is valid for i.MX6SL:
59DISPLAY_DOMAIN 2