/* * Copyright (C) 2013 Spreadtrum Communication Incorporated * http://www.spreadtrum.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; /* memory reserved for SMEM */ /memreserve/ 0x87800000 0x240000; /* 2MK+256K */ /* memory reserved for CPW modem */ /memreserve/ 0x88000000 0x1b00000; /* 27M */ /* memory reserved for fb */ /memreserve/ 0x9f300000 0x600000; /* 6MK */ /* memory reserved for ION */ /memreserve/ 0x9f900000 0x700000; /* 7MK */ /include/ "sprd-scx35.dtsi" /include/ "sprd-scx35_sc7730.dtsi" / { model = "Spreadtrum SP7730G board"; compatible = "sprd,scx35"; #address-cells = <1>; #size-cells = <1>; chosen { bootargs = "init=/init root=/dev/ram0 rw"; linux,initrd-start = <0x85500000>; linux,initrd-end = <0x855a3212>; }; aliases { i2c_gpio6 = &i2c_gpio6; i2c_gpio7 = &i2c_gpio7; /*i2c_gpio8 = &i2c_gpio8;*/ }; memory { device_type = "memory"; reg = <0x80000000 0x20000000>; }; fb0: fb@20800000 { sprd,fb_use_reservemem; sprd,fb_mem = <0x9f300000 0x600000>; }; ion { sprd,ion-heap@1 { sprd,ion-heap-mem = <0x0 0x0>; }; sprd,ion-heap@2 { sprd,ion-heap-mem = <0x0 0x0>; }; sprd,ion-heap@3 { sprd,ion-heap-mem = <0x9f900000 0x700000>; }; }; /* sipc initializer */ sipc: sipc-common { reg = <0x87800000 0x240000>; /* */ ranges = <0x8000000 0x88000000 0x1b00000>, <0x07800000 0x87800000 0x180000>, <0x9aff000 0x89aff000 0x1000>; sipc_cpw { reg = <0x8000000 0x1b00000> , /* */ <0x07800000 0x180000>, /* */ <0x9aff000 0x1000>; /* smsg ring buffer */ }; }; scproc_cpw: scproc { sprd,iram-data = <0xe59f0000 0xe12fff10 0x88300000>; /* 3rd param equals modem_addr*/ reg = <0x88000000 0x1b00000>, /* = <+128M 27M> */ <0xf53d4000 0x0c>, /* */ <0xf5230000 0x10000>; /* */ ranges = <0x300000 0x88300000 0x00800000>, <0x20000 0x88020000 0x00220000>; modem { reg = <0x300000 0x00800000>; /* */ }; dsp { reg = <0x20000 0x00220000>; /* */ }; }; adi: adi_bus { headset_detect { compatible = "sprd,headset-detect"; gpio_switch = <0>; gpio_detect = <237>; gpio_button = <239>; irq_trigger_level_detect = <0>; irq_trigger_level_button = <0>; adc_threshold_3pole_detect = <1700>; adc_threshold_4pole_detect = <2700>; irq_threshold_buttont = <1>; voltage_headmicbias = <3000000>; nbuttons = <3>; headset_buttons_media { adc_min = <0>; adc_max = <190>; code = <226>; type = <0>; }; headset_buttons_up { adc_min = <191>; adc_max = <347>; code = <115>; type = <0>; }; headset_buttons_down { adc_min = <348>; adc_max =<760>; code = <114>; type = <0>; }; }; headset_sprd_sc2723 { compatible = "sprd,headset_sprd_sc2723"; gpio_switch = <0>; gpio_detect = <237>; gpio_button = <239>; irq_trigger_level_detect = <0>; irq_trigger_level_button = <0>; adc_threshold_3pole_detect = <100>; adc_threshold_4pole_detect = <3100>; irq_threshold_buttont = <1>; voltage_headmicbias = <3000000>; nbuttons = <3>; headset_buttons_media { adc_min = <0>; adc_max = <190>; code = <226>; type = <0>; }; headset_buttons_up { adc_min = <191>; adc_max = <347>; code = <115>; type = <0>; }; headset_buttons_down { adc_min = <348>; adc_max =<760>; code = <114>; type = <0>; }; }; }; gpio_keys { compatible = "gpio-keys"; home { label = "Home Key"; linux,code = <102>; gpio = <&d_gpio_gpio 113 1>; debounce-interval = <2>; gpio-key,wakeup; }; }; rfkill { compatible = "broadcom,rfkill"; gpios = <&d_gpio_gpio 231 0 /* power */ &d_gpio_gpio 233 0>; /* reset */ }; i2c@f536c000 { /* TSP */ ist30xx_ts@50 { compatible = "Imagis,IST30XX"; reg = <0x50>; gpios = <&d_gpio_gpio 82 0>; }; }; i2c@f536a000 { sensor_main@0x3c{ compatible = "sprd,sensor_main"; reg = <0x3c>; }; sensor_sub@0x21{ compatible = "sprd,sensor_sub"; reg = <0x21>; }; }; sprd_sensor { compatible = "sprd,sprd_sensor"; gpios = <&d_gpio_gpio 186 0 /*main reset*/ &d_gpio_gpio 188 0 /*main power down*/ &d_gpio_gpio 238 0 /*sub reset*/ &d_gpio_gpio 187 0>; /*sub power down*/ }; i2c_gpio6: i2c_gpio@0 { compatible = "i2c-gpio"; #address-cells = <1>; #size-cells = <0>; gpios = <&d_gpio_gpio 159 0 /* sda */ &d_gpio_gpio 160 0 >; /* scl */ i2c-gpio,delay-us = <10>; /* ~100 kHz */ i2c-gpio,timeout-ms = <0>; sm5701-i2c@49 { compatible = "sm,sm5701"; reg = <0x49>; chargermfd { chgirq-gpio = <&d_gpio_gpio 161 0>; charger { compatible = "sm,sm5701-charger"; chgen-gpio = <&d_gpio_gpio 215 0>; chg-float-voltage = <4350>; }; }; }; }; i2c_gpio7: i2c_gpio@2 { compatible = "i2c-gpio"; #address-cells = <1>; #size-cells = <0>; gpios = <&d_gpio_gpio 150 0 /* sda */ &d_gpio_gpio 151 0 >; /* scl */ i2c-gpio,delay-us = <10>; /* ~100 kHz */ i2c-gpio,timeout-ms = <0>; sm5504@14 { compatible = "SiliconMitus,sm5504"; reg = <0x14>; interrupt-parent = <&d_gpio_gpio>; sm5504,irq-gpio = <&d_gpio_gpio 149 0>; }; }; sec-fuelgauge { compatible = "samsung,sec-fuelgauge"; capacity-max = <1000>; capacity-max-margin = <1000>; capacity-min = <10>; fg-irq-attr = <0>; fuel-alert-soc = <1000>; chg_bat_safety_vol = <4600>; soft_vbat_uvlo = <3050>; vmode = <0>; /* 1=Voltage mode, 0=mixed mode */ alm_soc = <5>; /* SOC alm level %*/ alm_vbat = <3500>; /* Vbat alm level mV*/ rint = <250>; /*battery internal impedance*/ cnom = <2100>; /* nominal capacity in mAh */ rsense_real = <200>; /* sense resistor 0.1mOhm from real environment*/ rsense_spec = <200>; /* sense resistor 0.1mOhm from specification*/ relax_current = <50>; /* current for relaxation in mA (< C/20) */ cal_ajust = <0>; /* ajust calibration data */ ocv_table = <4386 100 4332 95 4277 90 4221 85 4166 80 4113 75 4063 70 4018 65 3977 60 3933 55 3881 50 3850 45 3826 40 3807 35 3791 30 3778 25 3762 20 3742 15 3711 10 3683 5 3400 0>; sprd_fgu: sprd_fgu{ compatible = "sprd,sprd_fgu"; interrupt-parent = <&adi>; interrupts = <4 0x0>; }; }; sec-battery { compatible = "samsung,sec-battery"; battery,vendor = "SDI SDI"; battery,charger_name = "sec-charger"; battery,fuelgauge_name = "sec-fuelgauge"; battery,technology = <2>; /* POWER_SUPPLY_TECHNOLOGY_LION */ battery,chip_vendor = "SPRD"; battery,temp_adc_type = <1>; /* SEC_BATTERY_ADC_TYPE_AP */ battery,temp_adc_channel = <1>; battery,polling_time = <10 30 30 30 3600>; battery,adc_check_count = <5>; battery,cable_check_type = <5>; /* SEC_BATTERY_CABLE_CHECK_PSY */ battery,cable_source_type = <3>; /* SEC_BATTERY_CABLE_SOURCE_EXTERNAL */ battery,event_waiting_time = <600>; battery,polling_type = <1>; /* SEC_BATTERY_MONITOR_ALARM */ battery,monitor_initial_count = <3>; battery,battery_check_type = <0>; /* SEC_BATTERY_CHECK_NONE */ battery,check_count = <0>; battery,check_adc_max = <1440>; battery,check_adc_min = <0>; battery,ovp_uvlo_check_type = <3>; /* SEC_BATTERY_OVP_UVLO_CHGPOLLING */ battery,thermal_source = <2>; /* SEC_BATTERY_THERMAL_SOURCE_ADC */ battery,temp_table_adc = <27281 27669 28178 28724 29342 30101 30912 31807 32823 33858 34950 36049 37054 38025 38219 38448 38626 38795 38989 39229 39540 39687 39822 40523 41123 41619>; battery,temp_table_data = <350 350 350 350 350 350 350 350 300 250 200 150 100 50 40 30 20 10 0 (-10) (-30) (-40) (-50) (-100) (-150) (-200)>; battery,temp_check_type = <0>; /* SEC_BATTERY_TEMP_CHECK_NONE */ battery,temp_check_count = <1>; battery,temp_high_threshold_event = <600>; battery,temp_high_recovery_event = <450>; battery,temp_low_threshold_event = <(-50)>; battery,temp_low_recovery_event = <0>; battery,temp_high_threshold_normal = <600>; battery,temp_high_recovery_normal = <450>; battery,temp_low_threshold_normal = <(-50)>; battery,temp_low_recovery_normal = <0>; battery,temp_high_threshold_lpm = <600>; battery,temp_high_recovery_lpm = <450>; battery,temp_low_threshold_lpm = <(-50)>; battery,temp_low_recovery_lpm = <0>; battery,full_check_type = <7>; /* SEC_BATTERY_FULLCHARGED_CHGPSY */ battery,full_check_type_2nd = <3>; /* SEC_BATTERY_FULLCHARGED_TIME */ battery,full_check_count = <1>; battery,chg_gpio_full_check = <0>; battery,chg_polarity_full_check = <1>; battery,full_condition_type = <13>; battery,full_condition_soc = <95>; battery,full_condition_vcell = <4300>; battery,recharge_check_count = <1>; battery,recharge_condition_type = <2>; /* SEC_BATTERY_RECHARGE_CONDITION_VCELL */ battery,recharge_condition_soc = <98>; battery,recharge_condition_vcell = <4300>; battery,charging_total_time = <36000>; battery,recharging_total_time = <5400>; battery,charging_reset_time = <0>; /* Charger */ charger,vbus_ctrl_gpio = <&d_gpio_gpio 64 0x00>; charger,input_current_limit = <1800 460 460 700 500 900 1000 460 460 1000 650 1800 1800 460 1300 300 700 1300 300 1000 1800 460 460>; charger,fast_charging_current = <2100 0 460 700 500 1200 1000 460 0 1200 750 2100 2100 (-1) 1300 300 700 1300 300 1000 2100 0 0>; charger,full_check_current_1st = <300 0 300 700 500 300 300 300 0 300 300 300 300 0 300 300 300 300 300 300 300 0 0>; charger,full_check_current_2nd = <2400 0 2400 700 500 2400 2400 2400 0 2400 2400 2400 2400 0 2400 2400 2400 2400 2400 2400 2400 0 0>; }; sprd_rf2351: sprd_rf2351@40070000 { compatible = "sprd,sprd_rf2351"; reg = <0xf51f8000 0x1000>, /*RFSPI*/ <0xf5250000 0x10000>; /*APB_EB0*/ clock-names = "clk_cpll"; clocks = <&clk_cpll>; }; panel_cabc_bl { compatible = "sprd,panel_cabc_bl"; }; sprd_pwm_bl { compatible = "sprd,sprd_pwm_bl"; brightness_max = <255>; brightness_min = <0>; pwm_index = <2>; gpio_ctrl_pin = <0>; gpio_active_level = <0>; }; };