Merge tag 'mips_5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
[linux-2.6-microblaze.git] / arch / arm / boot / dts / tegra20-acer-a500-picasso.dts
index 1976c38..2280d75 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /dts-v1/;
 
+#include <dt-bindings/input/atmel-maxtouch.h>
 #include <dt-bindings/input/gpio-keys.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/thermal/thermal.h>
                        vdda-supply = <&vdd_3v3_sys>;
                        vdd-supply  = <&vdd_3v3_sys>;
 
-                       atmel,wakeup-method = <1>;
+                       atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
                };
 
                gyroscope@68 {
                                        interrupt-parent = <&gpio>;
                                        interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>;
 
+                                       vdd-supply   = <&vdd_1v8_sys>;
+                                       vddio-supply = <&vdd_1v8_sys>;
+
                                        mount-matrix =   "0",  "1",  "0",
                                                         "1",  "0",  "0",
                                                         "0",  "0", "-1";
                        compatible = "onnn,nct1008";
                        reg = <0x4c>;
                        vcc-supply = <&vdd_3v3_sys>;
+
+                       interrupt-parent = <&gpio>;
+                       interrupts = <TEGRA_GPIO(N, 6) IRQ_TYPE_EDGE_FALLING>;
+
                        #thermal-sensor-cells = <1>;
                };
        };
                nvidia,xcvr-setup-use-fuses;
                nvidia,xcvr-lsfslew = <2>;
                nvidia,xcvr-lsrslew = <2>;
-               vbus-supply = <&vdd_vbus1>;
        };
 
        usb@c5008000 {
                nvidia,xcvr-setup-use-fuses;
                nvidia,xcvr-lsfslew = <2>;
                nvidia,xcvr-lsrslew = <2>;
-               vbus-supply = <&vdd_vbus3>;
+               vbus-supply = <&vdd_5v0_sys>;
        };
 
        brcm_wifi_pwrseq: wifi-pwrseq {
                vin-supply = <&vdd_5v0_sys>;
        };
 
-       vdd_vbus1: regulator@4 {
-               compatible = "regulator-fixed";
-               regulator-name = "vdd_usb1_vbus";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               regulator-always-on;
-               gpio = <&gpio TEGRA_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
-               enable-active-high;
-               vin-supply = <&vdd_5v0_sys>;
-       };
-
-       vdd_vbus3: regulator@5 {
-               compatible = "regulator-fixed";
-               regulator-name = "vdd_usb3_vbus";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               regulator-always-on;
-               gpio = <&gpio TEGRA_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
-               enable-active-high;
-               vin-supply = <&vdd_5v0_sys>;
-       };
-
        sound {
                compatible = "nvidia,tegra-audio-wm8903-picasso",
                             "nvidia,tegra-audio-wm8903";
        };
 
        thermal-zones {
+               /*
+                * NCT1008 has two sensors:
+                *
+                *      0: internal that monitors ambient/skin temperature
+                *      1: external that is connected to the CPU's diode
+                *
+                * Ideally we should use userspace thermal governor,
+                * but it's a much more complex solution.  The "skin"
+                * zone is a simpler solution which prevents A500 from
+                * getting too hot from a user's tactile perspective.
+                * The CPU zone is intended to protect silicon from damage.
+                */
+
                skin-thermal {
                        polling-delay-passive = <1000>; /* milliseconds */
-                       polling-delay = <0>; /* milliseconds */
+                       polling-delay = <5000>; /* milliseconds */
 
                        thermal-sensors = <&nct1008 0>;
+
+                       trips {
+                               trip0: skin-alert {
+                                       /* start throttling at 60C */
+                                       temperature = <60000>;
+                                       hysteresis = <200>;
+                                       type = "passive";
+                               };
+
+                               trip1: skin-crit {
+                                       /* shut down at 70C */
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&trip0>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                cpu-thermal {
                        thermal-sensors = <&nct1008 1>;
 
                        trips {
-                               trip0: cpu-alert0 {
-                                       /* start throttling at 60C */
-                                       temperature = <60000>;
+                               trip2: cpu-alert {
+                                       /* throttle at 85C until temperature drops to 84.8C */
+                                       temperature = <85000>;
                                        hysteresis = <200>;
                                        type = "passive";
                                };
 
-                               trip1: cpu-crit {
-                                       /* shut down at 70C */
-                                       temperature = <70000>;
+                               trip3: cpu-crit {
+                                       /* shut down at 90C */
+                                       temperature = <90000>;
                                        hysteresis = <2000>;
                                        type = "critical";
                                };
                        };
 
                        cooling-maps {
-                               map0 {
-                                       trip = <&trip0>;
+                               map1 {
+                                       trip = <&trip2>;
                                        cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
                                                         <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
                                };