aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2017-01-30 00:09:19 -0500
committerOlof Johansson <olof@lixom.net>2017-01-30 00:09:19 -0500
commitac43d9e0e5647052d78ba1e8d939549262fc268e (patch)
treeadb6d7994b8c4cda7c2209248d902b3845482a89
parentbb414fc1901c28fa05eea9e4446dfaaa2c23b371 (diff)
parent73447f68d7b2bc1df870da88b0e21d2bc1afc025 (diff)
Merge tag 'imx-dt64-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt64
Freescale arm64 device tree updates for 4.11: - Add support for LS1012A SoC which is an ARMv8 SoC with single Cortex-A53 core, and the corresponding board support: FRDM, QDS and RDB. - Enable TMU (Thermal Monitoring Unit) support for LS1046A SoC. - Enable PCA9547 device for ls2080a-rdb board by removing 'disabled' status setting. * tag 'imx-dt64-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: dt-bindings: clockgen: Add compatible string for LS1012A Documentation: DT: add LS1012A compatible for SCFG and DCFG Documentation: DT: Add entry for FSL LS1012A RDB, FRDM, QDS boards arm64: dts: ls1046a: Add TMU device tree support arm64: dts: Add support for FSL's LS1012A SoC arm64: dts: ls2080a-rdb: remove disable status of pca9547 Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/devicetree/bindings/arm/fsl.txt20
-rw-r--r--Documentation/devicetree/bindings/clock/qoriq-clock.txt1
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile3
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts115
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts128
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts59
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi247
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi80
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts1
9 files changed, 651 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt
index d6ee9c6e1dbb..c9c567ae227f 100644
--- a/Documentation/devicetree/bindings/arm/fsl.txt
+++ b/Documentation/devicetree/bindings/arm/fsl.txt
@@ -108,7 +108,7 @@ status.
108 - compatible: Should contain a chip-specific compatible string, 108 - compatible: Should contain a chip-specific compatible string,
109 Chip-specific strings are of the form "fsl,<chip>-scfg", 109 Chip-specific strings are of the form "fsl,<chip>-scfg",
110 The following <chip>s are known to be supported: 110 The following <chip>s are known to be supported:
111 ls1021a, ls1043a, ls1046a, ls2080a. 111 ls1012a, ls1021a, ls1043a, ls1046a, ls2080a.
112 112
113 - reg: should contain base address and length of SCFG memory-mapped registers 113 - reg: should contain base address and length of SCFG memory-mapped registers
114 114
@@ -126,7 +126,7 @@ core start address and release the secondary core from holdoff and startup.
126 - compatible: Should contain a chip-specific compatible string, 126 - compatible: Should contain a chip-specific compatible string,
127 Chip-specific strings are of the form "fsl,<chip>-dcfg", 127 Chip-specific strings are of the form "fsl,<chip>-dcfg",
128 The following <chip>s are known to be supported: 128 The following <chip>s are known to be supported:
129 ls1021a, ls1043a, ls1046a, ls2080a. 129 ls1012a, ls1021a, ls1043a, ls1046a, ls2080a.
130 130
131 - reg : should contain base address and length of DCFG memory-mapped registers 131 - reg : should contain base address and length of DCFG memory-mapped registers
132 132
@@ -139,6 +139,22 @@ Example:
139Freescale ARMv8 based Layerscape SoC family Device Tree Bindings 139Freescale ARMv8 based Layerscape SoC family Device Tree Bindings
140---------------------------------------------------------------- 140----------------------------------------------------------------
141 141
142LS1012A SoC
143Required root node properties:
144 - compatible = "fsl,ls1012a";
145
146LS1012A ARMv8 based RDB Board
147Required root node properties:
148 - compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
149
150LS1012A ARMv8 based FRDM Board
151Required root node properties:
152 - compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";
153
154LS1012A ARMv8 based QDS Board
155Required root node properties:
156 - compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
157
142LS1043A SoC 158LS1043A SoC
143Required root node properties: 159Required root node properties:
144 - compatible = "fsl,ls1043a"; 160 - compatible = "fsl,ls1043a";
diff --git a/Documentation/devicetree/bindings/clock/qoriq-clock.txt b/Documentation/devicetree/bindings/clock/qoriq-clock.txt
index df9cb5ac5f72..aa3526f229a7 100644
--- a/Documentation/devicetree/bindings/clock/qoriq-clock.txt
+++ b/Documentation/devicetree/bindings/clock/qoriq-clock.txt
@@ -31,6 +31,7 @@ Required properties:
31 * "fsl,t4240-clockgen" 31 * "fsl,t4240-clockgen"
32 * "fsl,b4420-clockgen" 32 * "fsl,b4420-clockgen"
33 * "fsl,b4860-clockgen" 33 * "fsl,b4860-clockgen"
34 * "fsl,ls1012a-clockgen"
34 * "fsl,ls1021a-clockgen" 35 * "fsl,ls1021a-clockgen"
35 * "fsl,ls1043a-clockgen" 36 * "fsl,ls1043a-clockgen"
36 * "fsl,ls1046a-clockgen" 37 * "fsl,ls1046a-clockgen"
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 66027181fba4..39db645b268e 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -1,3 +1,6 @@
1dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
2dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
3dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
1dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb 4dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
2dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb 5dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
3dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb 6dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
new file mode 100644
index 000000000000..a619f6496a4c
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
@@ -0,0 +1,115 @@
1/*
2 * Device Tree file for Freescale LS1012A Freedom Board.
3 *
4 * Copyright 2016, Freescale Semiconductor
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPLv2 or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */
44/dts-v1/;
45
46#include "fsl-ls1012a.dtsi"
47
48/ {
49 model = "LS1012A Freedom Board";
50 compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";
51
52 sys_mclk: clock-mclk {
53 compatible = "fixed-clock";
54 #clock-cells = <0>;
55 clock-frequency = <25000000>;
56 };
57
58 reg_1p8v: regulator-1p8v {
59 compatible = "regulator-fixed";
60 regulator-name = "1P8V";
61 regulator-min-microvolt = <1800000>;
62 regulator-max-microvolt = <1800000>;
63 regulator-always-on;
64 };
65
66 sound {
67 compatible = "simple-audio-card";
68 simple-audio-card,format = "i2s";
69 simple-audio-card,widgets =
70 "Microphone", "Microphone Jack",
71 "Headphone", "Headphone Jack",
72 "Speaker", "Speaker Ext",
73 "Line", "Line In Jack";
74 simple-audio-card,routing =
75 "MIC_IN", "Microphone Jack",
76 "Microphone Jack", "Mic Bias",
77 "LINE_IN", "Line In Jack",
78 "Headphone Jack", "HP_OUT",
79 "Speaker Ext", "LINE_OUT";
80
81 simple-audio-card,cpu {
82 sound-dai = <&sai2>;
83 frame-master;
84 bitclock-master;
85 };
86
87 simple-audio-card,codec {
88 sound-dai = <&codec>;
89 frame-master;
90 bitclock-master;
91 system-clock-frequency = <25000000>;
92 };
93 };
94};
95
96&duart0 {
97 status = "okay";
98};
99
100&i2c0 {
101 status = "okay";
102
103 codec: sgtl5000@a {
104 #sound-dai-cells = <0>;
105 compatible = "fsl,sgtl5000";
106 reg = <0xa>;
107 VDDA-supply = <&reg_1p8v>;
108 VDDIO-supply = <&reg_1p8v>;
109 clocks = <&sys_mclk>;
110 };
111};
112
113&sai2 {
114 status = "okay";
115};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
new file mode 100644
index 000000000000..14a67f1709e7
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
@@ -0,0 +1,128 @@
1/*
2 * Device Tree file for Freescale LS1012A QDS Board.
3 *
4 * Copyright 2016, Freescale Semiconductor
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPLv2 or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */
44/dts-v1/;
45
46#include "fsl-ls1012a.dtsi"
47
48/ {
49 model = "LS1012A QDS Board";
50 compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
51
52 sys_mclk: clock-mclk {
53 compatible = "fixed-clock";
54 #clock-cells = <0>;
55 clock-frequency = <24576000>;
56 };
57
58 reg_3p3v: regulator-3p3v {
59 compatible = "regulator-fixed";
60 regulator-name = "3P3V";
61 regulator-min-microvolt = <3300000>;
62 regulator-max-microvolt = <3300000>;
63 regulator-always-on;
64 };
65
66 sound {
67 compatible = "simple-audio-card";
68 simple-audio-card,format = "i2s";
69 simple-audio-card,widgets =
70 "Microphone", "Microphone Jack",
71 "Headphone", "Headphone Jack",
72 "Speaker", "Speaker Ext",
73 "Line", "Line In Jack";
74 simple-audio-card,routing =
75 "MIC_IN", "Microphone Jack",
76 "Microphone Jack", "Mic Bias",
77 "LINE_IN", "Line In Jack",
78 "Headphone Jack", "HP_OUT",
79 "Speaker Ext", "LINE_OUT";
80
81 simple-audio-card,cpu {
82 sound-dai = <&sai2>;
83 frame-master;
84 bitclock-master;
85 };
86
87 simple-audio-card,codec {
88 sound-dai = <&codec>;
89 frame-master;
90 bitclock-master;
91 system-clock-frequency = <24576000>;
92 };
93 };
94};
95
96&duart0 {
97 status = "okay";
98};
99
100&i2c0 {
101 status = "okay";
102
103 pca9547@77 {
104 compatible = "nxp,pca9547";
105 reg = <0x77>;
106 #address-cells = <1>;
107 #size-cells = <0>;
108
109 i2c@4 {
110 #address-cells = <1>;
111 #size-cells = <0>;
112 reg = <0x4>;
113
114 codec: sgtl5000@a {
115 #sound-dai-cells = <0>;
116 compatible = "fsl,sgtl5000";
117 reg = <0xa>;
118 VDDA-supply = <&reg_3p3v>;
119 VDDIO-supply = <&reg_3p3v>;
120 clocks = <&sys_mclk>;
121 };
122 };
123 };
124};
125
126&sai2 {
127 status = "okay";
128};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
new file mode 100644
index 000000000000..62c5c7123a15
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
@@ -0,0 +1,59 @@
1/*
2 * Device Tree file for Freescale LS1012A RDB Board.
3 *
4 * Copyright 2016, Freescale Semiconductor
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPLv2 or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */
44/dts-v1/;
45
46#include "fsl-ls1012a.dtsi"
47
48/ {
49 model = "LS1012A RDB Board";
50 compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
51};
52
53&duart0 {
54 status = "okay";
55};
56
57&i2c0 {
58 status = "okay";
59};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
new file mode 100644
index 000000000000..cffebb4b3df1
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -0,0 +1,247 @@
1/*
2 * Device Tree Include file for Freescale Layerscape-1012A family SoC.
3 *
4 * Copyright 2016, Freescale Semiconductor
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPLv2 or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */
44
45#include <dt-bindings/interrupt-controller/irq.h>
46
47/ {
48 compatible = "fsl,ls1012a";
49 interrupt-parent = <&gic>;
50 #address-cells = <2>;
51 #size-cells = <2>;
52
53 cpus {
54 #address-cells = <1>;
55 #size-cells = <0>;
56
57 cpu0: cpu@0 {
58 device_type = "cpu";
59 compatible = "arm,cortex-a53";
60 reg = <0x0>;
61 clocks = <&clockgen 1 0>;
62 #cooling-cells = <2>;
63 };
64 };
65
66 sysclk: sysclk {
67 compatible = "fixed-clock";
68 #clock-cells = <0>;
69 clock-frequency = <100000000>;
70 clock-output-names = "sysclk";
71 };
72
73 timer {
74 compatible = "arm,armv8-timer";
75 interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
76 <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
77 <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
78 <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
79 };
80
81 pmu {
82 compatible = "arm,armv8-pmuv3";
83 interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
84 };
85
86 gic: interrupt-controller@1400000 {
87 compatible = "arm,gic-400";
88 #interrupt-cells = <3>;
89 interrupt-controller;
90 reg = <0x0 0x1401000 0 0x1000>, /* GICD */
91 <0x0 0x1402000 0 0x2000>, /* GICC */
92 <0x0 0x1404000 0 0x2000>, /* GICH */
93 <0x0 0x1406000 0 0x2000>; /* GICV */
94 interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>;
95 };
96
97 reboot {
98 compatible = "syscon-reboot";
99 regmap = <&dcfg>;
100 offset = <0xb0>;
101 mask = <0x02>;
102 };
103
104 soc {
105 compatible = "simple-bus";
106 #address-cells = <2>;
107 #size-cells = <2>;
108 ranges;
109
110 scfg: scfg@1570000 {
111 compatible = "fsl,ls1012a-scfg", "syscon";
112 reg = <0x0 0x1570000 0x0 0x10000>;
113 big-endian;
114 };
115
116 dcfg: dcfg@1ee0000 {
117 compatible = "fsl,ls1012a-dcfg",
118 "syscon";
119 reg = <0x0 0x1ee0000 0x0 0x10000>;
120 big-endian;
121 };
122
123 clockgen: clocking@1ee1000 {
124 compatible = "fsl,ls1012a-clockgen";
125 reg = <0x0 0x1ee1000 0x0 0x1000>;
126 #clock-cells = <2>;
127 clocks = <&sysclk>;
128 };
129
130 i2c0: i2c@2180000 {
131 compatible = "fsl,vf610-i2c";
132 #address-cells = <1>;
133 #size-cells = <0>;
134 reg = <0x0 0x2180000 0x0 0x10000>;
135 interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
136 clocks = <&clockgen 4 0>;
137 status = "disabled";
138 };
139
140 i2c1: i2c@2190000 {
141 compatible = "fsl,vf610-i2c";
142 #address-cells = <1>;
143 #size-cells = <0>;
144 reg = <0x0 0x2190000 0x0 0x10000>;
145 interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
146 clocks = <&clockgen 4 0>;
147 status = "disabled";
148 };
149
150 duart0: serial@21c0500 {
151 compatible = "fsl,ns16550", "ns16550a";
152 reg = <0x00 0x21c0500 0x0 0x100>;
153 interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
154 clocks = <&clockgen 4 0>;
155 status = "disabled";
156 };
157
158 duart1: serial@21c0600 {
159 compatible = "fsl,ns16550", "ns16550a";
160 reg = <0x00 0x21c0600 0x0 0x100>;
161 interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
162 clocks = <&clockgen 4 0>;
163 status = "disabled";
164 };
165
166 gpio0: gpio@2300000 {
167 compatible = "fsl,qoriq-gpio";
168 reg = <0x0 0x2300000 0x0 0x10000>;
169 interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
170 gpio-controller;
171 #gpio-cells = <2>;
172 interrupt-controller;
173 #interrupt-cells = <2>;
174 };
175
176 gpio1: gpio@2310000 {
177 compatible = "fsl,qoriq-gpio";
178 reg = <0x0 0x2310000 0x0 0x10000>;
179 interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
180 gpio-controller;
181 #gpio-cells = <2>;
182 interrupt-controller;
183 #interrupt-cells = <2>;
184 };
185
186 wdog0: wdog@2ad0000 {
187 compatible = "fsl,ls1012a-wdt",
188 "fsl,imx21-wdt";
189 reg = <0x0 0x2ad0000 0x0 0x10000>;
190 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
191 clocks = <&clockgen 4 0>;
192 big-endian;
193 };
194
195 sai1: sai@2b50000 {
196 #sound-dai-cells = <0>;
197 compatible = "fsl,vf610-sai";
198 reg = <0x0 0x2b50000 0x0 0x10000>;
199 interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
200 clocks = <&clockgen 4 3>, <&clockgen 4 3>,
201 <&clockgen 4 3>, <&clockgen 4 3>;
202 clock-names = "bus", "mclk1", "mclk2", "mclk3";
203 dma-names = "tx", "rx";
204 dmas = <&edma0 1 47>,
205 <&edma0 1 46>;
206 status = "disabled";
207 };
208
209 sai2: sai@2b60000 {
210 #sound-dai-cells = <0>;
211 compatible = "fsl,vf610-sai";
212 reg = <0x0 0x2b60000 0x0 0x10000>;
213 interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
214 clocks = <&clockgen 4 3>, <&clockgen 4 3>,
215 <&clockgen 4 3>, <&clockgen 4 3>;
216 clock-names = "bus", "mclk1", "mclk2", "mclk3";
217 dma-names = "tx", "rx";
218 dmas = <&edma0 1 45>,
219 <&edma0 1 44>;
220 status = "disabled";
221 };
222
223 edma0: edma@2c00000 {
224 #dma-cells = <2>;
225 compatible = "fsl,vf610-edma";
226 reg = <0x0 0x2c00000 0x0 0x10000>,
227 <0x0 0x2c10000 0x0 0x10000>,
228 <0x0 0x2c20000 0x0 0x10000>;
229 interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>,
230 <0 103 IRQ_TYPE_LEVEL_HIGH>;
231 interrupt-names = "edma-tx", "edma-err";
232 dma-channels = <32>;
233 big-endian;
234 clock-names = "dmamux0", "dmamux1";
235 clocks = <&clockgen 4 3>,
236 <&clockgen 4 3>;
237 };
238
239 sata: sata@3200000 {
240 compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci";
241 reg = <0x0 0x3200000 0x0 0x10000>;
242 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
243 clocks = <&clockgen 4 0>;
244 status = "disabled";
245 };
246 };
247};
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 38806ca53829..4a164b801882 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -45,6 +45,7 @@
45 */ 45 */
46 46
47#include <dt-bindings/interrupt-controller/arm-gic.h> 47#include <dt-bindings/interrupt-controller/arm-gic.h>
48#include <dt-bindings/thermal/thermal.h>
48 49
49/ { 50/ {
50 compatible = "fsl,ls1046a"; 51 compatible = "fsl,ls1046a";
@@ -67,6 +68,7 @@
67 clocks = <&clockgen 1 0>; 68 clocks = <&clockgen 1 0>;
68 next-level-cache = <&l2>; 69 next-level-cache = <&l2>;
69 cpu-idle-states = <&CPU_PH20>; 70 cpu-idle-states = <&CPU_PH20>;
71 #cooling-cells = <2>;
70 }; 72 };
71 73
72 cpu1: cpu@1 { 74 cpu1: cpu@1 {
@@ -279,6 +281,84 @@
279 clocks = <&sysclk>; 281 clocks = <&sysclk>;
280 }; 282 };
281 283
284 tmu: tmu@1f00000 {
285 compatible = "fsl,qoriq-tmu";
286 reg = <0x0 0x1f00000 0x0 0x10000>;
287 interrupts = <0 33 0x4>;
288 fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
289 fsl,tmu-calibration =
290 /* Calibration data group 1 */
291 <0x00000000 0x00000026
292 0x00000001 0x0000002d
293 0x00000002 0x00000032
294 0x00000003 0x00000039
295 0x00000004 0x0000003f
296 0x00000005 0x00000046
297 0x00000006 0x0000004d
298 0x00000007 0x00000054
299 0x00000008 0x0000005a
300 0x00000009 0x00000061
301 0x0000000a 0x0000006a
302 0x0000000b 0x00000071
303 /* Calibration data group 2 */
304 0x00010000 0x00000025
305 0x00010001 0x0000002c
306 0x00010002 0x00000035
307 0x00010003 0x0000003d
308 0x00010004 0x00000045
309 0x00010005 0x0000004e
310 0x00010006 0x00000057
311 0x00010007 0x00000061
312 0x00010008 0x0000006b
313 0x00010009 0x00000076
314 /* Calibration data group 3 */
315 0x00020000 0x00000029
316 0x00020001 0x00000033
317 0x00020002 0x0000003d
318 0x00020003 0x00000049
319 0x00020004 0x00000056
320 0x00020005 0x00000061
321 0x00020006 0x0000006d
322 /* Calibration data group 4 */
323 0x00030000 0x00000021
324 0x00030001 0x0000002a
325 0x00030002 0x0000003c
326 0x00030003 0x0000004e>;
327 big-endian;
328 #thermal-sensor-cells = <1>;
329 };
330
331 thermal-zones {
332 cpu_thermal: cpu-thermal {
333 polling-delay-passive = <1000>;
334 polling-delay = <5000>;
335 thermal-sensors = <&tmu 3>;
336
337 trips {
338 cpu_alert: cpu-alert {
339 temperature = <85000>;
340 hysteresis = <2000>;
341 type = "passive";
342 };
343
344 cpu_crit: cpu-crit {
345 temperature = <95000>;
346 hysteresis = <2000>;
347 type = "critical";
348 };
349 };
350
351 cooling-maps {
352 map0 {
353 trip = <&cpu_alert>;
354 cooling-device =
355 <&cpu0 THERMAL_NO_LIMIT
356 THERMAL_NO_LIMIT>;
357 };
358 };
359 };
360 };
361
282 dspi: dspi@2100000 { 362 dspi: dspi@2100000 {
283 compatible = "fsl,ls1021a-v1.0-dspi"; 363 compatible = "fsl,ls1021a-v1.0-dspi";
284 #address-cells = <1>; 364 #address-cells = <1>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
index 265e0a8b107b..2ff46ca450b1 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts
@@ -102,7 +102,6 @@
102 reg = <0x75>; 102 reg = <0x75>;
103 #address-cells = <1>; 103 #address-cells = <1>;
104 #size-cells = <0>; 104 #size-cells = <0>;
105 status = "disabled";
106 i2c@1 { 105 i2c@1 {
107 #address-cells = <1>; 106 #address-cells = <1>;
108 #size-cells = <0>; 107 #size-cells = <0>;