* [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement
@ 2016-02-29 23:44 Andreas Färber
2016-02-29 23:44 ` [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform Andreas Färber
` (7 more replies)
0 siblings, 8 replies; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Hello,
This series adds initial support for the Amlogic S905 based
Tronsmart Vega S95 Pro, Meta and Telos TV boxes.
Regards,
Andreas
Cc: devicetree at vger.kernel.org
Andreas F?rber (8):
ARM64: Enable Amlogic Meson GXBaby platform
Documentation: devicetree: amlogic: Document Meson GXBaby
ARM64: dts: Prepare configs for Amlogic Meson GXBaby
Documentation: devicetree: Document Tronsmart vendor prefix
Documentation: devicetree: amlogic: Document Tronsmart Vega S95 boards
ARM64: dts: amlogic: Add Tronsmart Vega S95 configs
ARM64: dts: amlogic: Extend GXBaby GIC node
ARM64: dts: amlogic: Add arch timer node for Meson GXBaby
Documentation/devicetree/bindings/arm/amlogic.txt | 7 +
.../devicetree/bindings/vendor-prefixes.txt | 1 +
arch/arm64/Kconfig.platforms | 6 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/amlogic/Makefile | 7 +
.../boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts | 55 ++++++++
.../boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts | 55 ++++++++
.../boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts | 55 ++++++++
.../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 73 +++++++++++
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 142 +++++++++++++++++++++
10 files changed, 402 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/Makefile
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
--
2.6.2
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-03-01 14:43 ` Sudeep Holla
2016-02-29 23:44 ` [PATCH 2/8] Documentation: devicetree: amlogic: Document Meson GXBaby Andreas Färber
` (6 subsequent siblings)
7 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Provide the ARCH_MESON Kconfig symbol to allow enabling existing serial
and i2c drivers.
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
arch/arm64/Kconfig.platforms | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index a0a69589e46c..17d0ddaa0516 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -56,6 +56,12 @@ config ARCH_MEDIATEK
help
Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
+config ARCH_MESON
+ bool "Amlogic Platforms"
+ select ARM_GIC
+ help
+ This enables support for the S905 SoCs
+
config ARCH_MVEBU
bool "Marvell EBU SoC Family"
select ARMADA_AP806_CORE_CLK
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 2/8] Documentation: devicetree: amlogic: Document Meson GXBaby
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
2016-02-29 23:44 ` [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-02-29 23:44 ` [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic " Andreas Färber
` (5 subsequent siblings)
7 siblings, 0 replies; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Use "amlogic,meson-gxbb" compatible string.
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
Documentation/devicetree/bindings/arm/amlogic.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
index 1dfee20eee74..776f08ca215f 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.txt
+++ b/Documentation/devicetree/bindings/arm/amlogic.txt
@@ -13,6 +13,10 @@ Boards with the Amlogic Meson8b SoC shall have the following properties:
Required root node property:
compatible: "amlogic,meson8b";
+Boards with the Amlogic Meson GXBaby SoC shall have the following properties:
+ Required root node property:
+ compatible: "amlogic,meson-gxbb";
+
Board compatible values:
- "geniatech,atv1200" (Meson6)
- "minix,neo-x8" (Meson8)
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic Meson GXBaby
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
2016-02-29 23:44 ` [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform Andreas Färber
2016-02-29 23:44 ` [PATCH 2/8] Documentation: devicetree: amlogic: Document Meson GXBaby Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-03-01 14:43 ` Sudeep Holla
2016-02-29 23:44 ` [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix Andreas Färber
` (4 subsequent siblings)
7 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/amlogic/Makefile | 3 +
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 128 ++++++++++++++++++++++++++++
3 files changed, 132 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/Makefile
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index fd80617a9c6f..330fae966cf3 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -1,6 +1,7 @@
dts-dirs += al
dts-dirs += altera
dts-dirs += amd
+dts-dirs += amlogic
dts-dirs += apm
dts-dirs += arm
dts-dirs += broadcom
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
new file mode 100644
index 000000000000..1b06c28c67eb
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -0,0 +1,3 @@
+always := $(dtb-y)
+subdir-y := $(dts-dirs)
+clean-files := *.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
new file mode 100644
index 000000000000..0ae089bd1806
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2016 Andreas F?rber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <0x2>;
+ #size-cells = <0x0>;
+
+ cpu0: cpu at 0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x0>;
+ enable-method = "psci";
+ };
+
+ cpu1: cpu at 1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x1>;
+ enable-method = "psci";
+ };
+
+ cpu2: cpu at 2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x2>;
+ enable-method = "psci";
+ };
+
+ cpu3: cpu at 3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53", "arm,armv8";
+ reg = <0x0 0x3>;
+ enable-method = "psci";
+ };
+ };
+
+ arm-pmu {
+ compatible = "arm,armv8-pmuv3";
+ interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+ };
+
+ psci {
+ compatible = "arm,psci";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ migrate = <0xc4000005>;
+ };
+
+ xtal: xtal-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <24000000>;
+ clock-output-names = "xtal";
+ #clock-cells = <0>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ gic: interrupt-controller at c4301000 {
+ compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
+ reg = <0x0 0xc4301000 0 0x1000>,
+ <0x0 0xc4302000 0 0x0100>;
+ interrupt-controller;
+ interrupts = <GIC_PPI 9
+ (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
+ #interrupt-cells = <3>;
+ #address-cells = <0>;
+ };
+ };
+};
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
` (2 preceding siblings ...)
2016-02-29 23:44 ` [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic " Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-03-01 11:37 ` Matthias Brugger
2016-03-03 23:57 ` Rob Herring
2016-02-29 23:44 ` [PATCH 5/8] Documentation: devicetree: amlogic: Document Tronsmart Vega S95 boards Andreas Färber
` (3 subsequent siblings)
7 siblings, 2 replies; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Choose the obvious prefix, "tronsmart".
Cc: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index f871e8e7e98f..662edc7bce04 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -243,6 +243,7 @@ toshiba Toshiba Corporation
toumaz Toumaz
tplink TP-LINK Technologies Co., Ltd.
tronfy Tronfy
+tronsmart Tronsmart
truly Truly Semiconductors Limited
upisemi uPI Semiconductor Corp.
urt United Radiant Technology Corporation
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 5/8] Documentation: devicetree: amlogic: Document Tronsmart Vega S95 boards
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
` (3 preceding siblings ...)
2016-02-29 23:44 ` [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-02-29 23:44 ` [PATCH 6/8] ARM64: dts: amlogic: Add Tronsmart Vega S95 configs Andreas Färber
` (2 subsequent siblings)
7 siblings, 0 replies; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Use "tronsmart,vega-s95" as well as
"tronsmart,vega-s95-pro",
"tronsmart,vega-s95-meta" and
"tronsmart,vega-s95-telos" compatible strings.
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
Documentation/devicetree/bindings/arm/amlogic.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
index 776f08ca215f..8a5122ab19b0 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.txt
+++ b/Documentation/devicetree/bindings/arm/amlogic.txt
@@ -22,3 +22,6 @@ Board compatible values:
- "minix,neo-x8" (Meson8)
- "tronfy,mxq" (Meson8b)
- "hardkernel,odroid-c1" (Meson8b)
+ - "tronsmart,vega-s95-pro", "tronsmart,vega-s95" (Meson gxbb)
+ - "tronsmart,vega-s95-meta", "tronsmart,vega-s95" (Meson gxbb)
+ - "tronsmart,vega-s95-telos", "tronsmart,vega-s95" (Meson gxbb)
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 6/8] ARM64: dts: amlogic: Add Tronsmart Vega S95 configs
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
` (4 preceding siblings ...)
2016-02-29 23:44 ` [PATCH 5/8] Documentation: devicetree: amlogic: Document Tronsmart Vega S95 boards Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-02-29 23:55 ` Andreas Färber
2016-02-29 23:44 ` [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node Andreas Färber
2016-02-29 23:44 ` [PATCH 8/8] ARM64: dts: amlogic: Add arch timer node for Meson GXBaby Andreas Färber
7 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Add Device Trees for Tronsmart Vega S95 Pro, Meta and Telos TV boxes.
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
arch/arm64/boot/dts/amlogic/Makefile | 4 ++
.../boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts | 55 ++++++++++++++++
.../boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts | 55 ++++++++++++++++
.../boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts | 55 ++++++++++++++++
.../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 73 ++++++++++++++++++++++
5 files changed, 242 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 1b06c28c67eb..eb672f38f89e 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -1,3 +1,7 @@
+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-pro.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-meta.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-vega-s95-telos.dtb
+
always := $(dtb-y)
subdir-y := $(dts-dirs)
clean-files := *.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
new file mode 100644
index 000000000000..399aff9e7975
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2016 Andreas F?rber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "meson-gxbb-vega-s95.dtsi"
+
+/ {
+ compatible = "tronsmart,vega-s95-meta", "tronsmart,vega-s95", "amlogic,meson-gxbb";
+ model = "Tronsmart Vega S95 Meta";
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x80000000>;
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
new file mode 100644
index 000000000000..ac5a241b5ec2
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2016 Andreas F?rber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "meson-gxbb-vega-s95.dtsi"
+
+/ {
+ compatible = "tronsmart,vega-s95-pro", "tronsmart,vega-s95", "amlogic,meson-gxbb";
+ model = "Tronsmart Vega S95 Pro";
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x40000000>;
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
new file mode 100644
index 000000000000..fff7bfa2aa39
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2016 Andreas F?rber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "meson-gxbb-vega-s95.dtsi"
+
+/ {
+ compatible = "tronsmart,vega-s95-telos", "tronsmart,vega-s95", "amlogic,meson-gxbb";
+ model = "Tronsmart Vega S95 Telos";
+
+ memory {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x80000000>;
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
new file mode 100644
index 000000000000..f8c78beb4376
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Andreas F?rber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "meson-gxbb.dtsi"
+
+/ {
+ compatible = "tronsmart,vega-s95", "amlogic,meson-gxbb";
+
+ aliases {
+ serial0 = &uart_AO;
+ serial1 = &uart_A;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ soc {
+ uart_A: serial at c11084c0 {
+ compatible = "amlogic,meson-uart";
+ reg = <0x0 0xc11084c0 0x0 0x14>;
+ interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&xtal>;
+ status = "disabled";
+ };
+
+ uart_AO: serial at c81004c0 {
+ compatible = "amlogic,meson-uart";
+ reg = <0x0 0xc81004c0 0x0 0x14>;
+ interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&xtal>;
+ };
+ };
+};
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
` (5 preceding siblings ...)
2016-02-29 23:44 ` [PATCH 6/8] ARM64: dts: amlogic: Add Tronsmart Vega S95 configs Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
2016-03-01 11:01 ` Andre Przywara
2016-02-29 23:44 ` [PATCH 8/8] ARM64: dts: amlogic: Add arch timer node for Meson GXBaby Andreas Färber
7 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Add GICH and GICV resources for HYP mode - guess based on other vendors.
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 0ae089bd1806..5088ae3ff653 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -117,7 +117,9 @@
gic: interrupt-controller at c4301000 {
compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
reg = <0x0 0xc4301000 0 0x1000>,
- <0x0 0xc4302000 0 0x0100>;
+ <0x0 0xc4302000 0 0x0100>,
+ <0x0 0xc4304000 0 0x2000>,
+ <0x0 0xc4306000 0 0x2000>;
interrupt-controller;
interrupts = <GIC_PPI 9
(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 8/8] ARM64: dts: amlogic: Add arch timer node for Meson GXBaby
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
` (6 preceding siblings ...)
2016-02-29 23:44 ` [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node Andreas Färber
@ 2016-02-29 23:44 ` Andreas Färber
7 siblings, 0 replies; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:44 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Andreas F?rber <afaerber@suse.de>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 5088ae3ff653..a029da976a27 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -101,6 +101,18 @@
migrate = <0xc4000005>;
};
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <GIC_PPI 13
+ (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>,
+ <GIC_PPI 14
+ (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>,
+ <GIC_PPI 11
+ (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>,
+ <GIC_PPI 10
+ (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>;
+ };
+
xtal: xtal-clk {
compatible = "fixed-clock";
clock-frequency = <24000000>;
--
2.6.2
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH 6/8] ARM64: dts: amlogic: Add Tronsmart Vega S95 configs
2016-02-29 23:44 ` [PATCH 6/8] ARM64: dts: amlogic: Add Tronsmart Vega S95 configs Andreas Färber
@ 2016-02-29 23:55 ` Andreas Färber
0 siblings, 0 replies; 32+ messages in thread
From: Andreas Färber @ 2016-02-29 23:55 UTC (permalink / raw)
To: linux-arm-kernel
Am 01.03.2016 um 00:44 schrieb Andreas F?rber:
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
> new file mode 100644
> index 000000000000..f8c78beb4376
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
> @@ -0,0 +1,73 @@
[...]
> +#include "meson-gxbb.dtsi"
> +
> +/ {
> + compatible = "tronsmart,vega-s95", "amlogic,meson-gxbb";
> +
> + aliases {
> + serial0 = &uart_AO;
> + serial1 = &uart_A;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + soc {
> + uart_A: serial at c11084c0 {
> + compatible = "amlogic,meson-uart";
> + reg = <0x0 0xc11084c0 0x0 0x14>;
> + interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&xtal>;
> + status = "disabled";
> + };
> +
> + uart_AO: serial at c81004c0 {
> + compatible = "amlogic,meson-uart";
> + reg = <0x0 0xc81004c0 0x0 0x14>;
> + interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
> + clocks = <&xtal>;
> + };
Doh. These two nodes and their aliases should probably go into
meson-gxbb.dtsi (3/8).
> + };
> +};
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-02-29 23:44 ` [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node Andreas Färber
@ 2016-03-01 11:01 ` Andre Przywara
2016-03-01 11:18 ` Andreas Färber
0 siblings, 1 reply; 32+ messages in thread
From: Andre Przywara @ 2016-03-01 11:01 UTC (permalink / raw)
To: linux-arm-kernel
Hi Andreas,
On 29/02/16 23:44, Andreas F?rber wrote:
> Add GICH and GICV resources for HYP mode - guess based on other vendors.
Do you know if the firmware allows the kernel to be entered in EL2
(which is the arm64 name for HYP)?
So can we run kvm?
If you have a booted kernel, can you grep for "EL2" and "kvm" in the dmesg?
Also you should merge this patch into 3/8, same for 8/8.
> Signed-off-by: Andreas F?rber <afaerber@suse.de>
> ---
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> index 0ae089bd1806..5088ae3ff653 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> @@ -117,7 +117,9 @@
> gic: interrupt-controller at c4301000 {
> compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
I think "arm,gic-400" is the name to use here these days, especially for
arm64.
> reg = <0x0 0xc4301000 0 0x1000>,
> - <0x0 0xc4302000 0 0x0100>;
> + <0x0 0xc4302000 0 0x0100>,
Please use 0x2000 for the size here. I guess this is really the GIC-400
from ARM, and in this case this is the right size, [1] is the reference
here. This will enable EOI mode 1 for KVM.
Cheers,
Andre.
[1]
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/CHDIFAEE.html
> + <0x0 0xc4304000 0 0x2000>,
> + <0x0 0xc4306000 0 0x2000>;
> interrupt-controller;
> interrupts = <GIC_PPI 9
> (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 11:01 ` Andre Przywara
@ 2016-03-01 11:18 ` Andreas Färber
2016-03-01 11:42 ` Matthias Brugger
2016-03-01 12:43 ` Andre Przywara
0 siblings, 2 replies; 32+ messages in thread
From: Andreas Färber @ 2016-03-01 11:18 UTC (permalink / raw)
To: linux-arm-kernel
Hi Andre,
Am 01.03.2016 um 12:01 schrieb Andre Przywara:
> On 29/02/16 23:44, Andreas F?rber wrote:
>> Add GICH and GICV resources for HYP mode - guess based on other vendors.
>
> Do you know if the firmware allows the kernel to be entered in EL2
> (which is the arm64 name for HYP)?
> So can we run kvm?
> If you have a booted kernel, can you grep for "EL2" and "kvm" in the dmesg?
I do not have a rootfs yet (MMC v5 patches by Carlo are still waiting
for review), but with this change the KVM driver initializes okay - the
purpose of this patch!
> Also you should merge this patch into 3/8, same for 8/8.
If people confirm this is generally or specifically for this SoC correct
then sure. So far 3/8 seems a safe subset for lack of public documentation.
>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>> ---
>> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>> index 0ae089bd1806..5088ae3ff653 100644
>> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>> @@ -117,7 +117,9 @@
>> gic: interrupt-controller at c4301000 {
>> compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>
> I think "arm,gic-400" is the name to use here these days, especially for
> arm64.
I took what /proc/device-tree showed on Android and verified that this
compatible is in use in mainline.
>> reg = <0x0 0xc4301000 0 0x1000>,
>> - <0x0 0xc4302000 0 0x0100>;
>> + <0x0 0xc4302000 0 0x0100>,
>
> Please use 0x2000 for the size here. I guess this is really the GIC-400
> from ARM, and in this case this is the right size, [1] is the reference
> here. This will enable EOI mode 1 for KVM.
Will test later.
Is there any easy way to find out whether or not this is that GIC-400?
Thanks,
Andreas
> [1]
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/CHDIFAEE.html
>
>> + <0x0 0xc4304000 0 0x2000>,
>> + <0x0 0xc4306000 0 0x2000>;
>> interrupt-controller;
>> interrupts = <GIC_PPI 9
>> (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix
2016-02-29 23:44 ` [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix Andreas Färber
@ 2016-03-01 11:37 ` Matthias Brugger
2016-03-01 11:53 ` Andreas Färber
2016-03-03 23:57 ` Rob Herring
1 sibling, 1 reply; 32+ messages in thread
From: Matthias Brugger @ 2016-03-01 11:37 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 00:44, Andreas F?rber wrote:
> Choose the obvious prefix, "tronsmart".
>
> Cc: Matthias Brugger <mbrugger@suse.com>
> Signed-off-by: Andreas F?rber <afaerber@suse.de>
> ---
Same as a older patch I send some month ago. So also this is a trivial
one, for the record:
Singed-off-by: Matthias Brugger <mbrugger@suse.com>
> Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index f871e8e7e98f..662edc7bce04 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -243,6 +243,7 @@ toshiba Toshiba Corporation
> toumaz Toumaz
> tplink TP-LINK Technologies Co., Ltd.
> tronfy Tronfy
> +tronsmart Tronsmart
> truly Truly Semiconductors Limited
> upisemi uPI Semiconductor Corp.
> urt United Radiant Technology Corporation
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 11:18 ` Andreas Färber
@ 2016-03-01 11:42 ` Matthias Brugger
2016-03-01 12:43 ` Andre Przywara
1 sibling, 0 replies; 32+ messages in thread
From: Matthias Brugger @ 2016-03-01 11:42 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 12:18, Andreas F?rber wrote:
> Hi Andre,
>
> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>> On 29/02/16 23:44, Andreas F?rber wrote:
>>> Add GICH and GICV resources for HYP mode - guess based on other vendors.
>>
>> Do you know if the firmware allows the kernel to be entered in EL2
>> (which is the arm64 name for HYP)?
>> So can we run kvm?
>> If you have a booted kernel, can you grep for "EL2" and "kvm" in the dmesg?
>
> I do not have a rootfs yet (MMC v5 patches by Carlo are still waiting
> for review), but with this change the KVM driver initializes okay - the
> purpose of this patch!
>
>> Also you should merge this patch into 3/8, same for 8/8.
>
> If people confirm this is generally or specifically for this SoC correct
> then sure. So far 3/8 seems a safe subset for lack of public documentation.
>
Yes, this is generally correct. Actually without 8/8 you won't be able
to run an initramfs.
Regards,
Matthias
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix
2016-03-01 11:37 ` Matthias Brugger
@ 2016-03-01 11:53 ` Andreas Färber
2016-03-01 13:29 ` Matthias Brugger
2016-03-01 19:23 ` Beniamino Galvani
0 siblings, 2 replies; 32+ messages in thread
From: Andreas Färber @ 2016-03-01 11:53 UTC (permalink / raw)
To: linux-arm-kernel
Am 01.03.2016 um 12:37 schrieb Matthias Brugger:
> On 01/03/16 00:44, Andreas F?rber wrote:
>> Choose the obvious prefix, "tronsmart".
>>
>> Cc: Matthias Brugger <mbrugger@suse.com>
>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>> ---
>
> Same as a older patch I send some month ago. So also this is a trivial
> one, for the record:
>
> Singed-off-by: Matthias Brugger <mbrugger@suse.com>
Hm, I see yours got an Acked-by from Rob on Jan 17. Through whose queue
is this supposed to go?
Searching for it, I even found a similar 2014 patch from Beniamino
Galvani (CC'ed), without any review replies.
I'll happily pick up one of the previous patches instead. Sorry, was in
a hurry to clean this series up for Nicolas (Mini Mx) and to avoid any
Odroid-C2 users duplicating my work.
Cheers,
Andreas
>> Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt
>> b/Documentation/devicetree/bindings/vendor-prefixes.txt
>> index f871e8e7e98f..662edc7bce04 100644
>> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
>> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
>> @@ -243,6 +243,7 @@ toshiba Toshiba Corporation
>> toumaz Toumaz
>> tplink TP-LINK Technologies Co., Ltd.
>> tronfy Tronfy
>> +tronsmart Tronsmart
>> truly Truly Semiconductors Limited
>> upisemi uPI Semiconductor Corp.
>> urt United Radiant Technology Corporation
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 11:18 ` Andreas Färber
2016-03-01 11:42 ` Matthias Brugger
@ 2016-03-01 12:43 ` Andre Przywara
2016-03-01 12:53 ` Carlo Caione
` (2 more replies)
1 sibling, 3 replies; 32+ messages in thread
From: Andre Przywara @ 2016-03-01 12:43 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On 01/03/16 11:18, Andreas F?rber wrote:
> Hi Andre,
>
> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>> On 29/02/16 23:44, Andreas F?rber wrote:
>>> Add GICH and GICV resources for HYP mode - guess based on other vendors.
>>
>> Do you know if the firmware allows the kernel to be entered in EL2
>> (which is the arm64 name for HYP)?
>> So can we run kvm?
>> If you have a booted kernel, can you grep for "EL2" and "kvm" in the dmesg?
>
> I do not have a rootfs yet (MMC v5 patches by Carlo are still waiting
> for review), but with this change the KVM driver initializes okay - the
> purpose of this patch!
>
>> Also you should merge this patch into 3/8, same for 8/8.
>
> If people confirm this is generally or specifically for this SoC correct
> then sure. So far 3/8 seems a safe subset for lack of public documentation.
The GIC is an integral part of the SoC, so this clearly belongs in there.
>>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>>> ---
>>> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 +++-
In general I was wondering if this naming is correct?
Shouldn't it be something with "s905" in it? Because this the SoC that
is driving all those hardware and the peripherals that you describe in
there are clearly within the SoC.
So something like meson-s905.dtsi or the like?
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>> index 0ae089bd1806..5088ae3ff653 100644
>>> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>> @@ -117,7 +117,9 @@
>>> gic: interrupt-controller at c4301000 {
>>> compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>>
>> I think "arm,gic-400" is the name to use here these days, especially for
>> arm64.
>
> I took what /proc/device-tree showed on Android and verified that this
> compatible is in use in mainline.
Some vendor Android kernel is not a good reference for mainline work ;-)
Better look at other DTs in arch/arm64/boot/dts.
You could keep "arm,cortex-a15-gic" in there if you care about
compatibility with older (vendor) kernels, but I guess there are other
issues which prevent this anyway, so you could drop this as well.
>>> reg = <0x0 0xc4301000 0 0x1000>,
>>> - <0x0 0xc4302000 0 0x0100>;
>>> + <0x0 0xc4302000 0 0x0100>,
>>
>> Please use 0x2000 for the size here. I guess this is really the GIC-400
>> from ARM, and in this case this is the right size, [1] is the reference
>> here. This will enable EOI mode 1 for KVM.
>
> Will test later.
>
> Is there any easy way to find out whether or not this is that GIC-400?
If you can read registers: GICD_IIDR and PIDRx have some info:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/CHDIFAEE.html
So if your U-Boot for instance supports md, a dump of:
md.l c4301008 1
md.l c4301fd0 30
would help to identify the GIC.
Cheers,
Andre.
>
> Thanks,
> Andreas
>
>> [1]
>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/CHDIFAEE.html
>>
>>> + <0x0 0xc4304000 0 0x2000>,
>>> + <0x0 0xc4306000 0 0x2000>;
>>> interrupt-controller;
>>> interrupts = <GIC_PPI 9
>>> (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 12:43 ` Andre Przywara
@ 2016-03-01 12:53 ` Carlo Caione
2016-03-01 14:16 ` Andre Przywara
2016-03-01 22:46 ` Andreas Färber
2016-03-01 23:31 ` Andreas Färber
2 siblings, 1 reply; 32+ messages in thread
From: Carlo Caione @ 2016-03-01 12:53 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Mar 1, 2016 at 1:43 PM, Andre Przywara <andre.przywara@arm.com> wrote:
> Hi,
>
> On 01/03/16 11:18, Andreas F?rber wrote:
>> Hi Andre,
>>
>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>> Add GICH and GICV resources for HYP mode - guess based on other vendors.
>>>
>>> Do you know if the firmware allows the kernel to be entered in EL2
>>> (which is the arm64 name for HYP)?
>>> So can we run kvm?
>>> If you have a booted kernel, can you grep for "EL2" and "kvm" in the dmesg?
>>
>> I do not have a rootfs yet (MMC v5 patches by Carlo are still waiting
>> for review), but with this change the KVM driver initializes okay - the
>> purpose of this patch!
>>
>>> Also you should merge this patch into 3/8, same for 8/8.
>>
>> If people confirm this is generally or specifically for this SoC correct
>> then sure. So far 3/8 seems a safe subset for lack of public documentation.
>
> The GIC is an integral part of the SoC, so this clearly belongs in there.
>
>>>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>>>> ---
>>>> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 +++-
>
> In general I was wondering if this naming is correct?
> Shouldn't it be something with "s905" in it? Because this the SoC that
> is driving all those hardware and the peripherals that you describe in
> there are clearly within the SoC.
> So something like meson-s905.dtsi or the like?
When I first submitted support for the meson8 and meson8b I picked up
the names according to the Amlogic SDK.
In the latest Amlogic drop this SoC is identified as meson-gxbb so
probably we should stick to this name.
--
Carlo Caione
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix
2016-03-01 11:53 ` Andreas Färber
@ 2016-03-01 13:29 ` Matthias Brugger
2016-03-01 19:23 ` Beniamino Galvani
1 sibling, 0 replies; 32+ messages in thread
From: Matthias Brugger @ 2016-03-01 13:29 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 12:53, Andreas F?rber wrote:
> Am 01.03.2016 um 12:37 schrieb Matthias Brugger:
>> On 01/03/16 00:44, Andreas F?rber wrote:
>>> Choose the obvious prefix, "tronsmart".
>>>
>>> Cc: Matthias Brugger <mbrugger@suse.com>
>>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>>> ---
>>
>> Same as a older patch I send some month ago. So also this is a trivial
>> one, for the record:
>>
>> Singed-off-by: Matthias Brugger <mbrugger@suse.com>
>
> Hm, I see yours got an Acked-by from Rob on Jan 17. Through whose queue
> is this supposed to go?
>
With the ack from Rob, this will be merged through the arm-soc tree.
> Searching for it, I even found a similar 2014 patch from Beniamino
> Galvani (CC'ed), without any review replies.
>
> I'll happily pick up one of the previous patches instead. Sorry, was in
> a hurry to clean this series up for Nicolas (Mini Mx) and to avoid any
> Odroid-C2 users duplicating my work.
>
No worries :)
Cheers,
Matthias
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 12:53 ` Carlo Caione
@ 2016-03-01 14:16 ` Andre Przywara
0 siblings, 0 replies; 32+ messages in thread
From: Andre Przywara @ 2016-03-01 14:16 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On 01/03/16 12:53, Carlo Caione wrote:
> On Tue, Mar 1, 2016 at 1:43 PM, Andre Przywara <andre.przywara@arm.com> wrote:
>> Hi,
>>
>> On 01/03/16 11:18, Andreas F?rber wrote:
>>> Hi Andre,
>>>
>>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>>> Add GICH and GICV resources for HYP mode - guess based on other vendors.
>>>>
>>>> Do you know if the firmware allows the kernel to be entered in EL2
>>>> (which is the arm64 name for HYP)?
>>>> So can we run kvm?
>>>> If you have a booted kernel, can you grep for "EL2" and "kvm" in the dmesg?
>>>
>>> I do not have a rootfs yet (MMC v5 patches by Carlo are still waiting
>>> for review), but with this change the KVM driver initializes okay - the
>>> purpose of this patch!
>>>
>>>> Also you should merge this patch into 3/8, same for 8/8.
>>>
>>> If people confirm this is generally or specifically for this SoC correct
>>> then sure. So far 3/8 seems a safe subset for lack of public documentation.
>>
>> The GIC is an integral part of the SoC, so this clearly belongs in there.
>>
>>>>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>>>>> ---
>>>>> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 +++-
>>
>> In general I was wondering if this naming is correct?
>> Shouldn't it be something with "s905" in it? Because this the SoC that
>> is driving all those hardware and the peripherals that you describe in
>> there are clearly within the SoC.
>> So something like meson-s905.dtsi or the like?
>
> When I first submitted support for the meson8 and meson8b I picked up
> the names according to the Amlogic SDK.
> In the latest Amlogic drop this SoC is identified as meson-gxbb so
> probably we should stick to this name.
Oh, I guess in this case it's fine then. I was just wondering if we
should use a name that is more descriptive to the uninitiated reader.
Cheers,
Andre.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic Meson GXBaby
2016-02-29 23:44 ` [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic " Andreas Färber
@ 2016-03-01 14:43 ` Sudeep Holla
2016-03-01 15:18 ` Andreas Färber
0 siblings, 1 reply; 32+ messages in thread
From: Sudeep Holla @ 2016-03-01 14:43 UTC (permalink / raw)
To: linux-arm-kernel
On 29/02/16 23:44, Andreas F?rber wrote:
> Signed-off-by: Andreas F?rber <afaerber@suse.de>
> ---
> arch/arm64/boot/dts/Makefile | 1 +
> arch/arm64/boot/dts/amlogic/Makefile | 3 +
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 128 ++++++++++++++++++++++++++++
> 3 files changed, 132 insertions(+)
> create mode 100644 arch/arm64/boot/dts/amlogic/Makefile
> create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> index fd80617a9c6f..330fae966cf3 100644
> --- a/arch/arm64/boot/dts/Makefile
> +++ b/arch/arm64/boot/dts/Makefile
> @@ -1,6 +1,7 @@
> dts-dirs += al
> dts-dirs += altera
> dts-dirs += amd
> +dts-dirs += amlogic
> dts-dirs += apm
> dts-dirs += arm
> dts-dirs += broadcom
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> new file mode 100644
> index 000000000000..1b06c28c67eb
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -0,0 +1,3 @@
> +always := $(dtb-y)
> +subdir-y := $(dts-dirs)
> +clean-files := *.dtb
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> new file mode 100644
> index 000000000000..0ae089bd1806
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
> @@ -0,0 +1,128 @@
[...]
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +/ {
> + compatible = "amlogic,meson-gxbb";
> + interrupt-parent = <&gic>;
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + cpus {
> + #address-cells = <0x2>;
> + #size-cells = <0x0>;
> +
[...]
> + };
> +
> + arm-pmu {
> + compatible = "arm,armv8-pmuv3";
Please use "arm,cortex-a53-pmu" instead
> + interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
> + };
> +
> + psci {
> + compatible = "arm,psci";
Any particular reason why PSCI v0.2 or above is not supported on this
platform. PSCI v0.1 is very old now and I assume this platform is
relatively new.
> + method = "smc";
> + cpu_suspend = <0xc4000001>;
> + cpu_off = <0x84000002>;
> + cpu_on = <0xc4000003>;
> + migrate = <0xc4000005>;
Atleast the functions ids look like v0.2 or above. So check if it's
actually v0.2 or above in which case you can drop all the function ids above
[...]
> + soc {
> + compatible = "simple-bus";
> + #address-cells = <2>;
> + #size-cells = <2>;
> + ranges;
> +
> + gic: interrupt-controller at c4301000 {
> + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
Preferably "arm,gic-400" ?
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform
2016-02-29 23:44 ` [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform Andreas Färber
@ 2016-03-01 14:43 ` Sudeep Holla
2016-03-01 15:26 ` Andreas Färber
0 siblings, 1 reply; 32+ messages in thread
From: Sudeep Holla @ 2016-03-01 14:43 UTC (permalink / raw)
To: linux-arm-kernel
On 29/02/16 23:44, Andreas F?rber wrote:
> Provide the ARCH_MESON Kconfig symbol to allow enabling existing serial
> and i2c drivers.
>
> Signed-off-by: Andreas F?rber <afaerber@suse.de>
> ---
> arch/arm64/Kconfig.platforms | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index a0a69589e46c..17d0ddaa0516 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -56,6 +56,12 @@ config ARCH_MEDIATEK
> help
> Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
>
> +config ARCH_MESON
> + bool "Amlogic Platforms"
> + select ARM_GIC
Why do you need this ? CONFIG_ARM64 selects GIC for you.
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic Meson GXBaby
2016-03-01 14:43 ` Sudeep Holla
@ 2016-03-01 15:18 ` Andreas Färber
2016-03-01 16:19 ` Sudeep Holla
0 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-03-01 15:18 UTC (permalink / raw)
To: linux-arm-kernel
Am 01.03.2016 um 15:43 schrieb Sudeep Holla:
> On 29/02/16 23:44, Andreas F?rber wrote:
>> + psci {
>> + compatible = "arm,psci";
>
> Any particular reason why PSCI v0.2 or above is not supported on this
> platform. PSCI v0.1 is very old now and I assume this platform is
> relatively new.
I am not affiliated with Amlogic or Tronsmart, so I cannot answer why.
>> + method = "smc";
>> + cpu_suspend = <0xc4000001>;
>> + cpu_off = <0x84000002>;
>> + cpu_on = <0xc4000003>;
>> + migrate = <0xc4000005>;
>
> Atleast the functions ids look like v0.2 or above. So check if it's
> actually v0.2 or above
If you let me know how! Just change the compatible string to -0.2 and
wait for some big boom or watch out for any misbehavior in particular?
Are there any memory locations to check the version or something visible
in U-Boot source code indicating it?
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform
2016-03-01 14:43 ` Sudeep Holla
@ 2016-03-01 15:26 ` Andreas Färber
2016-03-01 16:07 ` Sudeep Holla
0 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-03-01 15:26 UTC (permalink / raw)
To: linux-arm-kernel
Am 01.03.2016 um 15:43 schrieb Sudeep Holla:
> On 29/02/16 23:44, Andreas F?rber wrote:
>> Provide the ARCH_MESON Kconfig symbol to allow enabling existing serial
>> and i2c drivers.
>>
>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>> ---
>> arch/arm64/Kconfig.platforms | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index a0a69589e46c..17d0ddaa0516 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -56,6 +56,12 @@ config ARCH_MEDIATEK
>> help
>> Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
>>
>> +config ARCH_MESON
>> + bool "Amlogic Platforms"
>> + select ARM_GIC
>
> Why do you need this ? CONFIG_ARM64 selects GIC for you.
ARCH_MEDIATEK above does and should be fixed too then.
I only need ARCH_MESON itself, I guess.
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform
2016-03-01 15:26 ` Andreas Färber
@ 2016-03-01 16:07 ` Sudeep Holla
0 siblings, 0 replies; 32+ messages in thread
From: Sudeep Holla @ 2016-03-01 16:07 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 15:26, Andreas F?rber wrote:
> Am 01.03.2016 um 15:43 schrieb Sudeep Holla:
>> On 29/02/16 23:44, Andreas F?rber wrote:
>>> Provide the ARCH_MESON Kconfig symbol to allow enabling existing serial
>>> and i2c drivers.
>>>
>>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>>> ---
>>> arch/arm64/Kconfig.platforms | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>>> index a0a69589e46c..17d0ddaa0516 100644
>>> --- a/arch/arm64/Kconfig.platforms
>>> +++ b/arch/arm64/Kconfig.platforms
>>> @@ -56,6 +56,12 @@ config ARCH_MEDIATEK
>>> help
>>> Support for Mediatek MT65xx & MT81xx ARMv8 SoCs
>>>
>>> +config ARCH_MESON
>>> + bool "Amlogic Platforms"
>>> + select ARM_GIC
>>
>> Why do you need this ? CONFIG_ARM64 selects GIC for you.
>
> ARCH_MEDIATEK above does and should be fixed too then.
Yes I did see that when I checked before replying to you and assumed you
might have taken it as reference as it's just above this entry :)
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic Meson GXBaby
2016-03-01 15:18 ` Andreas Färber
@ 2016-03-01 16:19 ` Sudeep Holla
0 siblings, 0 replies; 32+ messages in thread
From: Sudeep Holla @ 2016-03-01 16:19 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 15:18, Andreas F?rber wrote:
> Am 01.03.2016 um 15:43 schrieb Sudeep Holla:
>> On 29/02/16 23:44, Andreas F?rber wrote:
>>> + psci {
>>> + compatible = "arm,psci";
>>
>> Any particular reason why PSCI v0.2 or above is not supported on this
>> platform. PSCI v0.1 is very old now and I assume this platform is
>> relatively new.
>
> I am not affiliated with Amlogic or Tronsmart, so I cannot answer why.
>
OK
>>> + method = "smc";
>>> + cpu_suspend = <0xc4000001>;
>>> + cpu_off = <0x84000002>;
>>> + cpu_on = <0xc4000003>;
>>> + migrate = <0xc4000005>;
>>
>> Atleast the functions ids look like v0.2 or above. So check if it's
>> actually v0.2 or above
>
> If you let me know how! Just change the compatible string to -0.2 and
> wait for some big boom or watch out for any misbehavior in particular?
Not exactly. Just having -0.2 in compatible will issue PSCI_VERSION
which *should be* available in v0.2 and above. If you get error there,
then we can *assume* it's PSCI v0.1. Hopefully it be sanely return
error if that's not implemented.
Note that we can only assume, as it might be v0.2 but missed to
implement PSCI_VERSION which is mandatory though.
> Are there any memory locations to check the version or something visible
> in U-Boot source code indicating it?
>
Ah so, PSCI is implemented in U-Boot on this platform ? If so, and if
the source is available it should not be that hard to figure that out.
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix
2016-03-01 11:53 ` Andreas Färber
2016-03-01 13:29 ` Matthias Brugger
@ 2016-03-01 19:23 ` Beniamino Galvani
1 sibling, 0 replies; 32+ messages in thread
From: Beniamino Galvani @ 2016-03-01 19:23 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Mar 01, 2016 at 12:53:55PM +0100, Andreas F?rber wrote:
> Searching for it, I even found a similar 2014 patch from Beniamino
> Galvani (CC'ed), without any review replies.
>
> I'll happily pick up one of the previous patches instead. Sorry, was in
> a hurry to clean this series up for Nicolas (Mini Mx) and to avoid any
> Odroid-C2 users duplicating my work.
Yeah, my patch was never merged for reasons that I don't remeber;
anyway I'm fine with your patch.
Beniamino
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 12:43 ` Andre Przywara
2016-03-01 12:53 ` Carlo Caione
@ 2016-03-01 22:46 ` Andreas Färber
2016-03-01 22:58 ` André Przywara
2016-03-01 23:31 ` Andreas Färber
2 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-03-01 22:46 UTC (permalink / raw)
To: linux-arm-kernel
Am 01.03.2016 um 13:43 schrieb Andre Przywara:
> On 01/03/16 11:18, Andreas F?rber wrote:
>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>> reg = <0x0 0xc4301000 0 0x1000>,
>>>> - <0x0 0xc4302000 0 0x0100>;
>>>> + <0x0 0xc4302000 0 0x0100>,
>>>
>>> Please use 0x2000 for the size here. I guess this is really the GIC-400
>>> from ARM, and in this case this is the right size, [1] is the reference
>>> here. This will enable EOI mode 1 for KVM.
>>
>> Will test later.
>>
>> Is there any easy way to find out whether or not this is that GIC-400?
>
> If you can read registers: GICD_IIDR and PIDRx have some info:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/CHDIFAEE.html
> So if your U-Boot for instance supports md, a dump of:
> md.l c4301008 1
> md.l c4301fd0 30
>
> would help to identify the GIC.
gxb_p200_v1#md.l c4301008 1
c4301008: 0200143b ;...
gxb_p200_v1#md.l c4301fd0 30
c4301fd0: 00000004 00000000 00000000 00000000 ................
c4301fe0: 00000090 000000b4 0000002b 00000000 ........+.......
c4301ff0: 0000000d 000000f0 00000005 000000b1 ................
c4302000: 00000060 000000f0 00000003 000003ff `...............
c4302010: 00000000 000000ff 000003ff 00000000 ................
c4302020: 00000000 00000000 00000000 00000000 ................
c4302030: 00000000 00000000 00000000 00000000 ................
c4302040: 00000000 00000000 00000000 00000000 ................
c4302050: 00000000 00000000 00000000 00000000 ................
c4302060: 00000000 00000000 00000000 00000000 ................
c4302070: 00000000 00000000 00000000 00000000 ................
c4302080: 00000000 00000000 00000000 00000000 ................
Cheers,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 22:46 ` Andreas Färber
@ 2016-03-01 22:58 ` André Przywara
0 siblings, 0 replies; 32+ messages in thread
From: André Przywara @ 2016-03-01 22:58 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 22:46, Andreas F?rber wrote:
> Am 01.03.2016 um 13:43 schrieb Andre Przywara:
>> On 01/03/16 11:18, Andreas F?rber wrote:
>>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>>> reg = <0x0 0xc4301000 0 0x1000>,
>>>>> - <0x0 0xc4302000 0 0x0100>;
>>>>> + <0x0 0xc4302000 0 0x0100>,
>>>>
>>>> Please use 0x2000 for the size here. I guess this is really the GIC-400
>>>> from ARM, and in this case this is the right size, [1] is the reference
>>>> here. This will enable EOI mode 1 for KVM.
>>>
>>> Will test later.
>>>
>>> Is there any easy way to find out whether or not this is that GIC-400?
>>
>> If you can read registers: GICD_IIDR and PIDRx have some info:
>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0471b/CHDIFAEE.html
>> So if your U-Boot for instance supports md, a dump of:
>> md.l c4301008 1
>> md.l c4301fd0 30
>>
>> would help to identify the GIC.
>
> gxb_p200_v1#md.l c4301008 1
> c4301008: 0200143b ;...
> gxb_p200_v1#md.l c4301fd0 30
> c4301fd0: 00000004 00000000 00000000 00000000 ................
> c4301fe0: 00000090 000000b4 0000002b 00000000 ........+.......
> c4301ff0: 0000000d 000000f0 00000005 000000b1 ................
> c4302000: 00000060 000000f0 00000003 000003ff `...............
> c4302010: 00000000 000000ff 000003ff 00000000 ................
> c4302020: 00000000 00000000 00000000 00000000 ................
> c4302030: 00000000 00000000 00000000 00000000 ................
> c4302040: 00000000 00000000 00000000 00000000 ................
> c4302050: 00000000 00000000 00000000 00000000 ................
> c4302060: 00000000 00000000 00000000 00000000 ................
> c4302070: 00000000 00000000 00000000 00000000 ................
> c4302080: 00000000 00000000 00000000 00000000 ................
Yes, that matches exactly the values from the GIC-400 TRM.
Thanks!
Andre.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 12:43 ` Andre Przywara
2016-03-01 12:53 ` Carlo Caione
2016-03-01 22:46 ` Andreas Färber
@ 2016-03-01 23:31 ` Andreas Färber
2016-03-02 0:03 ` André Przywara
2 siblings, 1 reply; 32+ messages in thread
From: Andreas Färber @ 2016-03-01 23:31 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Am 01.03.2016 um 13:43 schrieb Andre Przywara:
> On 01/03/16 11:18, Andreas F?rber wrote:
>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>> index 0ae089bd1806..5088ae3ff653 100644
>>>> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>> @@ -117,7 +117,9 @@
>>>> gic: interrupt-controller at c4301000 {
>>>> compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>>>
>>> I think "arm,gic-400" is the name to use here these days, especially for
>>> arm64.
>>
>> I took what /proc/device-tree showed on Android and verified that this
>> compatible is in use in mainline.
>
> Some vendor Android kernel is not a good reference for mainline work ;-)
> Better look at other DTs in arch/arm64/boot/dts.
Yes, that's what "in use in mainline" refers to:
$ git grep "cortex-a15-gic" -- arch/arm64/boot/dts/ | grep -v gic-400
arch/arm64/boot/dts/apm/apm-shadowcat.dtsi: compatible =
"arm,cortex-a15-gic";
arch/arm64/boot/dts/apm/apm-storm.dtsi: compatible = "arm,cortex-a15-gic";
arch/arm64/boot/dts/arm/foundation-v8.dts: compatible =
"arm,cortex-a15-gic", "arm,cortex-a9-gic";
arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts: compatible =
"arm,cortex-a15-gic", "arm,cortex-a9-gic";
arch/arm64/boot/dts/nvidia/tegra132.dtsi: compatible = "arm,cortex-a15-gic";
> You could keep "arm,cortex-a15-gic" in there if you care about
> compatibility with older (vendor) kernels, but I guess there are other
> issues which prevent this anyway, so you could drop this as well.
Yeah, I don't care about backwards compatibility with downstream
kernels, they use weird compatible strings with spaces anyway.
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-01 23:31 ` Andreas Färber
@ 2016-03-02 0:03 ` André Przywara
2016-03-02 0:07 ` Andreas Färber
0 siblings, 1 reply; 32+ messages in thread
From: André Przywara @ 2016-03-02 0:03 UTC (permalink / raw)
To: linux-arm-kernel
On 01/03/16 23:31, Andreas F?rber wrote:
> Hi,
>
> Am 01.03.2016 um 13:43 schrieb Andre Przywara:
>> On 01/03/16 11:18, Andreas F?rber wrote:
>>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>>> index 0ae089bd1806..5088ae3ff653 100644
>>>>> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>>> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>>> @@ -117,7 +117,9 @@
>>>>> gic: interrupt-controller at c4301000 {
>>>>> compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>>>>
>>>> I think "arm,gic-400" is the name to use here these days, especially for
>>>> arm64.
>>>
>>> I took what /proc/device-tree showed on Android and verified that this
>>> compatible is in use in mainline.
>>
>> Some vendor Android kernel is not a good reference for mainline work ;-)
>> Better look at other DTs in arch/arm64/boot/dts.
>
> Yes, that's what "in use in mainline" refers to:
>
> $ git grep "cortex-a15-gic" -- arch/arm64/boot/dts/ | grep -v gic-400
> arch/arm64/boot/dts/apm/apm-shadowcat.dtsi: compatible =
> "arm,cortex-a15-gic";
> arch/arm64/boot/dts/apm/apm-storm.dtsi: compatible = "arm,cortex-a15-gic";
> arch/arm64/boot/dts/arm/foundation-v8.dts: compatible =
> "arm,cortex-a15-gic", "arm,cortex-a9-gic";
> arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts: compatible =
> "arm,cortex-a15-gic", "arm,cortex-a9-gic";
> arch/arm64/boot/dts/nvidia/tegra132.dtsi: compatible = "arm,cortex-a15-gic";
Which is mainly because those DTs predate the introduction of
"arm,gic-400". Other DTs kept the cortex strings in additionally to stay
compatible with older kernels.
>> You could keep "arm,cortex-a15-gic" in there if you care about
>> compatibility with older (vendor) kernels, but I guess there are other
>> issues which prevent this anyway, so you could drop this as well.
>
> Yeah, I don't care about backwards compatibility with downstream
> kernels, they use weird compatible strings with spaces anyway.
So please drop it and use only "arm,gic-400" to be in line with all the
other more recent SoCs.
Thanks!
Andre
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node
2016-03-02 0:03 ` André Przywara
@ 2016-03-02 0:07 ` Andreas Färber
0 siblings, 0 replies; 32+ messages in thread
From: Andreas Färber @ 2016-03-02 0:07 UTC (permalink / raw)
To: linux-arm-kernel
Am 02.03.2016 um 01:03 schrieb Andr? Przywara:
> On 01/03/16 23:31, Andreas F?rber wrote:
>> Am 01.03.2016 um 13:43 schrieb Andre Przywara:
>>> On 01/03/16 11:18, Andreas F?rber wrote:
>>>> Am 01.03.2016 um 12:01 schrieb Andre Przywara:
>>>>> On 29/02/16 23:44, Andreas F?rber wrote:
>>>>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>>>> index 0ae089bd1806..5088ae3ff653 100644
>>>>>> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>>>> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
>>>>>> @@ -117,7 +117,9 @@
>>>>>> gic: interrupt-controller at c4301000 {
>>>>>> compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>>>>>
>>>>> I think "arm,gic-400" is the name to use here these days, especially for
>>>>> arm64.
>>>>
>>>> I took what /proc/device-tree showed on Android and verified that this
>>>> compatible is in use in mainline.
>>>
>>> Some vendor Android kernel is not a good reference for mainline work ;-)
>>> Better look at other DTs in arch/arm64/boot/dts.
>>
>> Yes, that's what "in use in mainline" refers to:
>>
>> $ git grep "cortex-a15-gic" -- arch/arm64/boot/dts/ | grep -v gic-400
>> arch/arm64/boot/dts/apm/apm-shadowcat.dtsi: compatible =
>> "arm,cortex-a15-gic";
>> arch/arm64/boot/dts/apm/apm-storm.dtsi: compatible = "arm,cortex-a15-gic";
>> arch/arm64/boot/dts/arm/foundation-v8.dts: compatible =
>> "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>> arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts: compatible =
>> "arm,cortex-a15-gic", "arm,cortex-a9-gic";
>> arch/arm64/boot/dts/nvidia/tegra132.dtsi: compatible = "arm,cortex-a15-gic";
>
> Which is mainly because those DTs predate the introduction of
> "arm,gic-400". Other DTs kept the cortex strings in additionally to stay
> compatible with older kernels.
Sure, but shouldn't we update them to have arm,gic-400 first then?
>>> You could keep "arm,cortex-a15-gic" in there if you care about
>>> compatibility with older (vendor) kernels, but I guess there are other
>>> issues which prevent this anyway, so you could drop this as well.
>>
>> Yeah, I don't care about backwards compatibility with downstream
>> kernels, they use weird compatible strings with spaces anyway.
>
> So please drop it and use only "arm,gic-400" to be in line with all the
> other more recent SoCs.
Already done, still inserting cbus/aobus nodes and moving uart nodes,
then need to re-test.
Cheers,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix
2016-02-29 23:44 ` [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix Andreas Färber
2016-03-01 11:37 ` Matthias Brugger
@ 2016-03-03 23:57 ` Rob Herring
1 sibling, 0 replies; 32+ messages in thread
From: Rob Herring @ 2016-03-03 23:57 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Mar 01, 2016 at 12:44:21AM +0100, Andreas F?rber wrote:
> Choose the obvious prefix, "tronsmart".
>
> Cc: Matthias Brugger <mbrugger@suse.com>
> Signed-off-by: Andreas F?rber <afaerber@suse.de>
> ---
> Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2016-03-03 23:57 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-29 23:44 [PATCH 0/8] ARM64: meson: GXBaby (S905) and Vega S95 enablement Andreas Färber
2016-02-29 23:44 ` [PATCH 1/8] ARM64: Enable Amlogic Meson GXBaby platform Andreas Färber
2016-03-01 14:43 ` Sudeep Holla
2016-03-01 15:26 ` Andreas Färber
2016-03-01 16:07 ` Sudeep Holla
2016-02-29 23:44 ` [PATCH 2/8] Documentation: devicetree: amlogic: Document Meson GXBaby Andreas Färber
2016-02-29 23:44 ` [PATCH 3/8] ARM64: dts: Prepare configs for Amlogic " Andreas Färber
2016-03-01 14:43 ` Sudeep Holla
2016-03-01 15:18 ` Andreas Färber
2016-03-01 16:19 ` Sudeep Holla
2016-02-29 23:44 ` [PATCH 4/8] Documentation: devicetree: Document Tronsmart vendor prefix Andreas Färber
2016-03-01 11:37 ` Matthias Brugger
2016-03-01 11:53 ` Andreas Färber
2016-03-01 13:29 ` Matthias Brugger
2016-03-01 19:23 ` Beniamino Galvani
2016-03-03 23:57 ` Rob Herring
2016-02-29 23:44 ` [PATCH 5/8] Documentation: devicetree: amlogic: Document Tronsmart Vega S95 boards Andreas Färber
2016-02-29 23:44 ` [PATCH 6/8] ARM64: dts: amlogic: Add Tronsmart Vega S95 configs Andreas Färber
2016-02-29 23:55 ` Andreas Färber
2016-02-29 23:44 ` [PATCH 7/8] ARM64: dts: amlogic: Extend GXBaby GIC node Andreas Färber
2016-03-01 11:01 ` Andre Przywara
2016-03-01 11:18 ` Andreas Färber
2016-03-01 11:42 ` Matthias Brugger
2016-03-01 12:43 ` Andre Przywara
2016-03-01 12:53 ` Carlo Caione
2016-03-01 14:16 ` Andre Przywara
2016-03-01 22:46 ` Andreas Färber
2016-03-01 22:58 ` André Przywara
2016-03-01 23:31 ` Andreas Färber
2016-03-02 0:03 ` André Przywara
2016-03-02 0:07 ` Andreas Färber
2016-02-29 23:44 ` [PATCH 8/8] ARM64: dts: amlogic: Add arch timer node for Meson GXBaby Andreas Färber
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).