ipq806x: fix pvs1_bin voltage in ipq8065 DT
[openwrt/openwrt.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8065.dtsi
index cae5fdc3b34fd9208cc4613310dbba585899c7d6..d4fbbe29f19ba63a35577885dc621b22e0d44634 100644 (file)
                        qcom,saw = <&saw0>;
                        clocks = <&kraitcc 0>, <&kraitcc 4>;
                        clock-names = "cpu", "l2";
-                       qcom,imem = <&imem>;
+                       qcom,imem = <&qfprom>;
                        clock-latency = <100000>;
                        cpu-supply = <&smb208_s2a>;
                        voltage-tolerance = <5>;
                        cooling-min-state = <0>;
                        cooling-max-state = <10>;
                        #cooling-cells = <2>;
+                       cpu-idle-states = <&CPU_SPC>;
                };
 
                cpu1: cpu@1 {
                        qcom,saw = <&saw1>;
                        clocks = <&kraitcc 1>, <&kraitcc 4>;
                        clock-names = "cpu", "l2";
-                       qcom,imem = <&imem>;
+                       qcom,imem = <&qfprom>;
                        clock-latency = <100000>;
                        cpu-supply = <&smb208_s2b>;
                        cooling-min-state = <0>;
                        cooling-max-state = <10>;
                        #cooling-cells = <2>;
+                       cpu-idle-states = <&CPU_SPC>;
                };
 
                L2: l2-cache {
                qcom,l2 {
                        qcom,l2-rates = <384000000 1000000000 1200000000>;
                };
+
+               idle-states {
+                       CPU_SPC: spc {
+                               compatible = "qcom,idle-state-spc",
+                                               "arm,idle-state";
+                               entry-latency-us = <400>;
+                               exit-latency-us = <900>;
+                               min-residency-us = <3000>;
+                       };
+               };
+       };
+
+       thermal-zones {
+               cpu-thermal0 {
+                       polling-delay-passive = <250>;
+                       polling-delay = <1000>;
+
+                       thermal-sensors = <&gcc 5>;
+                       coefficients = <1132 0>;
+
+                       trips {
+                               cpu_alert0: trip0 {
+                                       temperature = <75000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               cpu_crit0: trip1 {
+                                       temperature = <110000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-thermal1 {
+                       polling-delay-passive = <250>;
+                       polling-delay = <1000>;
+
+                       thermal-sensors = <&gcc 6>;
+                       coefficients = <1132 0>;
+
+                       trips {
+                               cpu_alert1: trip0 {
+                                       temperature = <75000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               cpu_crit1: trip1 {
+                                       temperature = <110000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-thermal2 {
+                       polling-delay-passive = <250>;
+                       polling-delay = <1000>;
+
+                       thermal-sensors = <&gcc 7>;
+                       coefficients = <1199 0>;
+
+                       trips {
+                               cpu_alert2: trip0 {
+                                       temperature = <75000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               cpu_crit2: trip1 {
+                                       temperature = <110000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               cpu-thermal3 {
+                       polling-delay-passive = <250>;
+                       polling-delay = <1000>;
+
+                       thermal-sensors = <&gcc 8>;
+                       coefficients = <1132 0>;
+
+                       trips {
+                               cpu_alert3: trip0 {
+                                       temperature = <75000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               cpu_crit3: trip1 {
+                                       temperature = <110000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+               };
        };
 
        cpu-pmu {
        };
 
        clocks {
+
+               cxo_board {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <25000000>;
+               };
+
+               pxo_board {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <25000000>;
+               };
+
                sleep_clk: sleep_clk {
                        compatible = "fixed-clock";
                        clock-frequency = <32768>;
                         < 600000000 1000000 >,
                         < 384000000 975000 >;
                qcom,speed0-pvs1-bin-v0 =
-                       < 1725000000 1262500 >,
-                       < 1400000000 1175000 >,
-                       < 1000000000 1100000 >,
-                        < 800000000 1050000 >,
-                        < 600000000 1000000 >,
+                       < 1725000000 1225000 >,
+                       < 1400000000 1150000 >,
+                       < 1000000000 1075000 >,
+                        < 800000000 1025000 >,
+                        < 600000000 975000 >,
                         < 384000000 950000 >;
                qcom,speed0-pvs2-bin-v0 =
                        < 1725000000 1200000 >,
                        reg-names = "lpass-lpaif";
                };
 
-               imem: memory@700000 {
+               qfprom: qfprom@700000 {
                        compatible = "qcom,qfprom", "syscon";
                        reg = <0x00700000 0x1000>;
                        #address-cells = <1>;
                        #size-cells = <1>;
-                       stride = <1>;
-                       ranges = <0x0 0x00700000 0x1000>;
+                       ranges;
+
+                       tsens_calib: calib {
+                               reg = <0x400 0x10>;
+                       };
+                       tsens_backup: backup_calib {
+                               reg = <0x410 0x10>;
+                       };
                };
 
                rpm@108000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
 
+                       clocks = <&gcc RPM_MSG_RAM_H_CLK>;
+                       clock-names = "ram";
+
+                       rpmcc: clock-controller {
+                               compatible      = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
+                               #clock-cells = <1>;
+                       };
+
                        smb208_regulators {
                                compatible = "qcom,rpm-smb208-regulators";
 
                                };
 
                                smb208_s2a: s2a {
-                                       regulator-min-microvolt = < 800000>;
+                                       regulator-min-microvolt = <775000>;
                                        regulator-max-microvolt = <1275000>;
                                        qcom,switch-mode-frequency = <1200000>;
                                };
 
                                smb208_s2b: s2b {
-                                       regulator-min-microvolt = < 800000>;
+                                       regulator-min-microvolt = <775000>;
                                        regulator-max-microvolt = <1275000>;
                                        qcom,switch-mode-frequency = <1200000>;
                                };
                                mux {
                                        pins = "gpio3";
                                        function = "pcie1_rst";
-                                       drive-strength = <12>;
+                                       drive-strength = <2>;
                                        bias-disable;
                                };
                        };
                                mux {
                                        pins = "gpio48";
                                        function = "pcie2_rst";
-                                       drive-strength = <12>;
+                                       drive-strength = <2>;
                                        bias-disable;
                                };
                        };
                                mux {
                                        pins = "gpio63";
                                        function = "pcie3_rst";
-                                       drive-strength = <12>;
+                                       drive-strength = <2>;
                                        bias-disable;
+                                       output-low;
                                };
                        };
                };
                gcc: clock-controller@900000 {
                        compatible = "qcom,gcc-ipq8064";
                        reg = <0x00900000 0x4000>;
+                       nvmem-cells = <&tsens_calib>, <&tsens_backup>;
+                       nvmem-cell-names = "calib", "calib_backup";
                        #clock-cells = <1>;
                        #reset-cells = <1>;
                        #power-domain-cells = <1>;
+                       #thermal-sensor-cells = <1>;
                };
 
                lcc: clock-controller@28000000 {
                        reg = <0x1a400000 0x100>;
                };
 
-               tsens: tsens-ipq806x {
-                       compatible = "qcom,ipq806x-tsens";
-                       reg = <0x900000 0x3678>, <0x700000 0x420>;
-                       reg-names = "tsens_physical", "tsens_eeprom_physical";
-                       interrupts = <0 178 0>;
-                       qcom,sensors = <11>;
-                       qcom,tsens_factor = <1000>;
-                       qcom,slope = <1176 1176 1154 1176 1111 1132 1132 1199 1132 1199 1132>;
-               };
-
                qcom,msm-thermal {
                        compatible = "qcom,msm-thermal";
                        qcom,sensor-id = <0>;
                                interrupts = <0 110 0x4>;
                                phys = <&hs_phy_0>, <&ss_phy_0>;
                                phy-names = "usb2-phy", "usb3-phy";
-                               tx-fifo-resize;
                                dr_mode = "host";
                        };
                };
                                interrupts = <0 205 0x4>;
                                phys = <&hs_phy_1>, <&ss_phy_1>;
                                phy-names = "usb2-phy", "usb3-phy";
-                               tx-fifo-resize;
                                dr_mode = "host";
                        };
                };
                        pinctrl-0 = <&pcie0_pins>;
                        pinctrl-names = "default";
 
-                       perst-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
+                       perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
 
                        status = "disabled";
                };
                        pinctrl-0 = <&pcie1_pins>;
                        pinctrl-names = "default";
 
-                       perst-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
+                       perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
 
                        status = "disabled";
                };
                        pinctrl-0 = <&pcie2_pins>;
                        pinctrl-names = "default";
 
-                       perst-gpio = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
+                       perst-gpios = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
 
                        status = "disabled";
                };