Switch to 5.4.x LTS kernel
Signed-off-by: Fil <fil.bergamo@riseup.net>
This commit is contained in:
parent
e77951d76a
commit
b319aa3a6f
8
makefile
8
makefile
@ -13,7 +13,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
KVER=5.2.21
|
KVER=5.4.22
|
||||||
ifeq ($(DEBIAN_SUITE),)
|
ifeq ($(DEBIAN_SUITE),)
|
||||||
DEBIAN_SUITE=buster
|
DEBIAN_SUITE=buster
|
||||||
endif
|
endif
|
||||||
@ -92,6 +92,12 @@ filesystem:
|
|||||||
kernel_inject: #Targets an already built .img and swaps the old kernel with the newly compiled kernel
|
kernel_inject: #Targets an already built .img and swaps the old kernel with the newly compiled kernel
|
||||||
scripts/injectKernelIntoFS.sh $(KVER) $(OUTNAME)
|
scripts/injectKernelIntoFS.sh $(KVER) $(OUTNAME)
|
||||||
|
|
||||||
|
.PHONY: kernel_update
|
||||||
|
kernel_update:
|
||||||
|
make initramfs
|
||||||
|
make kernel
|
||||||
|
make kernel_inject
|
||||||
|
|
||||||
.PHONY: injected_image
|
.PHONY: injected_image
|
||||||
injected_image: #makes a copy of the base image with a new injected kernel
|
injected_image: #makes a copy of the base image with a new injected kernel
|
||||||
make kernel
|
make kernel
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,57 +0,0 @@
|
|||||||
From 6773af2684b7bc1b7b2d9ef874599cccaba2559e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Caesar Wang <caesar.wang@rock-chips.com>
|
|
||||||
Date: Tue, 9 Apr 2019 13:47:07 -0700
|
|
||||||
Subject: [PATCH 28/54] ARM: dts: rockchip: fix PWM clock found on RK3288 Socs
|
|
||||||
|
|
||||||
We use the new PWM IP on RK3288, but the PWM's clock indeed incorrect.
|
|
||||||
|
|
||||||
Signed-off-by: Caesar Wang <caesar.wang@rock-chips.com>
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288.dtsi | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
index aa017abf4f42..171231a0cd9b 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
@@ -682,7 +682,7 @@
|
|
||||||
#pwm-cells = <3>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pwm0_pin>;
|
|
||||||
- clocks = <&cru PCLK_PWM>;
|
|
||||||
+ clocks = <&cru PCLK_RKPWM>;
|
|
||||||
clock-names = "pwm";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
@@ -693,7 +693,7 @@
|
|
||||||
#pwm-cells = <3>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pwm1_pin>;
|
|
||||||
- clocks = <&cru PCLK_PWM>;
|
|
||||||
+ clocks = <&cru PCLK_RKPWM>;
|
|
||||||
clock-names = "pwm";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
@@ -704,7 +704,7 @@
|
|
||||||
#pwm-cells = <3>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pwm2_pin>;
|
|
||||||
- clocks = <&cru PCLK_PWM>;
|
|
||||||
+ clocks = <&cru PCLK_RKPWM>;
|
|
||||||
clock-names = "pwm";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
@@ -715,7 +715,7 @@
|
|
||||||
#pwm-cells = <2>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pwm3_pin>;
|
|
||||||
- clocks = <&cru PCLK_PWM>;
|
|
||||||
+ clocks = <&cru PCLK_RKPWM>;
|
|
||||||
clock-names = "pwm";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
From d190bfaaa2a1575e7998d8487ed26cdf9e74b42b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Fri, 3 May 2019 16:48:14 -0700
|
|
||||||
Subject: [PATCH 29/54] ARM: dts: rockchip: Remove bogus 'i2s_clk_out' from
|
|
||||||
rk3288-veyron-mickey
|
|
||||||
|
|
||||||
The rk3288-veyron-mickey device tree overrides the default "i2s" clock
|
|
||||||
settings to add the clock for "i2s_clk_out".
|
|
||||||
|
|
||||||
That clock is only present in the bindings downstream Chrome OS 3.14
|
|
||||||
tree. Upstream the i2s port bindings doesn't specify that as a
|
|
||||||
possible clock.
|
|
||||||
|
|
||||||
Let's remove it.
|
|
||||||
|
|
||||||
NOTE: for other rk3288-veyron devices this clock is consumed by
|
|
||||||
'maxim,max98090'. Presumably if this clock is needed for mickey it'll
|
|
||||||
need to be consumed by something similar.
|
|
||||||
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-mickey.dts | 2 --
|
|
||||||
1 file changed, 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-mickey.dts b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
|
|
||||||
index e852594417b5..f9c4ece3c0d3 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-mickey.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
|
|
||||||
@@ -142,8 +142,6 @@
|
|
||||||
|
|
||||||
&i2s {
|
|
||||||
status = "okay";
|
|
||||||
- clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out";
|
|
||||||
- clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&rk808 {
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
|||||||
From 83be81e3b0b6eb5df2fba66baa7a25f7e7dc9775 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Date: Thu, 16 May 2019 09:29:40 -0700
|
|
||||||
Subject: [PATCH 32/54] ARM: dts: rockchip: raise CPU trip point temperature
|
|
||||||
for veyron to 100 degC
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This value matches what is used by the downstream Chrome OS 3.14
|
|
||||||
kernel, the 'official' kernel for veyron devices. Keep the temperature
|
|
||||||
for 'speedy' at 90°C, as in the downstream kernel.
|
|
||||||
|
|
||||||
Increase the temperature for a hardware shutdown to 125°C, which
|
|
||||||
matches the downstream configuration and gives the system a chance
|
|
||||||
to shut down orderly at the criticial trip point.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-speedy.dts | 4 ++++
|
|
||||||
arch/arm/boot/dts/rk3288-veyron.dtsi | 5 +++++
|
|
||||||
2 files changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-speedy.dts b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
|
|
||||||
index 2ac8748a3a0c..b07a07e81551 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-speedy.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
|
|
||||||
@@ -64,6 +64,10 @@
|
|
||||||
temperature = <70000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+&cpu_crit {
|
|
||||||
+ temperature = <90000>;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
&edp {
|
|
||||||
/delete-property/pinctrl-names;
|
|
||||||
/delete-property/pinctrl-0;
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
index 1252522392c7..e81f1a0cac83 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
@@ -123,6 +123,10 @@
|
|
||||||
cpu0-supply = <&vdd_cpu>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+&cpu_crit {
|
|
||||||
+ temperature = <100000>;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
/* rk3288-c used in Veyron Chrome-devices has slightly changed OPPs */
|
|
||||||
&cpu_opp_table {
|
|
||||||
/delete-node/ opp-312000000;
|
|
||||||
@@ -394,6 +398,7 @@
|
|
||||||
|
|
||||||
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
|
|
||||||
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
|
|
||||||
+ rockchip,hw-tshut-temp = <125000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&uart0 {
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From f6dcbb3ad5ce927adbdcc04bde312387f3b68035 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Date: Thu, 16 May 2019 10:25:09 -0700
|
|
||||||
Subject: [PATCH 38/54] ARM: dts: rockchip: Add #cooling-cells entry for rk3288
|
|
||||||
GPU
|
|
||||||
|
|
||||||
The Mali GPU of the rk3288 can be used as cooling device, add
|
|
||||||
a #cooling-cells entry for it.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288.dtsi | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
index 1e5260b556b7..7e9b8c7f6ab7 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
@@ -1286,6 +1286,7 @@
|
|
||||||
interrupt-names = "job", "mmu", "gpu";
|
|
||||||
clocks = <&cru ACLK_GPU>;
|
|
||||||
operating-points-v2 = <&gpu_opp_table>;
|
|
||||||
+ #cooling-cells = <2>; /* min followed by max */
|
|
||||||
power-domains = <&power RK3288_PD_GPU>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
From ae2b6ba865d8bb59493aaf50cb3d19312a6ff5a4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Date: Thu, 16 May 2019 10:25:10 -0700
|
|
||||||
Subject: [PATCH 39/54] ARM: dts: rockchip: Use GPU as cooling device for the
|
|
||||||
GPU thermal zone of the rk3288
|
|
||||||
|
|
||||||
Currently the CPUs are used as cooling devices of the rk3288 GPU
|
|
||||||
thermal zone. The CPUs are also configured as cooling devices in the
|
|
||||||
CPU thermal zone, which indirectly helps with cooling the GPU thermal
|
|
||||||
zone, since the CPU and GPU temperatures are correlated on the rk3288.
|
|
||||||
|
|
||||||
Configure the ARM Mali Midgard GPU as cooling device for the GPU
|
|
||||||
thermal zone instead of the CPUs.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288.dtsi | 5 +----
|
|
||||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
index 7e9b8c7f6ab7..fd188bb4fd48 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
@@ -552,10 +552,7 @@
|
|
||||||
map0 {
|
|
||||||
trip = <&gpu_alert0>;
|
|
||||||
cooling-device =
|
|
||||||
- <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
||||||
- <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
||||||
- <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
||||||
- <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
||||||
+ <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
From 75481833c6dbab4c29d15452f6b4337c16f5407b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Date: Mon, 20 May 2019 15:00:49 -0700
|
|
||||||
Subject: [PATCH 40/54] ARM: dts: rockchip: remove GPU 500 MHz OPP on rk3288
|
|
||||||
|
|
||||||
The NPLL is the only safe way to generate 500 MHz for the GPU. The
|
|
||||||
downstream Chrome OS 3.14 kernel ('official' kernel for veyron
|
|
||||||
devices) re-purposes NPLL to HDMI and hence disables the OPP for
|
|
||||||
the GPU (see https://crrev.com/c/1574579). Disable it here as well
|
|
||||||
to keep in sync and avoid problems in case someone decides to
|
|
||||||
re-purpose NPLL.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
[moved from veyron to general rk3288, as tying up the NPLL for a
|
|
||||||
not-that-helpful opp (not really fast but will still generate
|
|
||||||
quite a bit of heat) doesn't make so much sense when it will
|
|
||||||
keep us from supporting other display modes in the future]
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288.dtsi | 4 ----
|
|
||||||
1 file changed, 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
index fd188bb4fd48..159d91180cee 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
@@ -1307,10 +1307,6 @@
|
|
||||||
opp-hz = /bits/ 64 <400000000>;
|
|
||||||
opp-microvolt = <1100000>;
|
|
||||||
};
|
|
||||||
- opp-500000000 {
|
|
||||||
- opp-hz = /bits/ 64 <500000000>;
|
|
||||||
- opp-microvolt = <1200000>;
|
|
||||||
- };
|
|
||||||
opp-600000000 {
|
|
||||||
opp-hz = /bits/ 64 <600000000>;
|
|
||||||
opp-microvolt = <1250000>;
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
From 9dbf05bd8ae5b436b02c9845a350dec11c788a73 Mon Sep 17 00:00:00 2001
|
|
||||||
From: John Keeping <john@metanate.com>
|
|
||||||
Date: Mon, 3 Jun 2019 15:34:35 +0100
|
|
||||||
Subject: [PATCH 43/54] ARM: dts: rockchip: fix pwm-cells for rk3288's pwm3
|
|
||||||
|
|
||||||
This is the same as the other PWMs on this SoC and uses 3 cells.
|
|
||||||
|
|
||||||
Signed-off-by: John Keeping <john@metanate.com>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288.dtsi | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
index 159d91180cee..766d1cf51a5b 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
@@ -710,7 +710,7 @@
|
|
||||||
pwm3: pwm@ff680030 {
|
|
||||||
compatible = "rockchip,rk3288-pwm";
|
|
||||||
reg = <0x0 0xff680030 0x0 0x10>;
|
|
||||||
- #pwm-cells = <2>;
|
|
||||||
+ #pwm-cells = <3>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pwm3_pin>;
|
|
||||||
clocks = <&cru PCLK_RKPWM>;
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,637 +0,0 @@
|
|||||||
From d85b2ad35a2ab320b9c0530992ee532f10a6aeb2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Fri, 24 May 2019 16:33:09 -0700
|
|
||||||
Subject: [PATCH 44/54] ARM: dts: rockchip: Add pin names for rk3288-veyron
|
|
||||||
jaq, mickey, speedy
|
|
||||||
|
|
||||||
This is like commit 0ca87bd5baa6 ("ARM: dts: rockchip: Add pin names
|
|
||||||
for rk3288-veyron-jerry") and commit ca3516b32cd9 ("ARM: dts:
|
|
||||||
rockchip: Add pin names for rk3288-veyron-minnie") but for 3 more
|
|
||||||
veyron boards.
|
|
||||||
|
|
||||||
A few notes:
|
|
||||||
- While there is most certainly duplication between all the veyron
|
|
||||||
boards, it still feels like it is sane to just have each board have
|
|
||||||
a full list of its pin names. The format of "gpio-line-names" does
|
|
||||||
not lend itself to one-off overriding and besides it seems sane to
|
|
||||||
more fully match schematic names. Also note that the extra
|
|
||||||
duplication here is only in source code and is unlikely to ever
|
|
||||||
change (since these boards are shipped). Duplication in the .dtb
|
|
||||||
files is unavoidable.
|
|
||||||
- veyron-jaq and veyron-mighty are very closely related and so I have
|
|
||||||
shared a single list for them both with comments on how they are
|
|
||||||
different. This is just a typo fix on one of the boards, a possible
|
|
||||||
missing signal on one of the boards (or perhaps I was never given
|
|
||||||
the most recent schematics?) and dealing with the fact that one of
|
|
||||||
the two boards has full sized SD.
|
|
||||||
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-jaq.dts | 207 +++++++++++++++++++++++++++++
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-mickey.dts | 151 +++++++++++++++++++++
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-speedy.dts | 207 +++++++++++++++++++++++++++++
|
|
||||||
3 files changed, 565 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-jaq.dts b/arch/arm/boot/dts/rk3288-veyron-jaq.dts
|
|
||||||
index e248f55ee8d2..fcd119168cb6 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-jaq.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-jaq.dts
|
|
||||||
@@ -135,6 +135,213 @@
|
|
||||||
pinctrl-0 = <&vcc50_hdmi_en>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+&gpio0 {
|
|
||||||
+ gpio-line-names = "PMIC_SLEEP_AP",
|
|
||||||
+ "DDRIO_PWROFF",
|
|
||||||
+ "DDRIO_RETEN",
|
|
||||||
+ "TS3A227E_INT_L",
|
|
||||||
+ "PMIC_INT_L",
|
|
||||||
+ "PWR_KEY_L",
|
|
||||||
+ "AP_LID_INT_L",
|
|
||||||
+ "EC_IN_RW",
|
|
||||||
+
|
|
||||||
+ "AC_PRESENT_AP",
|
|
||||||
+ /*
|
|
||||||
+ * RECOVERY_SW_L is Chrome OS ABI. Schematics call
|
|
||||||
+ * it REC_MODE_L.
|
|
||||||
+ */
|
|
||||||
+ "RECOVERY_SW_L",
|
|
||||||
+ "OTP_OUT",
|
|
||||||
+ "HOST1_PWR_EN",
|
|
||||||
+ "USBOTG_PWREN_H",
|
|
||||||
+ "AP_WARM_RESET_H",
|
|
||||||
+ "nFALUT2",
|
|
||||||
+ "I2C0_SDA_PMIC",
|
|
||||||
+
|
|
||||||
+ "I2C0_SCL_PMIC",
|
|
||||||
+ "SUSPEND_L",
|
|
||||||
+ "USB_INT";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio2 {
|
|
||||||
+ gpio-line-names = "CONFIG0",
|
|
||||||
+ "CONFIG1",
|
|
||||||
+ "CONFIG2",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "CONFIG3",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "EMMC_RST_L",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "BL_PWR_EN",
|
|
||||||
+ "AVDD_1V8_DISP_EN";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio3 {
|
|
||||||
+ gpio-line-names = "FLASH0_D0",
|
|
||||||
+ "FLASH0_D1",
|
|
||||||
+ "FLASH0_D2",
|
|
||||||
+ "FLASH0_D3",
|
|
||||||
+ "FLASH0_D4",
|
|
||||||
+ "FLASH0_D5",
|
|
||||||
+ "FLASH0_D6",
|
|
||||||
+ "FLASH0_D7",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "FLASH0_CS2/EMMC_CMD",
|
|
||||||
+ "",
|
|
||||||
+ "FLASH0_DQS/EMMC_CLKO";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio4 {
|
|
||||||
+ gpio-line-names = "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "UART0_RXD",
|
|
||||||
+ "UART0_TXD",
|
|
||||||
+ "UART0_CTS",
|
|
||||||
+ "UART0_RTS",
|
|
||||||
+ "SDIO0_D0",
|
|
||||||
+ "SDIO0_D1",
|
|
||||||
+ "SDIO0_D2",
|
|
||||||
+ "SDIO0_D3",
|
|
||||||
+
|
|
||||||
+ "SDIO0_CMD",
|
|
||||||
+ "SDIO0_CLK",
|
|
||||||
+ "BT_DEV_WAKE", /* Maybe missing from mighty? */
|
|
||||||
+ "",
|
|
||||||
+ "WIFI_ENABLE_H",
|
|
||||||
+ "BT_ENABLE_L",
|
|
||||||
+ "WIFI_HOST_WAKE",
|
|
||||||
+ "BT_HOST_WAKE";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio5 {
|
|
||||||
+ gpio-line-names = "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "SPI0_CLK",
|
|
||||||
+ "SPI0_CS0",
|
|
||||||
+ "SPI0_TXD",
|
|
||||||
+ "SPI0_RXD",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "VCC50_HDMI_EN";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio6 {
|
|
||||||
+ gpio-line-names = "I2S0_SCLK",
|
|
||||||
+ "I2S0_LRCK_RX",
|
|
||||||
+ "I2S0_LRCK_TX",
|
|
||||||
+ "I2S0_SDI",
|
|
||||||
+ "I2S0_SDO0",
|
|
||||||
+ "HP_DET_H",
|
|
||||||
+ "ALS_INT",
|
|
||||||
+ "INT_CODEC",
|
|
||||||
+
|
|
||||||
+ "I2S0_CLK",
|
|
||||||
+ "I2C2_SDA",
|
|
||||||
+ "I2C2_SCL",
|
|
||||||
+ "MICDET",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "SDMMC_D0",
|
|
||||||
+ "SDMMC_D1",
|
|
||||||
+ "SDMMC_D2",
|
|
||||||
+ "SDMMC_D3",
|
|
||||||
+ "SDMMC_CLK",
|
|
||||||
+ "SDMMC_CMD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio7 {
|
|
||||||
+ gpio-line-names = "LCDC_BL",
|
|
||||||
+ "PWM_LOG",
|
|
||||||
+ "BL_EN",
|
|
||||||
+ "TRACKPAD_INT",
|
|
||||||
+ "TPM_INT_H",
|
|
||||||
+ "SDMMC_DET_L",
|
|
||||||
+ /*
|
|
||||||
+ * AP_FLASH_WP_L is Chrome OS ABI. Schematics call
|
|
||||||
+ * it FW_WP_AP.
|
|
||||||
+ */
|
|
||||||
+ "AP_FLASH_WP_L",
|
|
||||||
+ "EC_INT",
|
|
||||||
+
|
|
||||||
+ "CPU_NMI",
|
|
||||||
+ "DVSOK",
|
|
||||||
+ "SDMMC_WP", /* mighty only */
|
|
||||||
+ "EDP_HPD",
|
|
||||||
+ "DVS1",
|
|
||||||
+ "nFALUT1", /* nFAULT1 on jaq */
|
|
||||||
+ "LCD_EN",
|
|
||||||
+ "DVS2",
|
|
||||||
+
|
|
||||||
+ "VCC5V_GOOD_H",
|
|
||||||
+ "I2C4_SDA_TP",
|
|
||||||
+ "I2C4_SCL_TP",
|
|
||||||
+ "I2C5_SDA_HDMI",
|
|
||||||
+ "I2C5_SCL_HDMI",
|
|
||||||
+ "5V_DRV",
|
|
||||||
+ "UART2_RXD",
|
|
||||||
+ "UART2_TXD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio8 {
|
|
||||||
+ gpio-line-names = "RAM_ID0",
|
|
||||||
+ "RAM_ID1",
|
|
||||||
+ "RAM_ID2",
|
|
||||||
+ "RAM_ID3",
|
|
||||||
+ "I2C1_SDA_TPM",
|
|
||||||
+ "I2C1_SCL_TPM",
|
|
||||||
+ "SPI2_CLK",
|
|
||||||
+ "SPI2_CS0",
|
|
||||||
+
|
|
||||||
+ "SPI2_RXD",
|
|
||||||
+ "SPI2_TXD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
&pinctrl {
|
|
||||||
backlight {
|
|
||||||
bl_pwr_en: bl_pwr_en {
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-mickey.dts b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
|
|
||||||
index 945e80801292..aa352d40c991 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-mickey.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
|
|
||||||
@@ -252,6 +252,157 @@
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
+&gpio0 {
|
|
||||||
+ gpio-line-names = "PMIC_SLEEP_AP",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "PMIC_INT_L",
|
|
||||||
+ "POWER_BUTTON_L",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ /*
|
|
||||||
+ * RECOVERY_SW_L is Chrome OS ABI. Schematics call
|
|
||||||
+ * it REC_MODE_L.
|
|
||||||
+ */
|
|
||||||
+ "RECOVERY_SW_L",
|
|
||||||
+ "OT_RESET",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "AP_WARM_RESET_H",
|
|
||||||
+ "",
|
|
||||||
+ "I2C0_SDA_PMIC",
|
|
||||||
+
|
|
||||||
+ "I2C0_SCL_PMIC",
|
|
||||||
+ "",
|
|
||||||
+ "nFALUT";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio2 {
|
|
||||||
+ gpio-line-names = "CONFIG0",
|
|
||||||
+ "CONFIG1",
|
|
||||||
+ "CONFIG2",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "CONFIG3",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "EMMC_RST_L";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio3 {
|
|
||||||
+ gpio-line-names = "FLASH0_D0",
|
|
||||||
+ "FLASH0_D1",
|
|
||||||
+ "FLASH0_D2",
|
|
||||||
+ "FLASH0_D3",
|
|
||||||
+ "FLASH0_D4",
|
|
||||||
+ "FLASH0_D5",
|
|
||||||
+ "FLASH0_D6",
|
|
||||||
+ "FLASH0_D7",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "FLASH0_CS2/EMMC_CMD",
|
|
||||||
+ "",
|
|
||||||
+ "FLASH0_DQS/EMMC_CLKO";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio4 {
|
|
||||||
+ gpio-line-names = "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "UART0_RXD",
|
|
||||||
+ "UART0_TXD",
|
|
||||||
+ "UART0_CTS_L",
|
|
||||||
+ "UART0_RTS_L",
|
|
||||||
+ "SDIO0_D0",
|
|
||||||
+ "SDIO0_D1",
|
|
||||||
+ "SDIO0_D2",
|
|
||||||
+ "SDIO0_D3",
|
|
||||||
+
|
|
||||||
+ "SDIO0_CMD",
|
|
||||||
+ "SDIO0_CLK",
|
|
||||||
+ "BT_DEV_WAKE",
|
|
||||||
+ "",
|
|
||||||
+ "WIFI_ENABLE_H",
|
|
||||||
+ "BT_ENABLE_L",
|
|
||||||
+ "WIFI_HOST_WAKE",
|
|
||||||
+ "BT_HOST_WAKE";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio7 {
|
|
||||||
+ gpio-line-names = "",
|
|
||||||
+ "PWM_LOG",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "TPM_INT_H",
|
|
||||||
+ "SDMMC_DET_L",
|
|
||||||
+ /*
|
|
||||||
+ * AP_FLASH_WP_L is Chrome OS ABI. Schematics call
|
|
||||||
+ * it FW_WP_AP.
|
|
||||||
+ */
|
|
||||||
+ "AP_FLASH_WP_L",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "CPU_NMI",
|
|
||||||
+ "DVSOK",
|
|
||||||
+ "HDMI_WAKE",
|
|
||||||
+ "POWER_HDMI_ON",
|
|
||||||
+ "DVS1",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "DVS2",
|
|
||||||
+
|
|
||||||
+ "HDMI_CEC",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "I2C5_SDA_HDMI",
|
|
||||||
+ "I2C5_SCL_HDMI",
|
|
||||||
+ "",
|
|
||||||
+ "UART2_RXD",
|
|
||||||
+ "UART2_TXD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio8 {
|
|
||||||
+ gpio-line-names = "RAM_ID0",
|
|
||||||
+ "RAM_ID1",
|
|
||||||
+ "RAM_ID2",
|
|
||||||
+ "RAM_ID3",
|
|
||||||
+ "I2C1_SDA_TPM",
|
|
||||||
+ "I2C1_SCL_TPM",
|
|
||||||
+ "SPI2_CLK",
|
|
||||||
+ "SPI2_CS0",
|
|
||||||
+
|
|
||||||
+ "SPI2_RXD",
|
|
||||||
+ "SPI2_TXD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
&pinctrl {
|
|
||||||
hdmi {
|
|
||||||
power_hdmi_on: power-hdmi-on {
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-speedy.dts b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
|
|
||||||
index 9a87017347ea..9b140db04456 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-speedy.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
|
|
||||||
@@ -113,6 +113,213 @@
|
|
||||||
pinctrl-0 = <&vcc50_hdmi_en>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+&gpio0 {
|
|
||||||
+ gpio-line-names = "PMIC_SLEEP_AP",
|
|
||||||
+ "DDRIO_PWROFF",
|
|
||||||
+ "DDRIO_RETEN",
|
|
||||||
+ "TS3A227E_INT_L",
|
|
||||||
+ "PMIC_INT_L",
|
|
||||||
+ "PWR_KEY_L",
|
|
||||||
+ "AP_LID_INT_L",
|
|
||||||
+ "EC_IN_RW",
|
|
||||||
+
|
|
||||||
+ "AC_PRESENT_AP",
|
|
||||||
+ /*
|
|
||||||
+ * RECOVERY_SW_L is Chrome OS ABI. Schematics call
|
|
||||||
+ * it REC_MODE_L.
|
|
||||||
+ */
|
|
||||||
+ "RECOVERY_SW_L",
|
|
||||||
+ "OTP_OUT",
|
|
||||||
+ "HOST1_PWR_EN",
|
|
||||||
+ "USBOTG_PWREN_H",
|
|
||||||
+ "AP_WARM_RESET_H",
|
|
||||||
+ "nFALUT2",
|
|
||||||
+ "I2C0_SDA_PMIC",
|
|
||||||
+
|
|
||||||
+ "I2C0_SCL_PMIC",
|
|
||||||
+ "SUSPEND_L",
|
|
||||||
+ "USB_INT";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio2 {
|
|
||||||
+ gpio-line-names = "CONFIG0",
|
|
||||||
+ "CONFIG1",
|
|
||||||
+ "CONFIG2",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "CONFIG3",
|
|
||||||
+
|
|
||||||
+ "PWRLIMIT#_CPU",
|
|
||||||
+ "EMMC_RST_L",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "BL_PWR_EN",
|
|
||||||
+ "AVDD_1V8_DISP_EN";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio3 {
|
|
||||||
+ gpio-line-names = "FLASH0_D0",
|
|
||||||
+ "FLASH0_D1",
|
|
||||||
+ "FLASH0_D2",
|
|
||||||
+ "FLASH0_D3",
|
|
||||||
+ "FLASH0_D4",
|
|
||||||
+ "FLASH0_D5",
|
|
||||||
+ "FLASH0_D6",
|
|
||||||
+ "FLASH0_D7",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "FLASH0_CS2/EMMC_CMD",
|
|
||||||
+ "",
|
|
||||||
+ "FLASH0_DQS/EMMC_CLKO";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio4 {
|
|
||||||
+ gpio-line-names = "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "UART0_RXD",
|
|
||||||
+ "UART0_TXD",
|
|
||||||
+ "UART0_CTS",
|
|
||||||
+ "UART0_RTS",
|
|
||||||
+ "SDIO0_D0",
|
|
||||||
+ "SDIO0_D1",
|
|
||||||
+ "SDIO0_D2",
|
|
||||||
+ "SDIO0_D3",
|
|
||||||
+
|
|
||||||
+ "SDIO0_CMD",
|
|
||||||
+ "SDIO0_CLK",
|
|
||||||
+ "BT_DEV_WAKE",
|
|
||||||
+ "",
|
|
||||||
+ "WIFI_ENABLE_H",
|
|
||||||
+ "BT_ENABLE_L",
|
|
||||||
+ "WIFI_HOST_WAKE",
|
|
||||||
+ "BT_HOST_WAKE";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio5 {
|
|
||||||
+ gpio-line-names = "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "SPI0_CLK",
|
|
||||||
+ "SPI0_CS0",
|
|
||||||
+ "SPI0_TXD",
|
|
||||||
+ "SPI0_RXD",
|
|
||||||
+
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "VCC50_HDMI_EN";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio6 {
|
|
||||||
+ gpio-line-names = "I2S0_SCLK",
|
|
||||||
+ "I2S0_LRCK_RX",
|
|
||||||
+ "I2S0_LRCK_TX",
|
|
||||||
+ "I2S0_SDI",
|
|
||||||
+ "I2S0_SDO0",
|
|
||||||
+ "HP_DET_H",
|
|
||||||
+ "ALS_INT", /* not connected */
|
|
||||||
+ "INT_CODEC",
|
|
||||||
+
|
|
||||||
+ "I2S0_CLK",
|
|
||||||
+ "I2C2_SDA",
|
|
||||||
+ "I2C2_SCL",
|
|
||||||
+ "MICDET",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+
|
|
||||||
+ "SDMMC_D0",
|
|
||||||
+ "SDMMC_D1",
|
|
||||||
+ "SDMMC_D2",
|
|
||||||
+ "SDMMC_D3",
|
|
||||||
+ "SDMMC_CLK",
|
|
||||||
+ "SDMMC_CMD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio7 {
|
|
||||||
+ gpio-line-names = "LCDC_BL",
|
|
||||||
+ "PWM_LOG",
|
|
||||||
+ "BL_EN",
|
|
||||||
+ "TRACKPAD_INT",
|
|
||||||
+ "TPM_INT_H",
|
|
||||||
+ "SDMMC_DET_L",
|
|
||||||
+ /*
|
|
||||||
+ * AP_FLASH_WP_L is Chrome OS ABI. Schematics call
|
|
||||||
+ * it FW_WP_AP.
|
|
||||||
+ */
|
|
||||||
+ "AP_FLASH_WP_L",
|
|
||||||
+ "EC_INT",
|
|
||||||
+
|
|
||||||
+ "CPU_NMI",
|
|
||||||
+ "DVS_OK",
|
|
||||||
+ "",
|
|
||||||
+ "EDP_HOTPLUG",
|
|
||||||
+ "DVS1",
|
|
||||||
+ "nFALUT1",
|
|
||||||
+ "LCD_EN",
|
|
||||||
+ "DVS2",
|
|
||||||
+
|
|
||||||
+ "VCC5V_GOOD_H",
|
|
||||||
+ "I2C4_SDA_TP",
|
|
||||||
+ "I2C4_SCL_TP",
|
|
||||||
+ "I2C5_SDA_HDMI",
|
|
||||||
+ "I2C5_SCL_HDMI",
|
|
||||||
+ "5V_DRV",
|
|
||||||
+ "UART2_RXD",
|
|
||||||
+ "UART2_TXD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&gpio8 {
|
|
||||||
+ gpio-line-names = "RAM_ID0",
|
|
||||||
+ "RAM_ID1",
|
|
||||||
+ "RAM_ID2",
|
|
||||||
+ "RAM_ID3",
|
|
||||||
+ "I2C1_SDA_TPM",
|
|
||||||
+ "I2C1_SCL_TPM",
|
|
||||||
+ "SPI2_CLK",
|
|
||||||
+ "SPI2_CS0",
|
|
||||||
+
|
|
||||||
+ "SPI2_RXD",
|
|
||||||
+ "SPI2_TXD";
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
&pinctrl {
|
|
||||||
backlight {
|
|
||||||
bl_pwr_en: bl_pwr_en {
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
|||||||
From c077d9d717dc481a6a95f9ef2562ef6bda74fbdf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Thu, 2 May 2019 15:53:35 -0700
|
|
||||||
Subject: [PATCH 46/54] ARM: dts: rockchip: Add unwedge pinctrl entries for
|
|
||||||
dw_hdmi on rk3288
|
|
||||||
|
|
||||||
This adds the "unwedge" pinctrl entries introduced by a recent dw_hdmi
|
|
||||||
change that can unwedge the dw_hdmi i2c bus in some cases. It's
|
|
||||||
expected that any boards using this would add:
|
|
||||||
|
|
||||||
pinctrl-names = "default", "unwedge";
|
|
||||||
pinctrl-0 = <&hdmi_ddc>;
|
|
||||||
pinctrl-1 = <&hdmi_ddc_unwedge>;
|
|
||||||
|
|
||||||
Note that this isn't added by default because some boards may choose
|
|
||||||
to mux i2c5 for their DDC bus (if that is more tested for them).
|
|
||||||
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Reviewed-by: Sean Paul <sean@poorly.run>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288.dtsi | 9 +++++++++
|
|
||||||
1 file changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
index 766d1cf51a5b..cc893e154fe5 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288.dtsi
|
|
||||||
@@ -1547,6 +1547,15 @@
|
|
||||||
rockchip,pins = <7 RK_PC3 2 &pcfg_pull_none>,
|
|
||||||
<7 RK_PC4 2 &pcfg_pull_none>;
|
|
||||||
};
|
|
||||||
+
|
|
||||||
+ hdmi_ddc_unwedge: hdmi-ddc-unwedge {
|
|
||||||
+ rockchip,pins = <7 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>,
|
|
||||||
+ <7 RK_PC4 2 &pcfg_pull_none>;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ pcfg_output_low: pcfg-output-low {
|
|
||||||
+ output-low;
|
|
||||||
};
|
|
||||||
|
|
||||||
pcfg_pull_up: pcfg-pull-up {
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,155 +0,0 @@
|
|||||||
From b8925b7c2f867df6ce3e20deb4b3e2b9b32b20ff Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
Date: Wed, 5 Jun 2019 13:43:19 -0700
|
|
||||||
Subject: [PATCH 48/54] ARM: dts: rockchip: Split GPIO keys for veyron into
|
|
||||||
multiple devices
|
|
||||||
|
|
||||||
With a single device DT overrides can become messy, especially when
|
|
||||||
keys are added or removed. Multiple devices also allow to
|
|
||||||
enable/disable wakeup per key/group.
|
|
||||||
|
|
||||||
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
|
|
||||||
[used actual switch+event constants in new lid-switch entry]
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi | 27 ++++++++++--------
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-minnie.dts | 38 +++++++++++++------------
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-pinky.dts | 2 +-
|
|
||||||
arch/arm/boot/dts/rk3288-veyron.dtsi | 4 +--
|
|
||||||
4 files changed, 38 insertions(+), 33 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
|
|
||||||
index fbef34578100..5727017f34b2 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
|
|
||||||
@@ -70,6 +70,21 @@
|
|
||||||
pinctrl-0 = <&ac_present_ap>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+ lid_switch: lid-switch {
|
|
||||||
+ compatible = "gpio-keys";
|
|
||||||
+ pinctrl-names = "default";
|
|
||||||
+ pinctrl-0 = <&ap_lid_int_l>;
|
|
||||||
+
|
|
||||||
+ lid {
|
|
||||||
+ label = "Lid";
|
|
||||||
+ gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
||||||
+ wakeup-source;
|
|
||||||
+ linux,code = <SW_LID>;
|
|
||||||
+ linux,input-type = <EV_SW>;
|
|
||||||
+ debounce-interval = <1>;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
panel: panel {
|
|
||||||
compatible ="innolux,n116bge", "simple-panel";
|
|
||||||
status = "okay";
|
|
||||||
@@ -149,18 +164,6 @@
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
-&gpio_keys {
|
|
||||||
- pinctrl-0 = <&pwr_key_l &ap_lid_int_l>;
|
|
||||||
- lid {
|
|
||||||
- label = "Lid";
|
|
||||||
- gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
|
|
||||||
- wakeup-source;
|
|
||||||
- linux,code = <0>; /* SW_LID */
|
|
||||||
- linux,input-type = <5>; /* EV_SW */
|
|
||||||
- debounce-interval = <1>;
|
|
||||||
- };
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
&pwm0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-minnie.dts b/arch/arm/boot/dts/rk3288-veyron-minnie.dts
|
|
||||||
index a65099b4aef1..b2cc70a08554 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-minnie.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-minnie.dts
|
|
||||||
@@ -48,6 +48,26 @@
|
|
||||||
regulator-boot-on;
|
|
||||||
vin-supply = <&vcc18_wl>;
|
|
||||||
};
|
|
||||||
+
|
|
||||||
+ volume_buttons: volume-buttons {
|
|
||||||
+ compatible = "gpio-keys";
|
|
||||||
+ pinctrl-names = "default";
|
|
||||||
+ pinctrl-0 = <&volum_down_l &volum_up_l>;
|
|
||||||
+
|
|
||||||
+ volum_down {
|
|
||||||
+ label = "Volum_down";
|
|
||||||
+ gpios = <&gpio5 RK_PB3 GPIO_ACTIVE_LOW>;
|
|
||||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
|
||||||
+ debounce-interval = <100>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ volum_up {
|
|
||||||
+ label = "Volum_up";
|
|
||||||
+ gpios = <&gpio5 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
||||||
+ linux,code = <KEY_VOLUMEUP>;
|
|
||||||
+ debounce-interval = <100>;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
};
|
|
||||||
|
|
||||||
&backlight {
|
|
||||||
@@ -90,24 +110,6 @@
|
|
||||||
pwm-off-delay-ms = <200>;
|
|
||||||
};
|
|
||||||
|
|
||||||
-&gpio_keys {
|
|
||||||
- pinctrl-0 = <&pwr_key_l &ap_lid_int_l &volum_down_l &volum_up_l>;
|
|
||||||
-
|
|
||||||
- volum_down {
|
|
||||||
- label = "Volum_down";
|
|
||||||
- gpios = <&gpio5 RK_PB3 GPIO_ACTIVE_LOW>;
|
|
||||||
- linux,code = <KEY_VOLUMEDOWN>;
|
|
||||||
- debounce-interval = <100>;
|
|
||||||
- };
|
|
||||||
-
|
|
||||||
- volum_up {
|
|
||||||
- label = "Volum_up";
|
|
||||||
- gpios = <&gpio5 RK_PB2 GPIO_ACTIVE_LOW>;
|
|
||||||
- linux,code = <KEY_VOLUMEUP>;
|
|
||||||
- debounce-interval = <100>;
|
|
||||||
- };
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
&i2c_tunnel {
|
|
||||||
battery: bq27500@55 {
|
|
||||||
compatible = "ti,bq27500";
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-pinky.dts b/arch/arm/boot/dts/rk3288-veyron-pinky.dts
|
|
||||||
index 9645be7b3d8c..9b6f4d9b03b6 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-pinky.dts
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-pinky.dts
|
|
||||||
@@ -35,7 +35,7 @@
|
|
||||||
force-hpd;
|
|
||||||
};
|
|
||||||
|
|
||||||
-&gpio_keys {
|
|
||||||
+&lid_switch {
|
|
||||||
pinctrl-0 = <&pwr_key_h &ap_lid_int_l>;
|
|
||||||
|
|
||||||
power {
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
index c574844a6bb2..3257ca90f0e8 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
@@ -23,11 +23,11 @@
|
|
||||||
reg = <0x0 0x0 0x0 0x80000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
- gpio_keys: gpio-keys {
|
|
||||||
+ power_button: power-button {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
-
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pwr_key_l>;
|
|
||||||
+
|
|
||||||
power {
|
|
||||||
label = "Power";
|
|
||||||
gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
From 1d390437f605db28596ad4c4bfeca2fed052c025 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Mon, 20 May 2019 10:56:05 -0700
|
|
||||||
Subject: [PATCH 50/54] ARM: dts: rockchip: Allow wakeup from rk3288-veyron's
|
|
||||||
dwc2 USB ports
|
|
||||||
|
|
||||||
We want to be able to wake from USB if a device is plugged in that
|
|
||||||
wants remote wakeup. Enable it on both dwc2 controllers.
|
|
||||||
|
|
||||||
NOTE: this is added specifically to veyron and not to rk3288 in
|
|
||||||
general since it's not known whether all rk3288 boards are designed to
|
|
||||||
support USB wakeup. It is plausible that some boards could shut down
|
|
||||||
important rails in S3.
|
|
||||||
|
|
||||||
Also note that currently wakeup doesn't seem to happen unless you use
|
|
||||||
the "deep" suspend mode (where SDRAM is turned off). Presumably the
|
|
||||||
shallow suspend mode is gating some sort of clock that's important but
|
|
||||||
I couldn't easily figure out how to get it working.
|
|
||||||
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288-veyron.dtsi | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
index 1252522392c7..1d8bfed7830c 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
@@ -424,6 +424,7 @@
|
|
||||||
|
|
||||||
&usb_host1 {
|
|
||||||
status = "okay";
|
|
||||||
+ snps,need-phy-for-wake;
|
|
||||||
};
|
|
||||||
|
|
||||||
&usb_otg {
|
|
||||||
@@ -432,6 +433,7 @@
|
|
||||||
assigned-clocks = <&cru SCLK_USBPHY480M_SRC>;
|
|
||||||
assigned-clock-parents = <&usbphy0>;
|
|
||||||
dr_mode = "host";
|
|
||||||
+ snps,need-phy-for-wake;
|
|
||||||
};
|
|
||||||
|
|
||||||
&vopb {
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
|||||||
From 4db11c378ab1e170c3a197ea3719ffe54cd06637 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Wed, 19 Jun 2019 11:34:25 -0700
|
|
||||||
Subject: [PATCH 51/54] ARM: dts: rockchip: Configure BT_DEV_WAKE in on
|
|
||||||
rk3288-veyron
|
|
||||||
|
|
||||||
This is the other half of the hacky solution from commit f497ab6b4bb8
|
|
||||||
("ARM: dts: rockchip: Configure BT_HOST_WAKE as wake-up signal on
|
|
||||||
veyron"). Specifically the LPM driver that the Broadcom Bluetooth
|
|
||||||
expects to have (but is missing in mainline) has two halves of the
|
|
||||||
equation: BT_HOST_WAKE and BT_DEV_WAKE. The BT_HOST_WAKE (which was
|
|
||||||
handled in the previous commit) is the one that lets the Bluetooth
|
|
||||||
wake the system up. The BT_DEV_WAKE (this patch) tells the Bluetooth
|
|
||||||
that it's OK to go into a low power mode. That means we were burning
|
|
||||||
a bit of extra power in S3 without this patch. Measurements are a bit
|
|
||||||
noisy, but it appears to be a few mA worth of difference.
|
|
||||||
|
|
||||||
NOTE: Though these pins don't do much on systems with Marvell
|
|
||||||
Bluetooth, downstream kernels set it on all veyron boards so we'll do
|
|
||||||
the same.
|
|
||||||
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
||||||
---
|
|
||||||
arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi | 2 ++
|
|
||||||
arch/arm/boot/dts/rk3288-veyron.dtsi | 20 ++++++++++++++++++++
|
|
||||||
2 files changed, 22 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
|
|
||||||
index 5727017f34b2..1cadb522fd0d 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
|
|
||||||
@@ -237,6 +237,7 @@
|
|
||||||
|
|
||||||
/* Wake only */
|
|
||||||
&suspend_l_wake
|
|
||||||
+ &bt_dev_wake_awake
|
|
||||||
>;
|
|
||||||
pinctrl-1 = <
|
|
||||||
/* Common for sleep and wake, but no owners */
|
|
||||||
@@ -246,6 +247,7 @@
|
|
||||||
|
|
||||||
/* Sleep only */
|
|
||||||
&suspend_l_sleep
|
|
||||||
+ &bt_dev_wake_sleep
|
|
||||||
>;
|
|
||||||
|
|
||||||
backlight {
|
|
||||||
diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
index e2635ad574e7..53d2f2452868 100644
|
|
||||||
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
|
|
||||||
@@ -485,12 +485,18 @@
|
|
||||||
&ddr0_retention
|
|
||||||
&ddrio_pwroff
|
|
||||||
&global_pwroff
|
|
||||||
+
|
|
||||||
+ /* Wake only */
|
|
||||||
+ &bt_dev_wake_awake
|
|
||||||
>;
|
|
||||||
pinctrl-1 = <
|
|
||||||
/* Common for sleep and wake, but no owners */
|
|
||||||
&ddr0_retention
|
|
||||||
&ddrio_pwroff
|
|
||||||
&global_pwroff
|
|
||||||
+
|
|
||||||
+ /* Sleep only */
|
|
||||||
+ &bt_dev_wake_sleep
|
|
||||||
>;
|
|
||||||
|
|
||||||
pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
|
|
||||||
@@ -596,6 +602,20 @@
|
|
||||||
sdio0_clk: sdio0-clk {
|
|
||||||
rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none_drv_8ma>;
|
|
||||||
};
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * These pins are only present on very new veyron boards; on
|
|
||||||
+ * older boards bt_dev_wake is simply always high. Note that
|
|
||||||
+ * gpio4_D2 is a NC on old veyron boards, so it doesn't hurt
|
|
||||||
+ * to map this pin everywhere
|
|
||||||
+ */
|
|
||||||
+ bt_dev_wake_sleep: bt-dev-wake-sleep {
|
|
||||||
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ bt_dev_wake_awake: bt-dev-wake-awake {
|
|
||||||
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>;
|
|
||||||
+ };
|
|
||||||
};
|
|
||||||
|
|
||||||
tpm {
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
|||||||
From d991f855cb4f84c638e2016818259720ceed4191 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
|
|
||||||
Date: Mon, 20 May 2019 16:14:33 +0200
|
|
||||||
Subject: [PATCH 44/53] usb: remove redundant 'default n' from Kconfig-s
|
|
||||||
|
|
||||||
'default n' is the default value for any bool or tristate Kconfig
|
|
||||||
setting so there is no need to write it explicitly.
|
|
||||||
|
|
||||||
Also since commit f467c5640c29 ("kconfig: only write '# CONFIG_FOO
|
|
||||||
is not set' for visible symbols") the Kconfig behavior is the same
|
|
||||||
regardless of 'default n' being present or not:
|
|
||||||
|
|
||||||
...
|
|
||||||
One side effect of (and the main motivation for) this change is making
|
|
||||||
the following two definitions behave exactly the same:
|
|
||||||
|
|
||||||
config FOO
|
|
||||||
bool
|
|
||||||
|
|
||||||
config FOO
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
|
|
||||||
With this change, neither of these will generate a
|
|
||||||
'# CONFIG_FOO is not set' line (assuming FOO isn't selected/implied).
|
|
||||||
That might make it clearer to people that a bare 'default n' is
|
|
||||||
redundant.
|
|
||||||
...
|
|
||||||
|
|
||||||
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
|
|
||||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
||||||
---
|
|
||||||
drivers/usb/dwc2/Kconfig | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/usb/dwc2/Kconfig b/drivers/usb/dwc2/Kconfig
|
|
||||||
index 68d095ae2865..16e1aa304edc 100644
|
|
||||||
--- a/drivers/usb/dwc2/Kconfig
|
|
||||||
+++ b/drivers/usb/dwc2/Kconfig
|
|
||||||
@@ -58,7 +58,6 @@ config USB_DWC2_PCI
|
|
||||||
tristate "DWC2 PCI"
|
|
||||||
depends on USB_PCI
|
|
||||||
depends on USB_GADGET || !USB_GADGET
|
|
||||||
- default n
|
|
||||||
select NOP_USB_XCEIV
|
|
||||||
help
|
|
||||||
The Designware USB2.0 PCI interface module for controllers
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,164 +0,0 @@
|
|||||||
From c846b03ff767149d75d4d8dca6d3d4945a21074a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Mon, 20 May 2019 10:56:04 -0700
|
|
||||||
Subject: [PATCH 51/53] USB: dwc2: Don't turn off the usbphy in suspend if
|
|
||||||
wakeup is enabled
|
|
||||||
|
|
||||||
If the 'snps,need-phy-for-wake' is set in the device tree then:
|
|
||||||
|
|
||||||
- We know that we can wakeup, so call device_set_wakeup_capable().
|
|
||||||
The USB core will use this knowledge to enable wakeup by default.
|
|
||||||
- We know that we should keep the PHY on during suspend if something
|
|
||||||
on our root hub needs remote wakeup. This requires the patch (USB:
|
|
||||||
Export usb_wakeup_enabled_descendants()). Note that we don't keep
|
|
||||||
the PHY on at suspend time if it's not needed because it would be a
|
|
||||||
power draw.
|
|
||||||
|
|
||||||
If we later find some users of dwc2 that can support wakeup without
|
|
||||||
keeping the PHY on we may want to add a way to call
|
|
||||||
device_set_wakeup_capable() without keeping the PHY on at suspend
|
|
||||||
time.
|
|
||||||
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
|
|
||||||
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
|
||||||
---
|
|
||||||
drivers/usb/dwc2/core.h | 8 ++++++++
|
|
||||||
drivers/usb/dwc2/hcd.c | 19 +++++++++++++++++++
|
|
||||||
drivers/usb/dwc2/platform.c | 23 ++++++++++++++++++++---
|
|
||||||
3 files changed, 47 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h
|
|
||||||
index 152ac41dfb2d..d08d070a0fb6 100644
|
|
||||||
--- a/drivers/usb/dwc2/core.h
|
|
||||||
+++ b/drivers/usb/dwc2/core.h
|
|
||||||
@@ -861,6 +861,9 @@ struct dwc2_hregs_backup {
|
|
||||||
* @hibernated: True if core is hibernated
|
|
||||||
* @reset_phy_on_wake: Quirk saying that we should assert PHY reset on a
|
|
||||||
* remote wakeup.
|
|
||||||
+ * @phy_off_for_suspend: Status of whether we turned the PHY off at suspend.
|
|
||||||
+ * @need_phy_for_wake: Quirk saying that we should keep the PHY on at
|
|
||||||
+ * suspend if we need USB to wake us up.
|
|
||||||
* @frame_number: Frame number read from the core. For both device
|
|
||||||
* and host modes. The value ranges are from 0
|
|
||||||
* to HFNUM_MAX_FRNUM.
|
|
||||||
@@ -1049,6 +1052,8 @@ struct dwc2_hsotg {
|
|
||||||
unsigned int ll_hw_enabled:1;
|
|
||||||
unsigned int hibernated:1;
|
|
||||||
unsigned int reset_phy_on_wake:1;
|
|
||||||
+ unsigned int need_phy_for_wake:1;
|
|
||||||
+ unsigned int phy_off_for_suspend:1;
|
|
||||||
u16 frame_number;
|
|
||||||
|
|
||||||
struct phy *phy;
|
|
||||||
@@ -1438,6 +1443,7 @@ int dwc2_restore_host_registers(struct dwc2_hsotg *hsotg);
|
|
||||||
int dwc2_host_enter_hibernation(struct dwc2_hsotg *hsotg);
|
|
||||||
int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg,
|
|
||||||
int rem_wakeup, int reset);
|
|
||||||
+bool dwc2_host_can_poweroff_phy(struct dwc2_hsotg *dwc2);
|
|
||||||
static inline void dwc2_host_schedule_phy_reset(struct dwc2_hsotg *hsotg)
|
|
||||||
{ schedule_work(&hsotg->phy_reset_work); }
|
|
||||||
#else
|
|
||||||
@@ -1463,6 +1469,8 @@ static inline int dwc2_host_enter_hibernation(struct dwc2_hsotg *hsotg)
|
|
||||||
static inline int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg,
|
|
||||||
int rem_wakeup, int reset)
|
|
||||||
{ return 0; }
|
|
||||||
+static inline bool dwc2_host_can_poweroff_phy(struct dwc2_hsotg *dwc2)
|
|
||||||
+{ return false; }
|
|
||||||
static inline void dwc2_host_schedule_phy_reset(struct dwc2_hsotg *hsotg) {}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
|
|
||||||
index 2192a2873c7c..4c78a390c958 100644
|
|
||||||
--- a/drivers/usb/dwc2/hcd.c
|
|
||||||
+++ b/drivers/usb/dwc2/hcd.c
|
|
||||||
@@ -5587,3 +5587,22 @@ int dwc2_host_exit_hibernation(struct dwc2_hsotg *hsotg, int rem_wakeup,
|
|
||||||
dev_dbg(hsotg->dev, "Host hibernation restore complete\n");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+bool dwc2_host_can_poweroff_phy(struct dwc2_hsotg *dwc2)
|
|
||||||
+{
|
|
||||||
+ struct usb_device *root_hub = dwc2_hsotg_to_hcd(dwc2)->self.root_hub;
|
|
||||||
+
|
|
||||||
+ /* If the controller isn't allowed to wakeup then we can power off. */
|
|
||||||
+ if (!device_may_wakeup(dwc2->dev))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * We don't want to power off the PHY if something under the
|
|
||||||
+ * root hub has wakeup enabled.
|
|
||||||
+ */
|
|
||||||
+ if (usb_wakeup_enabled_descendants(root_hub))
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ /* No reason to keep the PHY powered, so allow poweroff */
|
|
||||||
+ return true;
|
|
||||||
+}
|
|
||||||
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
|
|
||||||
index d10a7f8daec3..3e6c3c8a32ff 100644
|
|
||||||
--- a/drivers/usb/dwc2/platform.c
|
|
||||||
+++ b/drivers/usb/dwc2/platform.c
|
|
||||||
@@ -447,6 +447,10 @@ static int dwc2_driver_probe(struct platform_device *dev)
|
|
||||||
if (retval)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
+ hsotg->need_phy_for_wake =
|
|
||||||
+ of_property_read_bool(dev->dev.of_node,
|
|
||||||
+ "snps,need-phy-for-wake");
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Reset before dwc2_get_hwparams() then it could get power-on real
|
|
||||||
* reset value form registers.
|
|
||||||
@@ -478,6 +482,14 @@ static int dwc2_driver_probe(struct platform_device *dev)
|
|
||||||
hsotg->gadget_enabled = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * If we need PHY for wakeup we must be wakeup capable.
|
|
||||||
+ * When we have a device that can wake without the PHY we
|
|
||||||
+ * can adjust this condition.
|
|
||||||
+ */
|
|
||||||
+ if (hsotg->need_phy_for_wake)
|
|
||||||
+ device_set_wakeup_capable(&dev->dev, true);
|
|
||||||
+
|
|
||||||
hsotg->reset_phy_on_wake =
|
|
||||||
of_property_read_bool(dev->dev.of_node,
|
|
||||||
"snps,reset-phy-on-wake");
|
|
||||||
@@ -516,13 +528,17 @@ static int dwc2_driver_probe(struct platform_device *dev)
|
|
||||||
static int __maybe_unused dwc2_suspend(struct device *dev)
|
|
||||||
{
|
|
||||||
struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev);
|
|
||||||
+ bool is_device_mode = dwc2_is_device_mode(dwc2);
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
- if (dwc2_is_device_mode(dwc2))
|
|
||||||
+ if (is_device_mode)
|
|
||||||
dwc2_hsotg_suspend(dwc2);
|
|
||||||
|
|
||||||
- if (dwc2->ll_hw_enabled)
|
|
||||||
+ if (dwc2->ll_hw_enabled &&
|
|
||||||
+ (is_device_mode || dwc2_host_can_poweroff_phy(dwc2))) {
|
|
||||||
ret = __dwc2_lowlevel_hw_disable(dwc2);
|
|
||||||
+ dwc2->phy_off_for_suspend = true;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
@@ -532,11 +548,12 @@ static int __maybe_unused dwc2_resume(struct device *dev)
|
|
||||||
struct dwc2_hsotg *dwc2 = dev_get_drvdata(dev);
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
- if (dwc2->ll_hw_enabled) {
|
|
||||||
+ if (dwc2->phy_off_for_suspend && dwc2->ll_hw_enabled) {
|
|
||||||
ret = __dwc2_lowlevel_hw_enable(dwc2);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
+ dwc2->phy_off_for_suspend = false;
|
|
||||||
|
|
||||||
if (dwc2_is_device_mode(dwc2))
|
|
||||||
ret = dwc2_hsotg_resume(dwc2);
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
|||||||
From ad408a1596b45868e38d0504f2ec1d5fb06f17d4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Guenter Roeck <linux@roeck-us.net>
|
|
||||||
Date: Wed, 29 May 2019 13:54:43 -0700
|
|
||||||
Subject: [PATCH 52/53] Revert "usb: dwc2: host: Setting qtd to NULL after
|
|
||||||
freeing it"
|
|
||||||
|
|
||||||
This reverts commit b0d659022e5c96ee5c4bd62d22d3da2d66de306b.
|
|
||||||
|
|
||||||
The reverted commit does nothing but adding two unnecessary lines
|
|
||||||
of code. It sets a local variable to NULL in two functions, but
|
|
||||||
that variable is not used anywhere in the rest of those functions.
|
|
||||||
This is just confusing, so let's remove it.
|
|
||||||
|
|
||||||
Cc: Vardan Mikayelyan <mvardan@synopsys.com>
|
|
||||||
Cc: John Youn <johnyoun@synopsys.com>
|
|
||||||
Cc: Douglas Anderson <dianders@chromiun.org>
|
|
||||||
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
|
|
||||||
Acked-by: Minas Harutyunyan <hminas@synopsys.com>
|
|
||||||
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
|
|
||||||
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
|
||||||
---
|
|
||||||
drivers/usb/dwc2/hcd.c | 1 -
|
|
||||||
drivers/usb/dwc2/hcd.h | 1 -
|
|
||||||
2 files changed, 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
|
|
||||||
index 4c78a390c958..ee144ff8af5b 100644
|
|
||||||
--- a/drivers/usb/dwc2/hcd.c
|
|
||||||
+++ b/drivers/usb/dwc2/hcd.c
|
|
||||||
@@ -4685,7 +4685,6 @@ static int _dwc2_hcd_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
|
|
||||||
spin_unlock_irqrestore(&hsotg->lock, flags);
|
|
||||||
urb->hcpriv = NULL;
|
|
||||||
kfree(qtd);
|
|
||||||
- qtd = NULL;
|
|
||||||
fail1:
|
|
||||||
if (qh_allocated) {
|
|
||||||
struct dwc2_qtd *qtd2, *qtd2_tmp;
|
|
||||||
diff --git a/drivers/usb/dwc2/hcd.h b/drivers/usb/dwc2/hcd.h
|
|
||||||
index ce6445a06588..8ca6d12a6f57 100644
|
|
||||||
--- a/drivers/usb/dwc2/hcd.h
|
|
||||||
+++ b/drivers/usb/dwc2/hcd.h
|
|
||||||
@@ -582,7 +582,6 @@ static inline void dwc2_hcd_qtd_unlink_and_free(struct dwc2_hsotg *hsotg,
|
|
||||||
{
|
|
||||||
list_del(&qtd->qtd_list_entry);
|
|
||||||
kfree(qtd);
|
|
||||||
- qtd = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Descriptor DMA support functions */
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
From: Douglas Anderson <dianders@chromium.org>
|
|
||||||
Date: Tue, 07 May 2019 13:49:58 -0700 (PDT)
|
|
||||||
|
|
||||||
When calculating the MMC phase we can just use clk_hw_get_rate()
|
|
||||||
instead of clk_get_rate(). This avoids recalculating the rate.
|
|
||||||
|
|
||||||
Suggested-by: Stephen Boyd <sboyd@kernel.org>
|
|
||||||
Signed-off-by: Douglas Anderson <dianders@chromium.org>
|
|
||||||
---
|
|
||||||
|
|
||||||
drivers/clk/rockchip/clk-mmc-phase.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/clk/rockchip/clk-mmc-phase.c b/drivers/clk/rockchip/clk-mmc-phase.c
|
|
||||||
index 026a26bb702d..07526f64dbfd 100644
|
|
||||||
--- a/drivers/clk/rockchip/clk-mmc-phase.c
|
|
||||||
+++ b/drivers/clk/rockchip/clk-mmc-phase.c
|
|
||||||
@@ -55,7 +55,7 @@ static unsigned long rockchip_mmc_recalc(struct clk_hw *hw,
|
|
||||||
static int rockchip_mmc_get_phase(struct clk_hw *hw)
|
|
||||||
{
|
|
||||||
struct rockchip_mmc_clock *mmc_clock = to_mmc_clock(hw);
|
|
||||||
- unsigned long rate = clk_get_rate(hw->clk);
|
|
||||||
+ unsigned long rate = clk_hw_get_rate(hw);
|
|
||||||
u32 raw_value;
|
|
||||||
u16 degrees;
|
|
||||||
u32 delay_num = 0;
|
|
||||||
@@ -86,7 +86,7 @@ static int rockchip_mmc_get_phase(struct clk_hw *hw)
|
|
||||||
static int rockchip_mmc_set_phase(struct clk_hw *hw, int degrees)
|
|
||||||
{
|
|
||||||
struct rockchip_mmc_clock *mmc_clock = to_mmc_clock(hw);
|
|
||||||
- unsigned long rate = clk_get_rate(hw->clk);
|
|
||||||
+ unsigned long rate = clk_hw_get_rate(hw);
|
|
||||||
u8 nineties, remainder;
|
|
||||||
u8 delay_num;
|
|
||||||
u32 raw_value;
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user