Jingbiao Lu | dc9d878 | 2018-01-31 16:35:04 +0800 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2018, The Linux Foundation. All rights reserved. |
| 3 | * |
| 4 | * This program is free software; you can redistribute it and/or modify |
| 5 | * it under the terms of the GNU General Public License version 2 and |
| 6 | * only version 2 as published by the Free Software Foundation. |
| 7 | * |
| 8 | * This program is distributed in the hope that it will be useful, |
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | * GNU General Public License for more details. |
| 12 | */ |
| 13 | |
| 14 | #include "msm8937.dtsi" |
| 15 | #include "sdm439-pm8953.dtsi" |
Vaishnavi Kommaraju | 6e3a36d | 2018-03-12 11:20:20 +0530 | [diff] [blame^] | 16 | #include "sdm439-audio.dtsi" |
Jingbiao Lu | dc9d878 | 2018-01-31 16:35:04 +0800 | [diff] [blame] | 17 | #include "sdm439-pmi632.dtsi" |
| 18 | |
| 19 | &soc { |
| 20 | mem_acc_vreg_corner: regulator@01946004 { |
| 21 | compatible = "qcom,mem-acc-regulator"; |
| 22 | regulator-name = "mem_acc_corner"; |
| 23 | regulator-min-microvolt = <1>; |
| 24 | regulator-max-microvolt = <3>; |
| 25 | |
| 26 | qcom,acc-reg-addr-list = |
| 27 | <0x01942138 0x01942130 0x01942120 |
| 28 | 0x01942124 0x01946000 0x01946004>; |
| 29 | |
| 30 | qcom,acc-init-reg-config = <1 0xff>, <2 0x5555>, <6 0x55>; |
| 31 | |
| 32 | qcom,num-acc-corners = <3>; |
| 33 | qcom,boot-acc-corner = <2>; |
| 34 | qcom,corner1-reg-config = |
| 35 | /* SVS+ => SVS+ */ |
| 36 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>, |
| 37 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>, |
| 38 | /* SVS+ => NOM */ |
| 39 | < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>, |
| 40 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>, |
| 41 | /* SVS+ => TURBO/NOM+ */ |
| 42 | < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>, |
| 43 | < 3 0x0>, < 4 0x0>, < 5 0x0>; |
| 44 | |
| 45 | qcom,corner2-reg-config = |
| 46 | /* NOM => SVS+ */ |
| 47 | < 3 0x30c30c3>, < 4 0x30c3>, < 5 0x6060606>, |
| 48 | /* NOM => NOM */ |
| 49 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>, |
| 50 | /* NOM => TURBO/NOM+ */ |
| 51 | < 3 0x0>, < 4 0x0>, < 5 0x0>; |
| 52 | |
| 53 | qcom,corner3-reg-config = |
| 54 | /* TURBO/NOM+ => SVS+ */ |
| 55 | < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>, |
| 56 | < 3 0x30c30c3>, < 4 0x30c3>, < 5 0x6060606>, |
| 57 | /* TURBO/NOM+ => NOM */ |
| 58 | < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>, |
| 59 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>, |
| 60 | /* TURBO/NOM+ => TURBO/NOM+ */ |
| 61 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>, |
| 62 | <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>; |
| 63 | }; |
| 64 | |
| 65 | apc_vreg_corner: regulator@b018000 { |
| 66 | compatible = "qcom,cpr-regulator"; |
| 67 | reg = <0xb018000 0x1000>, <0xb011064 4>, <0xa4000 0x1000>; |
| 68 | reg-names = "rbcpr", "rbcpr_clk", "efuse_addr"; |
| 69 | interrupts = <0 15 0>; |
| 70 | regulator-name = "apc_corner"; |
| 71 | regulator-min-microvolt = <1>; |
| 72 | regulator-max-microvolt = <7>; |
| 73 | |
| 74 | qcom,cpr-fuse-corners = <3>; |
| 75 | qcom,cpr-voltage-ceiling = <1155000 1225000 1350000>; |
| 76 | qcom,cpr-voltage-floor = <1050000 1050000 1090000>; |
| 77 | vdd-apc-supply = <&pm8953_s5>; |
| 78 | |
| 79 | mem-acc-supply = <&mem_acc_vreg_corner>; |
| 80 | |
| 81 | qcom,cpr-ref-clk = <19200>; |
| 82 | qcom,cpr-timer-delay = <5000>; |
| 83 | qcom,cpr-timer-cons-up = <0>; |
| 84 | qcom,cpr-timer-cons-down = <2>; |
| 85 | qcom,cpr-irq-line = <0>; |
| 86 | qcom,cpr-step-quotient = <10>; |
| 87 | qcom,cpr-up-threshold = <2>; |
| 88 | qcom,cpr-down-threshold = <4>; |
| 89 | qcom,cpr-idle-clocks = <15>; |
| 90 | qcom,cpr-gcnt-time = <1>; |
| 91 | qcom,vdd-apc-step-up-limit = <1>; |
| 92 | qcom,vdd-apc-step-down-limit = <1>; |
| 93 | qcom,cpr-apc-volt-step = <5000>; |
| 94 | |
| 95 | qcom,cpr-fuse-row = <67 0>; |
| 96 | qcom,cpr-fuse-target-quot = <42 24 6>; |
| 97 | qcom,cpr-fuse-ro-sel = <60 57 54>; |
| 98 | qcom,cpr-init-voltage-ref = <1155000 1225000 1350000>; |
| 99 | qcom,cpr-fuse-init-voltage = |
| 100 | <67 36 6 0>, |
| 101 | <67 18 6 0>, |
| 102 | <67 0 6 0>; |
| 103 | qcom,cpr-fuse-quot-offset = |
| 104 | <71 26 6 0>, |
| 105 | <71 20 6 0>, |
| 106 | <70 54 7 0>; |
| 107 | qcom,cpr-fuse-quot-offset-scale = <5 5 5>; |
| 108 | qcom,cpr-init-voltage-step = <10000>; |
| 109 | qcom,cpr-corner-map = <1 2 3 3 3 3 3>; |
| 110 | qcom,cpr-corner-frequency-map = |
| 111 | <1 960000000>, |
| 112 | <2 1094400000>, |
| 113 | <3 1209600000>, |
| 114 | <4 1248000000>, |
| 115 | <5 1344000000>, |
| 116 | <6 1401000000>, |
| 117 | <7 1497600000>; |
| 118 | qcom,speed-bin-fuse-sel = <37 34 3 0>; |
| 119 | qcom,cpr-speed-bin-max-corners = |
| 120 | <0 0 1 2 6>, |
| 121 | <1 0 1 2 7>, |
| 122 | <2 0 1 2 3>; |
| 123 | qcom,cpr-fuse-revision = <69 39 3 0>; |
| 124 | qcom,cpr-quot-adjust-scaling-factor-max = <0 1400 1400>; |
| 125 | qcom,cpr-voltage-scaling-factor-max = <0 2000 2000>; |
| 126 | qcom,cpr-scaled-init-voltage-as-ceiling; |
| 127 | qcom,cpr-fuse-version-map = |
| 128 | <0 (-1) 1 (-1) (-1) (-1)>, |
| 129 | <(-1) (-1) 2 (-1) (-1) (-1)>, |
| 130 | <(-1) (-1) 3 (-1) (-1) (-1)>, |
| 131 | <(-1) (-1) (-1) (-1) (-1) (-1)>; |
| 132 | qcom,cpr-quotient-adjustment = |
| 133 | <(-20) (-40) (-20)>, |
| 134 | <0 (-40) (20)>, |
| 135 | <0 0 (20)>, |
| 136 | <0 0 0>; |
| 137 | qcom,cpr-init-voltage-adjustment = |
| 138 | <0 0 0>, |
| 139 | <(10000) (15000) (20000)>, |
| 140 | <0 0 0>, |
| 141 | <0 0 0>; |
| 142 | qcom,cpr-enable; |
| 143 | }; |
| 144 | }; |