diff options
author | Neil Armstrong <narmstrong@baylibre.com> | 2016-11-22 05:00:45 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@baylibre.com> | 2016-11-23 10:57:17 -0500 |
commit | bb51b5350d2fe38f30f8e416541f32dde195d7d8 (patch) | |
tree | c4573c93adc48402c2c321a52505c499e5e8c1b3 | |
parent | a5b1ef3c50aa90214bfd10ede5e3806a9720ccf4 (diff) |
ARM64: dts: Add support for Meson GXM
Following the Amlogic Linux kernel, it seem the only differences
between the GXL and GXM SoCs are the CPU Clusters.
This commit renames the gxl-s905d-p23x DTSI in a common file for
S905D p23x and S912 q20x boards.
Then adds a meson-gxm dtsi and reproduce the P23x to Q20x boards
dts files since the S905D and S912 SoCs shares the same pinout
and the P23x and Q20x boards are identical.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
-rw-r--r-- | Documentation/devicetree/bindings/arm/amlogic.txt | 6 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/Makefile | 2 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi (renamed from arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p23x.dtsi) | 4 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts | 77 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts | 58 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 114 |
8 files changed, 264 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt index fffc17992510..1144214c51bb 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.txt +++ b/Documentation/devicetree/bindings/arm/amlogic.txt | |||
@@ -25,6 +25,10 @@ Boards with the Amlogic Meson GXL S905D SoC shall have the following properties: | |||
25 | Required root node property: | 25 | Required root node property: |
26 | compatible: "amlogic,s905d", "amlogic,meson-gxl"; | 26 | compatible: "amlogic,s905d", "amlogic,meson-gxl"; |
27 | 27 | ||
28 | Boards with the Amlogic Meson GXM S912 SoC shall have the following properties: | ||
29 | Required root node property: | ||
30 | compatible: "amlogic,s912", "amlogic,meson-gxm"; | ||
31 | |||
28 | Board compatible values: | 32 | Board compatible values: |
29 | - "geniatech,atv1200" (Meson6) | 33 | - "geniatech,atv1200" (Meson6) |
30 | - "minix,neo-x8" (Meson8) | 34 | - "minix,neo-x8" (Meson8) |
@@ -39,3 +43,5 @@ Board compatible values: | |||
39 | - "amlogic,p212" (Meson gxl s905x) | 43 | - "amlogic,p212" (Meson gxl s905x) |
40 | - "amlogic,p230" (Meson gxl s905d) | 44 | - "amlogic,p230" (Meson gxl s905d) |
41 | - "amlogic,p231" (Meson gxl s905d) | 45 | - "amlogic,p231" (Meson gxl s905d) |
46 | - "amlogic,q200" (Meson gxm s912) | ||
47 | - "amlogic,q201" (Meson gxm s912) | ||
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile index 5a640504a127..7752a1647661 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile | |||
@@ -8,6 +8,8 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-telos.dtb | |||
8 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb | 8 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb |
9 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb | 9 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb |
10 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb | 10 | dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb |
11 | dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q200.dtb | ||
12 | dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-q201.dtb | ||
11 | 13 | ||
12 | always := $(dtb-y) | 14 | always := $(dtb-y) |
13 | subdir-y := $(dts-dirs) | 15 | subdir-y := $(dts-dirs) |
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p23x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi index 622ffbeba336..7a078bef04cd 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p23x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | |||
@@ -41,7 +41,9 @@ | |||
41 | * OTHER DEALINGS IN THE SOFTWARE. | 41 | * OTHER DEALINGS IN THE SOFTWARE. |
42 | */ | 42 | */ |
43 | 43 | ||
44 | #include "meson-gxl-s905d.dtsi" | 44 | /* Common DTSI for same Amlogic Q200/Q201 and P230/P231 boards using either |
45 | * the pin-compatible S912 (GXM) or S905D (GXL) SoCs. | ||
46 | */ | ||
45 | 47 | ||
46 | / { | 48 | / { |
47 | aliases { | 49 | aliases { |
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts index 4d082a7fdf51..f66939cacd37 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | |||
@@ -43,7 +43,8 @@ | |||
43 | 43 | ||
44 | /dts-v1/; | 44 | /dts-v1/; |
45 | 45 | ||
46 | #include "meson-gxl-s905d-p23x.dtsi" | 46 | #include "meson-gxl-s905d.dtsi" |
47 | #include "meson-gx-p23x-q20x.dtsi" | ||
47 | 48 | ||
48 | / { | 49 | / { |
49 | compatible = "amlogic,p230", "amlogic,s905d", "amlogic,meson-gxl"; | 50 | compatible = "amlogic,p230", "amlogic,s905d", "amlogic,meson-gxl"; |
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts index 1cc8d49d85e4..95992cf1fe61 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts | |||
@@ -43,7 +43,8 @@ | |||
43 | 43 | ||
44 | /dts-v1/; | 44 | /dts-v1/; |
45 | 45 | ||
46 | #include "meson-gxl-s905d-p23x.dtsi" | 46 | #include "meson-gxl-s905d.dtsi" |
47 | #include "meson-gx-p23x-q20x.dtsi" | ||
47 | 48 | ||
48 | / { | 49 | / { |
49 | compatible = "amlogic,p231", "amlogic,s905d", "amlogic,meson-gxl"; | 50 | compatible = "amlogic,p231", "amlogic,s905d", "amlogic,meson-gxl"; |
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts new file mode 100644 index 000000000000..5dbc66088355 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q200.dts | |||
@@ -0,0 +1,77 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2016 Endless Computers, Inc. | ||
3 | * Author: Carlo Caione <carlo@endlessm.com> | ||
4 | * | ||
5 | * This file is dual-licensed: you can use it either under the terms | ||
6 | * of the GPL or the X11 license, at your option. Note that this dual | ||
7 | * licensing only applies to this file, and not this project as a | ||
8 | * whole. | ||
9 | * | ||
10 | * a) This library is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This library is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * Or, alternatively, | ||
21 | * | ||
22 | * b) Permission is hereby granted, free of charge, to any person | ||
23 | * obtaining a copy of this software and associated documentation | ||
24 | * files (the "Software"), to deal in the Software without | ||
25 | * restriction, including without limitation the rights to use, | ||
26 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
27 | * sell copies of the Software, and to permit persons to whom the | ||
28 | * Software is furnished to do so, subject to the following | ||
29 | * conditions: | ||
30 | * | ||
31 | * The above copyright notice and this permission notice shall be | ||
32 | * included in all copies or substantial portions of the Software. | ||
33 | * | ||
34 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
35 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
36 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
37 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
38 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
39 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
40 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
41 | * OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | /dts-v1/; | ||
45 | |||
46 | #include "meson-gxm.dtsi" | ||
47 | #include "meson-gx-p23x-q20x.dtsi" | ||
48 | |||
49 | / { | ||
50 | compatible = "amlogic,q200", "amlogic,s912", "amlogic,meson-gxm"; | ||
51 | model = "Amlogic Meson GXM (S912) Q200 Development Board"; | ||
52 | }; | ||
53 | |||
54 | /* Q200 has exclusive choice between internal or external PHY */ | ||
55 | ðmac { | ||
56 | pinctrl-0 = <ð_pins>; | ||
57 | pinctrl-names = "default"; | ||
58 | |||
59 | /* Select external PHY by default */ | ||
60 | phy-handle = <&external_phy>; | ||
61 | |||
62 | /* External PHY reset is shared with internal PHY Led signals */ | ||
63 | snps,reset-gpio = <&gpio GPIOZ_14 0>; | ||
64 | snps,reset-delays-us = <0 10000 1000000>; | ||
65 | snps,reset-active-low; | ||
66 | |||
67 | /* External PHY is in RGMII */ | ||
68 | phy-mode = "rgmii"; | ||
69 | }; | ||
70 | |||
71 | &external_mdio { | ||
72 | external_phy: ethernet-phy@0 { | ||
73 | compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; | ||
74 | reg = <0>; | ||
75 | max-speed = <1000>; | ||
76 | }; | ||
77 | }; | ||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts new file mode 100644 index 000000000000..95e11d7faab8 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-s912-q201.dts | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2016 Endless Computers, Inc. | ||
3 | * Author: Carlo Caione <carlo@endlessm.com> | ||
4 | * | ||
5 | * This file is dual-licensed: you can use it either under the terms | ||
6 | * of the GPL or the X11 license, at your option. Note that this dual | ||
7 | * licensing only applies to this file, and not this project as a | ||
8 | * whole. | ||
9 | * | ||
10 | * a) This library is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This library is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * Or, alternatively, | ||
21 | * | ||
22 | * b) Permission is hereby granted, free of charge, to any person | ||
23 | * obtaining a copy of this software and associated documentation | ||
24 | * files (the "Software"), to deal in the Software without | ||
25 | * restriction, including without limitation the rights to use, | ||
26 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
27 | * sell copies of the Software, and to permit persons to whom the | ||
28 | * Software is furnished to do so, subject to the following | ||
29 | * conditions: | ||
30 | * | ||
31 | * The above copyright notice and this permission notice shall be | ||
32 | * included in all copies or substantial portions of the Software. | ||
33 | * | ||
34 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
35 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
36 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
37 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
38 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
39 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
40 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
41 | * OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | /dts-v1/; | ||
45 | |||
46 | #include "meson-gxm.dtsi" | ||
47 | #include "meson-gx-p23x-q20x.dtsi" | ||
48 | |||
49 | / { | ||
50 | compatible = "amlogic,q201", "amlogic,s912", "amlogic,meson-gxm"; | ||
51 | model = "Amlogic Meson GXM (S912) Q201 Development Board"; | ||
52 | }; | ||
53 | |||
54 | /* Q201 has only internal PHY port */ | ||
55 | ðmac { | ||
56 | phy-mode = "rmii"; | ||
57 | phy-handle = <&internal_phy>; | ||
58 | }; | ||
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi new file mode 100644 index 000000000000..c1974bbbddea --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | |||
@@ -0,0 +1,114 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2016 Endless Computers, Inc. | ||
3 | * Author: Carlo Caione <carlo@endlessm.com> | ||
4 | * | ||
5 | * This file is dual-licensed: you can use it either under the terms | ||
6 | * of the GPL or the X11 license, at your option. Note that this dual | ||
7 | * licensing only applies to this file, and not this project as a | ||
8 | * whole. | ||
9 | * | ||
10 | * a) This library is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This library is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * Or, alternatively, | ||
21 | * | ||
22 | * b) Permission is hereby granted, free of charge, to any person | ||
23 | * obtaining a copy of this software and associated documentation | ||
24 | * files (the "Software"), to deal in the Software without | ||
25 | * restriction, including without limitation the rights to use, | ||
26 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
27 | * sell copies of the Software, and to permit persons to whom the | ||
28 | * Software is furnished to do so, subject to the following | ||
29 | * conditions: | ||
30 | * | ||
31 | * The above copyright notice and this permission notice shall be | ||
32 | * included in all copies or substantial portions of the Software. | ||
33 | * | ||
34 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
35 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
36 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
37 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
38 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
39 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
40 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
41 | * OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | #include "meson-gxl.dtsi" | ||
45 | |||
46 | / { | ||
47 | compatible = "amlogic,meson-gxm"; | ||
48 | |||
49 | cpus { | ||
50 | cpu-map { | ||
51 | cluster0 { | ||
52 | core0 { | ||
53 | cpu = <&cpu0>; | ||
54 | }; | ||
55 | core1 { | ||
56 | cpu = <&cpu1>; | ||
57 | }; | ||
58 | core2 { | ||
59 | cpu = <&cpu2>; | ||
60 | }; | ||
61 | core3 { | ||
62 | cpu = <&cpu3>; | ||
63 | }; | ||
64 | }; | ||
65 | |||
66 | cluster1 { | ||
67 | core0 { | ||
68 | cpu = <&cpu4>; | ||
69 | }; | ||
70 | core1 { | ||
71 | cpu = <&cpu5>; | ||
72 | }; | ||
73 | core2 { | ||
74 | cpu = <&cpu6>; | ||
75 | }; | ||
76 | core3 { | ||
77 | cpu = <&cpu7>; | ||
78 | }; | ||
79 | }; | ||
80 | }; | ||
81 | |||
82 | cpu4: cpu@100 { | ||
83 | device_type = "cpu"; | ||
84 | compatible = "arm,cortex-a53", "arm,armv8"; | ||
85 | reg = <0x0 0x100>; | ||
86 | enable-method = "psci"; | ||
87 | next-level-cache = <&l2>; | ||
88 | }; | ||
89 | |||
90 | cpu5: cpu@101 { | ||
91 | device_type = "cpu"; | ||
92 | compatible = "arm,cortex-a53", "arm,armv8"; | ||
93 | reg = <0x0 0x101>; | ||
94 | enable-method = "psci"; | ||
95 | next-level-cache = <&l2>; | ||
96 | }; | ||
97 | |||
98 | cpu6: cpu@102 { | ||
99 | device_type = "cpu"; | ||
100 | compatible = "arm,cortex-a53", "arm,armv8"; | ||
101 | reg = <0x0 0x102>; | ||
102 | enable-method = "psci"; | ||
103 | next-level-cache = <&l2>; | ||
104 | }; | ||
105 | |||
106 | cpu7: cpu@103 { | ||
107 | device_type = "cpu"; | ||
108 | compatible = "arm,cortex-a53", "arm,armv8"; | ||
109 | reg = <0x0 0x103>; | ||
110 | enable-method = "psci"; | ||
111 | next-level-cache = <&l2>; | ||
112 | }; | ||
113 | }; | ||
114 | }; | ||