Merge pull request #148 from filberg/master
Upgrade kernel to 5.4.y LTS
This commit is contained in:
		
						commit
						515b2721ad
					
				
							
								
								
									
										8
									
								
								makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								makefile
									
									
									
									
									
								
							| @ -13,7 +13,7 @@ | ||||
| # You should have received a copy of the GNU General Public License
 | ||||
| # along with PrawnOS.  If not, see <https://www.gnu.org/licenses/>.
 | ||||
| 
 | ||||
| KVER=5.2.21 | ||||
| KVER=5.4.23 | ||||
| ifeq ($(DEBIAN_SUITE),) | ||||
| DEBIAN_SUITE=buster | ||||
| endif | ||||
| @ -92,6 +92,12 @@ filesystem: | ||||
| kernel_inject: #Targets an already built .img and swaps the old kernel with the newly compiled kernel
 | ||||
| 	scripts/injectKernelIntoFS.sh $(KVER) $(OUTNAME) | ||||
| 
 | ||||
| .PHONY: kernel_update | ||||
| kernel_update: | ||||
| 	make initramfs | ||||
| 	make kernel | ||||
| 	make kernel_inject | ||||
| 
 | ||||
| .PHONY: injected_image | ||||
| injected_image: #makes a copy of the base image with a new injected kernel
 | ||||
| 	make kernel | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1,91 +0,0 @@ | ||||
| commit	f72b90279db4b34aa18c97be826014b611969509	[log] [tgz] | ||||
| author	Douglas Anderson <dianders@chromium.org>	Thu Jun 20 18:20:56 2019 | ||||
| committer	Commit Bot <commit-bot@chromium.org>	Wed Jul 10 18:03:58 2019 | ||||
| tree	8380fa218796abf5c89be797a6af2de31d5b897c | ||||
| parent	46f55c559e7163fbf283c96bfd993d22431aa6fc [diff] | ||||
| 
 | ||||
| FROMLIST: Revert "ARM: dts: rockchip: add startup delay to rk3288-veyron panel-regulators" | ||||
| 
 | ||||
| This reverts commit 1f45e8c6d0161f044d679f242fe7514e2625af4a. | ||||
| 
 | ||||
| This 100 ms mystery delay is not on downstream kernels and no longer | ||||
| seems needed on upstream kernels either [1].  Presumably something in the | ||||
| meantime has made things better.  A few possibilities for patches that | ||||
| have landed in the meantime that could have made this better are | ||||
| commit 3157694d8c7f ("pwm-backlight: Add support for PWM delays | ||||
| proprieties."), commit 5fb5caee92ba ("pwm-backlight: Enable/disable | ||||
| the PWM before/after LCD enable toggle."), and commit 6d5922dd0d60 | ||||
| ("ARM: dts: rockchip: set PWM delay backlight settings for Veyron") | ||||
| 
 | ||||
| Let's revert and get our 100 ms back. | ||||
| 
 | ||||
| [1] https://lkml.kernel.org/r/2226970.BAPq4liE1j@diego | ||||
| 
 | ||||
| Signed-off-by: Douglas Anderson <dianders@chromium.org> | ||||
| (am from https://lore.kernel.org/patchwork/patch/1091867/) | ||||
| (also found at https://lkml.kernel.org/r/20190620182056.61552-1-dianders@chromium.org) | ||||
| 
 | ||||
| BUG=chromium:941638 | ||||
| TEST=Lots of reboot tests; check eDP comes up | ||||
| 
 | ||||
| Change-Id: I05638f852b8e278907dda813ca19d1eb81de14e5 | ||||
| Signed-off-by: Douglas Anderson <dianders@chromium.org> | ||||
| Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1693736 | ||||
| Reviewed-by: Sean Paul <seanpaul@chromium.org> | ||||
| Reviewed-by: Matthias Kaehlcke <mka@chromium.org> | ||||
| 
 | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron-jaq.dts b/arch/arm/boot/dts/rk3288-veyron-jaq.dts
 | ||||
| index 367db7e..bd97dae 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron-jaq.dts
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron-jaq.dts
 | ||||
| 
 | ||||
| @@ -25,7 +25,6 @@
 | ||||
|  		pinctrl-names = "default"; | ||||
|  		pinctrl-0 = <&lcd_enable_h>; | ||||
|  		regulator-name = "panel_regulator"; | ||||
| -		startup-delay-us = <100000>;
 | ||||
|  		vin-supply = <&vcc33_sys>; | ||||
|  	}; | ||||
|   | ||||
| 
 | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron-jerry.dts b/arch/arm/boot/dts/rk3288-veyron-jerry.dts
 | ||||
| index 983a25f..9c78537e 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron-jerry.dts
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron-jerry.dts
 | ||||
| 
 | ||||
| @@ -27,7 +27,6 @@
 | ||||
|  		pinctrl-names = "default"; | ||||
|  		pinctrl-0 = <&lcd_enable_h>; | ||||
|  		regulator-name = "panel_regulator"; | ||||
| -		startup-delay-us = <100000>;
 | ||||
|  		vin-supply = <&vcc33_sys>; | ||||
|  	}; | ||||
|   | ||||
| 
 | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron-minnie.dts b/arch/arm/boot/dts/rk3288-veyron-minnie.dts
 | ||||
| index 62bb12b..5a9bd39 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron-minnie.dts
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron-minnie.dts
 | ||||
| 
 | ||||
| @@ -34,7 +34,6 @@
 | ||||
|  		pinctrl-names = "default"; | ||||
|  		pinctrl-0 = <&lcd_enable_h>; | ||||
|  		regulator-name = "panel_regulator"; | ||||
| -		startup-delay-us = <100000>;
 | ||||
|  		vin-supply = <&vcc33_sys>; | ||||
|  	}; | ||||
|   | ||||
| 
 | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron-speedy.dts b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
 | ||||
| index aea10b6..cb37543 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron-speedy.dts
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
 | ||||
| 
 | ||||
| @@ -25,7 +25,6 @@
 | ||||
|  		pinctrl-names = "default"; | ||||
|  		pinctrl-0 = <&lcd_enable_h>; | ||||
|  		regulator-name = "panel_regulator"; | ||||
| -		startup-delay-us = <100000>;
 | ||||
|  		vin-supply = <&vcc33_sys>; | ||||
|  	}; | ||||
|   | ||||
| @ -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,58 +0,0 @@ | ||||
| From 0f637e2565d175eeff664991be9a6d0753d0e484 Mon Sep 17 00:00:00 2001 | ||||
| From: Matthias Kaehlcke <mka@chromium.org> | ||||
| Date: Thu, 16 May 2019 09:29:41 -0700 | ||||
| Subject: [PATCH 33/54] ARM: dts: rockchip: raise GPU trip point temperatures | ||||
|  for veyron | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| 
 | ||||
| The values match those used by the downstream Chrome OS 3.14 | ||||
| kernel, the 'official' kernel for veyron devices. Keep the critical | ||||
| trip point for speedy at 90°C as in the downstream configuration. | ||||
| 
 | ||||
| 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       | 8 ++++++++ | ||||
|  2 files changed, 12 insertions(+) | ||||
| 
 | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron-speedy.dts b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
 | ||||
| index b07a07e81551..aae37c535444 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron-speedy.dts
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron-speedy.dts
 | ||||
| @@ -75,6 +75,10 @@
 | ||||
|  	force-hpd; | ||||
|  }; | ||||
|   | ||||
| +&gpu_crit {
 | ||||
| +	temperature = <90000>;
 | ||||
| +};
 | ||||
| +
 | ||||
|  &panel { | ||||
|  	power-supply= <&panel_regulator>; | ||||
|  }; | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
 | ||||
| index e81f1a0cac83..90c8312d01ff 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron.dtsi
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
 | ||||
| @@ -166,6 +166,14 @@
 | ||||
|  	status = "okay"; | ||||
|  }; | ||||
|   | ||||
| +&gpu_alert0 {
 | ||||
| +	temperature = <72500>;
 | ||||
| +};
 | ||||
| +
 | ||||
| +&gpu_crit {
 | ||||
| +	temperature = <100000>;
 | ||||
| +};
 | ||||
| +
 | ||||
|  &hdmi { | ||||
|  	ddc-i2c-bus = <&i2c5>; | ||||
|  	status = "okay"; | ||||
| -- 
 | ||||
| 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,52 +0,0 @@ | ||||
| From bf09924f21767e6bb7cb3aae48c48c2c2ab8261a Mon Sep 17 00:00:00 2001 | ||||
| From: Douglas Anderson <dianders@chromium.org> | ||||
| Date: Thu, 2 May 2019 15:53:34 -0700 | ||||
| Subject: [PATCH 45/54] ARM: dts: rockchip: Switch to builtin HDMI DDC bus on | ||||
|  rk3288-veyron | ||||
| 
 | ||||
| Downstream Chrome OS kernels use the builtin DDC bus from dw_hdmi on | ||||
| veyron.  This is the only way to get them to negotiate HDCP. | ||||
| 
 | ||||
| Although HDCP isn't currently all supported upstream, it still seems | ||||
| like it makes sense to use dw_hdmi's builtin I2C.  Maybe eventually we | ||||
| can get HDCP negotiation working. | ||||
| 
 | ||||
| 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-veyron.dtsi | 11 ++--------- | ||||
|  1 file changed, 2 insertions(+), 9 deletions(-) | ||||
| 
 | ||||
| diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
 | ||||
| index 90c8312d01ff..99e2771d4d31 100644
 | ||||
| --- a/arch/arm/boot/dts/rk3288-veyron.dtsi
 | ||||
| +++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
 | ||||
| @@ -175,7 +175,8 @@
 | ||||
|  }; | ||||
|   | ||||
|  &hdmi { | ||||
| -	ddc-i2c-bus = <&i2c5>;
 | ||||
| +	pinctrl-names = "default";
 | ||||
| +	pinctrl-0 = <&hdmi_ddc>;
 | ||||
|  	status = "okay"; | ||||
|  }; | ||||
|   | ||||
| @@ -346,14 +347,6 @@
 | ||||
|  	i2c-scl-rising-time-ns = <300>;		/* 225ns measured */ | ||||
|  }; | ||||
|   | ||||
| -&i2c5 {
 | ||||
| -	status = "okay";
 | ||||
| -
 | ||||
| -	clock-frequency = <100000>;
 | ||||
| -	i2c-scl-falling-time-ns = <300>;
 | ||||
| -	i2c-scl-rising-time-ns = <1000>;
 | ||||
| -};
 | ||||
| -
 | ||||
|  &io_domains { | ||||
|  	status = "okay"; | ||||
|   | ||||
| -- 
 | ||||
| 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; | ||||
| 
 | ||||
| @ -56,14 +56,13 @@ make clean | ||||
| make mrproper | ||||
| #Apply the usb and mmc patches if unapplied | ||||
| [ "$FRESH" = true ] && for i in $RESOURCES/patches-tested/kernel/5.x-dwc2/*.patch; do echo $i; patch -p1 < $i; done | ||||
| [ "$FRESH" = true ] && for i in $RESOURCES/patches-tested/DTS/5.x-dts/*.patch; do echo $i; patch -p1 < $i; done | ||||
| [ "$FRESH" = true ] && for i in $RESOURCES/patches-tested/DTS/*.patch; do echo $i; patch -p1 < $i; done | ||||
| [ "$FRESH" = true ] && for i in $RESOURCES/patches-tested/kernel/*.patch; do echo $i; patch -p1 < $i; done | ||||
| 
 | ||||
| #copy in the initramfs and kernel config | ||||
| cp $ROOT_DIR/build/PrawnOS-initramfs.cpio.gz . | ||||
| cp $RESOURCES/config .config | ||||
| make -j `grep ^processor /proc/cpuinfo  | wc -l`  CROSS_COMPILE=arm-none-eabi- ARCH=arm zImage modules dtbs | ||||
| make -j $((`nproc` +1))  CROSS_COMPILE=arm-none-eabi- ARCH=arm zImage modules dtbs | ||||
| [ ! -h kernel.its ] && ln -s $RESOURCES/kernel.its . | ||||
| mkimage -D "-I dts -O dtb -p 2048" -f kernel.its vmlinux.uimg | ||||
| dd if=/dev/zero of=bootloader.bin bs=512 count=1 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 SolidHal
						SolidHal