diff options
Diffstat (limited to 'arch/arm/boot/dts/sprd-scx35_tshark2tabe.dts')
| -rwxr-xr-x | arch/arm/boot/dts/sprd-scx35_tshark2tabe.dts | 501 |
1 files changed, 501 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/sprd-scx35_tshark2tabe.dts b/arch/arm/boot/dts/sprd-scx35_tshark2tabe.dts new file mode 100755 index 00000000..10221b82 --- /dev/null +++ b/arch/arm/boot/dts/sprd-scx35_tshark2tabe.dts @@ -0,0 +1,501 @@ +/* + * 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 0x1c00000; /* 28M */ + +/* memory reserved for fb */ +/memreserve/ 0x9EC78000 0xBB8000; /* 800กม1280กม4กม3, 4K alignment */ + +/* memory reserved for ION */ +/memreserve/ 0x9F830000 0x7D0000; /* 800กม1280กม4กม2, 8K alignment*/ + +/include/ "sprd-scx35_2.dtsi" +/include/ "sprd-scx35_sc7730.dtsi" + +/ { + model = "Spreadtrum SP7730G board"; + + chosen { + bootargs = "loglevel=1 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 0x60000000>; + }; + + gpio_keys { + compatible = "gpio-keys"; + home { + label = "Home Key"; + linux,code = <102>; + gpio = <&d_gpio_gpio 113 1>; + debounce-interval = <2>; + gpio-key,wakeup; + }; + }; + + sprd_simdet { + compatible = "sprd,sim_detect"; + sprd,name = "simdet"; + gpios = <&d_gpio_gpio 162 0>; + irq_trigger_level_detect = <1>; + delay_time = <100>; + }; + + rfkill { + compatible = "broadcom,rfkill"; + gpios = <&d_gpio_gpio 231 0>; + }; + +i2c_gpio6: i2c_gpio@1 { + 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>; + status = "okay"; + + smb358-i2c@6A { + compatible = "smb358,i2c"; + reg = <0x6A>; + chgirq-gpio = <&d_gpio_gpio 161 0>; + chgen-gpio = <&d_gpio_gpio 215 0>; + chg-float-voltage = <4340>; + }; + }; + +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>; + }; + }; + + gps { + compatible = "lsi,s5n6420"; + gps-pwr-en = <&d_gpio_gpio 168 0>; /*GPS_PWON*/ + gps-reset = <&d_gpio_gpio 235 0>; /*GPS_RESET*/ + gps-regulator = "vddcamd"; + }; + + sec_thermistor { + compatible = "sec,thermistor"; + }; + + sec-fuelgauge { + compatible = "samsung,sec-fuelgauge"; + capacity-max = <1000>; + capacity-max-margin = <1000>; + capacity-min = <10>; + fg-irq-attr = <0>; + fuel-alert-soc = <1000>; + temp_adc_channel = <0>; + chg_bat_safety_vol = <4600>; + gpios = <&a_eic_gpio 0 0>;/* chg int */ + 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 = <220>; /*battery internal impedance*/ + cnom = <3600>; /* nominal capacity in mAh */ + rsense_real = <206>; /* 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) */ + ocv_table = <4343 100 + 4285 95 + 4231 90 + 4179 85 + 4128 80 + 4080 75 + 4035 70 + 3983 65 + 3949 60 + 3896 55 + 3861 50 + 3836 45 + 3816 40 + 3798 35 + 3785 30 + 3773 25 + 3757 20 + 3734 15 + 3694 10 + 3688 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,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 = <653 881 1173 1321 1529 1932 2362 2755 3050 3200 3360 3537>; + battery,temp_table_data = <700 600 500 450 400 300 200 100 0 (-50) (-100) (-200)>; + + battery,temp_check_type = <2>; /* SEC_BATTERY_TEMP_CHECK_TEMP */ + battery,temp_check_count = <1>; + battery,temp_high_threshold_event = <530>; + battery,temp_high_recovery_event = <450>; + battery,temp_low_threshold_event = <(-50)>; + battery,temp_low_recovery_event = <0>; + battery,temp_high_threshold_normal = <530>; + battery,temp_high_recovery_normal = <450>; + battery,temp_low_threshold_normal = <(-50)>; + battery,temp_low_recovery_normal = <0>; + battery,temp_high_threshold_lpm = <530>; + 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 = <100>; + battery,full_condition_vcell = <4250>; + + battery,recharge_check_count = <1>; + battery,recharge_condition_type = <4>; /* SEC_BATTERY_RECHARGE_CONDITION_VCELL */ + battery,recharge_condition_soc = <98>; + battery,recharge_condition_vcell = <4300>; + + battery,charging_total_time = <21600>; + battery,recharging_total_time = <5400>; + battery,charging_reset_time = <0>; + + /* Charger */ + battery,chg_gpio_en = <0>; + battery,chg_polarity_en = <0>; + battery,chg_gpio_status = <0>; + battery,chg_polarity_status = <0>; + battery,chg_float_voltage = <4340>; + battery,chg_min_system_voltage = <3100>; + battery,input_current_limit = <1000 550 550 1000 550 1000 1000 550 550 1000 650 1000 1000 550 1000 300 1000 1000 300 1000 1000 550 550>; + battery,fast_charging_current = <1550 500 500 1550 500 1550 1550 500 0 1550 1550 1550 1550 (-1) 1550 300 1550 1550 300 1550 1550 0 0>; + battery,full_check_current_1st = <200 0 200 200 200 200 200 200 0 200 200 200 200 0 200 200 200 200 200 200 200 0 0>; + battery,full_check_current_2nd = <2400 0 2400 2400 2400 2400 2400 2400 0 2400 2400 2400 2400 0 2400 2400 2400 2400 2400 2400 2400 0 0>; + }; + + panel_cabc_bl { + compatible = "sprd,panel_cabc_bl"; + }; + + sprd_pwm_bl { + compatible = "sprd,sprd_pwm_bl"; + reg = <0x40260000 0xf>; + brightness_max = <255>; + brightness_min = <0>; + pwm_index = <3>; + gpio_ctrl_pin = <155>; + gpio_active_level = <0>; + }; +}; + +&pinctrl { + pwr_domain ="vdd18", /* "vdd18" */ /* VIO_2_0_ms */ + "vdd18", /* "vdd28" */ /* VIO_2_1_ms */ + "vddsim0", + "vddsim1", + "vdd18", /* "vddsim2" */ + "vddsdcore", + "vdd18"; +}; + +&i2c0 { + sensor_main@0x3c { + compatible = "sprd,sensor_main"; + reg = <0x3c>; + }; + sensor_sub@0x21 { + compatible = "sprd,sensor_sub"; + reg = <0x21>; + }; +}; + +&i2c1 { /* TSP */ + zt7554_ts@20 { + compatible = "Zinitix,zt7554_ts"; + reg = <0x20>; + gpios = <&d_gpio_gpio 82 0>; + zt7554,x_resolution = <799>; + zt7554,y_resolution = <1279>; + zt7554,ext_fw_name = "/data/t560.bin"; + zt7554,supply_type = <1>; + tsp_vdd-supply = <&vddvibr>; + gpio_ctrl_pin = <156>; + + virtualkeys = <133 1360 107 87 + 627 1360 107 87>; + TP_MAX_X = <800>; + TP_MAX_Y = <1280>; + }; +}; + +&i2c2 { +#size-cells = <0>; + status = "okay"; + k2hh@1D { + compatible = "stm,k2hh"; + reg = <0x1D>; + interrupt-parent = <&d_gpio_gpio>; + interrupts = <164 0>; + stm,irq_gpio = <&d_gpio_gpio 164 0x00>; + stm,sda = <&d_gpio_gpio 208 0x00>; + stm,scl = <&d_gpio_gpio 207 0x00>; + stm,reg_vdd-supply = <&vdd18>; + stm,axis_map_x = <0>; + stm,axis_map_y = <1>; + stm,axis_map_z = <2>; + stm,negate_x = <0>; + stm,negate_y = <0>; + stm,negate_z = <1>; + stm,poll_interval = <100>; + stm,min_interval = <2>; + }; + + sx9500-i2c@28 { + compatible = "sx9500-i2c"; + reg = <0x28>; + sx9500-i2c,vdd-supply = <&vddsim1>; + sx9500-i2c,nirq-gpio = <&d_gpio_gpio 167 0x0>; + }; +}; + +&i2c3 { + bridge@64 { + compatible = "quicklogic,i2c"; + reg = <0x64>; + gpio_bridge_en = <&d_gpio_gpio 233 0>; + gpio_bridge_rst = <&d_gpio_gpio 234 0>; + gpio_backlight_en = <&d_gpio_gpio 214 0>; + gpio_lcd_3v3_en = <&d_gpio_gpio 152 0>; + }; +}; + +&usb { + tune_value = <0x44073e37>; +}; + +&keypad0 { + ngpios = <2>; + gpios = <&a_eic_gpio 2 0>,<&a_eic_gpio 10 0>; + sprd,keypad-num-rows = <1>; + sprd,keypad-num-columns = <2>; + interrupts = <0 36 0x0>; + sprd,keypad-rows-choose-hw = <0x30000>; + sprd,keypad-cols-choose-hw = <0x300>; + sprd,debounce_time = <5000>; + linux,keypad-no-autorepeat; + + key_volume_up { + keypad,row = <0>; + keypad,column = <0>; + linux,code = <115>; + }; + + key_home { + keypad,row = <0>; + keypad,column = <1>; + linux,code = <102>; + }; +}; + +&l_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*/ + &d_gpio_gpio 0 0 /*none*/ + &d_gpio_gpio 0 0 /*none*/ + &d_gpio_gpio 0 0 /*none*/ + &d_gpio_gpio 0 0>; /*none*/ +}; + +&l_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 = <0x9F830000 0x7D0000>; + }; +}; + +&adi { + 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 = <570>; + code = <226>; + type = <0>; + }; + + headset_buttons_up { + adc_min = <571>; + adc_max = <1041>; + code = <115>; + type = <0>; + }; + + headset_buttons_down { + adc_min = <1042>; + adc_max =<2280>; + code = <114>; + type = <0>; + }; + }; + + sprd-marlin { + compatible = "sprd,marlin"; + gpios = <&d_gpio_gpio 148 0 /*marlin gpio0 */ + &d_gpio_gpio 45 0 /*marlin gpio1 */ + &d_gpio_gpio 46 0 /*marlin gpio2 */ + &d_gpio_gpio 47 0 /*marlin gpio3 */ + &d_gpio_gpio 230 0>; /*marlin reset*/ + cp-rfctl-offset = <0xd8>; /*coex func. marlin gpio3*/ + vdd-download = "vddsim2"; /*vdd 1.6v*/ + vdd-pa = "vddwifipa"; /*vdd 3.3v*/ + clk-name = "clk_aux0"; /*clk 32k*/ + sdhci-name = "sdio_wifi"; + }; +}; + +/* sipc initializer */ +&sipc { + reg = <0x87800000 0x240000>; /* <SMEM SIZE>*/ + ranges = <0x8000000 0x88000000 0x1c00000>, + <0x07800000 0x87800000 0x180000>, + <0x9bff000 0x89bff000 0x1000>; + sipc_cpw { + reg = <0x8000000 0x1c00000> , /* <CP_start_addr size> */ + <0x07800000 0x180000>, /* <SMEM_phy_addr total_size> */ + <0x9bff000 0x1000>; /* smsg ring buffer <base size> */ + }; +}; + +&scproc_cpw { + sprd,iram-data = <0xe59f0000 0xe12fff10 0x88300000>; /* 3rd param equals modem_addr*/ + reg = <0x88000000 0x1c00000>, /* <CP_start_addr total_size> = <+128M 28M> */ + <0x50000000 0x0c>, /* <iram1_base size> */ + <0x402b0000 0x10000>; /* <pmu_base size> */ + ranges = <0x300000 0x88300000 0x00800000>, + <0x20000 0x88020000 0x00220000>; + modem { + reg = <0x300000 0x00800000>; /* <modem_addr size> */ + }; + dsp { + reg = <0x20000 0x00220000>; /* <dsp_addr size>*/ + }; +}; |
