/dts-v1/; #include "mt6735m.dtsi" #include "mlt8735m_f3gh_bat_setting.dtsi" #include "cust.dtsi" / { memory@00000000 { device_type = "memory"; reg = <0 0x40000000 0 0x3F000000>; }; bus { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0 0 0 0xffffffff>; MTKFB@5e200000 { compatible = "mediatek,MTKFB"; reg = <0x7F000000 0x1000000>; }; }; led0:led@0 { compatible = "mediatek,red"; led_mode = <0>; data = <1>; pwm_config = <0 0 0 0 0>; }; led1:led@1 { compatible = "mediatek,green"; led_mode = <0>; data = <1>; pwm_config = <0 0 0 0 0>; }; led2:led@2 { compatible = "mediatek,blue"; led_mode = <0>; data = <1>; pwm_config = <0 0 0 0 0>; }; led3:led@3 { compatible = "mediatek,jogball-backlight"; led_mode = <0>; data = <1>; pwm_config = <0 0 0 0 0>; }; led4:led@4 { compatible = "mediatek,keyboard-backlight"; led_mode = <0>; data = <1>; pwm_config = <0 0 0 0 0>; }; led5:led@5 { compatible = "mediatek,button-backlight"; led_mode = <0>; data = <1>; pwm_config = <0 0 0 0 0>; }; led6:led@6 { compatible = "mediatek,lcd-backlight"; led_mode = <5>; data = <1>; pwm_config = <0 0 0 0 0>; }; vibrator0:vibrator@0 { compatible = "mediatek,vibrator"; vib_timer = <25>; vib_limit = <9>; vib_vol= <5>; }; /* sensor standardization */ cust_accel@0 { compatible = "mediatek,bma222e_new"; i2c_num = <2>; i2c_addr = <0x18 0 0 0>; direction = <5>; power_id = <0xffff>; power_vol = <0>; firlen = <16>; is_batch_supported = <0>; }; cust_alsps@0 { compatible = "mediatek,apds9930"; i2c_num = <2>; i2c_addr = <0x72 0x48 0x78 0x00>; polling_mode_ps = <0>; polling_mode_als = <1>; power_id = <0xffff>; power_vol = <0>; als_level = <1 2 5 10 20 30 40 80 200 300 400 600 1000 1600 2000>; als_value = <80 400 800 1200 1800 2000 2300 2300 12000 12000 12000 48000 48000 72000 81920 81920>; ps_threshold_high = <120>; ps_threshold_low = <100>; is_batch_supported_ps = <0>; is_batch_supported_als = <0>; }; cust_mag@0 { compatible = "mediatek,akm09911"; i2c_num = <2>; i2c_addr = <0x0D 0 0 0>; direction = <1>; power_id = <0xffff>; power_vol = <0>; is_batch_supported = <0>; }; cust_gyro@0 { compatible = "mediatek,itg1010"; i2c_num = <2>; i2c_addr = <0x68 0 0 0>; direction = <3>; power_id = <0xffff>; power_vol = <0>; firlen = <0>; is_batch_supported = <0>; }; }; /* sensor gpio standization */ &pio { alsps_intpin_cfg: alspspincfg { pins_cmd_dat { pins = ; slew-rate = <0>; bias-pull-up = <00>; }; }; alsps_intpin_default: alspsdefaultcfg { }; gyro_intpin_cfg: gyropincfg { pins_cmd_dat { pins = ; slew-rate = <0>; bias-pull-down = <00>; }; }; gyro_intpin_default: gyrodefaultcfg { }; }; &alsps { pinctrl-names = "pin_default", "pin_cfg"; pinctrl-0 = <&alsps_intpin_default>; pinctrl-1 = <&alsps_intpin_cfg>; status = "okay"; }; &gyro { pinctrl-names = "pin_default", "pin_cfg"; pinctrl-0 = <&gyro_intpin_default>; pinctrl-1 = <&gyro_intpin_cfg>; status = "okay"; }; /* sensor end */ &accdet { interrupt-parent = <&eintc>; interrupts = <86 IRQ_TYPE_LEVEL_HIGH>; eint-debounce = <256>; accdet-gpio = <&pio 86 0>; accdet-mic-vol = <7>; headset-mode-setting = <0x500 0x200 1 0x1f0 0x800 0x800 0x20>; accdet-plugout-debounce = <20>; /*1:ACC mode, 2:low cost without in bias, 6:low cost with in bias*/ accdet-mic-mode = <6>; /*0--MD_MAX--UP_MAX--DW_MAX*/ headset-three-key-threshold = <0 80 220 500>; /*0--MD_MAX--VOICE_MAX--UP_MAX--DW_MAX*/ headset-four-key-threshold = <0 58 121 192 450>; pinctrl-names = "default", "state_eint_as_int"; pinctrl-0 = <&accdet_pins_default>; pinctrl-1 = <&accdet_pins_eint_as_int>; status = "okay"; }; &touch { tpd-resolution = <800 1280>; use-tpd-button = <0>; tpd-key-num = <3>; tpd-key-local= <139 172 158 0>; tpd-key-dim-local = <90 883 100 40 230 883 100 40 370 883 100 40 0 0 0 0>; tpd-max-touch-num = <5>; tpd-filter-enable = <1>; tpd-filter-pixel-density = <93>; tpd-filter-custom-prameters = <0 0 0 0 0 0 0 0 0 0 0 0>; tpd-filter-custom-speed = <0 0 0>; pinctrl-names = "default", "state_eint_as_int", "state_eint_output0", "state_eint_output1", "state_rst_output0", "state_rst_output1"; pinctrl-0 = <&CTP_pins_default>; pinctrl-1 = <&CTP_pins_eint_as_int>; pinctrl-2 = <&CTP_pins_eint_output0>; pinctrl-3 = <&CTP_pins_eint_output1>; pinctrl-4 = <&CTP_pins_rst_output0>; pinctrl-5 = <&CTP_pins_rst_output1>; status = "okay"; }; &pio { accdet_pins_default: eint86default { }; accdet_pins_eint_as_int: eint86 { pins_cmd_dat { pins = ; bias-disable; }; }; CTP_pins_default: eint0default { }; CTP_pins_eint_as_int: eint@0 { pins_cmd_dat { pins = ; slew-rate = <0>; bias-disable; }; }; CTP_pins_eint_output0: eintoutput0 { pins_cmd_dat { pins = ; slew-rate = <1>; output-low; }; }; CTP_pins_eint_output1: eintoutput1 { pins_cmd_dat { pins = ; slew-rate = <1>; output-high; }; }; CTP_pins_rst_output0: rstoutput0 { pins_cmd_dat { pins = ; slew-rate = <1>; output-low; }; }; CTP_pins_rst_output1: rstoutput1 { pins_cmd_dat { pins = ; slew-rate = <1>; output-high; }; }; }; /* TOUCH end */ /* CAMERA GPIO standardization */ &pio { camera_pins_cam0_rst0: cam0@0 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMRST_PIN*/ slew-rate = <1>; /*direction 0:in, 1:out*/ output-low;/*direction out used only. output_low or high*/ }; }; camera_pins_cam0_rst1: cam0@1 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMRST_PIN*/ slew-rate = <1>; output-high; }; }; camera_pins_cam0_pnd0: cam0@2 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMPDN_PIN*/ slew-rate = <1>; output-low; }; }; camera_pins_cam0_pnd1: cam0@3 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMPDN_PIN*/ slew-rate = <1>; output-high; }; }; camera_pins_cam1_rst0: cam1@0 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMRST1_PIN*/ slew-rate = <1>; /*direction 0:in, 1:out*/ output-low;/*direction out used only. output_low or high*/ }; }; camera_pins_cam1_rst1: cam1@1 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMRST1_PIN*/ slew-rate = <1>; output-high; }; }; camera_pins_cam1_pnd0: cam1@2 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMPDN1_PIN*/ slew-rate = <1>; output-low; }; }; camera_pins_cam1_pnd1: cam1@3 { pins_cmd_dat { pins = ;/*GPIO_CAMERA_CMPDN1_PIN*/ slew-rate = <1>; output-high; }; }; camera_pins_cam_ldo0_0: cam@0 { pins_cmd_dat { pins = ;/*GPIO_SPI_MOSI_PIN*/ slew-rate = <1>; output-low; }; }; camera_pins_cam_ldo0_1: cam@1 { pins_cmd_dat { pins = ;/*GPIO_SPI_MOSI_PIN*/ slew-rate = <1>; output-high; }; }; camera_pins_default: camdefault { }; }; &kd_camera_hw1 { pinctrl-names = "default", "cam0_rst0", "cam0_rst1", "cam0_pnd0", "cam0_pnd1", "cam1_rst0", "cam1_rst1", "cam1_pnd0", "cam1_pnd1","cam_ldo0_0", "cam_ldo0_1"; pinctrl-0 = <&camera_pins_default>; pinctrl-1 = <&camera_pins_cam0_rst0>; pinctrl-2 = <&camera_pins_cam0_rst1>; pinctrl-3 = <&camera_pins_cam0_pnd0>; pinctrl-4 = <&camera_pins_cam0_pnd1>; pinctrl-5 = <&camera_pins_cam1_rst0>; pinctrl-6 = <&camera_pins_cam1_rst1>; pinctrl-7 = <&camera_pins_cam1_pnd0>; pinctrl-8 = <&camera_pins_cam1_pnd1>; pinctrl-9 = <&camera_pins_cam_ldo0_0>; pinctrl-10 = <&camera_pins_cam_ldo0_1>; status = "okay"; }; /* CAMERA GPIO end */ /* CONSYS GPIO standardization */ &pio { consys_pins_default: default { }; gpslna_pins_init: gpslna@0 { pins_cmd_dat { pins = ; slew-rate = <0>; bias-disable; output-low; }; }; gpslna_pins_oh: gpslna@1 { pins_cmd_dat { pins = ; slew-rate = <1>; output-high; }; }; gpslna_pins_ol: gpslna@2 { pins_cmd_dat { pins = ; slew-rate = <1>; output-low; }; }; }; &consys { pinctrl-names = "default", "gps_lna_state_init", "gps_lna_state_oh", "gps_lna_state_ol"; pinctrl-0 = <&consys_pins_default>; pinctrl-1 = <&gpslna_pins_init>; pinctrl-2 = <&gpslna_pins_oh>; pinctrl-3 = <&gpslna_pins_ol>; status = "okay"; }; /* CONSYS end */ /* mmc start */ &mmc0 { clk_src = /bits/ 8 ; bus-width = <8>; max-frequency = <200000000>; cap-mmc-highspeed; msdc-sys-suspend; mmc-ddr-1_8v; mmc-hs200-1_8v; mmc-hs400-1_8v; non-removable; pinctl = <&mmc0_pins_default>; register_setting = <&mmc0_register_setting_default>; host_function = /bits/ 8 ; bootable; status = "okay"; }; &mmc1 { clk_src = /bits/ 8 ; bus-width = <4>; max-frequency = <200000000>; msdc-sys-suspend; sd_need_power; cap-sd-highspeed; sd-uhs-sdr12; sd-uhs-sdr25; sd-uhs-sdr50; sd-uhs-sdr104; sd-uhs-ddr50; pinctl = <&mmc1_pins_default>; pinctl_sdr104 = <&mmc1_pins_sdr104>; pinctl_sdr50 = <&mmc1_pins_sdr50>; pinctl_ddr50 = <&mmc1_pins_ddr50>; register_setting = <&mmc1_register_setting_default>; host_function = /bits/ 8 ; cd_level = /bits/ 8 ; cd-gpios = <&pio 76 0>; status = "okay"; }; &pio { mmc0_pins_default: mmc0@default { pins_cmd { drive-strength = /bits/ 8 <2>; }; pins_dat { drive-strength = /bits/ 8 <2>; }; pins_clk { drive-strength = /bits/ 8 <2>; }; pins_rst { drive-strength = /bits/ 8 <2>; }; pins_ds { drive-strength = /bits/ 8 <2>; }; }; mmc0_register_setting_default: mmc0@register_default { dat0rddly = /bits/ 8 <0>; dat1rddly = /bits/ 8 <0>; dat2rddly = /bits/ 8 <0>; dat3rddly = /bits/ 8 <0>; dat4rddly = /bits/ 8 <0>; dat5rddly = /bits/ 8 <0>; dat6rddly = /bits/ 8 <0>; dat7rddly = /bits/ 8 <0>; datwrddly = /bits/ 8 <0>; cmdrrddly = /bits/ 8 <0>; cmdrddly = /bits/ 8 <0>; cmd_edge = /bits/ 8 ; rdata_edge = /bits/ 8 ; wdata_edge = /bits/ 8 ; ett-hs200-cells = <12>; ett-hs200-default = ; ett-hs400-cells = <8>; ett-hs400-default = ; }; mmc1_pins_default: mmc1@default { pins_cmd { drive-strength = /bits/ 8 <3>; }; pins_dat { drive-strength = /bits/ 8 <3>; }; pins_clk { drive-strength = /bits/ 8 <3>; }; }; mmc1_pins_sdr104: mmc1@sdr104 { pins_cmd { drive-strength = /bits/ 8 <2>; }; pins_dat { drive-strength = /bits/ 8 <2>; }; pins_clk { drive-strength = /bits/ 8 <3>; }; }; mmc1_pins_sdr50: mmc1@sdr50 { pins_cmd { drive-strength = /bits/ 8 <2>; }; pins_dat { drive-strength = /bits/ 8 <2>; }; pins_clk { drive-strength = /bits/ 8 <3>; }; }; mmc1_pins_ddr50: mmc1@ddr50 { pins_cmd { drive-strength = /bits/ 8 <2>; }; pins_dat { drive-strength = /bits/ 8 <2>; }; pins_clk { drive-strength = /bits/ 8 <3>; }; }; mmc1_register_setting_default: mmc1@register_default { dat0rddly = /bits/ 8 <0>; dat1rddly = /bits/ 8 <0>; dat2rddly = /bits/ 8 <0>; dat3rddly = /bits/ 8 <0>; datwrddly = /bits/ 8 <0>; cmdrrddly = /bits/ 8 <0>; cmdrddly = /bits/ 8 <0>; cmd_edge = /bits/ 8 ; rdata_edge = /bits/ 8 ; wdata_edge = /bits/ 8 ; }; }; /* mmc end */ /* USB GPIO Kernal Standardization start */ &pio { usb_default: usb_default { }; gpio67_mode5_iddig: iddig_irq_init { pins_cmd_dat { pins = ; slew-rate = <0>; bias-pull-up = <00>; }; }; gpio83_mode2_drvvbus: drvvbus_init { pins_cmd_dat { pins = ; slew-rate = <1>; bias-pull-up = <00>; }; }; gpio83_mode2_drvvbus_low: drvvbus_low { pins_cmd_dat { pins = ; slew-rate = <1>; output-low; }; }; gpio83_mode2_drvvbus_high: drvvbus_high { pins_cmd_dat { pins = ; slew-rate = <1>; output-high; }; }; }; &usb0 { iddig_gpio = <67 1>; pinctrl-names = "usb_default", "iddig_irq_init", "drvvbus_init", "drvvbus_low", "drvvbus_high"; pinctrl-0 = <&usb_default>; pinctrl-1 = <&gpio67_mode5_iddig>; pinctrl-2 = <&gpio83_mode2_drvvbus>; pinctrl-3 = <&gpio83_mode2_drvvbus_low>; pinctrl-4 = <&gpio83_mode2_drvvbus_high>; status = "okay"; }; /* USB GPIO Kernal Standardization end */ /* LCM set */ &lcm { lcm_power_gpio = <&pio 19 0>; lcm_reset_gpio = <&pio 146 0>; reg-lcm-supply = <&mt_pmic_vcama_ldo_reg>; }; /* LCM end */ /* i2c start */ &i2c3 { ncp1854@36 { status = "okay"; compatible = "ncp1854"; reg = <0x36>; disable_ncp1854_fctry_mod = <1>; pinctrl-names = "drvvbus_init", "drvvbus_low"; pinctrl-0 = <&gpio83_mode2_drvvbus>; pinctrl-1 = <&gpio83_mode2_drvvbus_low>; }; }; /* i2c end */