From fe901d357895bad8b0311f86908dd674e636f0ea Mon Sep 17 00:00:00 2001 From: Jun Nie Date: Thu, 13 Oct 2016 20:31:20 +0800 Subject: arm64: dts: zx: Fix gic GICR property GICR for multiple CPU can be described with start address and stride, or with multiple address. Current multiple address and stride are both used. Fix it. vmalloc patch 727a7f5a9 triggered this bug: [ 0.097146] Unable to handle kernel paging request at virtual address ffff000008060008 [ 0.097150] pgd = ffff000008602000 [ 0.097160] [ffff000008060008] *pgd=000000007fffe003, *pud=000000007fffd003, *pmd=000000007fffc003, *pte=0000000000000000 [ 0.097165] Internal error: Oops: 96000007 [#1] PREEMPT SMP [ 0.097170] Modules linked in: [ 0.097177] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.8.0+ #1474 [ 0.097179] Hardware name: ZTE zx296718 evaluation board (DT) [ 0.097183] task: ffff80003e8c8b80 task.stack: ffff80003e8d0000 [ 0.097197] PC is at gic_populate_rdist+0x74/0x15c [ 0.097202] LR is at gic_starting_cpu+0xc/0x20 [ 0.097206] pc : [] lr : [] pstate: 600001c5 Signed-off-by: Jun Nie Signed-off-by: Olof Johansson --- arch/arm64/boot/dts/zte/zx296718.dtsi | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'arch/arm64') diff --git a/arch/arm64/boot/dts/zte/zx296718.dtsi b/arch/arm64/boot/dts/zte/zx296718.dtsi index a223066f24ce..6b239a365f01 100644 --- a/arch/arm64/boot/dts/zte/zx296718.dtsi +++ b/arch/arm64/boot/dts/zte/zx296718.dtsi @@ -239,16 +239,11 @@ compatible = "arm,gic-v3"; #interrupt-cells = <3>; #address-cells = <0>; - #redistributor-regions = <6>; - redistributor-stride = <0x0 0x40000>; + #redistributor-regions = <1>; + redistributor-stride = <0x20000>; interrupt-controller; reg = <0x02a00000 0x10000>, - <0x02b00000 0x20000>, - <0x02b20000 0x20000>, - <0x02b40000 0x20000>, - <0x02b60000 0x20000>, - <0x02b80000 0x20000>, - <0x02ba0000 0x20000>; + <0x02b00000 0xc0000>; interrupts = ; }; -- cgit v1.2.3 From 253e80651ed814cc2eab76280d5595c9d3a35aef Mon Sep 17 00:00:00 2001 From: Shawn Guo Date: Sat, 3 Dec 2016 20:36:40 +0800 Subject: arm64: dts: zte: clean up gic-v3 redistributor properties The gic-v3 property redistributor-stride is only meant as a workaround for broken platforms that have a redistributor stride deviating what the architecture defines, i.e. 128KiB for GICv3, 256KiB for GICv4. This is not the case for ZX296718, and redistributor-stride is not really necessary. Let's drop it. Also, #redistributor-regions is only required when there is more than one such region is present. Let's remove it as well. Signed-off-by: Shawn Guo Acked-by: Marc Zyngier Signed-off-by: Olof Johansson --- arch/arm64/boot/dts/zte/zx296718.dtsi | 2 -- 1 file changed, 2 deletions(-) (limited to 'arch/arm64') diff --git a/arch/arm64/boot/dts/zte/zx296718.dtsi b/arch/arm64/boot/dts/zte/zx296718.dtsi index 6b239a365f01..dd2cd73c774c 100644 --- a/arch/arm64/boot/dts/zte/zx296718.dtsi +++ b/arch/arm64/boot/dts/zte/zx296718.dtsi @@ -239,8 +239,6 @@ compatible = "arm,gic-v3"; #interrupt-cells = <3>; #address-cells = <0>; - #redistributor-regions = <1>; - redistributor-stride = <0x20000>; interrupt-controller; reg = <0x02a00000 0x10000>, <0x02b00000 0xc0000>; -- cgit v1.2.3 From 5e6b9a89afceadb1ee45472098f7d20af260335c Mon Sep 17 00:00:00 2001 From: Alexandre Courbot Date: Fri, 2 Dec 2016 20:57:55 +0100 Subject: arm64: tegra: Add VDD_GPU regulator to Jetson TX1 Add the VDD_GPU regulator (a GPIO-enabled PWM regulator) to the Jetson TX1 board. This addition allows the GPU to be used provided the bootloader properly enabled the GPU node. Signed-off-by: Alexandre Courbot Signed-off-by: Thierry Reding [as pointed out by Thierry on IRC, nobody has reported a bug in the field, but using a new bootloader with a .dtb that has the incorrect data, it will crash on boot] Fixes: 336f79c7b6d7 ("arm64: tegra: Add NVIDIA Jetson TX1 Developer Kit support") Cc: stable@vger.kernel.org #v4.5+ Signed-off-by: Arnd Bergmann --- arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'arch/arm64') diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi index 5fda583351d7..906fb836d241 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi @@ -21,6 +21,10 @@ reg = <0x0 0x80000000 0x1 0x0>; }; + gpu@57000000 { + vdd-supply = <&vdd_gpu>; + }; + /* debug port */ serial@70006000 { status = "okay"; @@ -291,4 +295,18 @@ clock-frequency = <32768>; }; }; + + regulators { + vdd_gpu: regulator@100 { + compatible = "pwm-regulator"; + reg = <100>; + pwms = <&pwm 1 4880>; + regulator-name = "VDD_GPU"; + regulator-min-microvolt = <710000>; + regulator-max-microvolt = <1320000>; + enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>; + regulator-ramp-delay = <80>; + regulator-enable-ramp-delay = <1000>; + }; + }; }; -- cgit v1.2.3 From 816c60c131d95d6b0c7e119f89a1f1cb8d232fd8 Mon Sep 17 00:00:00 2001 From: Alexandre Courbot Date: Fri, 2 Dec 2016 20:57:56 +0100 Subject: arm64: tegra: Add missing Smaug revision The "google,smaug-rev2" string is missing from the compatible list of Smaug's DT. The differences of rev2 are not relevant at our current level of support and it boots just fine, so add it. Signed-off-by: Alexandre Courbot Acked-by: Jon Hunter Acked-by: Andrew Bresticker Signed-off-by: Thierry Reding Signed-off-by: Arnd Bergmann --- arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'arch/arm64') diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts index c2becb603e11..7703227f5d1a 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts @@ -11,7 +11,8 @@ compatible = "google,smaug-rev8", "google,smaug-rev7", "google,smaug-rev6", "google,smaug-rev5", "google,smaug-rev4", "google,smaug-rev3", - "google,smaug-rev1", "google,smaug", "nvidia,tegra210"; + "google,smaug-rev2", "google,smaug-rev1", + "google,smaug", "nvidia,tegra210"; aliases { serial0 = &uarta; -- cgit v1.2.3