linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron
@ 2015-12-01 17:14 Heiko Stübner
  2015-12-01 17:16 ` [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board Heiko Stübner
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Heiko Stübner @ 2015-12-01 17:14 UTC (permalink / raw)
  To: linux-arm-kernel

The edp-24m clock has two possible sources: the 24MHz oscillator as well
as an external 27MHz input. The power-on-default is the 27MHz clock which
is not supplied on all Rockchip boards. While on all current boards and
also all Veyron Chromebooks the bootloader seems to adapt the muxing to
the internal source, this doesn't seem to be the case on headless veyron
devices like brain and mickey making the edp-24m clock an orphan.
On the hardware side the 27m input also is not connected at all.

With the upcoming deferral of orphan-clocks this results in the power-
domain code deferring, as it cannot request the needed clock and if the
synchronous reset is sucessfullat all in this case is also unknown.

So fix that by making sure, the edp-24m clock is muxed to the internal
24MHz oscillator at all times.

Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
---
It seems I had some issues sending, sorry about the double-mails.

 arch/arm/boot/dts/rk3288-veyron.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi
index 5e61f07..9fce91f 100644
--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
@@ -340,6 +340,11 @@
 	i2c-scl-rising-time-ns = <1000>;
 };
 
+&power {
+	assigned-clocks = <&cru SCLK_EDP_24M>;
+	assigned-clock-parents = <&xin24m>;
+};
+
 &pwm1 {
 	status = "okay";
 };
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board
  2015-12-01 17:14 [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner
@ 2015-12-01 17:16 ` Heiko Stübner
  2015-12-02 18:26   ` Brian Norris
  2015-12-01 17:16 ` [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board Heiko Stübner
  2015-12-03 15:43 ` [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner
  2 siblings, 1 reply; 11+ messages in thread
From: Heiko Stübner @ 2015-12-01 17:16 UTC (permalink / raw)
  To: linux-arm-kernel

Similar to pinky, brain is a development model and probably also
nearing extinction. But to keep pinky from being lonely I'll keep
the two brain boards around as well, especially as they as well
have easily accessible dut-connectors.

Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
---
would cool to get an Ack from ChromeOS-people concerning the
license change to GPL2/X11 - as with the dts before

 Documentation/devicetree/bindings/arm/rockchip.txt |   5 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/rk3288-veyron-brain.dts          | 139 +++++++++++++++++++++
 3 files changed, 145 insertions(+)
 create mode 100644 arch/arm/boot/dts/rk3288-veyron-brain.dts

diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index 8e985dd..2f8b35a 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -35,6 +35,11 @@ Rockchip platforms device tree bindings
     Required root node properties:
       - compatible = "netxeon,r89", "rockchip,rk3288";
 
+- Google Brain (dev-board):
+    Required root node properties:
+      - compatible = "google,veyron-brain-rev0", "google,veyron-brain",
+		     "google,veyron", "rockchip,rk3288";
+
 - Google Jaq (Haier Chromebook 11 and more):
     Required root node properties:
       - compatible = "google,veyron-jaq-rev5", "google,veyron-jaq-rev4",
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 87c8752..2f29350 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -524,6 +524,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
 	rk3288-popmetal.dtb \
 	rk3288-r89.dtb \
 	rk3288-rock2-square.dtb \
+	rk3288-veyron-brain.dtb \
 	rk3288-veyron-jaq.dtb \
 	rk3288-veyron-jerry.dtb \
 	rk3288-veyron-minnie.dtb \
diff --git a/arch/arm/boot/dts/rk3288-veyron-brain.dts b/arch/arm/boot/dts/rk3288-veyron-brain.dts
new file mode 100644
index 0000000..cf5311d
--- /dev/null
+++ b/arch/arm/boot/dts/rk3288-veyron-brain.dts
@@ -0,0 +1,139 @@
+/*
+ * Google Veyron Brain Rev 0 board device tree source
+ *
+ * Copyright 2014 Google, Inc
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ *  Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "rk3288-veyron.dtsi"
+
+/ {
+	model = "Google Brain";
+	compatible = "google,veyron-brain-rev0", "google,veyron-brain",
+		     "google,veyron", "rockchip,rk3288";
+
+	vcc33_sys: vcc33-sys {
+		vin-supply = <&vcc_5v>;
+	};
+
+	vcc33_io: vcc33_io {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc33_io";
+		regulator-always-on;
+		regulator-boot-on;
+		vin-supply = <&vcc33_sys>;
+		/* This is gated by vcc_18 too */
+	};
+
+	/* This turns on vbus for host2 and otg (dwc2) */
+	vcc5_host2: vcc5-host2-regulator {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&usb2_pwr_en>;
+		regulator-name = "vcc5_host2";
+		regulator-always-on;
+		regulator-boot-on;
+	};
+};
+
+&pinctrl {
+	hdmi {
+		vcc50_hdmi_en: vcc50-hdmi-en {
+			rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	pmic {
+		dvs_1: dvs-1 {
+			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+
+		dvs_2: dvs-2 {
+			rockchip,pins = <7 15 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+	};
+
+	usb-host {
+		usb2_pwr_en: usb2-pwr-en {
+			rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
+
+&rk808 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
+	dvs-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>,
+		    <&gpio7 15 GPIO_ACTIVE_HIGH>;
+
+	/delete-property/ vcc6-supply;
+
+	regulators {
+		/* vcc33_io is sourced directly from vcc33_sys */
+		/delete-node/ LDO_REG1;
+
+		/* This is not a pwren anymore, but the real power supply */
+		vdd10_lcd: LDO_REG7 {
+			regulator-always-on;
+			regulator-boot-on;
+			regulator-min-microvolt = <1000000>;
+			regulator-max-microvolt = <1000000>;
+			regulator-name = "vdd10_lcd";
+			regulator-suspend-mem-disabled;
+		};
+
+		vcc18_hdmi: SWITCH_REG2 {
+			regulator-always-on;
+			regulator-boot-on;
+			regulator-name = "vcc18_hdmi";
+			regulator-suspend-mem-disabled;
+		};
+	};
+};
+
+&vcc50_hdmi {
+	enable-active-high;
+	gpio = <&gpio7 2 GPIO_ACTIVE_HIGH>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&vcc50_hdmi_en>;
+};
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-01 17:14 [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner
  2015-12-01 17:16 ` [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board Heiko Stübner
@ 2015-12-01 17:16 ` Heiko Stübner
  2015-12-01 17:19   ` Heiko Stübner
                     ` (2 more replies)
  2015-12-03 15:43 ` [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner
  2 siblings, 3 replies; 11+ messages in thread
From: Heiko Stübner @ 2015-12-01 17:16 UTC (permalink / raw)
  To: linux-arm-kernel

From: Chris Zhong <zyw@rock-chips.com>

Also known as the Asus Chromebit.

Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
---
would cool to get an Ack from ChromeOS-people concerning the
license change to GPL2/X11 - as with the dts before

Also if someone else should be designated as author I would be happy
got get a shout about that :-) . I did take Chris as he was the one
submitting the initial mickey dts to the chromeos tree.

And of course it would be cool if anyone could test that on an actual
mickey device.

 Documentation/devicetree/bindings/arm/rockchip.txt |   9 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/rk3288-veyron-mickey.dts         | 246 +++++++++++++++++++++
 3 files changed, 256 insertions(+)
 create mode 100644 arch/arm/boot/dts/rk3288-veyron-mickey.dts

diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index 2f8b35a..2fa0a21 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -54,6 +54,15 @@ Rockchip platforms device tree bindings
 		     "google,veyron-jerry-rev3", "google,veyron-jerry",
 		     "google,veyron", "rockchip,rk3288";
 
+- Google Mickey (Asus Chromebit CS10):
+    Required root node properties:
+      - compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
+		     "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
+		     "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
+		     "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
+		     "google,veyron-mickey-rev0", "google,veyron-mickey",
+		     "google,veyron", "rockchip,rk3288";
+
 - Google Minnie (Asus Chromebook Flip C100P):
     Required root node properties:
       - compatible = "google,veyron-minnie-rev4", "google,veyron-minnie-rev3",
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2f29350..8b49bfc 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -527,6 +527,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
 	rk3288-veyron-brain.dtb \
 	rk3288-veyron-jaq.dtb \
 	rk3288-veyron-jerry.dtb \
+	rk3288-veyron-mickey.dtb \
 	rk3288-veyron-minnie.dtb \
 	rk3288-veyron-pinky.dtb \
 	rk3288-veyron-speedy.dtb
diff --git a/arch/arm/boot/dts/rk3288-veyron-mickey.dts b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
new file mode 100644
index 0000000..365382a
--- /dev/null
+++ b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
@@ -0,0 +1,246 @@
+/*
+ * Google Veyron Mickey Rev 0 board device tree source
+ *
+ * Copyright 2015 Google, Inc
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ *  Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "rk3288-veyron.dtsi"
+
+/ {
+	model = "Google Mickey";
+	compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
+		     "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
+		     "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
+		     "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
+		     "google,veyron-mickey-rev0", "google,veyron-mickey",
+		     "google,veyron", "rockchip,rk3288";
+
+	vcc_5v: vcc-5v {
+		vin-supply = <&vcc33_sys>;
+	};
+
+	vcc33_io: vcc33_io {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc33_io";
+		regulator-always-on;
+		regulator-boot-on;
+		vin-supply = <&vcc33_sys>;
+	};
+};
+
+&cpu_thermal {
+	/delete-node/ trips;
+	/delete-node/ cooling-maps;
+
+	trips {
+		cpu_alert_almost_warm: cpu_alert_almost_warm {
+			temperature = <63000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "passive";
+		};
+		cpu_alert_warm: cpu_alert_warm {
+			temperature = <65000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "passive";
+		};
+		cpu_alert_almost_hot: cpu_alert_almost_hot {
+			temperature = <80000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "passive";
+		};
+		cpu_alert_hot: cpu_alert_hot {
+			temperature = <82000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "passive";
+		};
+		cpu_alert_hotter: cpu_alert_hotter {
+			temperature = <84000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "passive";
+		};
+		cpu_alert_very_hot: cpu_alert_very_hot {
+			temperature = <85000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "passive";
+		};
+		cpu_crit: cpu_crit {
+			temperature = <90000>; /* millicelsius */
+			hysteresis = <2000>; /* millicelsius */
+			type = "critical";
+		};
+	};
+
+	cooling-maps {
+		/*
+		 * After 1st level, throttle the CPU down to as low as 1.4 GHz
+		 * and don't let the GPU go faster than 400 MHz.  Note that we
+		 * won't throttle the GPU lower than 400 MHz due to CPU
+		 * heat--we'll let the GPU do the rest itself.
+		 */
+		cpu_warm_limit_cpu {
+			trip = <&cpu_alert_warm>;
+			cooling-device =
+				<&cpu0 THERMAL_NO_LIMIT 4>;
+		};
+
+		/*
+		 * Add some discrete steps to help throttling system deal
+		 * with the fact that there are two passive cooling devices:
+		 * the CPU and the GPU.
+		 *
+		 * - 1.2 GHz - 1.0 GHz (almost hot)
+		 * - 800 MHz           (hot)
+		 * - 800 MHz - 696 MHz (hotter)
+		 * - 696 MHz - min     (very hot)
+		 *
+		 * Note:
+		 * - 800 MHz appears to be a "sweet spot" for me.  I can run
+		 *   some pretty serious workload here and be happy.
+		 * - After 696 MHz we stop lowering voltage, so throttling
+		 *   past there is less effective.
+		 */
+		cpu_almost_hot_limit_cpu {
+			trip = <&cpu_alert_almost_hot>;
+			cooling-device =
+				<&cpu0 5 6>;
+		};
+		cpu_hot_limit_cpu {
+			trip = <&cpu_alert_hot>;
+			cooling-device =
+				<&cpu0 7 7>;
+		};
+		cpu_hotter_limit_cpu {
+			trip = <&cpu_alert_hotter>;
+			cooling-device =
+				<&cpu0 7 8>;
+		};
+		cpu_very_hot_limit_cpu {
+			trip = <&cpu_alert_very_hot>;
+			cooling-device =
+				<&cpu0 8 THERMAL_NO_LIMIT>;
+		};
+	};
+};
+
+&i2c2 {
+	status = "disabled";
+};
+
+&i2c4 {
+	status = "disabled";
+};
+
+&i2s {
+	status = "okay";
+	clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out";
+	clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>;
+};
+
+&rk808 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
+	dvs-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>,
+		    <&gpio7 15 GPIO_ACTIVE_HIGH>;
+
+	/delete-property/ vcc6-supply;
+	/delete-property/ vcc12-supply;
+
+	vcc11-supply = <&vcc33_sys>;
+
+	regulators {
+		/* vcc33_io is sourced directly from vcc33_sys */
+		/delete-node/ LDO_REG1;
+		/delete-node/ LDO_REG7;
+
+		/* This is not a pwren anymore, but the real power supply */
+		vdd10_lcd: LDO_REG7 {
+			regulator-always-on;
+			regulator-boot-on;
+			regulator-min-microvolt = <1000000>;
+			regulator-max-microvolt = <1000000>;
+			regulator-name = "vdd10_lcd";
+			regulator-suspend-mem-disabled;
+		};
+
+		vcc18_lcd: LDO_REG8 {
+			regulator-always-on;
+			regulator-boot-on;
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-name = "vcc18_lcd";
+			regulator-suspend-mem-disabled;
+		};
+	};
+};
+
+&pinctrl {
+	hdmi {
+		power_hdmi_on: power-hdmi-on {
+			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
+	pmic {
+		dvs_1: dvs-1 {
+			rockchip,pins = <7 12 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+
+		dvs_2: dvs-2 {
+			rockchip,pins = <7 15 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+	};
+};
+
+&usb_host0_ehci {
+	status = "disabled";
+};
+
+&usb_host1 {
+	status = "disabled";
+};
+
+&vcc50_hdmi {
+	enable-active-high;
+	gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&power_hdmi_on>;
+};
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-01 17:16 ` [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board Heiko Stübner
@ 2015-12-01 17:19   ` Heiko Stübner
  2015-12-02 18:31   ` Brian Norris
  2015-12-03 10:27   ` Caesar Wang
  2 siblings, 0 replies; 11+ messages in thread
From: Heiko Stübner @ 2015-12-01 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

I don't have much luck with patches today ... obviously that is supposed to be 
mickey in the subject

Am Dienstag, 1. Dezember 2015, 18:16:55 schrieb Heiko St?bner:
> From: Chris Zhong <zyw@rock-chips.com>
> 
> Also known as the Asus Chromebit.
> 
> Signed-off-by: Chris Zhong <zyw@rock-chips.com>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
> ---
> would cool to get an Ack from ChromeOS-people concerning the
> license change to GPL2/X11 - as with the dts before
> 
> Also if someone else should be designated as author I would be happy
> got get a shout about that :-) . I did take Chris as he was the one
> submitting the initial mickey dts to the chromeos tree.
> 
> And of course it would be cool if anyone could test that on an actual
> mickey device.
> 
>  Documentation/devicetree/bindings/arm/rockchip.txt |   9 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/rk3288-veyron-mickey.dts         | 246
> +++++++++++++++++++++ 3 files changed, 256 insertions(+)
>  create mode 100644 arch/arm/boot/dts/rk3288-veyron-mickey.dts
> 
> diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt
> b/Documentation/devicetree/bindings/arm/rockchip.txt index 2f8b35a..2fa0a21
> 100644
> --- a/Documentation/devicetree/bindings/arm/rockchip.txt
> +++ b/Documentation/devicetree/bindings/arm/rockchip.txt
> @@ -54,6 +54,15 @@ Rockchip platforms device tree bindings
>  		     "google,veyron-jerry-rev3", "google,veyron-jerry",
>  		     "google,veyron", "rockchip,rk3288";
> 
> +- Google Mickey (Asus Chromebit CS10):
> +    Required root node properties:
> +      - compatible = "google,veyron-mickey-rev8",
> "google,veyron-mickey-rev7", +		     "google,veyron-mickey-rev6",
> "google,veyron-mickey-rev5",
> +		     "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
> +		     "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
> +		     "google,veyron-mickey-rev0", "google,veyron-mickey",
> +		     "google,veyron", "rockchip,rk3288";
> +
>  - Google Minnie (Asus Chromebook Flip C100P):
>      Required root node properties:
>        - compatible = "google,veyron-minnie-rev4",
> "google,veyron-minnie-rev3", diff --git a/arch/arm/boot/dts/Makefile
> b/arch/arm/boot/dts/Makefile index 2f29350..8b49bfc 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -527,6 +527,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
>  	rk3288-veyron-brain.dtb \
>  	rk3288-veyron-jaq.dtb \
>  	rk3288-veyron-jerry.dtb \
> +	rk3288-veyron-mickey.dtb \
>  	rk3288-veyron-minnie.dtb \
>  	rk3288-veyron-pinky.dtb \
>  	rk3288-veyron-speedy.dtb
> diff --git a/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> b/arch/arm/boot/dts/rk3288-veyron-mickey.dts new file mode 100644
> index 0000000..365382a
> --- /dev/null
> +++ b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> @@ -0,0 +1,246 @@
> +/*
> + * Google Veyron Mickey Rev 0 board device tree source
> + *
> + * Copyright 2015 Google, Inc
> + *
> + * This file is dual-licensed: you can use it either under the terms
> + * of the GPL or the X11 license, at your option. Note that this dual
> + * licensing only applies to this file, and not this project as a
> + * whole.
> + *
> + *  a) This file is free software; you can redistribute it and/or
> + *     modify it under the terms of the GNU General Public License as
> + *     published by the Free Software Foundation; either version 2 of the
> + *     License, or (at your option) any later version.
> + *
> + *     This file is distributed in the hope that it will be useful,
> + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
> + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + *     GNU General Public License for more details.
> + *
> + *  Or, alternatively,
> + *
> + *  b) Permission is hereby granted, free of charge, to any person
> + *     obtaining a copy of this software and associated documentation
> + *     files (the "Software"), to deal in the Software without
> + *     restriction, including without limitation the rights to use,
> + *     copy, modify, merge, publish, distribute, sublicense, and/or
> + *     sell copies of the Software, and to permit persons to whom the
> + *     Software is furnished to do so, subject to the following
> + *     conditions:
> + *
> + *     The above copyright notice and this permission notice shall be
> + *     included in all copies or substantial portions of the Software.
> + *
> + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + *     OTHER DEALINGS IN THE SOFTWARE.
> + */
> +
> +/dts-v1/;
> +#include "rk3288-veyron.dtsi"
> +
> +/ {
> +	model = "Google Mickey";
> +	compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
> +		     "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
> +		     "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
> +		     "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
> +		     "google,veyron-mickey-rev0", "google,veyron-mickey",
> +		     "google,veyron", "rockchip,rk3288";
> +
> +	vcc_5v: vcc-5v {
> +		vin-supply = <&vcc33_sys>;
> +	};
> +
> +	vcc33_io: vcc33_io {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc33_io";
> +		regulator-always-on;
> +		regulator-boot-on;
> +		vin-supply = <&vcc33_sys>;
> +	};
> +};
> +
> +&cpu_thermal {
> +	/delete-node/ trips;
> +	/delete-node/ cooling-maps;
> +
> +	trips {
> +		cpu_alert_almost_warm: cpu_alert_almost_warm {
> +			temperature = <63000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_warm: cpu_alert_warm {
> +			temperature = <65000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_almost_hot: cpu_alert_almost_hot {
> +			temperature = <80000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_hot: cpu_alert_hot {
> +			temperature = <82000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_hotter: cpu_alert_hotter {
> +			temperature = <84000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_very_hot: cpu_alert_very_hot {
> +			temperature = <85000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_crit: cpu_crit {
> +			temperature = <90000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "critical";
> +		};
> +	};
> +
> +	cooling-maps {
> +		/*
> +		 * After 1st level, throttle the CPU down to as low as 1.4 GHz
> +		 * and don't let the GPU go faster than 400 MHz.  Note that we
> +		 * won't throttle the GPU lower than 400 MHz due to CPU
> +		 * heat--we'll let the GPU do the rest itself.
> +		 */
> +		cpu_warm_limit_cpu {
> +			trip = <&cpu_alert_warm>;
> +			cooling-device =
> +				<&cpu0 THERMAL_NO_LIMIT 4>;
> +		};
> +
> +		/*
> +		 * Add some discrete steps to help throttling system deal
> +		 * with the fact that there are two passive cooling devices:
> +		 * the CPU and the GPU.
> +		 *
> +		 * - 1.2 GHz - 1.0 GHz (almost hot)
> +		 * - 800 MHz           (hot)
> +		 * - 800 MHz - 696 MHz (hotter)
> +		 * - 696 MHz - min     (very hot)
> +		 *
> +		 * Note:
> +		 * - 800 MHz appears to be a "sweet spot" for me.  I can run
> +		 *   some pretty serious workload here and be happy.
> +		 * - After 696 MHz we stop lowering voltage, so throttling
> +		 *   past there is less effective.
> +		 */
> +		cpu_almost_hot_limit_cpu {
> +			trip = <&cpu_alert_almost_hot>;
> +			cooling-device =
> +				<&cpu0 5 6>;
> +		};
> +		cpu_hot_limit_cpu {
> +			trip = <&cpu_alert_hot>;
> +			cooling-device =
> +				<&cpu0 7 7>;
> +		};
> +		cpu_hotter_limit_cpu {
> +			trip = <&cpu_alert_hotter>;
> +			cooling-device =
> +				<&cpu0 7 8>;
> +		};
> +		cpu_very_hot_limit_cpu {
> +			trip = <&cpu_alert_very_hot>;
> +			cooling-device =
> +				<&cpu0 8 THERMAL_NO_LIMIT>;
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	status = "disabled";
> +};
> +
> +&i2c4 {
> +	status = "disabled";
> +};
> +
> +&i2s {
> +	status = "okay";
> +	clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out";
> +	clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>;
> +};
> +
> +&rk808 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
> +	dvs-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>,
> +		    <&gpio7 15 GPIO_ACTIVE_HIGH>;
> +
> +	/delete-property/ vcc6-supply;
> +	/delete-property/ vcc12-supply;
> +
> +	vcc11-supply = <&vcc33_sys>;
> +
> +	regulators {
> +		/* vcc33_io is sourced directly from vcc33_sys */
> +		/delete-node/ LDO_REG1;
> +		/delete-node/ LDO_REG7;
> +
> +		/* This is not a pwren anymore, but the real power supply */
> +		vdd10_lcd: LDO_REG7 {
> +			regulator-always-on;
> +			regulator-boot-on;
> +			regulator-min-microvolt = <1000000>;
> +			regulator-max-microvolt = <1000000>;
> +			regulator-name = "vdd10_lcd";
> +			regulator-suspend-mem-disabled;
> +		};
> +
> +		vcc18_lcd: LDO_REG8 {
> +			regulator-always-on;
> +			regulator-boot-on;
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-name = "vcc18_lcd";
> +			regulator-suspend-mem-disabled;
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	hdmi {
> +		power_hdmi_on: power-hdmi-on {
> +			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
> +	};
> +
> +	pmic {
> +		dvs_1: dvs-1 {
> +			rockchip,pins = <7 12 RK_FUNC_GPIO &pcfg_pull_down>;
> +		};
> +
> +		dvs_2: dvs-2 {
> +			rockchip,pins = <7 15 RK_FUNC_GPIO &pcfg_pull_down>;
> +		};
> +	};
> +};
> +
> +&usb_host0_ehci {
> +	status = "disabled";
> +};
> +
> +&usb_host1 {
> +	status = "disabled";
> +};
> +
> +&vcc50_hdmi {
> +	enable-active-high;
> +	gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&power_hdmi_on>;
> +};

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board
  2015-12-01 17:16 ` [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board Heiko Stübner
@ 2015-12-02 18:26   ` Brian Norris
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Norris @ 2015-12-02 18:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Dec 01, 2015 at 06:16:02PM +0100, Heiko St?bner wrote:
> Similar to pinky, brain is a development model and probably also
> nearing extinction. But to keep pinky from being lonely I'll keep
> the two brain boards around as well, especially as they as well
> have easily accessible dut-connectors.
> 
> Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
> ---
> would cool to get an Ack from ChromeOS-people concerning the
> license change to GPL2/X11 - as with the dts before

For the license changes:

Acked-by: Brian Norris <briannorris@chromium.org>

Not tested or reviewed otherwise.

>  Documentation/devicetree/bindings/arm/rockchip.txt |   5 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/rk3288-veyron-brain.dts          | 139 +++++++++++++++++++++
>  3 files changed, 145 insertions(+)
>  create mode 100644 arch/arm/boot/dts/rk3288-veyron-brain.dts

...

Brian

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-01 17:16 ` [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board Heiko Stübner
  2015-12-01 17:19   ` Heiko Stübner
@ 2015-12-02 18:31   ` Brian Norris
  2015-12-03 10:27   ` Caesar Wang
  2 siblings, 0 replies; 11+ messages in thread
From: Brian Norris @ 2015-12-02 18:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Dec 01, 2015 at 06:16:55PM +0100, Heiko St?bner wrote:
> From: Chris Zhong <zyw@rock-chips.com>
> 
> Also known as the Asus Chromebit.
> 
> Signed-off-by: Chris Zhong <zyw@rock-chips.com>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
> ---
> would cool to get an Ack from ChromeOS-people concerning the
> license change to GPL2/X11 - as with the dts before

For the license change:

Acked-by: Brian Norris <briannorris@chromium.org>

> Also if someone else should be designated as author I would be happy
> got get a shout about that :-) . I did take Chris as he was the one
> submitting the initial mickey dts to the chromeos tree.

Looks OK to me, FWIW.

> And of course it would be cool if anyone could test that on an actual
> mickey device.

Sorry, didn't test!

>  Documentation/devicetree/bindings/arm/rockchip.txt |   9 +
>  arch/arm/boot/dts/Makefile                         |   1 +
>  arch/arm/boot/dts/rk3288-veyron-mickey.dts         | 246 +++++++++++++++++++++
>  3 files changed, 256 insertions(+)
>  create mode 100644 arch/arm/boot/dts/rk3288-veyron-mickey.dts

...

Brian

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-01 17:16 ` [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board Heiko Stübner
  2015-12-01 17:19   ` Heiko Stübner
  2015-12-02 18:31   ` Brian Norris
@ 2015-12-03 10:27   ` Caesar Wang
  2015-12-03 10:44     ` Heiko Stübner
  2 siblings, 1 reply; 11+ messages in thread
From: Caesar Wang @ 2015-12-03 10:27 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Heiko

? 2015?12?02? 01:16, Heiko St?bner ??:
> From: Chris Zhong <zyw@rock-chips.com>
>
> Also known as the Asus Chromebit.
>
> Signed-off-by: Chris Zhong <zyw@rock-chips.com>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>

Tested-by: Caesar Wang <wxt@rock-chips.com>

Tested on my mickey board with chrome os on kernel 4.4 -rc3.

localhost / # cat /proc/version
Linux version 4.4.0-rc3+ (wxt at ubuntu) (gcc version 4.6.x-google 20120106 
(prerelease) (GCC) ) #59 SMP Thu Dec 3 17:32:10 CST 2015

.....but,
reboot long long test, that's seem mmc tune has a issue.

   2.630892] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd 
response 0x900, card status 0x0
[    2.631006] mmcblk0: error -110 sending status command, retrying
[    2.631018] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd 
response 0x900, card status 0x0
[    2.631703]  mmcblk0: unable to read partition table
...

Anyway, the dts is good to support mickey machine.
I think the mmc tune is not prefect in mainline.
> ---
> would cool to get an Ack from ChromeOS-people concerning the
> license change to GPL2/X11 - as with the dts before
>
> Also if someone else should be designated as author I would be happy
> got get a shout about that :-) . I did take Chris as he was the one
> submitting the initial mickey dts to the chromeos tree.
>
> And of course it would be cool if anyone could test that on an actual
> mickey device.
>
>   Documentation/devicetree/bindings/arm/rockchip.txt |   9 +
>   arch/arm/boot/dts/Makefile                         |   1 +
>   arch/arm/boot/dts/rk3288-veyron-mickey.dts         | 246 +++++++++++++++++++++
>   3 files changed, 256 insertions(+)
>   create mode 100644 arch/arm/boot/dts/rk3288-veyron-mickey.dts
>
> diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
> index 2f8b35a..2fa0a21 100644
> --- a/Documentation/devicetree/bindings/arm/rockchip.txt
> +++ b/Documentation/devicetree/bindings/arm/rockchip.txt
> @@ -54,6 +54,15 @@ Rockchip platforms device tree bindings
>   		     "google,veyron-jerry-rev3", "google,veyron-jerry",
>   		     "google,veyron", "rockchip,rk3288";
>   
> +- Google Mickey (Asus Chromebit CS10):
> +    Required root node properties:
> +      - compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
> +		     "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
> +		     "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
> +		     "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
> +		     "google,veyron-mickey-rev0", "google,veyron-mickey",
> +		     "google,veyron", "rockchip,rk3288";
> +
>   - Google Minnie (Asus Chromebook Flip C100P):
>       Required root node properties:
>         - compatible = "google,veyron-minnie-rev4", "google,veyron-minnie-rev3",
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 2f29350..8b49bfc 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -527,6 +527,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
>   	rk3288-veyron-brain.dtb \
>   	rk3288-veyron-jaq.dtb \
>   	rk3288-veyron-jerry.dtb \
> +	rk3288-veyron-mickey.dtb \
>   	rk3288-veyron-minnie.dtb \
>   	rk3288-veyron-pinky.dtb \
>   	rk3288-veyron-speedy.dtb
> diff --git a/arch/arm/boot/dts/rk3288-veyron-mickey.dts b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> new file mode 100644
> index 0000000..365382a
> --- /dev/null
> +++ b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> @@ -0,0 +1,246 @@
> +/*
> + * Google Veyron Mickey Rev 0 board device tree source
> + *
> + * Copyright 2015 Google, Inc
> + *
> + * This file is dual-licensed: you can use it either under the terms
> + * of the GPL or the X11 license, at your option. Note that this dual
> + * licensing only applies to this file, and not this project as a
> + * whole.
> + *
> + *  a) This file is free software; you can redistribute it and/or
> + *     modify it under the terms of the GNU General Public License as
> + *     published by the Free Software Foundation; either version 2 of the
> + *     License, or (at your option) any later version.
> + *
> + *     This file is distributed in the hope that it will be useful,
> + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
> + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + *     GNU General Public License for more details.
> + *
> + *  Or, alternatively,
> + *
> + *  b) Permission is hereby granted, free of charge, to any person
> + *     obtaining a copy of this software and associated documentation
> + *     files (the "Software"), to deal in the Software without
> + *     restriction, including without limitation the rights to use,
> + *     copy, modify, merge, publish, distribute, sublicense, and/or
> + *     sell copies of the Software, and to permit persons to whom the
> + *     Software is furnished to do so, subject to the following
> + *     conditions:
> + *
> + *     The above copyright notice and this permission notice shall be
> + *     included in all copies or substantial portions of the Software.
> + *
> + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + *     OTHER DEALINGS IN THE SOFTWARE.
> + */
> +
> +/dts-v1/;
> +#include "rk3288-veyron.dtsi"
> +
> +/ {
> +	model = "Google Mickey";
> +	compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
> +		     "google,veyron-mickey-rev6", "google,veyron-mickey-rev5",
> +		     "google,veyron-mickey-rev4", "google,veyron-mickey-rev3",
> +		     "google,veyron-mickey-rev2", "google,veyron-mickey-rev1",
> +		     "google,veyron-mickey-rev0", "google,veyron-mickey",
> +		     "google,veyron", "rockchip,rk3288";
> +
> +	vcc_5v: vcc-5v {
> +		vin-supply = <&vcc33_sys>;
> +	};
> +
> +	vcc33_io: vcc33_io {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc33_io";
> +		regulator-always-on;
> +		regulator-boot-on;
> +		vin-supply = <&vcc33_sys>;
> +	};
> +};
> +
> +&cpu_thermal {
> +	/delete-node/ trips;
> +	/delete-node/ cooling-maps;
> +
> +	trips {
> +		cpu_alert_almost_warm: cpu_alert_almost_warm {
> +			temperature = <63000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_warm: cpu_alert_warm {
> +			temperature = <65000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_almost_hot: cpu_alert_almost_hot {
> +			temperature = <80000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_hot: cpu_alert_hot {
> +			temperature = <82000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_hotter: cpu_alert_hotter {
> +			temperature = <84000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_alert_very_hot: cpu_alert_very_hot {
> +			temperature = <85000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "passive";
> +		};
> +		cpu_crit: cpu_crit {
> +			temperature = <90000>; /* millicelsius */
> +			hysteresis = <2000>; /* millicelsius */
> +			type = "critical";
> +		};
> +	};
> +
> +	cooling-maps {
> +		/*
> +		 * After 1st level, throttle the CPU down to as low as 1.4 GHz
> +		 * and don't let the GPU go faster than 400 MHz.  Note that we
> +		 * won't throttle the GPU lower than 400 MHz due to CPU
> +		 * heat--we'll let the GPU do the rest itself.
> +		 */
> +		cpu_warm_limit_cpu {
> +			trip = <&cpu_alert_warm>;
> +			cooling-device =
> +				<&cpu0 THERMAL_NO_LIMIT 4>;
> +		};
> +
> +		/*
> +		 * Add some discrete steps to help throttling system deal
> +		 * with the fact that there are two passive cooling devices:
> +		 * the CPU and the GPU.
> +		 *
> +		 * - 1.2 GHz - 1.0 GHz (almost hot)
> +		 * - 800 MHz           (hot)
> +		 * - 800 MHz - 696 MHz (hotter)
> +		 * - 696 MHz - min     (very hot)
> +		 *
> +		 * Note:
> +		 * - 800 MHz appears to be a "sweet spot" for me.  I can run
> +		 *   some pretty serious workload here and be happy.
> +		 * - After 696 MHz we stop lowering voltage, so throttling
> +		 *   past there is less effective.
> +		 */
> +		cpu_almost_hot_limit_cpu {
> +			trip = <&cpu_alert_almost_hot>;
> +			cooling-device =
> +				<&cpu0 5 6>;
> +		};
> +		cpu_hot_limit_cpu {
> +			trip = <&cpu_alert_hot>;
> +			cooling-device =
> +				<&cpu0 7 7>;
> +		};
> +		cpu_hotter_limit_cpu {
> +			trip = <&cpu_alert_hotter>;
> +			cooling-device =
> +				<&cpu0 7 8>;
> +		};
> +		cpu_very_hot_limit_cpu {
> +			trip = <&cpu_alert_very_hot>;
> +			cooling-device =
> +				<&cpu0 8 THERMAL_NO_LIMIT>;
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	status = "disabled";
> +};
> +
> +&i2c4 {
> +	status = "disabled";
> +};
> +
> +&i2s {
> +	status = "okay";
> +	clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out";
> +	clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>;
> +};
> +
> +&rk808 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
> +	dvs-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>,
> +		    <&gpio7 15 GPIO_ACTIVE_HIGH>;
> +
> +	/delete-property/ vcc6-supply;
> +	/delete-property/ vcc12-supply;
> +
> +	vcc11-supply = <&vcc33_sys>;
> +
> +	regulators {
> +		/* vcc33_io is sourced directly from vcc33_sys */
> +		/delete-node/ LDO_REG1;
> +		/delete-node/ LDO_REG7;
> +
> +		/* This is not a pwren anymore, but the real power supply */
> +		vdd10_lcd: LDO_REG7 {
> +			regulator-always-on;
> +			regulator-boot-on;
> +			regulator-min-microvolt = <1000000>;
> +			regulator-max-microvolt = <1000000>;
> +			regulator-name = "vdd10_lcd";
> +			regulator-suspend-mem-disabled;
> +		};
> +
> +		vcc18_lcd: LDO_REG8 {
> +			regulator-always-on;
> +			regulator-boot-on;
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <1800000>;
> +			regulator-name = "vcc18_lcd";
> +			regulator-suspend-mem-disabled;
> +		};
> +	};
> +};
> +
> +&pinctrl {
> +	hdmi {
> +		power_hdmi_on: power-hdmi-on {
> +			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
> +	};
> +
> +	pmic {
> +		dvs_1: dvs-1 {
> +			rockchip,pins = <7 12 RK_FUNC_GPIO &pcfg_pull_down>;
> +		};
> +
> +		dvs_2: dvs-2 {
> +			rockchip,pins = <7 15 RK_FUNC_GPIO &pcfg_pull_down>;
> +		};
> +	};
> +};
> +
> +&usb_host0_ehci {
> +	status = "disabled";
> +};
> +
> +&usb_host1 {
> +	status = "disabled";
> +};
> +
> +&vcc50_hdmi {
> +	enable-active-high;
> +	gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&power_hdmi_on>;
> +};

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-03 10:27   ` Caesar Wang
@ 2015-12-03 10:44     ` Heiko Stübner
  2015-12-03 11:01       ` Caesar Wang
  0 siblings, 1 reply; 11+ messages in thread
From: Heiko Stübner @ 2015-12-03 10:44 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Caesar,

Am Donnerstag, 3. Dezember 2015, 18:27:27 schrieb Caesar Wang:
> ? 2015?12?02? 01:16, Heiko St?bner ??:
> > From: Chris Zhong <zyw@rock-chips.com>
> > 
> > Also known as the Asus Chromebit.
> > 
> > Signed-off-by: Chris Zhong <zyw@rock-chips.com>
> > Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
> 
> Tested-by: Caesar Wang <wxt@rock-chips.com>

thanks :-)


> Tested on my mickey board with chrome os on kernel 4.4 -rc3.
> 
> localhost / # cat /proc/version
> Linux version 4.4.0-rc3+ (wxt at ubuntu) (gcc version 4.6.x-google 20120106
> (prerelease) (GCC) ) #59 SMP Thu Dec 3 17:32:10 CST 2015
> 
> .....but,
> reboot long long test, that's seem mmc tune has a issue.
> 
>    2.630892] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd
> response 0x900, card status 0x0
> [    2.631006] mmcblk0: error -110 sending status command, retrying
> [    2.631018] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd
> response 0x900, card status 0x0
> [    2.631703]  mmcblk0: unable to read partition table
> ...

Could you try if what we do on Minnie fixes that error (disabling tuning for 
now) - i.e. adding the following to the Mickey dts:

&emmc {
	/delete-property/mmc-hs200-1_8v;
};


> Anyway, the dts is good to support mickey machine.
> I think the mmc tune is not prefect in mainline.

yeah, it seems we still have some issues.

Although it seems only the disney-mice seem affected ;-) [minnie and mickey]. 
Pinky, Brain, Speedy, Jaq all seem to work somehow - at least I haven't gotten 
any reports about that


Thanks
Heiko

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-03 10:44     ` Heiko Stübner
@ 2015-12-03 11:01       ` Caesar Wang
  2015-12-03 14:00         ` Heiko Stübner
  0 siblings, 1 reply; 11+ messages in thread
From: Caesar Wang @ 2015-12-03 11:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Heiko,

? 2015?12?03? 18:44, Heiko St?bner ??:
> Hi Caesar,
>
> Am Donnerstag, 3. Dezember 2015, 18:27:27 schrieb Caesar Wang:
>> ? 2015?12?02? 01:16, Heiko St?bner ??:
>>> From: Chris Zhong <zyw@rock-chips.com>
>>>
>>> Also known as the Asus Chromebit.
>>>
>>> Signed-off-by: Chris Zhong <zyw@rock-chips.com>
>>> Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
>> Tested-by: Caesar Wang <wxt@rock-chips.com>
> thanks :-)
>
>
>> Tested on my mickey board with chrome os on kernel 4.4 -rc3.
>>
>> localhost / # cat /proc/version
>> Linux version 4.4.0-rc3+ (wxt at ubuntu) (gcc version 4.6.x-google 20120106
>> (prerelease) (GCC) ) #59 SMP Thu Dec 3 17:32:10 CST 2015
>>
>> .....but,
>> reboot long long test, that's seem mmc tune has a issue.
>>
>>     2.630892] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd
>> response 0x900, card status 0x0
>> [    2.631006] mmcblk0: error -110 sending status command, retrying
>> [    2.631018] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd
>> response 0x900, card status 0x0
>> [    2.631703]  mmcblk0: unable to read partition table
>> ...
> Could you try if what we do on Minnie fixes that error (disabling tuning for
> now) - i.e. adding the following to the Mickey dts:
>
> &emmc {
> 	/delete-property/mmc-hs200-1_8v;
> };
>
>

Yep, maybe we remove this node firstly but someone fix the emmc tune issues.

>> Anyway, the dts is good to support mickey machine.
>> I think the mmc tune is not prefect in mainline.
> yeah, it seems we still have some issues.
>
> Although it seems only the disney-mice seem affected ;-) [minnie and mickey].
> Pinky, Brain, Speedy, Jaq all seem to work somehow - at least I haven't gotten
> any reports about that

Cc shawn,
Maybe,  Shawn at RK has the interesting in debuging this issue.:-)



>
> Thanks
> Heiko
>


-- 
caesar wang | software engineer | wxt at rock-chip.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board
  2015-12-03 11:01       ` Caesar Wang
@ 2015-12-03 14:00         ` Heiko Stübner
  0 siblings, 0 replies; 11+ messages in thread
From: Heiko Stübner @ 2015-12-03 14:00 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Caesar, Shawn,

Am Donnerstag, 3. Dezember 2015, 19:01:00 schrieb Caesar Wang:
> ? 2015?12?03? 18:44, Heiko St?bner ??:
> > Am Donnerstag, 3. Dezember 2015, 18:27:27 schrieb Caesar Wang:
> >> .....but,
> >> reboot long long test, that's seem mmc tune has a issue.
> >> 
> >>     2.630892] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd
> >> 
> >> response 0x900, card status 0x0
> >> [    2.631006] mmcblk0: error -110 sending status command, retrying
> >> [    2.631018] mmcblk0: error -84 transferring data, sector 1, nr 7, cmd
> >> response 0x900, card status 0x0
> >> [    2.631703]  mmcblk0: unable to read partition table
> >> ...
> > 
> > Could you try if what we do on Minnie fixes that error (disabling tuning
> > for now) - i.e. adding the following to the Mickey dts:
> > 
> > &emmc {
> > 
> > 	/delete-property/mmc-hs200-1_8v;
> > 
> > };
> 
> Yep, maybe we remove this node firstly but someone fix the emmc tune issues.

yep, that is definitly the plan. I've now also done more than a dozen reboot 
tests on my brain board including running hdparm-speedtests on the emmc there. 
Tuning and all reads did run without any hickups, so this really seems to be 
somehow limited.


> >> Anyway, the dts is good to support mickey machine.
> >> I think the mmc tune is not prefect in mainline.
> > 
> > yeah, it seems we still have some issues.
> > 
> > Although it seems only the disney-mice seem affected ;-) [minnie and
> > mickey]. Pinky, Brain, Speedy, Jaq all seem to work somehow - at least I
> > haven't gotten any reports about that
> 
> Cc shawn,
> Maybe,  Shawn at RK has the interesting in debuging this issue.:-)

Strangely on the ChromeOS kernel tuning on Minnie seems to work ok. I already 
checked the code somewhat and the core handling seems to be the same - like 
the phase clocks and the tuning algorithm.

The only slight difference is that mainline is using mmc_send_tuning() instead 
of building the packet by hand.

But at least on my Minnie the phases the emmc gets tuned to are always 
differing somehow: (mainline: 216-218, chromeos: 198-201) while on my jerry 
the variance is not as big (mainline 176, chromeos: 172).


Some more comparisons I did on Minnie:
sdmmc: phase 197 on both mainline and chromeos
wifi: around phase 214 on mainline and 204 on chromeos

So at least the sdmmc host seems pretty stable in its phase and the difference 
on wifi is smaller than with the emmc - not sure if that helps though :-)


I'll also try to look more into that issue, but would be glad to hear other 
bright ideas :-)


Thanks
Heiko

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron
  2015-12-01 17:14 [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner
  2015-12-01 17:16 ` [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board Heiko Stübner
  2015-12-01 17:16 ` [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board Heiko Stübner
@ 2015-12-03 15:43 ` Heiko Stübner
  2 siblings, 0 replies; 11+ messages in thread
From: Heiko Stübner @ 2015-12-03 15:43 UTC (permalink / raw)
  To: linux-arm-kernel

Am Dienstag, 1. Dezember 2015, 18:14:27 schrieb Heiko St?bner:

applied all three patches to my dts32 branch for 4.5, after disabling emmc 
tuning on mickey (in a similar fashion as on minnie) for the short term.

> The edp-24m clock has two possible sources: the 24MHz oscillator as well
> as an external 27MHz input. The power-on-default is the 27MHz clock which
> is not supplied on all Rockchip boards. While on all current boards and
> also all Veyron Chromebooks the bootloader seems to adapt the muxing to
> the internal source, this doesn't seem to be the case on headless veyron
> devices like brain and mickey making the edp-24m clock an orphan.
> On the hardware side the 27m input also is not connected at all.
> 
> With the upcoming deferral of orphan-clocks this results in the power-
> domain code deferring, as it cannot request the needed clock and if the
> synchronous reset is sucessfullat all in this case is also unknown.
> 
> So fix that by making sure, the edp-24m clock is muxed to the internal
> 24MHz oscillator at all times.
> 
> Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
> ---
> It seems I had some issues sending, sorry about the double-mails.
> 
>  arch/arm/boot/dts/rk3288-veyron.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi
> b/arch/arm/boot/dts/rk3288-veyron.dtsi index 5e61f07..9fce91f 100644
> --- a/arch/arm/boot/dts/rk3288-veyron.dtsi
> +++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
> @@ -340,6 +340,11 @@
>  	i2c-scl-rising-time-ns = <1000>;
>  };
> 
> +&power {
> +	assigned-clocks = <&cru SCLK_EDP_24M>;
> +	assigned-clock-parents = <&xin24m>;
> +};
> +
>  &pwm1 {
>  	status = "okay";
>  };

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-12-03 15:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-01 17:14 [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner
2015-12-01 17:16 ` [PATCH 2/3] ARM: dts: rockchip: add veyron-brain board Heiko Stübner
2015-12-02 18:26   ` Brian Norris
2015-12-01 17:16 ` [PATCH 3/3] ARM: dts: rockchip: add veyron-minnie board Heiko Stübner
2015-12-01 17:19   ` Heiko Stübner
2015-12-02 18:31   ` Brian Norris
2015-12-03 10:27   ` Caesar Wang
2015-12-03 10:44     ` Heiko Stübner
2015-12-03 11:01       ` Caesar Wang
2015-12-03 14:00         ` Heiko Stübner
2015-12-03 15:43 ` [PATCH 1/3] ARM: dts: rockchip: make sure edp_24m is associated to xin24m on veyron Heiko Stübner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).