diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-camera.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-camera.dtsi new file mode 100644 index 000000000000..cfc6c5bb41f6 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-camera.dtsi @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + i2c@0 { + led_flash0: qcom,led-flash@39 { + compatible = "qcom,led-flash"; + status = "ok"; + reg = <0x39>; + rt8542,lcd_bl_en = <&msmgpio 60 0x00>; + rt8542,max_current = <0x0C>; + rt8542,min_brightness = <0x04>; + rt8542,default_brightness = <0x66>; + rt8542,max_brightness = <0x7D>; + rt8542,enable_pwm = <0>; + rt8542,blmap_size = <127>; + rt8542,blmap = < + 5 5 5 5 5 5 5 5 5 5 //9 + 5 5 5 6 6 6 6 6 6 6 //19 + 6 6 6 6 6 6 7 7 7 7 //29 + 7 7 7 8 8 8 8 9 9 9 //39 + 10 10 10 11 11 11 12 12 12 12 //49 + 13 13 14 14 14 14 15 15 15 16 //59 + 17 18 19 20 20 21 22 23 23 24 //69 + 24 25 25 25 26 26 26 27 27 27 //79 + 27 28 29 30 31 32 33 34 35 36 //89 + 37 38 38 39 40 41 42 43 44 45 //99 + 46 47 48 49 50 52 53 54 55 56 //109 + 57 58 59 60 61 63 64 65 67 68 //119 + 70 71 73 75 77 79 80>; + + cell-index = <0>; + qcom,flash-name = "rt8542"; + qcom,slave-id = <0x39 0x00 0x0011>; + qcom,flash-type = <1>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 18 0>; + qcom,gpio-flash-en = <0>; + qcom,gpio-req-tbl-num = <0>; + qcom,gpio-req-tbl-flags = <0>; + qcom,gpio-req-tbl-label = "FLASH_EN"; + + }; + }; +}; + +&i2c { + +/* IMX219(8M) actuator */ +/* because of alternative sensor module usages, Actuator address are 0x18s, + but somehow without CCI & Platform DD, It is impossible to share the same No. of address with other DT actuator nodes. + So, as a workaround, we add one by one on the address as no. of array goes on. 0x18, 0x19 and 0x1A which used to be 0x18, 0x18 and 0x18 + This temporal address will be parsing in the msm_actuator_i2c_probe() of msm_actuator.c file. + youngwook.song@lge.com, 2014-02-20*/ + + actuator2: qcom,actuator_2@18 { + cell-index = <3>;//Use Af_main_2 of dw9718 + reg = <0x18 0x0>; + compatible = "qcom,actuator"; + }; + +/* Imx219(cowell) eeprom */ + eeprom2: msm_eeprom_imx219@50 { //EEPROM READ + cell-index = <0>; + reg = <0x50 0x0>; + qcom,eeprom-name = "imx219_eeprom"; + compatible = "msm_eeprom"; + qcom,slave-addr = <0x50>; + + qcom,num-blocks = <1>; + qcom,page0 = <0 0x0 2 0x0 1 20>; // valid size, addr, addr_t, data, data_t, delay + qcom,poll0 = <0 0x0 2 0x0 1 20>; + qcom,mem0 = <0x900 0x0000 2 0 1 0>; //EEPROM READ + + cam_vio-supply = <&pm8110_l7>; + qcom,cam-vreg-name = "cam_vio"; + qcom,cam-vreg-type = <0>; + qcom,cam-vreg-min-voltage = <1800000>; + qcom,cam-vreg-max-voltage = <1800000>; + qcom,cam-vreg-op-mode = <80000>; + + qcom,cam-power-seq-type = "sensor_vreg"; + qcom,cam-power-seq-val = "cam_vio"; + qcom,cam-power-seq-cfg-val = <1>; + qcom,cam-power-seq-delay = <1>; + }; + + hi707: qcom,camera_rev_a@60 { + compatible = "qcom,hi707"; + reg = <0x60>; + qcom,slave-id = <0x60 0x4 0xB8>; + qcom,csiphy-sd-index = <1>; + qcom,csid-sd-index = <1>; + qcom,mount-angle = <270>; + qcom,sensor-name = "hi707"; + qcom,maker-gpio = <86>; + + cam_vdig-supply = <&pm8110_l7>; /* Dummy VDIG Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + cam_vio-supply = <&pm8110_l7>; + cam_vana-supply = <&pm8110_l7>; /* Dummy VANA Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; + qcom,cam-vreg-type = <0 0 0>; + qcom,cam-vreg-min-voltage = <1300000 1800000 2850000>; + qcom,cam-vreg-max-voltage = <1300000 1800000 2850000>; + qcom,cam-vreg-op-mode = <200000 80000 80000>; + qcom,sensor-type = <1>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 14 0>, + <&msmgpio 15 0>, //VT_CAM_RESET_N, GPIO 15 + <&msmgpio 67 0>, //VT_CAM_PWDN, GPIO=67 + <&msmgpio 85 0>; + qcom,gpio-reset = <1>; + qcom,gpio-standby = <2>; + qcom,gpio-vana = <3>; + qcom,gpio-req-tbl-num = <0 1 2 3>; + qcom,gpio-req-tbl-flags = <1 0 0 0>; + qcom,gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET2", "CAM_STANDBY2", "MAIN_VANA_EN2"; + qcom,csi-lane-assign = <0xe4>; + qcom,csi-lane-mask = <0x3>; + qcom,sensor-position = <1>; + qcom,sensor-mode = <1>; + status = "okay"; + revision = "rev_a..."; + }; + + imx219: qcom,camera_rev_a@34 { + compatible = "qcom,imx219"; + reg = <0x34 0x0>; + qcom,slave-id = <0x34 0x0 0x219>; + qcom,csiphy-sd-index = <0>; + qcom,csid-sd-index = <0>; + qcom,actuator-src = <&actuator2>; + qcom,led-flash-src = <&led_flash0>; + qcom,eeprom-src = <&eeprom2>; + qcom,mount-angle = <90>; + qcom,sensor-name = "imx219"; + cam_vdig-supply = <&pm8110_l7>; //CAM_DVDD_1V8_1V2 + cam_vio-supply = <&pm8110_l7>; + cam_vana-supply = <&pm8110_l7>; /* Dummy VANA Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + qcom,cam-vreg-name = "cam_vdig", "cam_vio";//, "cam_vana"; + qcom,cam-vreg-type = <0 0>; + qcom,cam-vreg-min-voltage = <1200000 1800000 2850000>; + qcom,cam-vreg-max-voltage = <1200000 1800000 2850000>; + qcom,cam-vreg-op-mode = <200000 80000 80000>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 13 0>, //MAIN_CAM_MCLK + <&msmgpio 21 0>, //MAIN_RESET_N + <&msmgpio 85 0>; //CAM_AVDD_2V8, LDO1_EN=GPIO 62 + qcom,gpio-reset = <1>; + qcom,gpio-vana = <2>; // =CAM_AVDD_2V8 + qcom,gpio-req-tbl-num = <0 1 2>; + qcom,gpio-req-tbl-flags = <1 0 0>; + qcom,gpio-req-tbl-label = "CAMIF_MCLK", "CAM_RESET1", "MAIN_VANA_EN"; + qcom,csi-lane-assign = <0xe4>; + qcom,csi-lane-mask = <0x07>; + qcom,sensor-position = <0>; + qcom,sensor-mode = <0>; + status = "okay"; + revision = "rev_a..."; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-hdmi.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-hdmi.dtsi new file mode 100644 index 000000000000..030f0d89cc42 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-hdmi.dtsi @@ -0,0 +1,15 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/ { + +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-input.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-input.dtsi new file mode 100644 index 000000000000..4dbf2435df53 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-input.dtsi @@ -0,0 +1,120 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ +&soc { + i2c@f9923000{ + lgd_mit200@34 { + revision = "rev_0..."; + status = "disable"; + }; + lge_touch_incell@34 { + revision = "rev_0...rev_a"; + status = "ok"; + lge,auto_fw_update = <1>; + lge,product = "L0M45P2"; + lge,fw_image = "melfas/mit200/l70p/L0M45P1_1_13.fw"; + button_name = <158 139>; + lge,id-gpio = <&msmgpio 0 0x00>; + lge,id2-gpio = <&msmgpio 0 0x00>; + booting_delay = <10>; + reset_delay = <5>; + use_crack_mode = <0>; + active_area_gap = <24>; + + /* Limitation Value. */ + raw_data_max = <42125>; + raw_data_min = <11394>; + raw_data_margin = <1000>; + raw_data_otp_min = <15000>; + raw_data_otp_max = <39000>; + open_short_min = <10>; + slope_max = <110>; + slope_min = <90>; + + /* panel status check */ + openshort_enable = <1>; + + /* platform_data->pwr*/ + /* type 0: none(default) */ + /* 1: gpio */ + /* 2: regulator */ + /* name if type == 1, gpio active condition "low" or "high" */ + /* if type == 2, sypply name for regulator */ + /* value if type == 1, gpio pin no. */ + /* if type == 2, regulator voltage */ + vdd_type0 = <1>; + vdd_name0 = "high"; + vdd_value0 = <82>; + vdd-supply = <0>; + vdd_type1 = <2>; + vdd_name1 = "vdd_io"; + vdd_value1 = <1800000>; + vdd_io-supply = <&pm8110_l8>; + + //vdd_type2 = <2>; + //vdd_name2 = "vio_int"; + //vdd_value2 = <1800000>; + //vio_int-supply = <&pm8110_l8>; + }; + lge_touch_incell_rev_b@34 { + revision = "rev_b..."; + status = "ok"; + lge,auto_fw_update = <1>; + lge,product = "L0M45P2"; + lge,fw_image = "melfas/mit200/l70p/L0M45P1_1_13.fw"; + button_name = <158 139>; + lge,id-gpio = <&msmgpio 0 0x00>; + lge,id2-gpio = <&msmgpio 0 0x00>; + booting_delay = <10>; + reset_delay = <5>; + use_crack_mode = <0>; + active_area_gap = <24>; + + /* Limitation Value. */ + raw_data_max = <42125>; + raw_data_min = <11394>; + raw_data_margin = <1000>; + raw_data_otp_min = <15000>; + raw_data_otp_max = <39000>; + open_short_min = <10>; + slope_max = <110>; + slope_min = <90>; + + /* panel status check */ + openshort_enable = <1>; + + /* platform_data->pwr*/ + /* type 0: none(default) */ + /* 1: gpio */ + /* 2: regulator */ + /* name if type == 1, gpio active condition "low" or "high" */ + /* if type == 2, sypply name for regulator */ + /* value if type == 1, gpio pin no. */ + /* if type == 2, regulator voltage */ + vdd_type0 = <1>; + vdd_name0 = "high"; + vdd_value0 = <76>; + vdd-supply = <0>; + vdd_type1 = <1>; + vdd_name1 = "high"; + vdd_value1 = <82>; + vdd-supply = <0>; + //vdd_type1 = <2>; + //vdd_name1 = "vdd_io"; + //vdd_value1 = <1800000>; + //vdd_io-supply = <&pm8110_l8>; + //vdd_type2 = <2>; + //vdd_name2 = "vio_int"; + //vdd_value2 = <1800000>; + //vio_int-supply = <&pm8110_l8>; + }; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-misc.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-misc.dtsi new file mode 100644 index 000000000000..72634a2d6351 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-misc.dtsi @@ -0,0 +1,54 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + earjack-debugger { + status = "disable"; + }; + + i2c@0 { + rt8542@39 { + status = "ok"; + rt8542,max_current = <0x0C>; /* 12.1mA */ + rt8542,max_brightness = <105>; /* 105 */ + rt8542,blmap = < + 10 10 12 12 12 14 14 16 16 18 + 18 19 19 20 20 22 22 22 24 24 + 26 26 28 28 29 29 30 30 32 32 + 32 34 34 36 36 38 38 39 39 40 + 40 42 42 42 44 44 46 46 48 48 + 49 49 50 50 52 52 52 54 54 56 + 56 58 58 59 59 60 60 62 62 62 + 64 64 66 66 68 68 69 69 70 70 + 72 72 72 74 74 76 76 78 78 79 + 79 80 80 82 82 82 84 84 86 86 + 88 88 89 89 90 90 92 92 92 94 + 94 96 96 96 98 98 99 99 100 100 + 102 102 104 104 105 105 105>; + }; + lp5521@32{ + status = "no"; + revision = "rev_a..."; + ti,led_en = <&msmgpio 6 0x0>; + ti,i2c-pull-up = <1>; + ti,vddio_i2c-supply = <&pm8110_l14>; + ti,vddio_i2c_supply_min = <1800000>; + ti,vddio_i2c_supply_max = <1800000>; + ti,vddio_i2c_load_ua = <10000>; + + }; + }; + + hall-bu52061nvx { + status = "ok"; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-nfc.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-nfc.dtsi new file mode 100644 index 000000000000..5af622b8f6e7 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-nfc.dtsi @@ -0,0 +1,51 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/* LGE_CHANGE, [NFC][garam.kim@lge.com], NFC Bring up temp */ +&soc { + + i2c@0 { + pn547@28 { + compatible = "nxp,pn547"; + status = "ok"; + reg = <0x28>; + interrupt-parent = <&msmgpio>; + interrupts = <99 0x2>; + nxp,gpio_sda = <&msmgpio 4 0x00>; + nxp,gpio_scl = <&msmgpio 5 0x00>; + nxp,gpio_ven = <&msmgpio 71 0x00>; + nxp,gpio_mode = <&msmgpio 70 0x00>; + nxp,gpio_irq = <&msmgpio 99 0x00>; + nxp,i2c-pull-up = <1>; + revision = "rev_b"; + }; + }; +/* LGE_CHANGE, [NFC][taesik.kim@lge.com], NFC Bring up temp */ + i2c@f9926000 { + pn547@28 { + compatible = "nxp,pn547"; + status = "ok"; + reg = <0x28>; + interrupt-parent = <&msmgpio>; + interrupts = <99 0x2>; + nxp,gpio_sda = <&msmgpio 88 0x00>; + nxp,gpio_scl = <&msmgpio 89 0x00>; + nxp,gpio_ven = <&msmgpio 71 0x00>; + nxp,gpio_mode = <&msmgpio 70 0x00>; + nxp,gpio_irq = <&msmgpio 99 0x00>; + nxp,i2c-pull-up = <1>; + revision = "rev_c..."; + }; + }; + + +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-panel.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-panel.dtsi new file mode 100644 index 000000000000..9f89439994a0 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-panel.dtsi @@ -0,0 +1,25 @@ +/* Copyright (c) 2013, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ +&mdss_mdp { + qcom,mdss-pref-prim-intf = "dsi"; +}; + +&mdss_dsi0 { + qcom,dsi-pref-prim-pan = <&dsi_lgd_incell_vid>; + qcom,platform-enable-gpio = <&msmgpio 6 0>; + qcom,platform-fd-gpio = <&msmgpio 20 0>; + qcom,platform-pmode-gpio = <&msmgpio 75 0>; +}; + +&dsi_lgd_incell_vid { +}; + diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-pm.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-pm.dtsi new file mode 100644 index 000000000000..bc801b6c89c4 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-pm.dtsi @@ -0,0 +1,299 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program 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. +*/ + +/ { + +}; + +&spmi_bus { + qcom,pm8110@0 { + qcom,power-on@800 { + compatible = "qcom,qpnp-power-on"; + qcom,s3-debounce = <128>; + qcom,system-reset; + reg = <0x800 0x100>; + qcom,pon_3 { + qcom,support-reset = <0>; + }; + }; + qcom,leds@a100 { + status = "okay"; + qcom,led_mpp_2 { + label = "mpp"; + linux,name = "button-backlight"; + linux-default-trigger = "hr-trigger"; + qcom,default-state = "off"; + qcom,max-current = <40>; + qcom,id = <6>; + qcom,source-sel = <1>; + qcom,mode-ctrl = <0x60>; + qcom,mode = "manual"; + }; + }; + + qcom,leds@a200 { + status = "disabled"; + qcom,led_mpp_3 { + label = "mpp"; + linux,name = "wled-backlight"; + linux,default-trigger = "bkl-trigger"; + qcom,default-state = "on"; + qcom,max-current = <40>; + qcom,id = <6>; + qcom,source-sel = <1>; + qcom,mode-ctrl = <0x10>; + qcom,mode = "manual"; + }; + }; + }; +}; + +&spmi_bus { + qcom,pm8110@1 { + qcom,vibrator@c000 { + status = "okay"; + qcom,vib-timeout-ms = <15000>; + qcom,vib-vtg-level-mV = <3100>; + }; + }; +}; + +&soc{ + /* Cable type definition. + * Modify the USB cable and move to SoC + * to get each table for different USB Pull up resistor via HW Rev + * This must have the compatible property "lge,usb-id". + * If you don't want to use revision you can remove status & revision property. + * If this node is not exist, the charger driver would not be probed. + * Each cable type has 3 values + * that we can configure the threshold of ADC value and TA/USB IUSB max current value. + * ex) + * cable type = . + */ + + lge,usb_cable@0 { + compatible = "lge,usb-id"; + usb_adc_table@665{ + status = "okay"; + revision = "rev_0"; + lge,no-init-cable = <100000 500 500>; + lge,cable-56k = <200000 1500 1500>; + lge,cable-100k = <239000 500 500>; + lge,cable-130k = <340000 1500 1500>; + lge,cable-180k = <400000 800 500>; + lge,cable-200k = <430000 800 500>; + lge,cable-220k = <485000 800 500>; + lge,cable-270k = <560000 800 500>; + lge,cable-330k = <735000 500 500>; + lge,cable-620k = <955000 500 500>; + lge,cable-910k = <1140000 1500 1500>; + lge,cable-none = <1900000 800 500>; + }; + usb_adc_table@200{ + status = "okay"; + revision = "rev_a..."; + lge,no-init-cable = <197000 500 500>; + lge,cable-56k = <496875 1500 1500>; + lge,cable-100k = <654545 500 500>; + lge,cable-130k = <780861 1500 1500>; + lge,cable-180k = <876316 800 500>; + lge,cable-200k = <921429 800 500>; + lge,cable-220k = <988450 800 500>; + lge,cable-270k = <1077399 800 500>; + lge,cable-330k = <1240865 500 500>; + lge,cable-620k = <1418326 500 500>; + lge,cable-910k = <1637838 1500 1500>; + lge,cable-none = <1900000 800 500>; + }; + }; +}; + +&pm8110_chg { + status = "ok"; + qcom,vddmax-mv = <4350>; + qcom,vddsafe-mv = <4380>; + qcom,vbatdet-mv = <4300>; + qcom,vinmin-mv = <4350>; + qcom,ibatterm-ma = <100>; + qcom,vbatdet-delta-mv = <100>; + qcom,tchg-mins = <480>; + qcom,duty-cycle-100p = <1>; + + qcom,chgr@1000 { + status = "ok"; + }; + + qcom,buck@1100 { + status = "ok"; + }; + + qcom,bat-if@1200 { + status = "ok"; + }; + + qcom,usb-chgpth@1300 { + status = "ok"; + }; + + qcom,chg-misc@1600 { + status = "ok"; + }; +}; + +&pm8110_gpios { + gpio@c000 { /* GPIO 1 */ /* NFC_CLK_REQ */ + }; + + gpio@c100 { /* GPIO 2 */ /* TX_GTR_THRESH */ + }; + + gpio@c200 { /* GPIO 3 */ /* NC */ + }; + + gpio@c300 { /* GPIO 4 */ /* BAT_UICC_ALARM */ + }; +}; + +&pm8110_mpps { + mpp@a000 { /* MPP 1 */ /* VDD_PX_BIAS */ + }; + + mpp@a100 { /* MPP 2 */ /* VPWR_KEY_LED */ +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [Start] */ + reg = <0xa100 0x100>; + qcom,pin-num = <2>; + + status = "ok"; + qcom,mode = <4>; /* QPNP_PIN_MODE_AIN */ + qcom,invert = <0>; /*no invert*/ + qcom,output-type = <0>; /* CMOS */ + qcom,vin-sel = <2>; /* PM8226_S3 1.8V > 1.6V */ + qcom,src-sel = <0>; /* CONSTANT */ + qcom,ain-route = <1>; + qcom,master-en = <1>; +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [End] */ + }; + + mpp@a200 { /* MPP 3 */ /* USB_ID */ + qcom,mode = <4>; /* QPNP_PIN_MODE_AIN */ + qcom,invert = <1>; /* QPNP_PIN_INVERT_ENABLE - Enable MPP */ + qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */ + qcom,master-en = <1>; /* Eable GPIO */ + qcom,ain-route = <2>; /* QPNP_PIN_AIN_AMUX_CH7 */ + }; + + mpp@a300 { /* MPP 4 */ /* PA_THERM */ + /* PA_THERM config */ + qcom,mode = <4>; /* AIN input */ + qcom,invert = <1>; /* Enable MPP */ + qcom,ain-route = <3>; /* AMUX 8 */ + qcom,master-en = <1>; + qcom,src-sel = <0>; /* Function constant */ + }; +}; + +&pm8110_bms { + status = "ok"; + + qcom,r-sense-uohm = <10000>; + qcom,v-cutoff-uv = <3300000>; + qcom,max-voltage-uv = <4350000>; + qcom,r-conn-mohm = <18>; + qcom,shutdown-soc-valid-limit = <20>; + qcom,adjust-soc-low-threshold = <25>; + qcom,adjust-soc-high-threshold = <45>; + qcom,ocv-voltage-high-threshold-uv = <3900000>; + qcom,ocv-voltage-low-threshold-uv = <3650000>; + qcom,low-soc-calculate-soc-threshold = <15>; + qcom,low-soc-calculate-soc-ms = <5000>; + qcom,calculate-soc-ms = <20000>; + qcom,low-voltage-calculate-soc-ms=<1000>; + qcom,chg-term-ua = <100000>; + qcom,batt-type = <0>; + qcom,low-voltage-threshold = <3320000>; +}; + +&pm8110_vadc { + +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [Start] */ + chan@11 { + status = "ok"; + label = "mpp2_adc"; + reg = <0x11>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [End] */ + + chan@12 { + label = "mpp3_usb_id"; + reg = <0x12>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; + + chan@13 { + label = "pa_therm0"; + reg = <0x13>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "ratiometric"; + qcom,scale-function = <2>; /* degC for 100k pull-up */ + qcom,hw-settle-time = <2>; + qcom,fast-avg-setup = <0>; + }; + + chan@33 { + label = "hw_id_pcb_revision"; + reg = <0x33>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; + +}; + +&rpm_bus { + + /* bohyun.jung@lge.com - FIX on LPDDR bit-flip */ + rpm-regulator-ldoa2 { + status = "okay"; + pm8110_l2: regulator-l2 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + qcom,init-voltage = <1225000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa7 { + status = "okay"; + pm8110_l7: regulator-l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,init-voltage = <1800000>; + status = "okay"; + }; + }; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-sensor.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-sensor.dtsi new file mode 100644 index 000000000000..82df34c368c9 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-sensor.dtsi @@ -0,0 +1,84 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + /* I2C device */ + i2c@f9925000 { + /* Acceleration sensor */ + k2dh0@18 { + status = "okay"; + reg = <0x18>; + compatible = "st,k2dh"; + interrupt-parent = <&msmgpio>; + interrupts = <81 0x0>; + stm,sensor_vdd-supply = <&pm8110_l19>; + stm,sensor_vcc_i2c-supply = <&pm8110_l14>; + /* pinctrl-names = "default", "sleep";*/ + /* pinctrl-0 = <&k2dh_int_active>;*/ + /* pinctrl-1 = <&k2dh_int_suspend>; */ + st,gpio-int = <&msmgpio 81 0x0>; + axis_map_x = <0>; + axis_map_y = <1>; + axis_map_z = <2>; + negate_x = <0>; + negate_y = <1>; + negate_z = <1>; + }; + + /* Magnetic Sensor Driver */ + ak09911@0c { + status = "okay"; + reg = <0x0c>; + compatible = "ak,ak09911"; + akm,sensor_vdd-supply = <&pm8110_l19>; + akm,sensor_vcc_i2c-supply = <&pm8110_l14>; + /* pinctrl-names = "default", "sleep"; */ + /* pinctrl-0 = <&akm09911_active>; */ + /* pinctrl-1 = <&akm09911_suspend>; */ + akm,gpio_rstn = <&msmgpio 83 0x0>; + akm,layout = <0x0>; + akm,auto-report; + }; + + + /* Proximity sensor */ + Avago_apds9130@39 { + status = "okay"; + compatible = "Avago,apds9130"; + reg = <0x39>; + interrupt-parent = <&msmgpio>; + interrupts = <80 0x2>; + Avago,vdd_ana-supply = <&pm8110_l19>; + Avago,vddio_i2c-supply = <&pm8110_l14>; + Avago,irq-gpio = <&msmgpio 80 0x00>; + Avago,i2c-pull-up = <1>; + Avago,vdd_ana_supply_min = <2850000>; + Avago,vdd_ana_supply_max = <3300000>; + Avago,vdd_ana_load_ua = <15000>; + Avago,vddio_dig_supply_min = <1800000>; + Avago,vddio_dig_supply_max = <1800000>; + Avago,vddio_dig_load_ua = <10000>; + Avago,vddio_i2c_supply_min = <1800000>; + Avago,vddio_i2c_supply_max = <1800000>; + Avago,vddio_i2c_load_ua = <10000>; + /*add*/ + Avago,ppcount = <8>; + Avago,pdrive = <0>; + Avago,near_offset = <300>; + Avago,far_offset = <100>; + Avago,crosstalk_max = <770>; + Avago,bright_threshold = <2000>; + Avago,dark_threshold = <1000>; + }; + + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-usb.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-usb.dtsi new file mode 100644 index 000000000000..44d938008f8f --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p-usb.dtsi @@ -0,0 +1,15 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program 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. +*/ + +/ { + +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p.dtsi b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p.dtsi new file mode 100644 index 000000000000..af98f00a54bf --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-l70p.dtsi @@ -0,0 +1,155 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/include/ "msm8610-l70p-panel.dtsi" +/include/ "msm8610-l70p-sensor.dtsi" +/include/ "msm8610-l70p-hdmi.dtsi" +/include/ "msm8610-l70p-usb.dtsi" +/include/ "msm8610-l70p-input.dtsi" +/include/ "msm8610-l70p-misc.dtsi" +/include/ "msm8610-l70p-pm.dtsi" +/include/ "msm8610-l70p-camera.dtsi" +/include/ "msm8610-l70p-nfc.dtsi" /* LGE_CHANGE, [NFC][taesik.kim@lge.com], NFC Bring up */ + +&soc { + serial@f991f000 { + status = "disabled"; + }; + + maxim_max1462x_rev0 { //LGE_UPDATE 20130626 beekay.lee@lge.com WX_MAXIM + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_0"; + }; + + maxim_max1462x_revA { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_a"; + }; + + maxim_max1462x_revB { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_b"; + }; + + maxim_max1462x_revC { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_c..."; + }; + + i2c@f9924000 { /* BLSP-1 QUP-2 */ + cell-index = <2>; + compatible = "qcom,i2c-qup"; + #address-cells = <1>; + #size-cells = <0>; + reg-names = "qup_phys_addr"; + reg = <0xf9924000 0x1000>; + interrupt-names = "qup_err_intr"; + interrupts = <0 96 0>; + qcom,i2c-bus-freq = <100000>; + qcom,i2c-src-freq = <19200000>; + qcom,sda-gpio = <&msmgpio 6 0>; + qcom,scl-gpio = <&msmgpio 7 0>; + status = "disable"; + }; + + i2c@f9925000 { /* BLSP-1 QUP-3 */ + cell-index = <3>; + qcom,i2c-src-freq = <19200000>; + qcom,sda-gpio = <&msmgpio 10 0>; + qcom,scl-gpio = <&msmgpio 11 0>; + }; + + i2c@0 { + compatible = "i2c-gpio"; + gpios = <&msmgpio 4 0 /* sda */ + &msmgpio 5 0 /* scl */ + >; + #address-cells = <1>; + #size-cells = <0>; + i2c-gpio,delay-us = <2>; + }; + i2c@f9926000 { /* BLSP1 QUP4 */ + cell-index = <4>; + compatible = "qcom,i2c-qup"; + #address-cells = <1>; + #size-cells = <0>; + reg-names = "qup_phys_addr"; + reg = <0xf9926000 0x1000>; + interrupt-names = "qup_err_intr"; + interrupts = <0 98 0>; + qcom,i2c-bus-freq = <100000>; + qcom,i2c-src-freq = <19200000>; + revision = "rev_c..."; + }; +}; + +&sdhc_1 { + vdd-supply = <&pm8110_l17>; + qcom,vdd-always-on; + qcom,vdd-voltage-level = <2900000 2900000>; + qcom,vdd-current-level = <200 400000>; + + vdd-io-supply = <&pm8110_l6>; + qcom,vdd-io-always-on; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <200 60000>; + + qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ + qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ + + qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; + qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v"; + qcom,nonremovable; + + status = "ok"; +}; + +&sdhc_2 { + vdd-supply = <&pm8110_l18>; + qcom,vdd-voltage-level = <2950000 2950000>; + qcom,vdd-current-level = <15000 400000>; + + vdd-io-supply = <&pm8110_l21>; + qcom,vdd-io-voltage-level = <1800000 2950000>; + qcom,vdd-io-current-level = <200 50000>; + + qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ + qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ + + qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; + + #address-cells = <0>; + interrupt-parent = <&sdhc_2>; + interrupts = <0 1 2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0xffffffff>; + interrupt-map = <0 &intc 0 125 0 + 1 &intc 0 221 0 + 2 &msmgpio 42 0x3>; + interrupt-names = "hc_irq", "pwr_irq", "status_irq"; + cd-gpios = <&msmgpio 42 0x0>; /* card detect 1:Low-Active, 0:High-Active */ + + status = "ok"; +}; +/* this memory reservation setting for LG logo in booting time*/ +&mdss_fb0 { + qcom,memory-reservation-type = "EBI1"; + qcom,memory-reservation-size = <0x300000>; +}; diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-v1-l70p.dts b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-v1-l70p.dts new file mode 100644 index 000000000000..c748125c9852 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-v1-l70p.dts @@ -0,0 +1,32 @@ +/* Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + + +/include/ "../msm8610-lge-common/msm8610-v1-lge.dtsi" +/include/ "msm8610-l70p.dtsi" + + +/ { + model = "Qualcomm MSM 8610v1 l70pglobalcom"; + compatible = "qcom,msm8610-l70pglobalcom", "qcom,msm8610"; + /* + MSM8610 = 147, + MSM8110 = 161, + MSM8210 = 162, + MSM8810 = 163, + MSM8212 = 164, + MSM8612 = 165, + MSM8812 = 166, + */ + qcom,board-id = <122 0>; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-v2-l70p.dts b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-v2-l70p.dts new file mode 100644 index 000000000000..7be825029a46 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70p_global_com/msm8610-v2-l70p.dts @@ -0,0 +1,32 @@ +/* Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + + +/include/ "../msm8610-lge-common/msm8610-v2-lge.dtsi" +/include/ "msm8610-l70p.dtsi" + + +/ { + model = "Qualcomm MSM 8610v2 l70pglobalcom"; + compatible = "qcom,msm8610-l70pglobalcom", "qcom,msm8610"; + /* + MSM8610 = 147, + MSM8110 = 161, + MSM8210 = 162, + MSM8810 = 163, + MSM8212 = 164, + MSM8612 = 165, + MSM8812 = 166, + */ + qcom,board-id = <122 0>; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-camera.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-camera.dtsi new file mode 100644 index 000000000000..f6dcbac1a5dc --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-camera.dtsi @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + i2c@0 { + led_flash0: qcom,led-flash@39 { + compatible = "qcom,led-flash"; + status = "ok"; + reg = <0x39>; + rt8542,lcd_bl_en = <&msmgpio 60 0x00>; + rt8542,max_current = <0x0C>; + rt8542,min_brightness = <0x04>; + rt8542,default_brightness = <0x66>; + rt8542,max_brightness = <0x7D>; + rt8542,enable_pwm = <0>; + rt8542,blmap_size = <127>; + rt8542,blmap = < + 5 5 5 5 5 5 5 5 5 5 //9 + 5 5 5 6 6 6 6 6 6 6 //19 + 6 6 6 6 6 6 7 7 7 7 //29 + 7 7 7 8 8 8 8 9 9 9 //39 + 10 10 10 11 11 11 12 12 12 12 //49 + 13 13 14 14 14 14 15 15 15 16 //59 + 17 18 19 20 20 21 22 23 23 24 //69 + 24 25 25 25 26 26 26 27 27 27 //79 + 27 28 29 30 31 32 33 34 35 36 //89 + 37 38 38 39 40 41 42 43 44 45 //99 + 46 47 48 49 50 52 53 54 55 56 //109 + 57 58 59 60 61 63 64 65 67 68 //119 + 70 71 73 75 77 79 80>; + + cell-index = <0>; + qcom,flash-name = "rt8542"; + qcom,slave-id = <0x39 0x00 0x0011>; + qcom,flash-type = <1>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 18 0>; + qcom,gpio-flash-en = <0>; + qcom,gpio-req-tbl-num = <0>; + qcom,gpio-req-tbl-flags = <0>; + qcom,gpio-req-tbl-label = "FLASH_EN"; + + }; + }; +}; + +&i2c { + +/* IMX219(8M) actuator */ +/* because of alternative sensor module usages, Actuator address are 0x18s, + but somehow without CCI & Platform DD, It is impossible to share the same No. of address with other DT actuator nodes. + So, as a workaround, we add one by one on the address as no. of array goes on. 0x18, 0x19 and 0x1A which used to be 0x18, 0x18 and 0x18 + This temporal address will be parsing in the msm_actuator_i2c_probe() of msm_actuator.c file. + youngwook.song@lge.com, 2014-02-20*/ + + actuator2: qcom,actuator_2@18 { + cell-index = <3>;//Use Af_main_3 of dw9718 + reg = <0x18 0x0>; + compatible = "qcom,actuator"; + }; + +/* Imx219(cowell) eeprom */ + eeprom2: msm_eeprom_imx219@50 { //EEPROM READ + cell-index = <0>; + reg = <0x50 0x0>; + qcom,eeprom-name = "imx219_eeprom"; + compatible = "msm_eeprom"; + qcom,slave-addr = <0x50>; + + qcom,num-blocks = <1>; + qcom,page0 = <0 0x0 2 0x0 1 20>; // valid size, addr, addr_t, data, data_t, delay + qcom,poll0 = <0 0x0 2 0x0 1 20>; + qcom,mem0 = <0x900 0x0000 2 0 1 0>; //EEPROM READ + + cam_vio-supply = <&pm8110_l7>; + qcom,cam-vreg-name = "cam_vio"; + qcom,cam-vreg-type = <0>; + qcom,cam-vreg-min-voltage = <1800000>; + qcom,cam-vreg-max-voltage = <1800000>; + qcom,cam-vreg-op-mode = <80000>; + + qcom,cam-power-seq-type = "sensor_vreg"; + qcom,cam-power-seq-val = "cam_vio"; + qcom,cam-power-seq-cfg-val = <1>; + qcom,cam-power-seq-delay = <1>; + }; + + hi707: qcom,camera_rev_a@60 { + compatible = "qcom,hi707"; + reg = <0x60>; + qcom,slave-id = <0x60 0x4 0xB8>; + qcom,csiphy-sd-index = <1>; + qcom,csid-sd-index = <1>; + qcom,mount-angle = <270>; + qcom,sensor-name = "hi707"; + qcom,maker-gpio = <86>; + + cam_vdig-supply = <&pm8110_l7>; /* Dummy VDIG Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + cam_vio-supply = <&pm8110_l7>; + cam_vana-supply = <&pm8110_l7>; /* Dummy VANA Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; + qcom,cam-vreg-type = <0 0 0>; + qcom,cam-vreg-min-voltage = <1300000 1800000 2850000>; + qcom,cam-vreg-max-voltage = <1300000 1800000 2850000>; + qcom,cam-vreg-op-mode = <200000 80000 80000>; + qcom,sensor-type = <1>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 14 0>, + <&msmgpio 15 0>, //VT_CAM_RESET_N, GPIO 15 + <&msmgpio 67 0>, //VT_CAM_PWDN, GPIO=67 + <&msmgpio 85 0>; + qcom,gpio-reset = <1>; + qcom,gpio-standby = <2>; + qcom,gpio-vana = <3>; + qcom,gpio-req-tbl-num = <0 1 2 3>; + qcom,gpio-req-tbl-flags = <1 0 0 0>; + qcom,gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET2", "CAM_STANDBY2", "MAIN_VANA_EN2"; + qcom,csi-lane-assign = <0xe4>; + qcom,csi-lane-mask = <0x3>; + qcom,sensor-position = <1>; + qcom,sensor-mode = <1>; + status = "okay"; + revision = "rev_a..."; + }; + + imx219: qcom,camera_rev_a@34 { + compatible = "qcom,imx219"; + reg = <0x34 0x0>; + qcom,slave-id = <0x34 0x0 0x219>; + qcom,csiphy-sd-index = <0>; + qcom,csid-sd-index = <0>; + qcom,actuator-src = <&actuator2>; + qcom,led-flash-src = <&led_flash0>; + qcom,eeprom-src = <&eeprom2>; + qcom,mount-angle = <90>; + qcom,sensor-name = "imx219"; + cam_vdig-supply = <&pm8110_l7>; //CAM_DVDD_1V8_1V2 + cam_vio-supply = <&pm8110_l7>; + cam_vana-supply = <&pm8110_l7>; /* Dummy VANA Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + qcom,cam-vreg-name = "cam_vdig", "cam_vio";//, "cam_vana"; + qcom,cam-vreg-type = <0 0>; + qcom,cam-vreg-min-voltage = <1200000 1800000 2850000>; + qcom,cam-vreg-max-voltage = <1200000 1800000 2850000>; + qcom,cam-vreg-op-mode = <200000 80000 80000>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 13 0>, //MAIN_CAM_MCLK + <&msmgpio 21 0>, //MAIN_RESET_N + <&msmgpio 85 0>; //CAM_AVDD_2V8, LDO1_EN=GPIO 62 + qcom,gpio-reset = <1>; + qcom,gpio-vana = <2>; // =CAM_AVDD_2V8 + qcom,gpio-req-tbl-num = <0 1 2>; + qcom,gpio-req-tbl-flags = <1 0 0>; + qcom,gpio-req-tbl-label = "CAMIF_MCLK", "CAM_RESET1", "MAIN_VANA_EN"; + qcom,csi-lane-assign = <0xe4>; + qcom,csi-lane-mask = <0x07>; + qcom,sensor-position = <0>; + qcom,sensor-mode = <0>; + status = "okay"; + revision = "rev_a..."; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-hdmi.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-hdmi.dtsi new file mode 100644 index 000000000000..030f0d89cc42 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-hdmi.dtsi @@ -0,0 +1,15 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/ { + +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-input.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-input.dtsi new file mode 100644 index 000000000000..6c25d60a4607 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-input.dtsi @@ -0,0 +1,121 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ +&soc { + i2c@f9923000{ + lgd_mit200@34 { + revision = "rev_0..."; + status = "disable"; + }; + lge_touch_incell@34 { + revision = "rev_0...rev_a"; + status = "ok"; + lge,auto_fw_update = <1>; + lge,product = "L0M45P2"; + lge,fw_image = "melfas/mit200/l70p/L0M45P1_1_13.fw"; + button_name = <158 139>; + lge,id-gpio = <&msmgpio 0 0x00>; + lge,id2-gpio = <&msmgpio 0 0x00>; + booting_delay = <10>; + reset_delay = <5>; + use_crack_mode = <0>; + active_area_gap = <24>; + + /* Limitation Value. */ + raw_data_max = <42125>; + raw_data_min = <11394>; + raw_data_margin = <1000>; + raw_data_otp_min = <15000>; + raw_data_otp_max = <39000>; + open_short_min = <10>; + slope_max = <110>; + slope_min = <90>; + + /* panel status check */ + openshort_enable = <1>; + + /* platform_data->pwr*/ + /* type 0: none(default) */ + /* 1: gpio */ + /* 2: regulator */ + /* name if type == 1, gpio active condition "low" or "high" */ + /* if type == 2, sypply name for regulator */ + /* value if type == 1, gpio pin no. */ + /* if type == 2, regulator voltage */ + vdd_type0 = <1>; + vdd_name0 = "high"; + vdd_value0 = <82>; + vdd-supply = <0>; + vdd_type1 = <2>; + vdd_name1 = "vdd_io"; + vdd_value1 = <1800000>; + vdd_io-supply = <&pm8110_l8>; + //vdd_type2 = <2>; + //vdd_name2 = "vio_int"; + //vdd_value2 = <1800000>; + //vio_int-supply = <&pm8110_l8>; + }; + lge_touch_incell_rev_b@34 { + revision = "rev_b..."; + status = "ok"; + lge,auto_fw_update = <1>; + lge,product = "L0M45P2"; + lge,fw_image = "melfas/mit200/l70p/L0M45P1_1_13.fw"; + button_name = <158 139>; + lge,id-gpio = <&msmgpio 0 0x00>; + lge,id2-gpio = <&msmgpio 0 0x00>; + booting_delay = <10>; + reset_delay = <5>; + use_crack_mode = <0>; + active_area_gap = <24>; + + /* Limitation Value. */ + raw_data_max = <42125>; + raw_data_min = <11394>; + raw_data_margin = <1000>; + raw_data_otp_min = <15000>; + raw_data_otp_max = <39000>; + open_short_min = <10>; + slope_max = <110>; + slope_min = <90>; + + /* panel status check */ + openshort_enable = <1>; + + /* platform_data->pwr*/ + /* type 0: none(default) */ + /* 1: gpio */ + /* 2: regulator */ + /* name if type == 1, gpio active condition "low" or "high" */ + /* if type == 2, sypply name for regulator */ + /* value if type == 1, gpio pin no. */ + /* if type == 2, regulator voltage */ + vdd_type0 = <1>; + vdd_name0 = "high"; + vdd_value0 = <76>; + vdd-supply = <0>; + vdd_type1 = <1>; + vdd_name1 = "high"; + vdd_value1 = <82>; + vdd-supply = <0>; + //vdd_type1 = <2>; + //vdd_name1 = "vdd_io"; + //vdd_value1 = <1800000>; + //vdd_io-supply = <&pm8110_l8>; + + //vdd_type2 = <2>; + //vdd_name2 = "vio_int"; + //vdd_value2 = <1800000>; + //vio_int-supply = <&pm8110_l8>; + }; + }; + +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-misc.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-misc.dtsi new file mode 100644 index 000000000000..8e9b74787dc7 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-misc.dtsi @@ -0,0 +1,43 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + earjack-debugger { + status = "disable"; + }; +/* moved to msm8610-xxx-camera.dtsi 2013-10-15 yt.jeon@lge.com + i2c@0 { + rt8542@39 { + status = "ok"; + rt8542,max_current = <0x0C>; + rt8542,max_brightness = <105>; + rt8542,blmap = < + 10 10 12 12 12 14 14 16 16 18 + 18 19 19 20 20 22 22 22 24 24 + 26 26 28 28 29 29 30 30 32 32 + 32 34 34 36 36 38 38 39 39 40 + 40 42 42 42 44 44 46 46 48 48 + 49 49 50 50 52 52 52 54 54 56 + 56 58 58 59 59 60 60 62 62 62 + 64 64 66 66 68 68 69 69 70 70 + 72 72 72 74 74 76 76 78 78 79 + 79 80 80 82 82 82 84 84 86 86 + 88 88 89 89 90 90 92 92 92 94 + 94 96 96 96 98 98 99 99 100 100 + 102 102 104 104 105 105 105>; + }; + }; +*/ + hall-bu52061nvx { + status = "ok"; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-panel.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-panel.dtsi new file mode 100644 index 000000000000..9f89439994a0 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-panel.dtsi @@ -0,0 +1,25 @@ +/* Copyright (c) 2013, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ +&mdss_mdp { + qcom,mdss-pref-prim-intf = "dsi"; +}; + +&mdss_dsi0 { + qcom,dsi-pref-prim-pan = <&dsi_lgd_incell_vid>; + qcom,platform-enable-gpio = <&msmgpio 6 0>; + qcom,platform-fd-gpio = <&msmgpio 20 0>; + qcom,platform-pmode-gpio = <&msmgpio 75 0>; +}; + +&dsi_lgd_incell_vid { +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-pm.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-pm.dtsi new file mode 100644 index 000000000000..56b08be8f9af --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-pm.dtsi @@ -0,0 +1,299 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program 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. +*/ + +/ { + +}; + +&spmi_bus { + qcom,pm8110@0 { + qcom,power-on@800 { + compatible = "qcom,qpnp-power-on"; + qcom,s3-debounce = <128>; + qcom,system-reset; + reg = <0x800 0x100>; + qcom,pon_3 { + qcom,support-reset = <0>; + }; + }; + qcom,leds@a100 { + status = "okay"; + qcom,led_mpp_2 { + label = "mpp"; + linux,name = "button-backlight"; + linux-default-trigger = "hr-trigger"; + qcom,default-state = "off"; + qcom,max-current = <40>; + qcom,id = <6>; + qcom,source-sel = <1>; + qcom,mode-ctrl = <0x60>; + qcom,mode = "manual"; + }; + }; + + qcom,leds@a200 { + status = "disabled"; + qcom,led_mpp_3 { + label = "mpp"; + linux,name = "wled-backlight"; + linux,default-trigger = "bkl-trigger"; + qcom,default-state = "on"; + qcom,max-current = <40>; + qcom,id = <6>; + qcom,source-sel = <1>; + qcom,mode-ctrl = <0x10>; + qcom,mode = "manual"; + }; + }; + }; +}; + +&spmi_bus { + qcom,pm8110@1 { + qcom,vibrator@c000 { + status = "okay"; + qcom,vib-timeout-ms = <15000>; + qcom,vib-vtg-level-mV = <3100>; + }; + }; +}; + +&soc{ + /* Cable type definition. + * Modify the USB cable and move to SoC + * to get each table for different USB Pull up resistor via HW Rev + * This must have the compatible property "lge,usb-id". + * If you don't want to use revision you can remove status & revision property. + * If this node is not exist, the charger driver would not be probed. + * Each cable type has 3 values + * that we can configure the threshold of ADC value and TA/USB IUSB max current value. + * ex) + * cable type = . + */ + + lge,usb_cable@0 { + compatible = "lge,usb-id"; + usb_adc_table@665{ + status = "okay"; + revision = "rev_0"; + lge,no-init-cable = <100000 500 500>; + lge,cable-56k = <200000 1500 1500>; + lge,cable-100k = <239000 500 500>; + lge,cable-130k = <340000 1500 1500>; + lge,cable-180k = <400000 700 500>; + lge,cable-200k = <430000 700 500>; + lge,cable-220k = <485000 700 500>; + lge,cable-270k = <560000 700 500>; + lge,cable-330k = <735000 500 500>; + lge,cable-620k = <955000 500 500>; + lge,cable-910k = <1140000 1500 1500>; + lge,cable-none = <1900000 700 500>; + }; + usb_adc_table@200{ + status = "okay"; + revision = "rev_a..."; + lge,no-init-cable = <197000 500 500>; + lge,cable-56k = <496875 1500 1500>; + lge,cable-100k = <654545 500 500>; + lge,cable-130k = <780861 1500 1500>; + lge,cable-180k = <876316 700 500>; + lge,cable-200k = <921429 700 500>; + lge,cable-220k = <988450 700 500>; + lge,cable-270k = <1077399 700 500>; + lge,cable-330k = <1240865 500 500>; + lge,cable-620k = <1418326 500 500>; + lge,cable-910k = <1637838 1500 1500>; + lge,cable-none = <1900000 700 500>; + }; + }; +}; + +&pm8110_chg { + status = "ok"; + qcom,vddmax-mv = <4350>; + qcom,vddsafe-mv = <4380>; + qcom,vbatdet-mv = <4300>; + qcom,vinmin-mv = <4350>; + qcom,ibatterm-ma = <100>; + qcom,vbatdet-delta-mv = <100>; + qcom,tchg-mins = <480>; + qcom,duty-cycle-100p = <1>; + + qcom,chgr@1000 { + status = "ok"; + }; + + qcom,buck@1100 { + status = "ok"; + }; + + qcom,bat-if@1200 { + status = "ok"; + }; + + qcom,usb-chgpth@1300 { + status = "ok"; + }; + + qcom,chg-misc@1600 { + status = "ok"; + }; +}; + +&pm8110_gpios { + gpio@c000 { /* GPIO 1 */ /* NFC_CLK_REQ */ + }; + + gpio@c100 { /* GPIO 2 */ /* TX_GTR_THRESH */ + }; + + gpio@c200 { /* GPIO 3 */ /* NC */ + }; + + gpio@c300 { /* GPIO 4 */ /* BAT_UICC_ALARM */ + }; +}; + +&pm8110_mpps { + mpp@a000 { /* MPP 1 */ /* VDD_PX_BIAS */ + }; + + mpp@a100 { /* MPP 2 */ /* VPWR_KEY_LED */ +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [Start] */ + reg = <0xa100 0x100>; + qcom,pin-num = <2>; + + status = "ok"; + qcom,mode = <4>; /* QPNP_PIN_MODE_AIN */ + qcom,invert = <0>; /*no invert*/ + qcom,output-type = <0>; /* CMOS */ + qcom,vin-sel = <2>; /* PM8226_S3 1.8V > 1.6V */ + qcom,src-sel = <0>; /* CONSTANT */ + qcom,ain-route = <1>; + qcom,master-en = <1>; +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [End] */ + }; + + mpp@a200 { /* MPP 3 */ /* USB_ID */ + qcom,mode = <4>; /* QPNP_PIN_MODE_AIN */ + qcom,invert = <1>; /* QPNP_PIN_INVERT_ENABLE - Enable MPP */ + qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */ + qcom,master-en = <1>; /* Eable GPIO */ + qcom,ain-route = <2>; /* QPNP_PIN_AIN_AMUX_CH7 */ + }; + + mpp@a300 { /* MPP 4 */ /* PA_THERM */ + /* PA_THERM config */ + qcom,mode = <4>; /* AIN input */ + qcom,invert = <1>; /* Enable MPP */ + qcom,ain-route = <3>; /* AMUX 8 */ + qcom,master-en = <1>; + qcom,src-sel = <0>; /* Function constant */ + }; +}; + +&pm8110_bms { + status = "ok"; + + qcom,r-sense-uohm = <10000>; + qcom,v-cutoff-uv = <3300000>; + qcom,max-voltage-uv = <4350000>; + qcom,r-conn-mohm = <18>; + qcom,shutdown-soc-valid-limit = <20>; + qcom,adjust-soc-low-threshold = <25>; + qcom,adjust-soc-high-threshold = <45>; + qcom,ocv-voltage-high-threshold-uv = <3900000>; + qcom,ocv-voltage-low-threshold-uv = <3650000>; + qcom,low-soc-calculate-soc-threshold = <15>; + qcom,low-soc-calculate-soc-ms = <5000>; + qcom,calculate-soc-ms = <20000>; + qcom,low-voltage-calculate-soc-ms=<1000>; + qcom,chg-term-ua = <100000>; + qcom,batt-type = <0>; + qcom,low-voltage-threshold = <3320000>; +}; + +&pm8110_vadc { + +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [Start] */ + chan@11 { + status = "ok"; + label = "mpp2_adc"; + reg = <0x11>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [End] */ + + chan@12 { + label = "mpp3_usb_id"; + reg = <0x12>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; + + chan@13 { + label = "pa_therm0"; + reg = <0x13>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "ratiometric"; + qcom,scale-function = <2>; /* degC for 100k pull-up */ + qcom,hw-settle-time = <2>; + qcom,fast-avg-setup = <0>; + }; + + chan@33 { + label = "hw_id_pcb_revision"; + reg = <0x33>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; + +}; + +&rpm_bus { + + /* bohyun.jung@lge.com - FIX on LPDDR bit-flip */ + rpm-regulator-ldoa2 { + status = "okay"; + pm8110_l2: regulator-l2 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + qcom,init-voltage = <1225000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa7 { + status = "okay"; + pm8110_l7: regulator-l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,init-voltage = <1800000>; + status = "okay"; + }; + }; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-sensor.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-sensor.dtsi new file mode 100644 index 000000000000..82df34c368c9 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-sensor.dtsi @@ -0,0 +1,84 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + /* I2C device */ + i2c@f9925000 { + /* Acceleration sensor */ + k2dh0@18 { + status = "okay"; + reg = <0x18>; + compatible = "st,k2dh"; + interrupt-parent = <&msmgpio>; + interrupts = <81 0x0>; + stm,sensor_vdd-supply = <&pm8110_l19>; + stm,sensor_vcc_i2c-supply = <&pm8110_l14>; + /* pinctrl-names = "default", "sleep";*/ + /* pinctrl-0 = <&k2dh_int_active>;*/ + /* pinctrl-1 = <&k2dh_int_suspend>; */ + st,gpio-int = <&msmgpio 81 0x0>; + axis_map_x = <0>; + axis_map_y = <1>; + axis_map_z = <2>; + negate_x = <0>; + negate_y = <1>; + negate_z = <1>; + }; + + /* Magnetic Sensor Driver */ + ak09911@0c { + status = "okay"; + reg = <0x0c>; + compatible = "ak,ak09911"; + akm,sensor_vdd-supply = <&pm8110_l19>; + akm,sensor_vcc_i2c-supply = <&pm8110_l14>; + /* pinctrl-names = "default", "sleep"; */ + /* pinctrl-0 = <&akm09911_active>; */ + /* pinctrl-1 = <&akm09911_suspend>; */ + akm,gpio_rstn = <&msmgpio 83 0x0>; + akm,layout = <0x0>; + akm,auto-report; + }; + + + /* Proximity sensor */ + Avago_apds9130@39 { + status = "okay"; + compatible = "Avago,apds9130"; + reg = <0x39>; + interrupt-parent = <&msmgpio>; + interrupts = <80 0x2>; + Avago,vdd_ana-supply = <&pm8110_l19>; + Avago,vddio_i2c-supply = <&pm8110_l14>; + Avago,irq-gpio = <&msmgpio 80 0x00>; + Avago,i2c-pull-up = <1>; + Avago,vdd_ana_supply_min = <2850000>; + Avago,vdd_ana_supply_max = <3300000>; + Avago,vdd_ana_load_ua = <15000>; + Avago,vddio_dig_supply_min = <1800000>; + Avago,vddio_dig_supply_max = <1800000>; + Avago,vddio_dig_load_ua = <10000>; + Avago,vddio_i2c_supply_min = <1800000>; + Avago,vddio_i2c_supply_max = <1800000>; + Avago,vddio_i2c_load_ua = <10000>; + /*add*/ + Avago,ppcount = <8>; + Avago,pdrive = <0>; + Avago,near_offset = <300>; + Avago,far_offset = <100>; + Avago,crosstalk_max = <770>; + Avago,bright_threshold = <2000>; + Avago,dark_threshold = <1000>; + }; + + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-usb.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-usb.dtsi new file mode 100644 index 000000000000..44d938008f8f --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds-usb.dtsi @@ -0,0 +1,15 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program 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. +*/ + +/ { + +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds.dtsi b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds.dtsi new file mode 100644 index 000000000000..a7f799f99de4 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-l70pds.dtsi @@ -0,0 +1,141 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/include/ "msm8610-l70pds-panel.dtsi" +/include/ "msm8610-l70pds-sensor.dtsi" +/include/ "msm8610-l70pds-hdmi.dtsi" +/include/ "msm8610-l70pds-usb.dtsi" +/include/ "msm8610-l70pds-input.dtsi" +/include/ "msm8610-l70pds-misc.dtsi" +/include/ "msm8610-l70pds-pm.dtsi" +/include/ "msm8610-l70pds-camera.dtsi" + +&soc { + serial@f991f000 { + status = "disabled"; + }; + + maxim_max1462x_rev0 { //LGE_UPDATE 20130626 beekay.lee@lge.com WX_MAXIM + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_0"; + }; + + maxim_max1462x_revA { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_a"; + }; + + maxim_max1462x_revB { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_b"; + }; + + maxim_max1462x_revC { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_c..."; + }; + + i2c@f9924000 { /* BLSP-1 QUP-2 */ + cell-index = <2>; + compatible = "qcom,i2c-qup"; + #address-cells = <1>; + #size-cells = <0>; + reg-names = "qup_phys_addr"; + reg = <0xf9924000 0x1000>; + interrupt-names = "qup_err_intr"; + interrupts = <0 96 0>; + qcom,i2c-bus-freq = <100000>; + qcom,i2c-src-freq = <19200000>; + qcom,sda-gpio = <&msmgpio 6 0>; + qcom,scl-gpio = <&msmgpio 7 0>; + status = "disable"; + }; + + i2c@f9925000 { /* BLSP-1 QUP-3 */ + cell-index = <3>; + qcom,i2c-src-freq = <19200000>; + qcom,sda-gpio = <&msmgpio 10 0>; + qcom,scl-gpio = <&msmgpio 11 0>; + }; + + i2c@0 { + compatible = "i2c-gpio"; + gpios = <&msmgpio 4 0 /* sda */ + &msmgpio 5 0 /* scl */ + >; + #address-cells = <1>; + #size-cells = <0>; + i2c-gpio,delay-us = <2>; + }; +}; + +&sdhc_1 { + vdd-supply = <&pm8110_l17>; + qcom,vdd-always-on; + qcom,vdd-voltage-level = <2900000 2900000>; + qcom,vdd-current-level = <200 400000>; + + vdd-io-supply = <&pm8110_l6>; + qcom,vdd-io-always-on; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <200 60000>; + + qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ + qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ + + qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; + qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v"; + qcom,nonremovable; + + status = "ok"; +}; + +&sdhc_2 { + vdd-supply = <&pm8110_l18>; + qcom,vdd-voltage-level = <2950000 2950000>; + qcom,vdd-current-level = <15000 400000>; + + vdd-io-supply = <&pm8110_l21>; + qcom,vdd-io-voltage-level = <1800000 2950000>; + qcom,vdd-io-current-level = <200 50000>; + + qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ + qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ + + qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; + + #address-cells = <0>; + interrupt-parent = <&sdhc_2>; + interrupts = <0 1 2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0xffffffff>; + interrupt-map = <0 &intc 0 125 0 + 1 &intc 0 221 0 + 2 &msmgpio 42 0x3>; + interrupt-names = "hc_irq", "pwr_irq", "status_irq"; + cd-gpios = <&msmgpio 42 0x0>; /* card detect 1:Low-Active, 0:High-Active */ + + status = "ok"; +}; +/* this memory reservation setting for LG logo in booting time*/ +&mdss_fb0 { + qcom,memory-reservation-type = "EBI1"; + qcom,memory-reservation-size = <0x300000>; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-v1-l70pds.dts b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-v1-l70pds.dts new file mode 100644 index 000000000000..968b573b0cff --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-v1-l70pds.dts @@ -0,0 +1,32 @@ +/* Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + + +/include/ "../msm8610-lge-common/msm8610-v1-lge.dtsi" +/include/ "msm8610-l70pds.dtsi" + + +/ { + model = "Qualcomm MSM 8610v1 l70pdsopenbr"; + compatible = "qcom,msm8610-l70pdsopenbr", "qcom,msm8610"; + /* + MSM8610 = 147, + MSM8110 = 161, + MSM8210 = 162, + MSM8810 = 163, + MSM8212 = 164, + MSM8612 = 165, + MSM8812 = 166, + */ + qcom,board-id = <122 0>; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-v2-l70pds.dts b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-v2-l70pds.dts new file mode 100644 index 000000000000..91f167b0741a --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pds_global_com/msm8610-v2-l70pds.dts @@ -0,0 +1,32 @@ +/* Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + + +/include/ "../msm8610-lge-common/msm8610-v2-lge.dtsi" +/include/ "msm8610-l70pds.dtsi" + + +/ { + model = "Qualcomm MSM 8610v2 l70pdsopenbr"; + compatible = "qcom,msm8610-l70pdsopenbr", "qcom,msm8610"; + /* + MSM8610 = 147, + MSM8110 = 161, + MSM8210 = 162, + MSM8810 = 163, + MSM8212 = 164, + MSM8612 = 165, + MSM8812 = 166, + */ + qcom,board-id = <122 0>; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-camera.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-camera.dtsi new file mode 100644 index 000000000000..cfc6c5bb41f6 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-camera.dtsi @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + i2c@0 { + led_flash0: qcom,led-flash@39 { + compatible = "qcom,led-flash"; + status = "ok"; + reg = <0x39>; + rt8542,lcd_bl_en = <&msmgpio 60 0x00>; + rt8542,max_current = <0x0C>; + rt8542,min_brightness = <0x04>; + rt8542,default_brightness = <0x66>; + rt8542,max_brightness = <0x7D>; + rt8542,enable_pwm = <0>; + rt8542,blmap_size = <127>; + rt8542,blmap = < + 5 5 5 5 5 5 5 5 5 5 //9 + 5 5 5 6 6 6 6 6 6 6 //19 + 6 6 6 6 6 6 7 7 7 7 //29 + 7 7 7 8 8 8 8 9 9 9 //39 + 10 10 10 11 11 11 12 12 12 12 //49 + 13 13 14 14 14 14 15 15 15 16 //59 + 17 18 19 20 20 21 22 23 23 24 //69 + 24 25 25 25 26 26 26 27 27 27 //79 + 27 28 29 30 31 32 33 34 35 36 //89 + 37 38 38 39 40 41 42 43 44 45 //99 + 46 47 48 49 50 52 53 54 55 56 //109 + 57 58 59 60 61 63 64 65 67 68 //119 + 70 71 73 75 77 79 80>; + + cell-index = <0>; + qcom,flash-name = "rt8542"; + qcom,slave-id = <0x39 0x00 0x0011>; + qcom,flash-type = <1>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 18 0>; + qcom,gpio-flash-en = <0>; + qcom,gpio-req-tbl-num = <0>; + qcom,gpio-req-tbl-flags = <0>; + qcom,gpio-req-tbl-label = "FLASH_EN"; + + }; + }; +}; + +&i2c { + +/* IMX219(8M) actuator */ +/* because of alternative sensor module usages, Actuator address are 0x18s, + but somehow without CCI & Platform DD, It is impossible to share the same No. of address with other DT actuator nodes. + So, as a workaround, we add one by one on the address as no. of array goes on. 0x18, 0x19 and 0x1A which used to be 0x18, 0x18 and 0x18 + This temporal address will be parsing in the msm_actuator_i2c_probe() of msm_actuator.c file. + youngwook.song@lge.com, 2014-02-20*/ + + actuator2: qcom,actuator_2@18 { + cell-index = <3>;//Use Af_main_2 of dw9718 + reg = <0x18 0x0>; + compatible = "qcom,actuator"; + }; + +/* Imx219(cowell) eeprom */ + eeprom2: msm_eeprom_imx219@50 { //EEPROM READ + cell-index = <0>; + reg = <0x50 0x0>; + qcom,eeprom-name = "imx219_eeprom"; + compatible = "msm_eeprom"; + qcom,slave-addr = <0x50>; + + qcom,num-blocks = <1>; + qcom,page0 = <0 0x0 2 0x0 1 20>; // valid size, addr, addr_t, data, data_t, delay + qcom,poll0 = <0 0x0 2 0x0 1 20>; + qcom,mem0 = <0x900 0x0000 2 0 1 0>; //EEPROM READ + + cam_vio-supply = <&pm8110_l7>; + qcom,cam-vreg-name = "cam_vio"; + qcom,cam-vreg-type = <0>; + qcom,cam-vreg-min-voltage = <1800000>; + qcom,cam-vreg-max-voltage = <1800000>; + qcom,cam-vreg-op-mode = <80000>; + + qcom,cam-power-seq-type = "sensor_vreg"; + qcom,cam-power-seq-val = "cam_vio"; + qcom,cam-power-seq-cfg-val = <1>; + qcom,cam-power-seq-delay = <1>; + }; + + hi707: qcom,camera_rev_a@60 { + compatible = "qcom,hi707"; + reg = <0x60>; + qcom,slave-id = <0x60 0x4 0xB8>; + qcom,csiphy-sd-index = <1>; + qcom,csid-sd-index = <1>; + qcom,mount-angle = <270>; + qcom,sensor-name = "hi707"; + qcom,maker-gpio = <86>; + + cam_vdig-supply = <&pm8110_l7>; /* Dummy VDIG Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + cam_vio-supply = <&pm8110_l7>; + cam_vana-supply = <&pm8110_l7>; /* Dummy VANA Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; + qcom,cam-vreg-type = <0 0 0>; + qcom,cam-vreg-min-voltage = <1300000 1800000 2850000>; + qcom,cam-vreg-max-voltage = <1300000 1800000 2850000>; + qcom,cam-vreg-op-mode = <200000 80000 80000>; + qcom,sensor-type = <1>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 14 0>, + <&msmgpio 15 0>, //VT_CAM_RESET_N, GPIO 15 + <&msmgpio 67 0>, //VT_CAM_PWDN, GPIO=67 + <&msmgpio 85 0>; + qcom,gpio-reset = <1>; + qcom,gpio-standby = <2>; + qcom,gpio-vana = <3>; + qcom,gpio-req-tbl-num = <0 1 2 3>; + qcom,gpio-req-tbl-flags = <1 0 0 0>; + qcom,gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET2", "CAM_STANDBY2", "MAIN_VANA_EN2"; + qcom,csi-lane-assign = <0xe4>; + qcom,csi-lane-mask = <0x3>; + qcom,sensor-position = <1>; + qcom,sensor-mode = <1>; + status = "okay"; + revision = "rev_a..."; + }; + + imx219: qcom,camera_rev_a@34 { + compatible = "qcom,imx219"; + reg = <0x34 0x0>; + qcom,slave-id = <0x34 0x0 0x219>; + qcom,csiphy-sd-index = <0>; + qcom,csid-sd-index = <0>; + qcom,actuator-src = <&actuator2>; + qcom,led-flash-src = <&led_flash0>; + qcom,eeprom-src = <&eeprom2>; + qcom,mount-angle = <90>; + qcom,sensor-name = "imx219"; + cam_vdig-supply = <&pm8110_l7>; //CAM_DVDD_1V8_1V2 + cam_vio-supply = <&pm8110_l7>; + cam_vana-supply = <&pm8110_l7>; /* Dummy VANA Setting, We never use this LDO7 for DIG, youngwook.song@lge.com, 2013.08.26 */ + qcom,cam-vreg-name = "cam_vdig", "cam_vio";//, "cam_vana"; + qcom,cam-vreg-type = <0 0>; + qcom,cam-vreg-min-voltage = <1200000 1800000 2850000>; + qcom,cam-vreg-max-voltage = <1200000 1800000 2850000>; + qcom,cam-vreg-op-mode = <200000 80000 80000>; + qcom,gpio-no-mux = <0>; + gpios = <&msmgpio 13 0>, //MAIN_CAM_MCLK + <&msmgpio 21 0>, //MAIN_RESET_N + <&msmgpio 85 0>; //CAM_AVDD_2V8, LDO1_EN=GPIO 62 + qcom,gpio-reset = <1>; + qcom,gpio-vana = <2>; // =CAM_AVDD_2V8 + qcom,gpio-req-tbl-num = <0 1 2>; + qcom,gpio-req-tbl-flags = <1 0 0>; + qcom,gpio-req-tbl-label = "CAMIF_MCLK", "CAM_RESET1", "MAIN_VANA_EN"; + qcom,csi-lane-assign = <0xe4>; + qcom,csi-lane-mask = <0x07>; + qcom,sensor-position = <0>; + qcom,sensor-mode = <0>; + status = "okay"; + revision = "rev_a..."; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-hdmi.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-hdmi.dtsi new file mode 100644 index 000000000000..030f0d89cc42 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-hdmi.dtsi @@ -0,0 +1,15 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/ { + +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-input.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-input.dtsi new file mode 100644 index 000000000000..3af1644b6d8c --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-input.dtsi @@ -0,0 +1,126 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + i2c@f9923000{ + lgd_mit200@34 { + revision = "rev_0..."; + status = "disable"; + }; + lge_touch_incell@34 { + revision = "rev_0...rev_a"; + status = "ok"; + lge,auto_fw_update = <1>; + lge,product = "L0M45P2"; + lge,fw_image = "melfas/mit200/l70p/L0M45P1_1_13.fw"; + button_name = <158 139>; + lge,id-gpio = <&msmgpio 0 0x00>; + lge,id2-gpio = <&msmgpio 0 0x00>; + booting_delay = <10>; + reset_delay = <5>; + use_crack_mode = <0>; + active_area_gap = <24>; + + /* Limitation Value. */ + raw_data_max = <42125>; + raw_data_min = <11394>; + raw_data_margin = <1000>; + raw_data_otp_min = <15000>; + raw_data_otp_max = <39000>; + open_short_min = <10>; + slope_max = <110>; + slope_min = <90>; + + /* panel status check */ + openshort_enable = <1>; + + /* platform_data->pwr*/ + /* type 0: none(default) */ + /* 1: gpio */ + /* 2: regulator */ + /* name if type == 1, gpio active condition "low" or "high" */ + /* if type == 2, sypply name for regulator */ + /* value if type == 1, gpio pin no. */ + /* if type == 2, regulator voltage */ + vdd_type0 = <1>; + vdd_name0 = "high"; + vdd_value0 = <82>; + vdd-supply = <0>; + + vdd_type1 = <2>; + vdd_name1 = "vdd_io"; + vdd_value1 = <1800000>; + vdd_io-supply = <&pm8110_l8>; + + //vdd_type2 = <2>; + //vdd_name2 = "vio_int"; + //vdd_value2 = <1800000>; + //vio_int-supply = <&pm8110_l8>; + }; + lge_touch_incell_rev_b@34 { + revision = "rev_b..."; + status = "ok"; + lge,auto_fw_update = <1>; + lge,product = "L0M45P2"; + lge,fw_image = "melfas/mit200/l70p/L0M45P1_1_13.fw"; + button_name = <158 139>; + lge,id-gpio = <&msmgpio 0 0x00>; + lge,id2-gpio = <&msmgpio 0 0x00>; + booting_delay = <10>; + reset_delay = <5>; + use_crack_mode = <0>; + active_area_gap = <24>; + + /* Limitation Value. */ + raw_data_max = <42125>; + raw_data_min = <11394>; + raw_data_margin = <1000>; + raw_data_otp_min = <15000>; + raw_data_otp_max = <39000>; + open_short_min = <10>; + slope_max = <110>; + slope_min = <90>; + + /* panel status check */ + openshort_enable = <1>; + + /* platform_data->pwr*/ + /* type 0: none(default) */ + /* 1: gpio */ + /* 2: regulator */ + /* name if type == 1, gpio active condition "low" or "high" */ + /* if type == 2, sypply name for regulator */ + /* value if type == 1, gpio pin no. */ + /* if type == 2, regulator voltage */ + vdd_type0 = <1>; + vdd_name0 = "high"; + vdd_value0 = <76>; + vdd-supply = <0>; + + vdd_type1 = <1>; + vdd_name1 = "high"; + vdd_value1 = <82>; + vdd-supply = <0>; + + //vdd_type1 = <2>; + //vdd_name1 = "vdd_io"; + //vdd_value1 = <1800000>; + //vdd_io-supply = <&pm8110_l8>; + + //vdd_type2 = <2>; + //vdd_name2 = "vio_int"; + //vdd_value2 = <1800000>; + //vio_int-supply = <&pm8110_l8>; + }; + }; + +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-misc.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-misc.dtsi new file mode 100644 index 000000000000..72634a2d6351 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-misc.dtsi @@ -0,0 +1,54 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + earjack-debugger { + status = "disable"; + }; + + i2c@0 { + rt8542@39 { + status = "ok"; + rt8542,max_current = <0x0C>; /* 12.1mA */ + rt8542,max_brightness = <105>; /* 105 */ + rt8542,blmap = < + 10 10 12 12 12 14 14 16 16 18 + 18 19 19 20 20 22 22 22 24 24 + 26 26 28 28 29 29 30 30 32 32 + 32 34 34 36 36 38 38 39 39 40 + 40 42 42 42 44 44 46 46 48 48 + 49 49 50 50 52 52 52 54 54 56 + 56 58 58 59 59 60 60 62 62 62 + 64 64 66 66 68 68 69 69 70 70 + 72 72 72 74 74 76 76 78 78 79 + 79 80 80 82 82 82 84 84 86 86 + 88 88 89 89 90 90 92 92 92 94 + 94 96 96 96 98 98 99 99 100 100 + 102 102 104 104 105 105 105>; + }; + lp5521@32{ + status = "no"; + revision = "rev_a..."; + ti,led_en = <&msmgpio 6 0x0>; + ti,i2c-pull-up = <1>; + ti,vddio_i2c-supply = <&pm8110_l14>; + ti,vddio_i2c_supply_min = <1800000>; + ti,vddio_i2c_supply_max = <1800000>; + ti,vddio_i2c_load_ua = <10000>; + + }; + }; + + hall-bu52061nvx { + status = "ok"; + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-nfc.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-nfc.dtsi new file mode 100644 index 000000000000..8c3790009521 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-nfc.dtsi @@ -0,0 +1,31 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/* LGE_CHANGE_S, [NFC][seunghoon65.lee@lge.com], NFC Bring up l70p */ +&soc { + i2c@0 { + pn547@28 { + compatible = "nxp,pn547"; + status = "ok"; + reg = <0x28>; + interrupt-parent = <&msmgpio>; + interrupts = <99 0x2>; + nxp,gpio_sda = <&msmgpio 4 0x00>; + nxp,gpio_scl = <&msmgpio 5 0x00>; + nxp,gpio_ven = <&msmgpio 71 0x00>; + nxp,gpio_mode = <&msmgpio 70 0x00>; + nxp,gpio_irq = <&msmgpio 99 0x00>; + nxp,i2c-pull-up = <1>; + }; + }; +/* LGE_CHANGE_E, [NFC][seunghoon65.lee@lge.com], NFC Bring up l70p */ +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-panel.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-panel.dtsi new file mode 100644 index 000000000000..9f89439994a0 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-panel.dtsi @@ -0,0 +1,25 @@ +/* Copyright (c) 2013, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ +&mdss_mdp { + qcom,mdss-pref-prim-intf = "dsi"; +}; + +&mdss_dsi0 { + qcom,dsi-pref-prim-pan = <&dsi_lgd_incell_vid>; + qcom,platform-enable-gpio = <&msmgpio 6 0>; + qcom,platform-fd-gpio = <&msmgpio 20 0>; + qcom,platform-pmode-gpio = <&msmgpio 75 0>; +}; + +&dsi_lgd_incell_vid { +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-pm.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-pm.dtsi new file mode 100644 index 000000000000..bc801b6c89c4 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-pm.dtsi @@ -0,0 +1,299 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program 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. +*/ + +/ { + +}; + +&spmi_bus { + qcom,pm8110@0 { + qcom,power-on@800 { + compatible = "qcom,qpnp-power-on"; + qcom,s3-debounce = <128>; + qcom,system-reset; + reg = <0x800 0x100>; + qcom,pon_3 { + qcom,support-reset = <0>; + }; + }; + qcom,leds@a100 { + status = "okay"; + qcom,led_mpp_2 { + label = "mpp"; + linux,name = "button-backlight"; + linux-default-trigger = "hr-trigger"; + qcom,default-state = "off"; + qcom,max-current = <40>; + qcom,id = <6>; + qcom,source-sel = <1>; + qcom,mode-ctrl = <0x60>; + qcom,mode = "manual"; + }; + }; + + qcom,leds@a200 { + status = "disabled"; + qcom,led_mpp_3 { + label = "mpp"; + linux,name = "wled-backlight"; + linux,default-trigger = "bkl-trigger"; + qcom,default-state = "on"; + qcom,max-current = <40>; + qcom,id = <6>; + qcom,source-sel = <1>; + qcom,mode-ctrl = <0x10>; + qcom,mode = "manual"; + }; + }; + }; +}; + +&spmi_bus { + qcom,pm8110@1 { + qcom,vibrator@c000 { + status = "okay"; + qcom,vib-timeout-ms = <15000>; + qcom,vib-vtg-level-mV = <3100>; + }; + }; +}; + +&soc{ + /* Cable type definition. + * Modify the USB cable and move to SoC + * to get each table for different USB Pull up resistor via HW Rev + * This must have the compatible property "lge,usb-id". + * If you don't want to use revision you can remove status & revision property. + * If this node is not exist, the charger driver would not be probed. + * Each cable type has 3 values + * that we can configure the threshold of ADC value and TA/USB IUSB max current value. + * ex) + * cable type = . + */ + + lge,usb_cable@0 { + compatible = "lge,usb-id"; + usb_adc_table@665{ + status = "okay"; + revision = "rev_0"; + lge,no-init-cable = <100000 500 500>; + lge,cable-56k = <200000 1500 1500>; + lge,cable-100k = <239000 500 500>; + lge,cable-130k = <340000 1500 1500>; + lge,cable-180k = <400000 800 500>; + lge,cable-200k = <430000 800 500>; + lge,cable-220k = <485000 800 500>; + lge,cable-270k = <560000 800 500>; + lge,cable-330k = <735000 500 500>; + lge,cable-620k = <955000 500 500>; + lge,cable-910k = <1140000 1500 1500>; + lge,cable-none = <1900000 800 500>; + }; + usb_adc_table@200{ + status = "okay"; + revision = "rev_a..."; + lge,no-init-cable = <197000 500 500>; + lge,cable-56k = <496875 1500 1500>; + lge,cable-100k = <654545 500 500>; + lge,cable-130k = <780861 1500 1500>; + lge,cable-180k = <876316 800 500>; + lge,cable-200k = <921429 800 500>; + lge,cable-220k = <988450 800 500>; + lge,cable-270k = <1077399 800 500>; + lge,cable-330k = <1240865 500 500>; + lge,cable-620k = <1418326 500 500>; + lge,cable-910k = <1637838 1500 1500>; + lge,cable-none = <1900000 800 500>; + }; + }; +}; + +&pm8110_chg { + status = "ok"; + qcom,vddmax-mv = <4350>; + qcom,vddsafe-mv = <4380>; + qcom,vbatdet-mv = <4300>; + qcom,vinmin-mv = <4350>; + qcom,ibatterm-ma = <100>; + qcom,vbatdet-delta-mv = <100>; + qcom,tchg-mins = <480>; + qcom,duty-cycle-100p = <1>; + + qcom,chgr@1000 { + status = "ok"; + }; + + qcom,buck@1100 { + status = "ok"; + }; + + qcom,bat-if@1200 { + status = "ok"; + }; + + qcom,usb-chgpth@1300 { + status = "ok"; + }; + + qcom,chg-misc@1600 { + status = "ok"; + }; +}; + +&pm8110_gpios { + gpio@c000 { /* GPIO 1 */ /* NFC_CLK_REQ */ + }; + + gpio@c100 { /* GPIO 2 */ /* TX_GTR_THRESH */ + }; + + gpio@c200 { /* GPIO 3 */ /* NC */ + }; + + gpio@c300 { /* GPIO 4 */ /* BAT_UICC_ALARM */ + }; +}; + +&pm8110_mpps { + mpp@a000 { /* MPP 1 */ /* VDD_PX_BIAS */ + }; + + mpp@a100 { /* MPP 2 */ /* VPWR_KEY_LED */ +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [Start] */ + reg = <0xa100 0x100>; + qcom,pin-num = <2>; + + status = "ok"; + qcom,mode = <4>; /* QPNP_PIN_MODE_AIN */ + qcom,invert = <0>; /*no invert*/ + qcom,output-type = <0>; /* CMOS */ + qcom,vin-sel = <2>; /* PM8226_S3 1.8V > 1.6V */ + qcom,src-sel = <0>; /* CONSTANT */ + qcom,ain-route = <1>; + qcom,master-en = <1>; +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [End] */ + }; + + mpp@a200 { /* MPP 3 */ /* USB_ID */ + qcom,mode = <4>; /* QPNP_PIN_MODE_AIN */ + qcom,invert = <1>; /* QPNP_PIN_INVERT_ENABLE - Enable MPP */ + qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */ + qcom,master-en = <1>; /* Eable GPIO */ + qcom,ain-route = <2>; /* QPNP_PIN_AIN_AMUX_CH7 */ + }; + + mpp@a300 { /* MPP 4 */ /* PA_THERM */ + /* PA_THERM config */ + qcom,mode = <4>; /* AIN input */ + qcom,invert = <1>; /* Enable MPP */ + qcom,ain-route = <3>; /* AMUX 8 */ + qcom,master-en = <1>; + qcom,src-sel = <0>; /* Function constant */ + }; +}; + +&pm8110_bms { + status = "ok"; + + qcom,r-sense-uohm = <10000>; + qcom,v-cutoff-uv = <3300000>; + qcom,max-voltage-uv = <4350000>; + qcom,r-conn-mohm = <18>; + qcom,shutdown-soc-valid-limit = <20>; + qcom,adjust-soc-low-threshold = <25>; + qcom,adjust-soc-high-threshold = <45>; + qcom,ocv-voltage-high-threshold-uv = <3900000>; + qcom,ocv-voltage-low-threshold-uv = <3650000>; + qcom,low-soc-calculate-soc-threshold = <15>; + qcom,low-soc-calculate-soc-ms = <5000>; + qcom,calculate-soc-ms = <20000>; + qcom,low-voltage-calculate-soc-ms=<1000>; + qcom,chg-term-ua = <100000>; + qcom,batt-type = <0>; + qcom,low-voltage-threshold = <3320000>; +}; + +&pm8110_vadc { + +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [Start] */ + chan@11 { + status = "ok"; + label = "mpp2_adc"; + reg = <0x11>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; +/* 2013-08-08, seungkyu.joo ,Maxim Detector Button Setting [End] */ + + chan@12 { + label = "mpp3_usb_id"; + reg = <0x12>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; + + chan@13 { + label = "pa_therm0"; + reg = <0x13>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "ratiometric"; + qcom,scale-function = <2>; /* degC for 100k pull-up */ + qcom,hw-settle-time = <2>; + qcom,fast-avg-setup = <0>; + }; + + chan@33 { + label = "hw_id_pcb_revision"; + reg = <0x33>; + qcom,decimation = <0>; + qcom,pre-div-channel-scaling = <0>; + qcom,calibration-type = "absolute"; + qcom,scale-function = <0>; + qcom,hw-settle-time = <0>; + qcom,fast-avg-setup = <0>; + }; + +}; + +&rpm_bus { + + /* bohyun.jung@lge.com - FIX on LPDDR bit-flip */ + rpm-regulator-ldoa2 { + status = "okay"; + pm8110_l2: regulator-l2 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + qcom,init-voltage = <1225000>; + status = "okay"; + }; + }; + + rpm-regulator-ldoa7 { + status = "okay"; + pm8110_l7: regulator-l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,init-voltage = <1800000>; + status = "okay"; + }; + }; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-sensor.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-sensor.dtsi new file mode 100644 index 000000000000..82df34c368c9 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-sensor.dtsi @@ -0,0 +1,84 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +&soc { + /* I2C device */ + i2c@f9925000 { + /* Acceleration sensor */ + k2dh0@18 { + status = "okay"; + reg = <0x18>; + compatible = "st,k2dh"; + interrupt-parent = <&msmgpio>; + interrupts = <81 0x0>; + stm,sensor_vdd-supply = <&pm8110_l19>; + stm,sensor_vcc_i2c-supply = <&pm8110_l14>; + /* pinctrl-names = "default", "sleep";*/ + /* pinctrl-0 = <&k2dh_int_active>;*/ + /* pinctrl-1 = <&k2dh_int_suspend>; */ + st,gpio-int = <&msmgpio 81 0x0>; + axis_map_x = <0>; + axis_map_y = <1>; + axis_map_z = <2>; + negate_x = <0>; + negate_y = <1>; + negate_z = <1>; + }; + + /* Magnetic Sensor Driver */ + ak09911@0c { + status = "okay"; + reg = <0x0c>; + compatible = "ak,ak09911"; + akm,sensor_vdd-supply = <&pm8110_l19>; + akm,sensor_vcc_i2c-supply = <&pm8110_l14>; + /* pinctrl-names = "default", "sleep"; */ + /* pinctrl-0 = <&akm09911_active>; */ + /* pinctrl-1 = <&akm09911_suspend>; */ + akm,gpio_rstn = <&msmgpio 83 0x0>; + akm,layout = <0x0>; + akm,auto-report; + }; + + + /* Proximity sensor */ + Avago_apds9130@39 { + status = "okay"; + compatible = "Avago,apds9130"; + reg = <0x39>; + interrupt-parent = <&msmgpio>; + interrupts = <80 0x2>; + Avago,vdd_ana-supply = <&pm8110_l19>; + Avago,vddio_i2c-supply = <&pm8110_l14>; + Avago,irq-gpio = <&msmgpio 80 0x00>; + Avago,i2c-pull-up = <1>; + Avago,vdd_ana_supply_min = <2850000>; + Avago,vdd_ana_supply_max = <3300000>; + Avago,vdd_ana_load_ua = <15000>; + Avago,vddio_dig_supply_min = <1800000>; + Avago,vddio_dig_supply_max = <1800000>; + Avago,vddio_dig_load_ua = <10000>; + Avago,vddio_i2c_supply_min = <1800000>; + Avago,vddio_i2c_supply_max = <1800000>; + Avago,vddio_i2c_load_ua = <10000>; + /*add*/ + Avago,ppcount = <8>; + Avago,pdrive = <0>; + Avago,near_offset = <300>; + Avago,far_offset = <100>; + Avago,crosstalk_max = <770>; + Avago,bright_threshold = <2000>; + Avago,dark_threshold = <1000>; + }; + + }; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-usb.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-usb.dtsi new file mode 100644 index 000000000000..44d938008f8f --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn-usb.dtsi @@ -0,0 +1,15 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program 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. +*/ + +/ { + +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn.dtsi b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn.dtsi new file mode 100644 index 000000000000..cb7266b213af --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-l70pn.dtsi @@ -0,0 +1,155 @@ +/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + +/include/ "msm8610-l70pn-panel.dtsi" +/include/ "msm8610-l70pn-sensor.dtsi" +/include/ "msm8610-l70pn-hdmi.dtsi" +/include/ "msm8610-l70pn-usb.dtsi" +/include/ "msm8610-l70pn-input.dtsi" +/include/ "msm8610-l70pn-misc.dtsi" +/include/ "msm8610-l70pn-pm.dtsi" +/include/ "msm8610-l70pn-camera.dtsi" +/include/ "msm8610-l70pn-nfc.dtsi" /* LGE_CHANGE, [NFC][taesik.kim@lge.com], NFC Bring up */ + +&soc { + serial@f991f000 { + status = "disabled"; + }; + + maxim_max1462x_rev0 { //LGE_UPDATE 20130626 beekay.lee@lge.com WX_MAXIM + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_0"; + }; + + maxim_max1462x_revA { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_a"; + }; + + maxim_max1462x_revB { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_b"; + }; + + maxim_max1462x_revC { + compatible = "maxim,max1462x"; + status = "disable"; //"ok" or "disable" + revision = "rev_c..."; + }; + + i2c@f9924000 { /* BLSP-1 QUP-2 */ + cell-index = <2>; + compatible = "qcom,i2c-qup"; + #address-cells = <1>; + #size-cells = <0>; + reg-names = "qup_phys_addr"; + reg = <0xf9924000 0x1000>; + interrupt-names = "qup_err_intr"; + interrupts = <0 96 0>; + qcom,i2c-bus-freq = <100000>; + qcom,i2c-src-freq = <19200000>; + qcom,sda-gpio = <&msmgpio 6 0>; + qcom,scl-gpio = <&msmgpio 7 0>; + status = "disable"; + }; + + i2c@f9925000 { /* BLSP-1 QUP-3 */ + cell-index = <3>; + qcom,i2c-src-freq = <19200000>; + qcom,sda-gpio = <&msmgpio 10 0>; + qcom,scl-gpio = <&msmgpio 11 0>; + }; + + i2c@0 { + compatible = "i2c-gpio"; + gpios = <&msmgpio 4 0 /* sda */ + &msmgpio 5 0 /* scl */ + >; + #address-cells = <1>; + #size-cells = <0>; + i2c-gpio,delay-us = <2>; + }; + i2c@f9926000 { /* BLSP1 QUP4 */ + cell-index = <4>; + compatible = "qcom,i2c-qup"; + #address-cells = <1>; + #size-cells = <0>; + reg-names = "qup_phys_addr"; + reg = <0xf9926000 0x1000>; + interrupt-names = "qup_err_intr"; + interrupts = <0 98 0>; + qcom,i2c-bus-freq = <100000>; + qcom,i2c-src-freq = <19200000>; + revision = "rev_c..."; + }; +}; + +&sdhc_1 { + vdd-supply = <&pm8110_l17>; + qcom,vdd-always-on; + qcom,vdd-voltage-level = <2900000 2900000>; + qcom,vdd-current-level = <200 400000>; + + vdd-io-supply = <&pm8110_l6>; + qcom,vdd-io-always-on; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <200 60000>; + + qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ + qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ + + qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; + qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v"; + qcom,nonremovable; + + status = "ok"; +}; + +&sdhc_2 { + vdd-supply = <&pm8110_l18>; + qcom,vdd-voltage-level = <2950000 2950000>; + qcom,vdd-current-level = <15000 400000>; + + vdd-io-supply = <&pm8110_l21>; + qcom,vdd-io-voltage-level = <1800000 2950000>; + qcom,vdd-io-current-level = <200 50000>; + + qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ + qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ + qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ + + qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; + + #address-cells = <0>; + interrupt-parent = <&sdhc_2>; + interrupts = <0 1 2>; + #interrupt-cells = <1>; + interrupt-map-mask = <0xffffffff>; + interrupt-map = <0 &intc 0 125 0 + 1 &intc 0 221 0 + 2 &msmgpio 42 0x3>; + interrupt-names = "hc_irq", "pwr_irq", "status_irq"; + cd-gpios = <&msmgpio 42 0x0>; /* card detect 1:Low-Active, 0:High-Active */ + + status = "ok"; +}; +/* this memory reservation setting for LG logo in booting time*/ +&mdss_fb0 { + qcom,memory-reservation-type = "EBI1"; + qcom,memory-reservation-size = <0x300000>; +}; diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-v1-l70pn.dts b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-v1-l70pn.dts new file mode 100644 index 000000000000..6b53775a9ff6 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-v1-l70pn.dts @@ -0,0 +1,32 @@ +/* Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + + +/include/ "../msm8610-lge-common/msm8610-v1-lge.dtsi" +/include/ "msm8610-l70pn.dtsi" + + +/ { + model = "Qualcomm MSM 8610v1 l70pnglobalcom"; + compatible = "qcom,msm8610-l70pnglobalcom", "qcom,msm8610"; + /* + MSM8610 = 147, + MSM8110 = 161, + MSM8210 = 162, + MSM8810 = 163, + MSM8212 = 164, + MSM8612 = 165, + MSM8812 = 166, + */ + qcom,board-id = <122 0>; +}; + diff --git a/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-v2-l70pn.dts b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-v2-l70pn.dts new file mode 100644 index 000000000000..072e45126907 --- /dev/null +++ b/arch/arm/boot/dts/msm8610-l70pn_global_com/msm8610-v2-l70pn.dts @@ -0,0 +1,32 @@ +/* Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + */ + + +/include/ "../msm8610-lge-common/msm8610-v2-lge.dtsi" +/include/ "msm8610-l70pn.dtsi" + + +/ { + model = "Qualcomm MSM 8610v2 l70pnglobalcom"; + compatible = "qcom,msm8610-l70pnglobalcom", "qcom,msm8610"; + /* + MSM8610 = 147, + MSM8110 = 161, + MSM8210 = 162, + MSM8810 = 163, + MSM8212 = 164, + MSM8612 = 165, + MSM8812 = 166, + */ + qcom,board-id = <122 0>; +}; + diff --git a/arch/arm/boot/dts/msm8610-lge-common/msm8610-lge-panel.dtsi b/arch/arm/boot/dts/msm8610-lge-common/msm8610-lge-panel.dtsi old mode 100755 new mode 100644 index ab30746b63f0..83b28f976a0a --- a/arch/arm/boot/dts/msm8610-lge-common/msm8610-lge-panel.dtsi +++ b/arch/arm/boot/dts/msm8610-lge-common/msm8610-lge-panel.dtsi @@ -139,13 +139,13 @@ qcom,mdss-dsi-lane-0-state; qcom,mdss-dsi-lane-1-state; qcom,mdss-dsi-lane-map = "lane_map_3012"; - qcom,mdss-dsi-t-clk-pre = <0x17>; - qcom,mdss-dsi-t-clk-post = <0x04>; + qcom,mdss-dsi-t-clk-pre = <0x2D>; + qcom,mdss-dsi-t-clk-post = <0x19>; qcom,mdss-dsi-stream = <0>; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-dma-trigger = "trigger_sw"; qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-timings = [A6 89 15 00 90 8F 18 8B 0F 03 04 00]; + qcom,mdss-dsi-panel-timings = [A5 89 15 00 8F 8F 18 8B 0F 03 04 00]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; qcom,mdss-dsi-on-command = [ @@ -162,7 +162,7 @@ 39 01 00 00 00 00 02 B3 02 39 01 00 00 00 00 02 - B4 04 + B4 00 39 01 00 00 00 00 06 B5 40 10 10 00 00 39 01 00 00 00 00 07 @@ -176,17 +176,17 @@ 39 01 00 00 00 00 04 C6 41 63 03 39 01 00 00 00 00 0A - D0 00 24 67 02 00 00 20 00 02 + D0 10 76 54 02 00 00 31 03 02 39 01 00 00 00 00 0A - D1 00 24 67 02 00 00 20 00 02 + D1 10 76 54 02 00 00 31 03 02 39 01 00 00 00 00 0A - D2 00 24 67 02 00 00 20 00 02 + D2 10 76 54 02 00 00 31 03 02 39 01 00 00 00 00 0A - D3 00 24 67 02 00 00 20 00 02 + D3 10 76 54 02 00 00 31 03 02 39 01 00 00 00 00 0A - D4 00 24 67 02 00 00 20 00 02 + D4 10 76 54 02 00 00 31 03 02 39 01 00 00 00 00 0A - D5 00 24 67 02 00 00 20 00 02 + D5 10 76 54 02 00 00 31 03 02 05 01 00 00 78 00 01 11 05 01 00 00 28 00 01 @@ -409,7 +409,7 @@ qcom,mdss-dsi-v-back-porch = <14>; qcom,mdss-dsi-v-pulse-width = <4>; qcom,mdss-dsi-v-front-porch = <14>; - qcom,mdss-dsi-underflow-color = <0>; + qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <255>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; @@ -701,7 +701,7 @@ qcom,mdss-dsi-v-back-porch = <14>; qcom,mdss-dsi-v-pulse-width = <4>; qcom,mdss-dsi-v-front-porch = <14>; - qcom,mdss-dsi-underflow-color = <0>; + qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <255>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; @@ -1975,7 +1975,7 @@ 15 01 00 00 00 00 02 /* Power Control 1 */ 40 11 15 01 00 00 00 00 02 /* Power Control 2 */ - 41 33 + 41 66 15 01 00 00 00 00 02 /* Power Control 3 */ 42 02 15 01 00 00 00 00 02 /* Power Control 4*/ @@ -1983,15 +1983,15 @@ 15 01 00 00 00 00 02 /* Power Control 5 */ 44 06 15 01 00 00 00 00 02 /* Power Control 9 */ - 50 8E + 50 78 15 01 00 00 00 00 02 /* Power Control 10 */ - 51 8D + 51 78 15 01 00 00 00 00 02 /* VCOM Control 1~2 */ 52 00 15 01 00 00 00 00 02 /* VCOM Control 1~2 */ - 53 58 + 53 40 15 01 00 00 00 00 02 /* VCOM Control 3~4 */ - 60 0D + 60 07 15 01 00 00 00 00 02 /* VCOM Control 3~4 */ 61 00 15 01 00 00 00 00 02 /* VCOM Control 5 */ @@ -1999,69 +1999,69 @@ 15 01 00 00 00 00 02 /* VCOM Control 5 */ 63 00 15 01 00 00 00 00 02 /* Positive Gamma Control (01h~16h) */ - A0 00 + A0 05 15 01 00 00 00 00 02 - A1 00 + A1 0B 15 01 00 00 00 00 02 - A2 07 + A2 16 15 01 00 00 00 00 02 - A3 10 + A3 0F 15 01 00 00 00 00 02 - A4 0A + A4 05 15 01 00 00 00 00 02 - A5 1C + A5 05 15 01 00 00 00 00 02 - A6 0D + A6 0a 15 01 00 00 00 00 02 - A7 0A + A7 08 15 01 00 00 00 00 02 - A8 01 + A8 05 15 01 00 00 00 00 02 - A9 04 + A9 0A 15 01 00 00 00 00 02 - AA 07 + AA 15 15 01 00 00 00 00 02 - AB 0A + AB 06 15 01 00 00 00 00 02 - AC 0B + AC 0D 15 01 00 00 00 00 02 - AD 3F + AD 1B 15 01 00 00 00 00 02 - AE 33 + AE 12 15 01 00 00 00 00 02 - AF 08 + AF 00 15 01 00 00 00 00 02 /* Negative Gamma Control (01h~16h) */ - C0 00 + C0 05 15 01 00 00 00 00 02 C1 05 15 01 00 00 00 00 02 - C2 0F + C2 0B 15 01 00 00 00 00 02 - C3 11 + C3 16 15 01 00 00 00 00 02 - C4 0B + C4 05 15 01 00 00 00 00 02 - C5 1D + C5 05 15 01 00 00 00 00 02 - C6 09 + C6 0A 15 01 00 00 00 00 02 - C7 09 + C7 08 15 01 00 00 00 00 02 - C8 04 + C8 05 15 01 00 00 00 00 02 - C9 0B + C9 0A 15 01 00 00 00 00 02 - CA 02 + CA 15 15 01 00 00 00 00 02 - CB 00 + CB 06 15 01 00 00 00 00 02 - CC 0A + CC 0D 15 01 00 00 00 00 02 - CD 19 + CD 1B 15 01 00 00 00 00 02 - CE 19 + CE 12 15 01 00 00 00 00 02 - CF 08 + CF 00 39 01 00 00 00 00 06 /* Set EXTC - Change to page 7 */ FF FF 98 06 04 06 15 01 00 00 00 00 02 /* VGL_REG Enable */ @@ -2081,7 +2081,7 @@ 15 01 00 00 00 00 02 07 02 15 01 00 00 00 00 02 - 08 07 + 08 02 15 01 00 00 00 00 02 09 80 15 01 00 00 00 00 02 @@ -2300,4 +2300,141 @@ 10 00 ]; }; + + /* L70P LGD Incell WVGA VIDEO*/ + dsi_lgd_incell_vid: qcom,mdss_dsi_lgd_incell_video{ + lge,has-dsv; + compatible = "qcom,mdss-dsi-panel"; + status = "disable"; + qcom,cont-splash-enabled; + qcom,mdss-dsi-panel-name = "LGD WVGA incell video mode dsi panel"; + qcom,mdss-dsi-panel-controller = <&mdss_dsi0>; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,mdss-dsi-panel-destination = "display_1"; + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-panel-width = <480>; + qcom,mdss-dsi-panel-height = <800>; + qcom,mdss-dsi-h-front-porch = <24>; + qcom,mdss-dsi-h-back-porch = <88>; + qcom,mdss-dsi-h-pulse-width = <8>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <11>; + qcom,mdss-dsi-v-front-porch = <1050>; + qcom,mdss-dsi-v-pulse-width = <4>; + qcom,mdss-dsi-h-left-border = <0>; + qcom,mdss-dsi-h-right-border = <0>; + qcom,mdss-dsi-v-top-border = <0>; + qcom,mdss-dsi-v-bottom-border = <0>; + qcom,mdss-pan-physical-width-dimension = < 58 >; + qcom,mdss-pan-physical-height-dimension = < 98 >; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-color-order = "rgb_swap_rgb"; + qcom,mdss-dsi-underflow-color = <0xff>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 08 + B7 00 1B 1B 1B 1B 1B 1B + 39 01 00 00 00 00 07 + B6 06 0A 34 23 41 0A + 39 01 00 00 00 00 05 + B8 00 42 12 F7 + + 15 01 00 00 00 00 02 + B0 00 + 15 01 00 00 00 00 02 + 55 00 + + 39 01 00 00 00 00 0B + B5 43 A0 01 12 06 00 00 00 00 48 + 39 01 00 00 00 00 07 + B4 01 0D 02 02 02 02 + + 15 01 00 00 00 00 02 + B2 00 + 39 01 00 00 00 00 05 + B1 C6 1E 0F 00 + 39 01 00 00 00 00 04 + B9 00 03 04 + 15 01 00 00 00 00 02 + BB 24 + + 15 01 00 00 00 00 02 + 36 00 + + 39 01 00 00 00 00 02 + D9 A0 + 39 01 00 00 00 00 03 + F8 00 06 + 39 01 00 00 00 00 03 + D7 00 A6 + 39 01 00 00 00 00 03 + BD 00 23 + + 39 01 00 00 00 00 0A + D0 00 26 74 14 00 00 32 03 03 + 39 01 00 00 00 00 0A + D1 00 26 74 14 00 00 32 03 03 + 39 01 00 00 00 00 0A + D2 00 26 74 14 00 00 32 03 03 + 39 01 00 00 00 00 0A + D3 00 26 74 14 00 00 32 03 03 + 39 01 00 00 00 00 0A + D4 00 26 74 14 00 00 32 03 03 + 39 01 00 00 00 00 0A + D5 00 26 74 14 00 00 32 03 03 + /* Disable Image Enhancer */ + /* Image Enhancer for Sharpen */ + 39 01 00 00 00 00 04 + 61 18 34 00 + /* Image Enhancer for Contrast */ + 39 01 00 00 00 00 04 + 62 3F 30 FF + /* Prefer Color Compensation */ + 39 01 00 00 00 00 02 + 63 00 + 39 01 00 00 00 00 1D + 64 81 7F 81 7F 7F 4D AD 85 6A + 99 9B 8C 7D 41 97 5F 64 22 6E + 19 44 69 B0 9C 7D 41 A5 5F + ]; + lge,display-on-cmds = [ + 39 01 00 00 00 00 02 + FE 00 + 05 01 00 00 78 00 02 + 11 00 + 05 01 00 00 00 00 02 + 29 00 + ]; + qcom,mdss-dsi-off-command = [ + 05 01 00 00 64 00 02 + 10 00 + 39 01 00 00 00 00 02 + FE 05 + 39 01 00 00 00 00 03 + D8 10 00 + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-h-sync-pulse = <0>; + qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; + qcom,mdss-dsi-lane-map = "lane_map_3012"; + //qcom,mdss-dsi-hfp-power-mode; + //qcom,mdss-dsi-hbp-power-mode; + //qcom,mdss-dsi-hsa-power-mode; + qcom,mdss-dsi-bllp-eof-power-mode; + //qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-lane-0-state; + qcom,mdss-dsi-lane-1-state; + qcom,mdss-dsi-panel-timings = [DC 97 34 00 A7 A9 35 99 28 03 04 00]; + qcom,mdss-dsi-t-clk-pre = <0x34>; + qcom,mdss-dsi-t-clk-post = <0x19>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <255>; + qcom,mdss-dsi-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; + qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 20>; + }; }; diff --git a/arch/arm/configs/L70p_global_com_defconfig b/arch/arm/configs/L70p_global_com_defconfig new file mode 100644 index 000000000000..d3e32e9dfe9f --- /dev/null +++ b/arch/arm/configs/L70p_global_com_defconfig @@ -0,0 +1,531 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +CONFIG_LZ4_COMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_AUDIT=y +CONFIG_RCU_FAST_NO_HZ=y +CONFIG_IKCONFIG=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_PANIC_TIMEOUT=5 +CONFIG_KALLSYMS_ALL=y +CONFIG_EMBEDDED=y +CONFIG_PROFILING=y +CONFIG_OPROFILE=m +CONFIG_KPROBES=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_EFI_PARTITION=y +CONFIG_IOSCHED_TEST=y +CONFIG_ARCH_MSM=y +CONFIG_ARCH_MSM8610=y +CONFIG_MACH_MSM8X10_L70P=y +CONFIG_MACH_MSM8X10_L70P_GLOBAL_COM=y +CONFIG_LGE_BOOTLOADER_LOG=y +CONFIG_LGE_HANDLE_PANIC=y +CONFIG_LGE_BOOTLOADER_TIME_CHECKER=y +CONFIG_LGE_USE_CPU_CLOCK_TIMESTAMP=y +CONFIG_LGE_QFPROM_INTERFACE=y +CONFIG_LGE_PM_BATTERY_CAPACITY_1900mAh=y +CONFIG_LGE_CRASH_FOOTPRINT=y +# CONFIG_MSM_STACKED_MEMORY is not set +CONFIG_CPU_HAS_L2_PMU=y +# CONFIG_MSM_FIQ_SUPPORT is not set +# CONFIG_MSM_PROC_COMM is not set +CONFIG_MSM_SMD=y +CONFIG_MSM_SMD_PKG4=y +CONFIG_MSM_BAM_DMUX=y +CONFIG_MSM_SMP2P=y +CONFIG_MSM_SMP2P_TEST=y +CONFIG_MSM_IPC_LOGGING=y +CONFIG_MSM_IPC_ROUTER=y +CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y +CONFIG_MSM_QMI_INTERFACE=y +CONFIG_MSM_SUBSYSTEM_RESTART=y +CONFIG_MSM_SYSMON_COMM=y +CONFIG_MSM_PIL_LPASS_QDSP6V5=y +CONFIG_MSM_PIL_MSS_QDSP6V5=y +CONFIG_MSM_PIL_VENUS=y +CONFIG_MSM_PIL_PRONTO=y +CONFIG_MSM_BUSPM_DEV=m +CONFIG_MSM_TZ_LOG=y +CONFIG_MSM_RPM_RBCPR_STATS_V2_LOG=y +CONFIG_MSM_DIRECT_SCLK_ACCESS=y +CONFIG_MSM_WATCHDOG_V2=y +CONFIG_MSM_MEMORY_DUMP=y +CONFIG_MSM_DLOAD_MODE=y +CONFIG_MSM_ADSP_LOADER=y +CONFIG_MSM_OCMEM=y +CONFIG_MSM_OCMEM_LOCAL_POWER_CTRL=y +CONFIG_MSM_OCMEM_DEBUG=y +CONFIG_MSM_OCMEM_NONSECURE=y +CONFIG_MSM_OCMEM_POWER_DISABLE=y +CONFIG_MSM_ENABLE_WDOG_DEBUG_CONTROL=y +CONFIG_MSM_BOOT_STATS=y +CONFIG_HAS_MACH_MEMUTILS=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_SMP=y +CONFIG_SCHED_MC=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_PREEMPT=y +CONFIG_AEABI=y +CONFIG_HIGHMEM=y +CONFIG_COMPACTION=y +CONFIG_KSM=y +CONFIG_CP_ACCESS=y +CONFIG_USE_OF=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +CONFIG_CPU_IDLE=y +CONFIG_VFP=y +CONFIG_NEON=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_PM_AUTOSLEEP=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=0 +# CONFIG_PM_WAKELOCKS_GC is not set +CONFIG_PM_RUNTIME=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +CONFIG_XFRM_STATISTICS=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_IPCOMP=y +# CONFIG_INET_LRO is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NETFILTER_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_LOG=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_REJECT_SKERR=y +CONFIG_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_TARGET_REJECT_SKERR=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_BRIDGE_NF_EBTABLES=y +CONFIG_BRIDGE_EBT_BROUTE=y +CONFIG_L2TP=y +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_ACT=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HCISMD=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_LGE_NFC=y +CONFIG_LGE_NFC_PN547=y +CONFIG_LGE_NFC_SET_IRQ_WAKEUP=y +CONFIG_CMA=y +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_UID_STAT=y +CONFIG_TSPDRV=y +CONFIG_TSPDRV_3_0V_VIBRATOR=y +CONFIG_QSEECOM=y +CONFIG_BU52061NVX=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_TUN=y +# CONFIG_MSM_RMNET is not set +CONFIG_MSM_RMNET_BAM=y +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOL2TP=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +CONFIG_WCNSS_CORE=y +CONFIG_WCNSS_CORE_PRONTO=y +CONFIG_WCNSS_MEM_PRE_ALLOC=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_INPUT_SENSOR=y +CONFIG_SENSORS_BMA2X2=y +CONFIG_SENSORS_BMM050=y +CONFIG_SENSOR_APDS9130=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_GEN_VKEYS=y +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI4_DEV=y +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE=y +CONFIG_TOUCHSCREEN_APS_MELFAS=y +CONFIG_TOUCHSCREEN_ADS_AGS04=y +CONFIG_LGE_TOUCHSCREEN_SYNAPTIC=y +CONFIG_TOUCHSCREEN_MELFAS_MMS100S=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_KEYCHORD=y +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_GPIO=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_N_HDLC=y +CONFIG_SERIAL_MSM_HSL=y +CONFIG_SERIAL_MSM_HSL_CONSOLE=y +CONFIG_LGE_DEBUG_UART=y +CONFIG_DIAG_CHAR=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_MSM=y +CONFIG_MSM_ADSPRPC=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_QUP=y +CONFIG_SPI=y +CONFIG_SPI_QUP=y +CONFIG_SPI_SPIDEV=m +CONFIG_SPMI=y +CONFIG_SPMI_MSM_PMIC_ARB=y +CONFIG_MSM_QPNP_INT=y +CONFIG_SLIMBUS_MSM_NGD=y +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_QPNP_PIN=y +CONFIG_POWER_SUPPLY=y +CONFIG_QPNP_CHARGER=y +CONFIG_BATTERY_BCL=y +CONFIG_QPNP_BMS=y +CONFIG_LGE_PM=y +CONFIG_LGE_PM_BATTERY_ID_CHECKER=y +CONFIG_LGE_PM_FACTORY_PSEUDO_BATTERY=y +CONFIG_LGE_PM_FACTORY_TESTMODE=y +CONFIG_LGE_PM_USB_ID=y +CONFIG_LGE_PM_CHARGING_CHARGERLOGO=y +CONFIG_LGE_PM_CHARGING_TEMP_SCENARIO=y +CONFIG_LGE_PM_BATTERY_PROFILE_DATA=y +CONFIG_LGE_PM_BATTERY_SOC_RESCALING=y +CONFIG_LGE_PM_BMS_MIN_IAVG_CAL_TIME=y +CONFIG_LGE_PM_BMS_VERY_LOW_CAL_TIME=y +CONFIG_LGE_PM_NEED_TO_MONITORING_QCT_PATCH=y +CONFIG_LGE_PM_4_25V_CHARGING_START=y +CONFIG_LGE_PM_SMPL_COUNT=y +CONFIG_LGE_PM_THERMAL=y +CONFIG_LGE_PM_PWR_KEY_FOR_CHG_LOGO=y +CONFIG_LGE_PM_WORKAROUND_PORT_OPEN_FAIL_IN_FACTORY_TEST=y +CONFIG_LGE_PM_BMS_FACTORY_TEST=y +CONFIG_LGE_PM_BMS_CC_ACCURACY_PATCH=y +CONFIG_LGE_PM_WORKAROUND_USB_VALID_BY_REVERSE_BOOST=y +CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y +CONFIG_SENSORS_QPNP_ADC_CURRENT=y +CONFIG_THERMAL=y +CONFIG_THERMAL_TSENS8974=y +CONFIG_THERMAL_MONITOR=y +CONFIG_THERMAL_QPNP=y +CONFIG_THERMAL_QPNP_ADC_TM=y +CONFIG_WCD9306_CODEC=y +CONFIG_REGULATOR_STUB=y +CONFIG_REGULATOR_QPNP=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +# CONFIG_MSM_CAMERA is not set +CONFIG_MSMB_CAMERA=y +CONFIG_MSM_CAMERA_SENSOR=y +CONFIG_MSM_CCI=y +CONFIG_MSM_CSI22_HEADER=y +CONFIG_MSM_CSIPHY=y +CONFIG_MSM_CSID=y +CONFIG_MSM_EEPROM=y +CONFIG_MSM_ISPIF=y +CONFIG_MSM_ISPIF_V1=y +CONFIG_IMX111=y +CONFIG_IMX219=y +CONFIG_HI543=y +CONFIG_HI707=y +CONFIG_BACKLIGHT_RT8542=y +CONFIG_MSM_VIDC_V4L2=y +CONFIG_MSM_WFD=y +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +CONFIG_VIDEOBUF2_MSM_MEM=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_RADIO_IRIS=y +CONFIG_RADIO_IRIS_TRANSPORT=m +CONFIG_ION=y +CONFIG_ION_MSM=y +CONFIG_MSM_KGSL=y +CONFIG_KGSL_PER_PROCESS_PAGE_TABLE=y +CONFIG_FB=y +CONFIG_FB_MSM=y +# CONFIG_FB_MSM_BACKLIGHT is not set +CONFIG_FB_MSM_MDSS=y +CONFIG_FB_MSM_MDSS_WRITEBACK=y +CONFIG_FB_MSM_MDSS_MDP3=y +CONFIG_LCD_KCAL=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_MSM8X10=y +CONFIG_UHID=y +CONFIG_HID_APPLE=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DEBUG_FILES=y +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_CI13XXX_MSM=y +CONFIG_USB_G_ANDROID=y +CONFIG_LAF_G_DRIVER=y +CONFIG_USB_G_LGE_ANDROID_PFSC=y +CONFIG_USB_G_LGE_ANDROID_AUTORUN=y +CONFIG_USB_G_LGE_ANDROID_AUTORUN_LGE=y +CONFIG_MMC=y +CONFIG_MMC_PERF_PROFILING=y +CONFIG_MMC_UNSAFE_RESUME=y +CONFIG_MMC_CLKGATE=y +CONFIG_MMC_EMBEDDED_SDIO=y +CONFIG_MMC_PARANOID_SD_INIT=y +CONFIG_LGE_REINIT_SDCARD_FOR_DETECT_FAIL=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_TEST=m +CONFIG_MMC_BLOCK_TEST=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_MSM=y +CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_MSM_SPS_SUPPORT=y +CONFIG_LEDS_QPNP=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_SWITCH=y +CONFIG_SWITCH_MAX1462X=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DRV_MSM is not set +CONFIG_RTC_DRV_QPNP=y +CONFIG_UIO=y +CONFIG_UIO_MSM_SHAREDMEM=y +CONFIG_STAGING=y +CONFIG_ZRAM=y +CONFIG_ZRAM_LZ4_COMPRESS=y +CONFIG_ZSMALLOC=y +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ASHMEM=y +CONFIG_ANDROID_LOGGER=y +CONFIG_LOGCAT_SIZE=64 +CONFIG_ANDROID_RAM_CONSOLE=y +CONFIG_ANDROID_TIMED_GPIO=y +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_PRONTO_WLAN=y +CONFIG_PRIMA_WLAN_LFR=y +CONFIG_PRIMA_WLAN_OKC=y +CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y +CONFIG_WLAN_FEATURE_11W=y +CONFIG_QCOM_VOWIFI_11R=y +CONFIG_SPS=y +CONFIG_USB_BAM=y +CONFIG_SPS_SUPPORT_NDP_BAM=y +CONFIG_QPNP_PWM=y +CONFIG_QPNP_POWER_ON=y +CONFIG_QPNP_VIBRATOR=y +CONFIG_QPNP_REVID=y +CONFIG_MSM_IOMMU_V0=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT3_FS=y +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FUSE_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_ECRYPT_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_PRINTK_TIME=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_ENABLE_DEFAULT_TRACERS=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_SET_MODULE_RONX=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_LSM_MMAP_MIN_ADDR=4096 +CONFIG_SECURITY_SELINUX=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_TWOFISH=y +# CONFIG_CRYPTO_HW is not set +CONFIG_LGE_DM_APP=y +CONFIG_LGE_DM_DEV=y diff --git a/arch/arm/configs/L70pds_global_com_defconfig b/arch/arm/configs/L70pds_global_com_defconfig new file mode 100644 index 000000000000..6230873e42a8 --- /dev/null +++ b/arch/arm/configs/L70pds_global_com_defconfig @@ -0,0 +1,525 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +CONFIG_LZ4_COMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_AUDIT=y +CONFIG_RCU_FAST_NO_HZ=y +CONFIG_IKCONFIG=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_PANIC_TIMEOUT=5 +CONFIG_KALLSYMS_ALL=y +CONFIG_EMBEDDED=y +CONFIG_PROFILING=y +CONFIG_OPROFILE=m +CONFIG_KPROBES=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_EFI_PARTITION=y +CONFIG_IOSCHED_TEST=y +CONFIG_ARCH_MSM=y +CONFIG_ARCH_MSM8610=y +CONFIG_MACH_MSM8X10_L70PDS=y +CONFIG_MACH_MSM8X10_L70PDS_GLOBAL_COM=y +CONFIG_LGE_BOOTLOADER_LOG=y +CONFIG_LGE_HANDLE_PANIC=y +CONFIG_LGE_BOOTLOADER_TIME_CHECKER=y +CONFIG_LGE_USE_CPU_CLOCK_TIMESTAMP=y +CONFIG_LGE_QFPROM_INTERFACE=y +CONFIG_LGE_PM_BATTERY_CAPACITY_1900mAh=y +CONFIG_LGE_CRASH_FOOTPRINT=y +# CONFIG_MSM_STACKED_MEMORY is not set +CONFIG_CPU_HAS_L2_PMU=y +# CONFIG_MSM_FIQ_SUPPORT is not set +# CONFIG_MSM_PROC_COMM is not set +CONFIG_MSM_SMD=y +CONFIG_MSM_SMD_PKG4=y +CONFIG_MSM_BAM_DMUX=y +CONFIG_MSM_SMP2P=y +CONFIG_MSM_SMP2P_TEST=y +CONFIG_MSM_IPC_LOGGING=y +CONFIG_MSM_IPC_ROUTER=y +CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y +CONFIG_MSM_QMI_INTERFACE=y +CONFIG_MSM_SUBSYSTEM_RESTART=y +CONFIG_MSM_SYSMON_COMM=y +CONFIG_MSM_PIL_LPASS_QDSP6V5=y +CONFIG_MSM_PIL_MSS_QDSP6V5=y +CONFIG_MSM_PIL_VENUS=y +CONFIG_MSM_PIL_PRONTO=y +CONFIG_MSM_BUSPM_DEV=m +CONFIG_MSM_TZ_LOG=y +CONFIG_MSM_RPM_RBCPR_STATS_V2_LOG=y +CONFIG_MSM_DIRECT_SCLK_ACCESS=y +CONFIG_MSM_WATCHDOG_V2=y +CONFIG_MSM_MEMORY_DUMP=y +CONFIG_MSM_DLOAD_MODE=y +CONFIG_MSM_ADSP_LOADER=y +CONFIG_MSM_OCMEM=y +CONFIG_MSM_OCMEM_LOCAL_POWER_CTRL=y +CONFIG_MSM_OCMEM_DEBUG=y +CONFIG_MSM_OCMEM_NONSECURE=y +CONFIG_MSM_OCMEM_POWER_DISABLE=y +CONFIG_MSM_ENABLE_WDOG_DEBUG_CONTROL=y +CONFIG_MSM_BOOT_STATS=y +CONFIG_HAS_MACH_MEMUTILS=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_SMP=y +CONFIG_SCHED_MC=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_PREEMPT=y +CONFIG_AEABI=y +CONFIG_HIGHMEM=y +CONFIG_COMPACTION=y +CONFIG_KSM=y +CONFIG_CP_ACCESS=y +CONFIG_USE_OF=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +CONFIG_CPU_IDLE=y +CONFIG_VFP=y +CONFIG_NEON=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_PM_AUTOSLEEP=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=0 +# CONFIG_PM_WAKELOCKS_GC is not set +CONFIG_PM_RUNTIME=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +CONFIG_XFRM_STATISTICS=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_IPCOMP=y +# CONFIG_INET_LRO is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NETFILTER_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_LOG=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_REJECT_SKERR=y +CONFIG_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_TARGET_REJECT_SKERR=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_BRIDGE_NF_EBTABLES=y +CONFIG_BRIDGE_EBT_BROUTE=y +CONFIG_L2TP=y +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_ACT=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HCISMD=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_CMA=y +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_UID_STAT=y +CONFIG_TSPDRV=y +CONFIG_TSPDRV_3_0V_VIBRATOR=y +CONFIG_QSEECOM=y +CONFIG_BU52061NVX=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_TUN=y +# CONFIG_MSM_RMNET is not set +CONFIG_MSM_RMNET_BAM=y +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOL2TP=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +CONFIG_WCNSS_CORE=y +CONFIG_WCNSS_CORE_PRONTO=y +CONFIG_WCNSS_MEM_PRE_ALLOC=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_INPUT_SENSOR=y +CONFIG_SENSORS_BMA2X2=y +CONFIG_SENSORS_BMM050=y +CONFIG_SENSOR_APDS9130=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_GEN_VKEYS=y +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI4_DEV=y +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE=y +CONFIG_LGE_TOUCHSCREEN_SYNAPTIC=y +CONFIG_TOUCHSCREEN_MELFAS_MMS100S=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_KEYCHORD=y +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_GPIO=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_N_HDLC=y +CONFIG_SERIAL_MSM_HSL=y +CONFIG_SERIAL_MSM_HSL_CONSOLE=y +CONFIG_LGE_DEBUG_UART=y +CONFIG_DIAG_CHAR=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_MSM=y +CONFIG_MSM_ADSPRPC=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_QUP=y +CONFIG_SPI=y +CONFIG_SPI_QUP=y +CONFIG_SPI_SPIDEV=m +CONFIG_SPMI=y +CONFIG_SPMI_MSM_PMIC_ARB=y +CONFIG_MSM_QPNP_INT=y +CONFIG_SLIMBUS_MSM_NGD=y +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_QPNP_PIN=y +CONFIG_POWER_SUPPLY=y +CONFIG_QPNP_CHARGER=y +CONFIG_BATTERY_BCL=y +CONFIG_QPNP_BMS=y +CONFIG_LGE_PM=y +CONFIG_LGE_PM_BATTERY_ID_CHECKER=y +CONFIG_LGE_PM_FACTORY_PSEUDO_BATTERY=y +CONFIG_LGE_PM_FACTORY_TESTMODE=y +CONFIG_LGE_PM_USB_ID=y +CONFIG_LGE_PM_CHARGING_CHARGERLOGO=y +CONFIG_LGE_PM_CHARGING_TEMP_SCENARIO=y +CONFIG_LGE_PM_BATTERY_PROFILE_DATA=y +CONFIG_LGE_PM_BATTERY_SOC_RESCALING=y +CONFIG_LGE_PM_BMS_MIN_IAVG_CAL_TIME=y +CONFIG_LGE_PM_BMS_VERY_LOW_CAL_TIME=y +CONFIG_LGE_PM_NEED_TO_MONITORING_QCT_PATCH=y +CONFIG_LGE_PM_4_25V_CHARGING_START=y +CONFIG_LGE_PM_SMPL_COUNT=y +CONFIG_LGE_PM_THERMAL=y +CONFIG_LGE_PM_PWR_KEY_FOR_CHG_LOGO=y +CONFIG_LGE_PM_WORKAROUND_PORT_OPEN_FAIL_IN_FACTORY_TEST=y +CONFIG_LGE_PM_BMS_FACTORY_TEST=y +CONFIG_LGE_PM_BMS_CC_ACCURACY_PATCH=y +CONFIG_LGE_PM_WORKAROUND_USB_VALID_BY_REVERSE_BOOST=y +CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y +CONFIG_SENSORS_QPNP_ADC_CURRENT=y +CONFIG_THERMAL=y +CONFIG_THERMAL_TSENS8974=y +CONFIG_THERMAL_MONITOR=y +CONFIG_THERMAL_QPNP=y +CONFIG_THERMAL_QPNP_ADC_TM=y +CONFIG_WCD9306_CODEC=y +CONFIG_REGULATOR_STUB=y +CONFIG_REGULATOR_QPNP=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +# CONFIG_MSM_CAMERA is not set +CONFIG_MSMB_CAMERA=y +CONFIG_MSM_CAMERA_SENSOR=y +CONFIG_MSM_CCI=y +CONFIG_MSM_CSI22_HEADER=y +CONFIG_MSM_CSIPHY=y +CONFIG_MSM_CSID=y +CONFIG_MSM_EEPROM=y +CONFIG_MSM_ISPIF=y +CONFIG_MSM_ISPIF_V1=y +CONFIG_HI543=y +CONFIG_IMX111=y +CONFIG_IMX219=y +CONFIG_HI707=y +CONFIG_BACKLIGHT_RT8542=y +CONFIG_MSM_VIDC_V4L2=y +CONFIG_MSM_WFD=y +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +CONFIG_VIDEOBUF2_MSM_MEM=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_RADIO_IRIS=y +CONFIG_RADIO_IRIS_TRANSPORT=m +CONFIG_ION=y +CONFIG_ION_MSM=y +CONFIG_MSM_KGSL=y +CONFIG_KGSL_PER_PROCESS_PAGE_TABLE=y +CONFIG_FB=y +CONFIG_FB_MSM=y +# CONFIG_FB_MSM_BACKLIGHT is not set +CONFIG_FB_MSM_MDSS=y +CONFIG_FB_MSM_MDSS_WRITEBACK=y +CONFIG_FB_MSM_MDSS_MDP3=y +CONFIG_LCD_KCAL=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_MSM8X10=y +CONFIG_UHID=y +CONFIG_HID_APPLE=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DEBUG_FILES=y +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_CI13XXX_MSM=y +CONFIG_USB_G_ANDROID=y +CONFIG_LAF_G_DRIVER=y +CONFIG_USB_G_LGE_ANDROID_PFSC=y +CONFIG_USB_G_LGE_ANDROID_AUTORUN=y +CONFIG_USB_G_LGE_ANDROID_AUTORUN_LGE=y +CONFIG_MMC=y +CONFIG_MMC_PERF_PROFILING=y +CONFIG_MMC_UNSAFE_RESUME=y +CONFIG_MMC_CLKGATE=y +CONFIG_MMC_EMBEDDED_SDIO=y +CONFIG_MMC_PARANOID_SD_INIT=y +CONFIG_LGE_REINIT_SDCARD_FOR_DETECT_FAIL=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_TEST=m +CONFIG_MMC_BLOCK_TEST=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_MSM=y +CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_MSM_SPS_SUPPORT=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_SWITCH=y +CONFIG_SWITCH_MAX1462X=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DRV_MSM is not set +CONFIG_RTC_DRV_QPNP=y +CONFIG_UIO=y +CONFIG_UIO_MSM_SHAREDMEM=y +CONFIG_STAGING=y +CONFIG_ZRAM=y +CONFIG_ZRAM_LZ4_COMPRESS=y +CONFIG_ZSMALLOC=y +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ASHMEM=y +CONFIG_ANDROID_LOGGER=y +CONFIG_LOGCAT_SIZE=64 +CONFIG_ANDROID_RAM_CONSOLE=y +CONFIG_ANDROID_TIMED_GPIO=y +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_PRONTO_WLAN=y +CONFIG_PRIMA_WLAN_LFR=y +CONFIG_PRIMA_WLAN_OKC=y +CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y +CONFIG_WLAN_FEATURE_11W=y +CONFIG_QCOM_VOWIFI_11R=y +CONFIG_SPS=y +CONFIG_USB_BAM=y +CONFIG_SPS_SUPPORT_NDP_BAM=y +CONFIG_QPNP_PWM=y +CONFIG_QPNP_POWER_ON=y +CONFIG_QPNP_VIBRATOR=y +CONFIG_QPNP_REVID=y +CONFIG_MSM_IOMMU_V0=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT3_FS=y +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FUSE_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_ECRYPT_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_PRINTK_TIME=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_ENABLE_DEFAULT_TRACERS=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_SET_MODULE_RONX=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_LSM_MMAP_MIN_ADDR=4096 +CONFIG_SECURITY_SELINUX=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_TWOFISH=y +# CONFIG_CRYPTO_HW is not set +CONFIG_LGE_DM_APP=y +CONFIG_LGE_DM_DEV=y diff --git a/arch/arm/configs/L70pn_global_com_defconfig b/arch/arm/configs/L70pn_global_com_defconfig new file mode 100644 index 000000000000..8c395e27cb61 --- /dev/null +++ b/arch/arm/configs/L70pn_global_com_defconfig @@ -0,0 +1,530 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +CONFIG_LZ4_COMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_AUDIT=y +CONFIG_RCU_FAST_NO_HZ=y +CONFIG_IKCONFIG=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_PANIC_TIMEOUT=5 +CONFIG_KALLSYMS_ALL=y +CONFIG_EMBEDDED=y +CONFIG_PROFILING=y +CONFIG_OPROFILE=m +CONFIG_KPROBES=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_EFI_PARTITION=y +CONFIG_IOSCHED_TEST=y +CONFIG_ARCH_MSM=y +CONFIG_ARCH_MSM8610=y +CONFIG_MACH_MSM8X10_l70PN=y +CONFIG_MACH_MSM8X10_L70PN_GLOBAL_COM=y +CONFIG_LGE_BOOTLOADER_LOG=y +CONFIG_LGE_HANDLE_PANIC=y +CONFIG_LGE_BOOTLOADER_TIME_CHECKER=y +CONFIG_LGE_USE_CPU_CLOCK_TIMESTAMP=y +CONFIG_LGE_QFPROM_INTERFACE=y +CONFIG_LGE_PM_BATTERY_CAPACITY_1900mAh=y +CONFIG_LGE_CRASH_FOOTPRINT=y +# CONFIG_MSM_STACKED_MEMORY is not set +CONFIG_CPU_HAS_L2_PMU=y +# CONFIG_MSM_FIQ_SUPPORT is not set +# CONFIG_MSM_PROC_COMM is not set +CONFIG_MSM_SMD=y +CONFIG_MSM_SMD_PKG4=y +CONFIG_MSM_BAM_DMUX=y +CONFIG_MSM_SMP2P=y +CONFIG_MSM_SMP2P_TEST=y +CONFIG_MSM_IPC_LOGGING=y +CONFIG_MSM_IPC_ROUTER=y +CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y +CONFIG_MSM_QMI_INTERFACE=y +CONFIG_MSM_SUBSYSTEM_RESTART=y +CONFIG_MSM_SYSMON_COMM=y +CONFIG_MSM_PIL_LPASS_QDSP6V5=y +CONFIG_MSM_PIL_MSS_QDSP6V5=y +CONFIG_MSM_PIL_VENUS=y +CONFIG_MSM_PIL_PRONTO=y +CONFIG_MSM_BUSPM_DEV=m +CONFIG_MSM_TZ_LOG=y +CONFIG_MSM_RPM_RBCPR_STATS_V2_LOG=y +CONFIG_MSM_DIRECT_SCLK_ACCESS=y +CONFIG_MSM_WATCHDOG_V2=y +CONFIG_MSM_MEMORY_DUMP=y +CONFIG_MSM_DLOAD_MODE=y +CONFIG_MSM_ADSP_LOADER=y +CONFIG_MSM_OCMEM=y +CONFIG_MSM_OCMEM_LOCAL_POWER_CTRL=y +CONFIG_MSM_OCMEM_DEBUG=y +CONFIG_MSM_OCMEM_NONSECURE=y +CONFIG_MSM_OCMEM_POWER_DISABLE=y +CONFIG_MSM_ENABLE_WDOG_DEBUG_CONTROL=y +CONFIG_MSM_BOOT_STATS=y +CONFIG_HAS_MACH_MEMUTILS=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_SMP=y +CONFIG_SCHED_MC=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_PREEMPT=y +CONFIG_AEABI=y +CONFIG_HIGHMEM=y +CONFIG_COMPACTION=y +CONFIG_KSM=y +CONFIG_CP_ACCESS=y +CONFIG_USE_OF=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +CONFIG_CPU_IDLE=y +CONFIG_VFP=y +CONFIG_NEON=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_PM_AUTOSLEEP=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=0 +# CONFIG_PM_WAKELOCKS_GC is not set +CONFIG_PM_RUNTIME=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +CONFIG_XFRM_STATISTICS=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_IPCOMP=y +# CONFIG_INET_LRO is not set +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_IPCOMP=y +CONFIG_IPV6_MIP6=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NETFILTER_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_LOG=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_REJECT_SKERR=y +CONFIG_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_ARPTABLES=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_TARGET_REJECT_SKERR=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_BRIDGE_NF_EBTABLES=y +CONFIG_BRIDGE_EBT_BROUTE=y +CONFIG_L2TP=y +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=y +CONFIG_NET_SCH_HTB=y +CONFIG_NET_SCH_HFSC=y +CONFIG_NET_SCH_PRIO=y +CONFIG_NET_SCH_MULTIQ=y +CONFIG_NET_SCH_RED=y +CONFIG_NET_SCH_SFB=y +CONFIG_NET_SCH_SFQ=y +CONFIG_NET_SCH_TEQL=y +CONFIG_NET_SCH_TBF=y +CONFIG_NET_SCH_GRED=y +CONFIG_NET_SCH_DSMARK=y +CONFIG_NET_SCH_NETEM=y +CONFIG_NET_SCH_DRR=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_SCH_CHOKE=y +CONFIG_NET_SCH_QFQ=y +CONFIG_NET_SCH_INGRESS=y +CONFIG_NET_CLS_FW=y +CONFIG_NET_CLS_ACT=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HCISMD=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_LGE_NFC=y +CONFIG_LGE_NFC_PN547=y +CONFIG_LGE_NFC_SET_IRQ_WAKEUP=y +CONFIG_CMA=y +CONFIG_CMA_SIZE_MBYTES=4 +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_UID_STAT=y +CONFIG_TSPDRV=y +CONFIG_TSPDRV_3_0V_VIBRATOR=y +CONFIG_QSEECOM=y +CONFIG_BU52061NVX=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_CRYPT=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_TUN=y +# CONFIG_MSM_RMNET is not set +CONFIG_MSM_RMNET_BAM=y +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=y +CONFIG_PPPOL2TP=y +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +CONFIG_WCNSS_CORE=y +CONFIG_WCNSS_CORE_PRONTO=y +CONFIG_WCNSS_MEM_PRE_ALLOC=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_INPUT_SENSOR=y +CONFIG_SENSORS_BMA2X2=y +CONFIG_SENSORS_BMM050=y +CONFIG_SENSOR_APDS9130=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_GEN_VKEYS=y +CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=y +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI4_DEV=y +CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE=y +CONFIG_TOUCHSCREEN_APS_MELFAS=y +CONFIG_TOUCHSCREEN_ADS_AGS04=y +CONFIG_LGE_TOUCHSCREEN_SYNAPTIC=y +CONFIG_TOUCHSCREEN_MELFAS_MMS100S=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_KEYCHORD=y +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_GPIO=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_N_HDLC=y +CONFIG_SERIAL_MSM_HSL=y +CONFIG_SERIAL_MSM_HSL_CONSOLE=y +CONFIG_LGE_DEBUG_UART=y +CONFIG_DIAG_CHAR=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_MSM=y +CONFIG_MSM_ADSPRPC=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_QUP=y +CONFIG_SPI=y +CONFIG_SPI_QUP=y +CONFIG_SPI_SPIDEV=m +CONFIG_SPMI=y +CONFIG_SPMI_MSM_PMIC_ARB=y +CONFIG_MSM_QPNP_INT=y +CONFIG_SLIMBUS_MSM_NGD=y +CONFIG_DEBUG_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_QPNP_PIN=y +CONFIG_POWER_SUPPLY=y +CONFIG_QPNP_CHARGER=y +CONFIG_BATTERY_BCL=y +CONFIG_QPNP_BMS=y +CONFIG_LGE_PM=y +CONFIG_LGE_PM_BATTERY_ID_CHECKER=y +CONFIG_LGE_PM_FACTORY_PSEUDO_BATTERY=y +CONFIG_LGE_PM_FACTORY_TESTMODE=y +CONFIG_LGE_PM_USB_ID=y +CONFIG_LGE_PM_CHARGING_CHARGERLOGO=y +CONFIG_LGE_PM_CHARGING_TEMP_SCENARIO=y +CONFIG_LGE_PM_BATTERY_PROFILE_DATA=y +CONFIG_LGE_PM_BATTERY_SOC_RESCALING=y +CONFIG_LGE_PM_BMS_MIN_IAVG_CAL_TIME=y +CONFIG_LGE_PM_BMS_VERY_LOW_CAL_TIME=y +CONFIG_LGE_PM_NEED_TO_MONITORING_QCT_PATCH=y +CONFIG_LGE_PM_4_25V_CHARGING_START=y +CONFIG_LGE_PM_SMPL_COUNT=y +CONFIG_LGE_PM_THERMAL=y +CONFIG_LGE_PM_PWR_KEY_FOR_CHG_LOGO=y +CONFIG_LGE_PM_WORKAROUND_PORT_OPEN_FAIL_IN_FACTORY_TEST=y +CONFIG_LGE_PM_BMS_FACTORY_TEST=y +CONFIG_LGE_PM_BMS_CC_ACCURACY_PATCH=y +CONFIG_LGE_PM_WORKAROUND_USB_VALID_BY_REVERSE_BOOST=y +CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y +CONFIG_SENSORS_QPNP_ADC_CURRENT=y +CONFIG_THERMAL=y +CONFIG_THERMAL_TSENS8974=y +CONFIG_THERMAL_MONITOR=y +CONFIG_THERMAL_QPNP=y +CONFIG_THERMAL_QPNP_ADC_TM=y +CONFIG_WCD9306_CODEC=y +CONFIG_REGULATOR_STUB=y +CONFIG_REGULATOR_QPNP=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +# CONFIG_MSM_CAMERA is not set +CONFIG_MSMB_CAMERA=y +CONFIG_MSM_CAMERA_SENSOR=y +CONFIG_MSM_CCI=y +CONFIG_MSM_CSI22_HEADER=y +CONFIG_MSM_CSIPHY=y +CONFIG_MSM_CSID=y +CONFIG_MSM_EEPROM=y +CONFIG_MSM_ISPIF=y +CONFIG_MSM_ISPIF_V1=y +CONFIG_IMX111=y +CONFIG_IMX219=y +CONFIG_HI543=y +CONFIG_HI707=y +CONFIG_BACKLIGHT_RT8542=y +CONFIG_MSM_VIDC_V4L2=y +CONFIG_MSM_WFD=y +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +CONFIG_VIDEOBUF2_MSM_MEM=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_RADIO_IRIS=y +CONFIG_RADIO_IRIS_TRANSPORT=m +CONFIG_ION=y +CONFIG_ION_MSM=y +CONFIG_MSM_KGSL=y +CONFIG_KGSL_PER_PROCESS_PAGE_TABLE=y +CONFIG_FB=y +CONFIG_FB_MSM=y +# CONFIG_FB_MSM_BACKLIGHT is not set +CONFIG_FB_MSM_MDSS=y +CONFIG_FB_MSM_MDSS_WRITEBACK=y +CONFIG_FB_MSM_MDSS_MDP3=y +CONFIG_LCD_KCAL=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_MSM8X10=y +CONFIG_UHID=y +CONFIG_HID_APPLE=y +CONFIG_HID_MAGICMOUSE=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DEBUG_FILES=y +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_CI13XXX_MSM=y +CONFIG_USB_G_ANDROID=y +CONFIG_LAF_G_DRIVER=y +CONFIG_USB_G_LGE_ANDROID_PFSC=y +CONFIG_USB_G_LGE_ANDROID_AUTORUN=y +CONFIG_USB_G_LGE_ANDROID_AUTORUN_LGE=y +CONFIG_MMC=y +CONFIG_MMC_PERF_PROFILING=y +CONFIG_MMC_UNSAFE_RESUME=y +CONFIG_MMC_CLKGATE=y +CONFIG_MMC_EMBEDDED_SDIO=y +CONFIG_MMC_PARANOID_SD_INIT=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_TEST=m +CONFIG_MMC_BLOCK_TEST=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_MSM=y +CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_MSM_SPS_SUPPORT=y +CONFIG_LEDS_QPNP=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_SWITCH=y +CONFIG_SWITCH_MAX1462X=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DRV_MSM is not set +CONFIG_RTC_DRV_QPNP=y +CONFIG_UIO=y +CONFIG_UIO_MSM_SHAREDMEM=y +CONFIG_STAGING=y +CONFIG_ZRAM=y +CONFIG_ZRAM_LZ4_COMPRESS=y +CONFIG_ZSMALLOC=y +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ASHMEM=y +CONFIG_ANDROID_LOGGER=y +CONFIG_LOGCAT_SIZE=64 +CONFIG_ANDROID_RAM_CONSOLE=y +CONFIG_ANDROID_TIMED_GPIO=y +CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_PRONTO_WLAN=y +CONFIG_PRIMA_WLAN_LFR=y +CONFIG_PRIMA_WLAN_OKC=y +CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y +CONFIG_WLAN_FEATURE_11W=y +CONFIG_QCOM_VOWIFI_11R=y +CONFIG_SPS=y +CONFIG_USB_BAM=y +CONFIG_SPS_SUPPORT_NDP_BAM=y +CONFIG_QPNP_PWM=y +CONFIG_QPNP_POWER_ON=y +CONFIG_QPNP_VIBRATOR=y +CONFIG_QPNP_REVID=y +CONFIG_MSM_IOMMU_V0=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT3_FS=y +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_FUSE_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_ECRYPT_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_PRINTK_TIME=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_ENABLE_DEFAULT_TRACERS=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_SET_MODULE_RONX=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_LSM_MMAP_MIN_ADDR=4096 +CONFIG_SECURITY_SELINUX=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_TWOFISH=y +# CONFIG_CRYPTO_HW is not set +CONFIG_LGE_DM_APP=y +CONFIG_LGE_DM_DEV=y diff --git a/arch/arm/mach-msm/include/mach/lge_charging_scenario.h b/arch/arm/mach-msm/include/mach/lge_charging_scenario.h new file mode 100644 index 000000000000..c20839fa10b4 --- /dev/null +++ b/arch/arm/mach-msm/include/mach/lge_charging_scenario.h @@ -0,0 +1,109 @@ +/* + * LGE charging scenario Header file. + * + * Copyright (C) 2013 LG Electronics + * mansu.lee + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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. + * + */ + +#ifndef __LGE_CHARGING_SCENARIO_H_ +#define __LGE_CHARGING_SCENARIO_H_ + +#include + +#ifndef CONFIG_LGE_PM_THERMAL +#define CONFIG_LGE_PM_THERMAL +#endif + +#define DC_IUSB_VOLTUV 4000000 +#ifdef CONFIG_LGE_PM_VZW_CHARGING_TEMP_SCENARIO +#define DC_IUSB_CURRENT 400 +#else +#define DC_IUSB_CURRENT 450 +#endif +#define DC_CURRENT_DEF -1 + +/* Battery temperature states */ +enum lge_battemp_states { + CHG_BATTEMP_BL_M11, + CHG_BATTEMP_M10_M5, + CHG_BATTEMP_M4_41, + CHG_BATTEMP_42_45, +#ifdef CONFIG_LGE_PM_VZW_CHARGING_TEMP_SCENARIO + CHG_BATTEMP_46_52, + CHG_BATTEMP_53_OT, +#else + CHG_BATTEMP_46_OT, +#endif + CHG_BATTEMP_AB_OT, + +}; + +/* */ +enum lge_charging_states { + CHG_BATT_NORMAL_STATE, + CHG_BATT_DECCUR_STATE, + CHG_BATT_WARNIG_STATE, + CHG_BATT_STPCHG_STATE, +}; + +/* */ +enum lge_states_changes { + STS_CHE_NONE, + STS_CHE_NORMAL_TO_DECCUR, + STS_CHE_NORMAL_TO_STPCHG, + STS_CHE_DECCUR_TO_NORAML, + STS_CHE_DECCUR_TO_STPCHG, + STS_CHE_STPCHG_TO_NORMAL, +#ifdef CONFIG_LGE_PM_VZW_CHARGING_TEMP_SCENARIO + STS_CHE_STPCHG_TO_DECCUR +#endif +}; + +/* BTM status */ +enum lge_btm_states { + BTM_HEALTH_GOOD, + BTM_HEALTH_OVERHEAT, + BTM_HEALTH_COLD, +}; + +struct charging_info { + int batt_volt; + int batt_temp; + int is_charger; +#ifdef CONFIG_LGE_PM_THERMAL + int chg_current_ma; + int chg_current_te; +#endif + bool is_charger_changed; +}; + +struct charging_rsp { + enum lge_charging_states state; + enum lge_states_changes change_lvl; + bool force_update; + bool disable_chg; + int dc_current; + enum lge_btm_states btm_state; + int pseudo_chg_ui; +}; + +struct batt_temp_table { + int min; + int max; + enum lge_battemp_states battemp_state; +}; + +extern void +lge_monitor_batt_temp(struct charging_info req, struct charging_rsp *res); +#endif +/* */