X-Git-Url: http://plrg.eecs.uci.edu/git/?p=firefly-linux-kernel-4.4.55.git;a=blobdiff_plain;f=arch%2Farm64%2Fboot%2Fdts%2Frockchip%2Frk3399-mid-818-android.dts;h=860617aed84eae65f4e50686f3f6434df0867dbf;hp=eefd8fd5df084c7e972a1c903957ab482cb1af7e;hb=fd415d5e07d367343c470d4a6c55e037c753a676;hpb=05b51628345e3af46f36994bd513a0ffeef5de82 diff --git a/arch/arm64/boot/dts/rockchip/rk3399-mid-818-android.dts b/arch/arm64/boot/dts/rockchip/rk3399-mid-818-android.dts index eefd8fd5df08..860617aed84e 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-mid-818-android.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-mid-818-android.dts @@ -44,11 +44,35 @@ #include "rk3399.dtsi" #include "rk3399-android.dtsi" +#include "rk3399-opp.dtsi" #include +#include / { compatible = "rockchip,rk3399-mid", "rockchip,rk3399"; + edp_panel: edp-panel { + compatible = "lg,lp079qx1-sp0v", "panel-simple"; + bus-format = ; + backlight = <&backlight>; + power-supply = <&vcc3v3_s0>; + enable-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; + ports { + panel_in_edp: endpoint { + remote-endpoint = <&edp_out_panel>; + }; + }; + }; + + hall_sensor: hall-mh248 { + compatible = "hall-mh248"; + pinctrl-names = "default"; + pinctrl-0 = <&mh248_irq_gpio>; + irq-gpio = <&gpio1 2 IRQ_TYPE_EDGE_BOTH>; + hall-active = <1>; + status = "okay"; + }; + vcc_sys: vcc-sys { compatible = "regulator-fixed"; regulator-name = "vcc_sys"; @@ -74,11 +98,12 @@ pinctrl-names = "default"; pinctrl-0 = <&host_vbus_drv>; regulator-name = "vcc5v0_host"; + regulator-always-on; }; vdd_log: vdd-log { compatible = "pwm-regulator"; - pwms = <&pwm2 0 25000 0>; + pwms = <&pwm2 0 25000 1>; rockchip,pwm_id= <2>; rockchip,pwm_voltage = <900000>; regulator-name = "vdd_log"; @@ -92,28 +117,28 @@ compatible = "pwm-backlight"; pwms = <&pwm0 0 25000 0>; brightness-levels = < - 255 254 253 252 251 250 249 248 247 246 245 244 - 243 242 241 240 239 238 237 236 235 234 233 232 - 231 230 229 228 227 226 225 224 223 222 221 220 - 219 218 217 216 215 214 213 212 211 210 209 208 - 207 206 205 204 203 202 201 200 199 198 197 196 - 195 194 193 192 191 190 189 188 187 186 185 184 - 183 182 181 180 179 178 177 176 175 174 173 172 - 171 170 169 168 167 166 165 164 163 162 161 160 - 159 158 157 156 155 154 153 152 151 150 149 148 - 147 146 145 144 143 142 141 140 139 138 137 136 - 135 134 133 132 131 130 129 128 127 126 125 124 - 123 122 121 120 119 118 117 116 115 114 113 112 - 111 110 109 108 107 106 105 104 103 102 101 100 - 99 98 97 96 95 94 93 92 91 90 89 88 - 87 86 85 84 83 82 81 80 79 78 77 76 - 75 74 73 72 71 70 69 68 67 66 65 64 - 63 62 61 60 59 58 57 56 55 54 53 52 - 51 50 49 48 47 46 45 44 43 42 41 40 - 39 38 37 36 35 34 33 32 31 30 29 28 - 27 26 25 24 23 22 21 20 19 18 17 16 - 15 14 13 12 11 10 9 8 7 6 5 4 - 3 2 1 0>; + 255 200 199 198 197 197 196 195 194 193 193 192 + 191 190 189 189 188 187 186 185 185 184 183 182 + 181 181 180 179 178 177 177 176 175 174 173 173 + 172 171 170 169 169 168 167 166 165 165 164 163 + 162 161 161 160 159 158 157 157 156 155 154 153 + 153 152 151 150 149 149 148 147 146 145 145 144 + 143 142 141 141 140 139 138 137 137 136 135 134 + 133 133 132 131 130 129 129 128 127 126 125 125 + 124 123 122 121 121 120 119 118 117 117 116 115 + 114 113 113 112 111 110 109 109 108 107 106 105 + 105 104 103 102 101 101 100 99 98 97 97 96 + 95 94 93 93 92 91 90 89 89 88 87 86 + 85 85 84 83 82 81 81 80 79 78 77 77 + 76 75 74 73 73 72 71 70 69 69 68 67 + 66 65 65 64 63 62 61 61 60 59 58 57 + 57 56 55 54 53 53 52 51 50 49 49 48 + 47 46 45 45 44 43 42 41 41 40 39 38 + 37 37 36 35 34 33 33 32 31 30 29 29 + 28 27 26 25 25 24 23 22 21 21 20 19 + 18 17 17 16 15 14 13 13 12 11 10 9 + 9 8 7 6 5 5 4 3 2 1 1 0 + 0 0 0 0>; default-brightness-level = <200>; enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; }; @@ -125,23 +150,6 @@ regulator-boot-on; }; - io-domains { - compatible = "rockchip,rk3399-io-voltage-domain"; - rockchip,grf = <&grf>; - - bt656-supply = <&vcc1v8_dvp>; - audio-supply = <&vcca1v8_codec>; - sdmmc-supply = <&vcc_sd>; - gpio1830-supply = <&vcc_3v0>; - }; - - pmu-io-domains { - compatible = "rockchip,rk3399-pmu-io-voltage-domain"; - rockchip,grf = <&pmugrf>; - - pmu1830-supply = <&vcc_1v8>; - }; - es8316-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; @@ -206,6 +214,8 @@ wireless-bluetooth { compatible = "bluetooth-platdata"; + clocks = <&rk818 1>; + clock-names = "ext_clock"; //wifi-bt-power-toggle; uart_rts_gpios = <&gpio2 19 GPIO_ACTIVE_LOW>; /* GPIO2_C3 */ pinctrl-names = "default", "rts_gpio"; @@ -217,6 +227,76 @@ BT,wake_host_irq = <&gpio0 4 GPIO_ACTIVE_HIGH>; /* GPIO0_A4 */ status = "okay"; }; + + uboot-charge { + compatible = "rockchip,uboot-charge"; + rockchip,uboot-charge-on = <0>; + rockchip,android-charge-on = <1>; + }; + + vibrator { + compatible = "rk-vibrator-gpio"; + vibrator-gpio = <&gpio4 30 GPIO_ACTIVE_LOW>; + status = "okay"; + }; + + rk_headset { + compatible = "rockchip_headset"; + headset_gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&hp_det>; + io-channels = <&saradc 2>; + }; +}; + +&rk_key { + compatible = "rockchip,key"; + status = "okay"; + + io-channels = <&saradc 1>; + + vol-up-key { + linux,code = <114>; + label = "volume up"; + rockchip,adc_value = <1>; + }; + + vol-down-key { + linux,code = <115>; + label = "volume down"; + rockchip,adc_value = <170>; + }; + + power-key { + gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; + linux,code = <116>; + label = "power"; + gpio-key,wakeup; + }; + + menu-key { + linux,code = <59>; + label = "menu"; + rockchip,adc_value = <746>; + }; + + home-key { + linux,code = <102>; + label = "home"; + rockchip,adc_value = <355>; + }; + + back-key { + linux,code = <158>; + label = "back"; + rockchip,adc_value = <560>; + }; + + camera-key { + linux,code = <212>; + label = "camera"; + rockchip,adc_value = <450>; + }; }; &sdmmc { @@ -228,7 +308,7 @@ cap-sd-highspeed; disable-wp; num-slots = <1>; - sd-uhs-sdr104; + //sd-uhs-sdr104; vqmmc-supply = <&vcc_sd>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; @@ -254,9 +334,6 @@ }; &emmc_phy { - freq-sel = <200000000>; - dr-sel = <50>; - opdelay = <4>; status = "okay"; }; @@ -265,6 +342,7 @@ mmc-hs400-1_8v; supports-emmc; non-removable; + keep-power-in-suspend; mmc-hs400-enhanced-strobe; status = "okay"; }; @@ -292,28 +370,22 @@ i2c-scl-falling-time-ns = <30>; clock-frequency = <400000>; - xz3216: dcdc@60 { - compatible = "xz3216"; - reg = <0x60>; - status = "okay"; - regulators { - #address-cells = <1>; - #size-cells = <0>; - vdd_cpu_b: regulator@0 { - reg = <0>; - vin-supply = <&vcc_sys>; - regulator-compatible = "xz_dcdc1"; - regulator-name = "vdd_cpu_b"; - regulator-min-microvolt = <712500>; - regulator-max-microvolt = <1500000>; - regulator-ramp-delay = <1000>; - fcs,suspend-voltage-selector = <1>; - regulator-always-on; - regulator-boot-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; + vdd_cpu_b: syr837@40 { + compatible = "silergy,syr827"; + reg = <0x40>; + vin-supply = <&vcc_sys>; + regulator-compatible = "fan53555-reg"; + pinctrl-0 = <&vsel1_gpio>; + vsel-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; + regulator-name = "vdd_cpu_b"; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1500000>; + regulator-ramp-delay = <1000>; + fcs,suspend-voltage-selector = <1>; + regulator-always-on; + regulator-initial-state = <3>; + regulator-state-mem { + regulator-off-in-suspend; }; }; @@ -323,12 +395,13 @@ reg = <0x41>; vin-supply = <&vcc_sys>; regulator-compatible = "fan53555-reg"; + pinctrl-0 = <&vsel2_gpio>; + vsel-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; regulator-name = "vdd_gpu"; regulator-min-microvolt = <735000>; regulator-max-microvolt = <1400000>; regulator-ramp-delay = <1000>; fcs,suspend-voltage-selector = <1>; - regulator-always-on; regulator-boot-on; regulator-state-mem { regulator-off-in-suspend; @@ -347,6 +420,7 @@ rockchip,system-power-controller; rk818,support_dc_chg = <1>;/*1: dc chg; 0:usb chg*/ wakeup-source; + extcon = <&fusb0>; #clock-cells = <1>; vcc1-supply = <&vcc_sys>; @@ -379,8 +453,7 @@ regulator-max-microvolt = <1350000>; regulator-ramp-delay = <6001>; regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <1000000>; + regulator-off-in-suspend; }; }; @@ -457,7 +530,8 @@ regulator-max-microvolt = <3000000>; regulator-name = "vcc_3v0"; regulator-state-mem { - regulator-off-in-suspend; + regulator-on-in-suspend; + regulator-suspend-microvolt = <3000000>; }; }; @@ -468,7 +542,8 @@ regulator-max-microvolt = <1500000>; regulator-name = "vcc_1v5"; regulator-state-mem { - regulator-off-in-suspend; + regulator-on-in-suspend; + regulator-suspend-microvolt = <1500000>; }; }; @@ -490,20 +565,19 @@ regulator-max-microvolt = <3300000>; regulator-name = "vcc3v3_s3"; regulator-state-mem { - regulator-on-in-suspend; - regulator-suspend-microvolt = <3300000>; + regulator-off-in-suspend; }; }; vcc_sd: LDO_REG9 { regulator-always-on; regulator-boot-on; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; regulator-name = "vcc_sd"; regulator-state-mem { regulator-on-in-suspend; - regulator-suspend-microvolt = <3000000>; + regulator-suspend-microvolt = <3300000>; }; }; @@ -515,29 +589,42 @@ regulator-on-in-suspend; }; }; + + boost_otg: DCDC_BOOST { + regulator-name = "boost_otg"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <5000000>; + }; + }; }; battery { + compatible = "rk818-battery"; ocv_table = <3400 3675 3689 3716 3740 3756 3768 3780 3793 3807 3827 3853 3896 3937 3974 4007 4066 4110 4161 4217 4308>; design_capacity = <7916>; design_qmax = <8708>; - bat_res = <100>; + bat_res = <65>; max_input_current = <3000>; - max_chrg_current = <4500>; + max_chrg_current = <3000>; max_chrg_voltage = <4350>; sleep_enter_current = <300>; sleep_exit_current = <300>; power_off_thresd = <3400>; zero_algorithm_vol = <3950>; - fb_temperature = <115>; + fb_temperature = <105>; + sample_res = <20>; max_soc_offset = <60>; energy_mode = <0>; monitor_sec = <5>; virtual_power = <0>; power_dc2otg = <0>; - dc_det_adc = <0>; }; }; }; @@ -550,13 +637,10 @@ es8316: es8316@10 { #sound-dai-cells = <0>; compatible = "everest,es8316"; - reg = <0x10>; - pinctrl-names = "default"; - pinctrl-0 = <&hp_det>; + reg = <0x11>; clocks = <&cru SCLK_I2S_8CH_OUT>; clock-names = "mclk"; spk-con-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>; - hp-det-gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>; }; }; @@ -566,8 +650,35 @@ i2c-scl-falling-time-ns = <11>; clock-frequency = <400000>; - mpu6500@68 { + lsm330_accel@1e { + status = "okay"; + compatible = "lsm330_acc"; + pinctrl-names = "default"; + pinctrl-0 = <&lsm330a_irq_gpio>; + reg = <0x1e>; + irq-gpio = <&gpio2 27 IRQ_TYPE_EDGE_RISING>; + type = ; + irq_enable = <1>; + poll_delay_ms = <30>; + power-off-in-suspend = <1>; + layout = <4>; + }; + + lsm330_gyro@6a { status = "okay"; + compatible = "lsm330_gyro"; + pinctrl-names = "default"; + pinctrl-0 = <&lsm330g_irq_gpio>; + reg = <0x6a>; + irq-gpio = <&gpio1 20 IRQ_TYPE_EDGE_RISING>; + type = ; + irq_enable = <0>; + power-off-in-suspend = <1>; + poll_delay_ms = <30>; + }; + + mpu6500@68 { + status = "disabled"; compatible = "invensense,mpu6500"; pinctrl-names = "default"; pinctrl-0 = <&mpu6500_irq_gpio>; @@ -579,6 +690,7 @@ orientation-x= <1>; orientation-y= <1>; orientation-z= <0>; + support-hw-poweroff = <1>; mpu-debug = <1>; }; @@ -595,17 +707,26 @@ layout = <3>; }; - sensor@20 { - status = "disabled"; + sensor@10 { + status = "okay"; compatible = "capella,light_cm3218"; pinctrl-names = "default"; pinctrl-0 = <&cm3218_irq_gpio>; - reg = <0x20>; + reg = <0x10>; type = ; - irq-gpio = <&gpio4 24 IRQ_TYPE_EDGE_RISING>; + irq-gpio = <&gpio4 24 IRQ_TYPE_EDGE_FALLING>; irq_enable = <1>; poll_delay_ms = <30>; }; + + fusb0: fusb30x@22 { + compatible = "fairchild,fusb302"; + reg = <0x22>; + pinctrl-names = "default"; + pinctrl-0 = <&fusb0_int>; + int-n-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; }; &i2c5 { @@ -626,6 +747,15 @@ }; }; +&io_domains { + status = "okay"; + + bt656-supply = <&vcc1v8_dvp>; + audio-supply = <&vcca1v8_codec>; + sdmmc-supply = <&vcc_sd>; + gpio1830-supply = <&vcc_3v0>; +}; + &isp0 { status = "okay"; }; @@ -634,6 +764,14 @@ status = "okay"; }; +&isp0_mmu { + status = "okay"; +}; + +&isp1_mmu { + status = "okay"; +}; + &cpu_l0 { cpu-supply = <&vdd_cpu_l>; }; @@ -663,10 +801,6 @@ mali-supply = <&vdd_gpu>; }; -&rga { - status = "okay"; -}; - &spi1 { status = "disabled"; max-freq = <50000000>; @@ -686,20 +820,31 @@ orientation-x= <1>; orientation-y= <0>; orientation-z= <1>; + support-hw-poweroff = <1>; mpu-debug = <1>; }; }; +&tcphy0 { + extcon = <&fusb0>; + status = "okay"; +}; + &tsadc { rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ status = "okay"; }; -&u2phy1 { +&u2phy0 { status = "okay"; + extcon = <&fusb0>; - u2phy1_host: host-port { + u2phy0_otg: otg-port { + status = "okay"; + }; + + u2phy0_host: host-port { phy-supply = <&vcc5v0_host>; status = "okay"; }; @@ -723,15 +868,8 @@ status = "okay"; }; -&usb_host1_ehci { - status = "okay"; -}; - -&usb_host1_ohci { - status = "okay"; -}; - &usbdrd3_0 { + extcon = <&fusb0>; status = "okay"; }; @@ -739,14 +877,6 @@ status = "okay"; }; -&usbdrd3_1 { - status = "okay"; -}; - -&usbdrd_dwc3_1 { - status = "okay"; -}; - &pwm0 { status = "okay"; }; @@ -759,6 +889,35 @@ status = "okay"; }; +&rockchip_suspend { + status = "okay"; + rockchip,sleep-debug-en = <1>; + rockchip,sleep-mode-config = < + (0 + | RKPM_SLP_ARMPD + | RKPM_SLP_PERILPPD + | RKPM_SLP_DDR_RET + | RKPM_SLP_PLLPD + | RKPM_SLP_CENTER_PD + | RKPM_SLP_OSC_DIS + | RKPM_SLP_AP_PWROFF + ) + >; + rockchip,wakeup-config = < + (0 + | RKPM_GPIO_WKUP_EN + ) + >; + rockchip,pwm-regulator-config = < + (0 + | PWM2_REGULATOR_EN + ) + >; + rockchip,power-ctrl = + <&gpio1 17 GPIO_ACTIVE_HIGH>, + <&gpio1 14 GPIO_ACTIVE_HIGH>; +}; + &pinctrl { sdio-pwrseq { wifi_enable_h: wifi-enable-h { @@ -782,6 +941,20 @@ rockchip,pins = <1 18 RK_FUNC_GPIO &pcfg_pull_down>; }; + vsel1_gpio: vsel1-gpio { + rockchip,pins = + <1 17 RK_FUNC_GPIO &pcfg_pull_down>; + }; + vsel2_gpio: vsel2-gpio { + rockchip,pins = + <1 14 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + + hallsensor { + mh248_irq_gpio: mh248-irq-gpio { + rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_up>; + }; }; headphone { @@ -790,9 +963,15 @@ }; }; - lcdpwr-enable { - lcdpwr_enable_h: lcdpwr-enable-h { - rockchip,pins = <3 8 RK_FUNC_GPIO &pcfg_pull_up>; + lsm330_a { + lsm330a_irq_gpio: lsm330a-irq-gpio { + rockchip,pins = <2 27 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + lsm330_g { + lsm330g_irq_gpio: lsm330g-irq-gpio { + rockchip,pins = <1 20 RK_FUNC_GPIO &pcfg_pull_none>; }; }; @@ -810,7 +989,7 @@ cm3218 { cm3218_irq_gpio: cm3218-irq-gpio { - rockchip,pins = <4 24 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <4 24 RK_FUNC_GPIO &pcfg_pull_up>; }; }; @@ -820,31 +999,58 @@ <4 25 RK_FUNC_GPIO &pcfg_pull_none>; }; }; -}; -&rk_screen { - #include + fusb30x { + fusb0_int: fusb0-int { + rockchip,pins = + <1 1 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; }; -&vopb_rk_fb { +&edp { status = "okay"; - power_ctr: power_ctr { - rockchip,debug = <0>; - - lcd_en: lcd-en { - rockchip,power_type = ; - pinctrl-names = "default"; - pinctrl-0 = <&lcdpwr_enable_h>; - gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; - rockchip,delay = <10>; + ports { + edp_out: port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + edp_out_panel: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_in_edp>; + }; }; }; }; -&vopl_rk_fb { +&edp_in_vopl { + status = "disabled"; +}; + +&hdmi { + status = "okay"; +}; + +&hdmi_in_vopb { + status = "disabled"; +}; + +&cdn_dp { + status = "okay"; + extcon = <&fusb0>; + phys = <&tcphy0_dp>; +}; + +&dp_in_vopb { + status = "disabled"; +}; + +&pmu_io_domains { status = "okay"; + pmu1830-supply = <&vcc_1v8>; }; -&edp_rk_fb { +&route_edp { status = "okay"; + logo,mode = "center"; };