import G96xFXXU9ETF5
This commit is contained in:
parent
678e55e8e2
commit
fa1e8de14e
213 changed files with 177891 additions and 18012 deletions
|
@ -1,10 +1,10 @@
|
||||||
# Ultimate ELS kernel of Ultimate Q G96X ROM
|
# Ultimate ELS kernel of Ultimate Q G96X ROM
|
||||||
<https://ultimate-rom.com/>
|
<https://ultimate-rom.com/>
|
||||||
|
|
||||||
* F2FS & TTL & LZ4 & DriveDroid support
|
* F2FS & TTL & LZ4 support
|
||||||
* DEX with any HDMI adapter
|
* DEX with any HDMI adapter
|
||||||
* Power-Efficient Workqueue
|
* Power-Efficient Workqueue
|
||||||
* Boeffla Wakelocks Blocker
|
* Boeffla Wakelocks Blocker
|
||||||
* Gestures S2W & S2S
|
* Gestures S2W & S2S
|
||||||
|
|
||||||

|

|
||||||
|
|
|
@ -1,537 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL5433 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pinctrl@14050000 {
|
|
||||||
wpc_int: wpc-int {
|
|
||||||
samsung,pins = "gpa3-1";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
wpc_det: wpc-det {
|
|
||||||
samsung,pins = "gpa2-0";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10430000 {
|
|
||||||
jig_gpio: jig-gpio {
|
|
||||||
samsung,pins = "gpg0-0";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <3>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hsi2c@14370000 { /* hsi2c_41 */
|
|
||||||
status = "okay";
|
|
||||||
samsung,stop-after-trans;
|
|
||||||
samsung,stand-mode;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
|
|
||||||
mfc-charger@3b {
|
|
||||||
compatible = "idt,mfc-charger";
|
|
||||||
reg = <0x3b>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&wpc_int &wpc_det>;
|
|
||||||
|
|
||||||
battery,wpc_int = <&gpa3 1 0>;
|
|
||||||
battery,wpc_det = <&gpa2 0 0>;
|
|
||||||
battery,mst_en = <&gpg0 2 0>;
|
|
||||||
battery,mst_pwr_en = <&gpg3 4 0>;
|
|
||||||
|
|
||||||
battery,charger_name = "max77705-charger";
|
|
||||||
battery,fuelgauge_name = "max77705-fuelgauge";
|
|
||||||
battery,wireless_charger_name = "mfc-charger";
|
|
||||||
battery,fod_wpc_data = <150 52 142 44 150 30 150 22 165 235 156 11>;
|
|
||||||
battery,fod_pma_data = <150 52 142 44 150 30 150 22 165 235 156 11>;
|
|
||||||
battery,fod_a4wp_data = <150 52 142 44 150 30 150 22 165 235 156 11>;
|
|
||||||
battery,fod_wpc_data_cv = <150 82 142 74 150 60 150 52 165 255 156 41>;
|
|
||||||
battery,fod_pma_data_cv = <150 82 142 74 150 60 150 52 165 255 156 41>;
|
|
||||||
battery,fod_a4wp_data_cv = <150 82 142 74 150 60 150 52 165 255 156 41>;
|
|
||||||
battery,fod_hero_5v_data = <150 2 142 (-6) 150 (-20) 150 (-28) 165 185 156 (-39)>;
|
|
||||||
battery,wpc_cc_cv_vout = <5500>;
|
|
||||||
battery,wpc_cv_call_vout = <5000>;
|
|
||||||
battery,wpc_cc_call_vout = <5000>;
|
|
||||||
battery,hv_vout_wa = <0x41>; /* WC vout 10.0V */
|
|
||||||
battery,wc_cover_rpp = <0x44>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
battery {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "samsung,sec-battery";
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
/* battery,irq_gpio = <&gpa1 6 0>; */
|
|
||||||
|
|
||||||
battery,vendor = "Battery";
|
|
||||||
battery,charger_name = "max77705-charger";
|
|
||||||
battery,fuelgauge_name = "max77705-fuelgauge";
|
|
||||||
battery,wireless_charger_name = "mfc-charger";
|
|
||||||
battery,technology = <2>; /* POWER_SUPPLY_TECHNOLOGY_LION */
|
|
||||||
battery,fgsrc_switch_name = "max77705-charger"; /* Fuelgauge voltage source */
|
|
||||||
|
|
||||||
battery,batt_data_version = <2>;
|
|
||||||
|
|
||||||
battery,chip_vendor = "LSI";
|
|
||||||
battery,temp_adc_type = <1>; /* SEC_BATTERY_ADC_TYPE_AP */
|
|
||||||
|
|
||||||
battery,temp_check_type = <2>; /* SEC_BATTERY_TEMP_CHECK_TEMP */
|
|
||||||
battery,chg_temp_check = <1>;
|
|
||||||
battery,wpc_temp_check = <1>;
|
|
||||||
|
|
||||||
battery,thermal_source = <2>; /* SEC_BATTERY_THERMAL_SOURCE_ADC */
|
|
||||||
battery,usb_thermal_source = <2>; /* SEC_BATTERY_THERMAL_SOURCE_ADC */
|
|
||||||
battery,chg_thermal_source = <1>;
|
|
||||||
battery,wpc_thermal_source = <1>;
|
|
||||||
battery,coil_thermal_source = <1>;
|
|
||||||
|
|
||||||
battery,polling_time = <10 30 30 30 3600>;
|
|
||||||
|
|
||||||
battery,temp_table_adc = <275 336 415 483 551 667 764 903 1054 1189
|
|
||||||
1384 1575 1787 2042 2263 2492 2723 2937 3127 3309 3463 3578 3678>;
|
|
||||||
battery,temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,usb_temp_table_adc = <275 336 415 483 551 667 764 903 1054 1189
|
|
||||||
1384 1575 1787 2042 2263 2492 2723 2937 3127 3309 3463 3578 3678>;
|
|
||||||
battery,usb_temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,chg_temp_table_adc = <275 336 415 483 551 667 764 903 1054 1189
|
|
||||||
1384 1575 1787 2042 2263 2492 2723 2937 3127 3309 3463 3578 3678>;
|
|
||||||
battery,chg_temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,wpc_temp_table_adc = <275 336 415 483 551 667 764 903 1054 1189
|
|
||||||
1384 1575 1787 2042 2263 2492 2723 2937 3127 3309 3463 3578 3678>;
|
|
||||||
battery,wpc_temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,wireless_cc_cv = <85>;
|
|
||||||
battery,set_cv_vout_in_low_capacity = <9>;
|
|
||||||
battery,fod_data = <204 9 150 28 130 55 130 57 157 5 157 6>;
|
|
||||||
battery,fod_data_cv = <204 39 150 58 130 85 130 87 157 35 157 36>;
|
|
||||||
battery,wpc_cc_cv_vout = <5500>;
|
|
||||||
battery,wpc_cv_call_vout = <5000>;
|
|
||||||
battery,wpc_cc_call_vout = <5000>;
|
|
||||||
battery,wpc_det = <&gpa2 0 0>;
|
|
||||||
battery,wpc_en = <&expander_gpios 8 0>;
|
|
||||||
battery,wpc_int = <&gpa3 2 0>;
|
|
||||||
battery,hv_vout_wa = <0x41>; /* WC vout 10.0V */
|
|
||||||
battery,adc_check_count = <5>;
|
|
||||||
|
|
||||||
battery,cable_check_type = <4>; /* SEC_BATTERY_CABLE_CHECK_PSY */
|
|
||||||
battery,cable_source_type = <1>; /* SEC_BATTERY_CABLE_SOURCE_EXTERNAL */
|
|
||||||
battery,polling_type = <1>; /* SEC_BATTERY_MONITOR_ALARM */
|
|
||||||
battery,monitor_initial_count = <0>;
|
|
||||||
|
|
||||||
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,temp_check_count = <1>;
|
|
||||||
battery,temp_highlimit_threshold_event = <800>;
|
|
||||||
battery,temp_highlimit_recovery_event = <750>;
|
|
||||||
battery,temp_high_threshold_event = <500>;
|
|
||||||
battery,temp_high_recovery_event = <450>;
|
|
||||||
battery,temp_low_threshold_event = <0>;
|
|
||||||
battery,temp_low_recovery_event = <50>;
|
|
||||||
battery,temp_highlimit_threshold_normal = <800>;
|
|
||||||
battery,temp_highlimit_recovery_normal = <750>;
|
|
||||||
battery,temp_high_threshold_normal = <500>;
|
|
||||||
battery,temp_high_recovery_normal = <450>;
|
|
||||||
battery,temp_low_threshold_normal = <0>;
|
|
||||||
battery,temp_low_recovery_normal = <50>;
|
|
||||||
battery,temp_highlimit_threshold_lpm = <800>;
|
|
||||||
battery,temp_highlimit_recovery_lpm = <750>;
|
|
||||||
battery,temp_high_threshold_lpm = <500>;
|
|
||||||
battery,temp_high_recovery_lpm = <450>;
|
|
||||||
battery,temp_low_threshold_lpm = <0>;
|
|
||||||
battery,temp_low_recovery_lpm = <50>;
|
|
||||||
battery,wpc_high_threshold_normal = <450>;
|
|
||||||
battery,wpc_high_recovery_normal = <400>;
|
|
||||||
battery,wpc_low_threshold_normal = <0>;
|
|
||||||
battery,wpc_low_recovery_normal = <50>;
|
|
||||||
battery,full_check_type = <7>; /* SEC_BATTERY_FULLCHARGED_CHGPSY */
|
|
||||||
battery,full_check_type_2nd = <7>; /* SEC_BATTERY_FULLCHARGED_CHGPSY */
|
|
||||||
battery,full_check_count = <1>;
|
|
||||||
battery,chg_gpio_full_check = <0>;
|
|
||||||
battery,chg_polarity_full_check = <1>;
|
|
||||||
|
|
||||||
battery,chg_high_temp = <460>;
|
|
||||||
battery,chg_high_temp_recovery = <440>;
|
|
||||||
battery,chg_input_limit_current = <1000>;
|
|
||||||
battery,chg_charging_limit_current = <1500>;
|
|
||||||
|
|
||||||
battery,wpc_temp_control_source = <1>; /* TEMP_CONTROL_SOURCE_BAT_THM = WPC_THM */
|
|
||||||
battery,wpc_high_temp = <380>;
|
|
||||||
battery,wpc_high_temp_recovery = <360>;
|
|
||||||
battery,wpc_charging_limit_current = <600>;
|
|
||||||
battery,wpc_temp_lcd_on_control_source = <1>; /* TEMP_CONTROL_SOURCE_BAT_THM = WPC_THM */
|
|
||||||
battery,wpc_lcd_on_high_temp = <380>;
|
|
||||||
battery,wpc_lcd_on_high_temp_rec = <360>;
|
|
||||||
battery,wpc_lcd_on_charging_limit_current = <450>;
|
|
||||||
|
|
||||||
battery,wpc_store_high_temp = <360>;
|
|
||||||
battery,wpc_store_high_temp_recovery = <340>;
|
|
||||||
battery,wpc_store_lcd_on_high_temp = <360>;
|
|
||||||
battery,wpc_store_lcd_on_high_temp_rec = <300>;
|
|
||||||
battery,wpc_store_lcd_on_charging_limit_current = <400>;
|
|
||||||
|
|
||||||
battery,sleep_mode_limit_current = <500>;
|
|
||||||
battery,wc_full_input_limit_current = <100>;
|
|
||||||
battery,wc_cv_current = <820>;
|
|
||||||
battery,wc_cv_tx_current = <650>;
|
|
||||||
|
|
||||||
battery,mix_high_temp = <420>;
|
|
||||||
battery,mix_high_chg_temp = <500>;
|
|
||||||
battery,mix_high_temp_recovery = <390>;
|
|
||||||
|
|
||||||
/* SEC_BATTERY_FULL_CONDITION_NOTIMEFULL | SEC_BATTERY_FULL_CONDITION_VCELL */
|
|
||||||
battery,full_condition_type = <9>;
|
|
||||||
battery,full_condition_soc = <93>;
|
|
||||||
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 = <4280>;
|
|
||||||
|
|
||||||
battery,charging_total_time = <14400>;
|
|
||||||
battery,hv_charging_total_time = <10800>;
|
|
||||||
battery,normal_charging_total_time = <18000>;
|
|
||||||
battery,usb_charging_total_time = <36000>;
|
|
||||||
battery,recharging_total_time = <5400>;
|
|
||||||
battery,charging_reset_time = <0>;
|
|
||||||
|
|
||||||
battery,chg_float_voltage = <4350>;
|
|
||||||
|
|
||||||
battery,swelling_high_temp_block = <410>;
|
|
||||||
battery,swelling_high_temp_recov = <390>;
|
|
||||||
battery,swelling_low_temp_block_1st = <150>;
|
|
||||||
battery,swelling_low_temp_recov_1st = <200>;
|
|
||||||
battery,swelling_low_temp_block_2nd = <50>;
|
|
||||||
battery,swelling_low_temp_recov_2nd = <100>;
|
|
||||||
|
|
||||||
battery,swelling_low_temp_current = <800>; /* 0.3C */
|
|
||||||
battery,swelling_low_temp_topoff = <200>; /* 0.05C */
|
|
||||||
battery,swelling_high_temp_current = <1250>; /* 0.45C */
|
|
||||||
battery,swelling_high_temp_topoff = <200>; /* 0.05C */
|
|
||||||
battery,swelling_wc_high_temp_current = <800>; /* 0.3C */
|
|
||||||
battery,swelling_wc_low_temp_current = <800>; /* 0.3C */
|
|
||||||
|
|
||||||
battery,swelling_drop_float_voltage = <4150>;
|
|
||||||
battery,swelling_high_rechg_voltage = <4000>;
|
|
||||||
battery,swelling_low_rechg_voltage = <4000>;
|
|
||||||
battery,wa_float_voltage = <4050>;
|
|
||||||
|
|
||||||
battery,siop_event_check_type = <1>;
|
|
||||||
battery,siop_call_cv_current = <330>;
|
|
||||||
battery,siop_call_cc_current = <330>;
|
|
||||||
|
|
||||||
battery,siop_input_limit_current = <1200>;
|
|
||||||
battery,siop_charging_limit_current = <1000>;
|
|
||||||
battery,siop_hv_input_limit_current = <500>;
|
|
||||||
battery,siop_hv_charging_limit_current = <1000>;
|
|
||||||
|
|
||||||
battery,siop_wireless_input_limit_current = <600>;
|
|
||||||
battery,siop_wireless_charging_limit_current = <850>;
|
|
||||||
battery,siop_hv_wireless_input_limit_current = <600>;
|
|
||||||
battery,siop_hv_wireless_charging_limit_current = <850>;
|
|
||||||
battery,siop_store_hv_wireless_input_limit_current = <450>;
|
|
||||||
|
|
||||||
battery,ttf_hv_charge_current = <2500>;
|
|
||||||
battery,ttf_hv_wireless_charge_current = <1340>;
|
|
||||||
battery,ttf_wireless_charge_current = <995>;
|
|
||||||
|
|
||||||
battery,pd_charging_charge_power = <15000>;
|
|
||||||
battery,max_charging_current = <2500>;
|
|
||||||
battery,battery_full_capacity = <3500>;
|
|
||||||
|
|
||||||
/* cycle, chg_float_voltage, recharge_condition_vcell, full_condition_vcell, full_condition_soc */
|
|
||||||
battery,age_data = <0 4350 4280 4250 93
|
|
||||||
300 4330 4260 4230 92
|
|
||||||
400 4310 4240 4210 91
|
|
||||||
700 4290 4220 4190 90
|
|
||||||
1000 4240 4170 4140 89>;
|
|
||||||
|
|
||||||
battery,health_condition = <
|
|
||||||
/* CYCLE ASOC */
|
|
||||||
900 75 /* GOOD */
|
|
||||||
1200 65 /* NORMAL */
|
|
||||||
1500 55 /* AGED */
|
|
||||||
>;
|
|
||||||
|
|
||||||
battery,pre_afc_input_current = <500>; /* mA */
|
|
||||||
battery,prepare_ta_delay = <0>; /* msec */
|
|
||||||
|
|
||||||
battery,max_input_voltage = <9000>; /* mV */
|
|
||||||
battery,max_input_current = <3000>; /* mA */
|
|
||||||
|
|
||||||
battery,enable_sysovlo_irq;
|
|
||||||
|
|
||||||
battery,standard_curr = <2500>;
|
|
||||||
battery,expired_time = <10800>;
|
|
||||||
battery,recharging_expired_time = <5400>;
|
|
||||||
|
|
||||||
battery,cisd_max_voltage_thr = <4400>; /* battery ovp detection voltage */
|
|
||||||
|
|
||||||
battery,cisd_alg_index = <7>;
|
|
||||||
|
|
||||||
io-channels = <&exynos_adc 4>, <&exynos_adc 3>, <&exynos_adc 11>, <&exynos_adc 4>, <&exynos_adc 1>;
|
|
||||||
io-channel-names = "adc-temp", "adc-chg-temp", "adc-in-bat", "adc-wpc-temp", "adc-usb-temp";
|
|
||||||
#io-channel-cells = <5>;
|
|
||||||
io-channel-ranges;
|
|
||||||
};
|
|
||||||
|
|
||||||
max77705-charger {
|
|
||||||
status = "okay";
|
|
||||||
charger,cpu_max_freq = <0 1690000>; /* KHz */
|
|
||||||
};
|
|
||||||
|
|
||||||
max77705-fuelgauge {
|
|
||||||
status = "okay";
|
|
||||||
fuelgauge,fuel_alert_soc = <1>;
|
|
||||||
fuelgauge,jig_gpio = <&gpg0 0 0>;
|
|
||||||
fuelgauge,jig_low_active;
|
|
||||||
fuelgauge,capacity_max = <1000>;
|
|
||||||
fuelgauge,capacity_max_margin = <300>;
|
|
||||||
fuelgauge,capacity_min = <0>;
|
|
||||||
fuelgauge,capacity_calculation_type = <28>;
|
|
||||||
fuelgauge,repeated_fuelalert;
|
|
||||||
fuelgauge,using_temp_compensation;
|
|
||||||
fuelgauge,low_temp_limit = <100>;
|
|
||||||
fuelgauge,using_hw_vempty;
|
|
||||||
fuelgauge,v_empty = <0xA7E2>; /* Empty: 3350mV, Recover: 3920mV */
|
|
||||||
fuelgauge,v_empty_origin = <0x7D54>; /* Empty: 2500mV, Recover: 3360mV */
|
|
||||||
fuelgauge,sw_v_empty_voltage = <3200>;
|
|
||||||
fuelgauge,sw_v_empty_voltage_cisd = <3100>;
|
|
||||||
fuelgauge,sw_v_empty_recover_voltage = <3480>;
|
|
||||||
fuelgauge,qrtable20 = <0x1E04>;
|
|
||||||
fuelgauge,qrtable30 = <0x1902>;
|
|
||||||
fuelgauge,fg_resistor = <2>;
|
|
||||||
fuelgauge,capacity = <0x0CE7>;
|
|
||||||
/*fuelgauge,auto_discharge_en;*/
|
|
||||||
fuelgauge,discharge_temp_threshold = <600>;
|
|
||||||
fuelgauge,discharge_volt_threshold = <4200>;
|
|
||||||
fuelgauge,ttf_capacity = <3500>;
|
|
||||||
fuelgauge,cv_data = <
|
|
||||||
2488 829 1809
|
|
||||||
2409 832 1796
|
|
||||||
2327 837 1769
|
|
||||||
2272 840 1743
|
|
||||||
2182 846 1721
|
|
||||||
2104 850 1690
|
|
||||||
2038 854 1670
|
|
||||||
1950 859 1640
|
|
||||||
1904 861 1622
|
|
||||||
1838 865 1594
|
|
||||||
1797 867 1576
|
|
||||||
1749 870 1560
|
|
||||||
1703 873 1531
|
|
||||||
1683 873 1525
|
|
||||||
1667 875 1515
|
|
||||||
1660 875 1512
|
|
||||||
1653 876 1509
|
|
||||||
1615 878 1502
|
|
||||||
1580 880 1483
|
|
||||||
1553 881 1463
|
|
||||||
1544 882 1458
|
|
||||||
1520 883 1451
|
|
||||||
1477 886 1424
|
|
||||||
1431 888 1409
|
|
||||||
1396 891 1383
|
|
||||||
1347 894 1361
|
|
||||||
1299 896 1332
|
|
||||||
1267 898 1315
|
|
||||||
1231 902 1288
|
|
||||||
1202 904 1263
|
|
||||||
1148 906 1243
|
|
||||||
1109 909 1213
|
|
||||||
1067 911 1185
|
|
||||||
1031 914 1156
|
|
||||||
1013 915 1140
|
|
||||||
975 917 1111
|
|
||||||
961 919 1084
|
|
||||||
921 921 1064
|
|
||||||
892 923 1038
|
|
||||||
887 923 1019
|
|
||||||
863 925 1004
|
|
||||||
833 927 976
|
|
||||||
808 929 946
|
|
||||||
787 930 918
|
|
||||||
780 931 904
|
|
||||||
764 932 895
|
|
||||||
744 934 864
|
|
||||||
730 935 846
|
|
||||||
715 936 828
|
|
||||||
693 937 800
|
|
||||||
681 938 783
|
|
||||||
666 940 752
|
|
||||||
651 941 735
|
|
||||||
640 942 712
|
|
||||||
628 945 697
|
|
||||||
622 946 679
|
|
||||||
618 947 664
|
|
||||||
600 950 646
|
|
||||||
596 951 627
|
|
||||||
589 953 614
|
|
||||||
584 953 601
|
|
||||||
576 956 572
|
|
||||||
577 957 553
|
|
||||||
562 958 535
|
|
||||||
511 968 506
|
|
||||||
505 969 487
|
|
||||||
493 971 464
|
|
||||||
492 972 435
|
|
||||||
484 973 417
|
|
||||||
480 975 398
|
|
||||||
474 976 380
|
|
||||||
470 977 364
|
|
||||||
462 977 355
|
|
||||||
456 978 336
|
|
||||||
452 979 329
|
|
||||||
446 981 303
|
|
||||||
437 982 282
|
|
||||||
429 984 255
|
|
||||||
423 985 242
|
|
||||||
422 986 229
|
|
||||||
414 987 211
|
|
||||||
411 988 199
|
|
||||||
405 989 191
|
|
||||||
397 990 171
|
|
||||||
391 991 140
|
|
||||||
387 992 126
|
|
||||||
384 993 107
|
|
||||||
372 995 84
|
|
||||||
364 997 54
|
|
||||||
356 998 26
|
|
||||||
356 998 13
|
|
||||||
0 1000 0
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* sec_battery_cable
|
|
||||||
* 0 UNKNOWN,
|
|
||||||
* 1 NONE,
|
|
||||||
* 2 PREPARE_TA,
|
|
||||||
* 3 TA,
|
|
||||||
* 4 USB,
|
|
||||||
* 5 USB_CDP,
|
|
||||||
* 6 9V_TA,
|
|
||||||
* 7 9V_ERR,
|
|
||||||
* 8 9V_UNKNOWN,
|
|
||||||
* 9 12V_TA,
|
|
||||||
* 10 WIRELESS,
|
|
||||||
* 11 HV_WIRELESS,
|
|
||||||
* 12 PMA_WIRELESS,
|
|
||||||
* 13 WIRELESS_PACK,
|
|
||||||
* 14 WIRELESS_HV_PACK,
|
|
||||||
* 15 WIRELESS_STAND,
|
|
||||||
* 16 WIRELESS_HV_STAND,
|
|
||||||
* 17 QC20,
|
|
||||||
* 18 QC30,
|
|
||||||
* 19 PDIC,
|
|
||||||
* 20 UARTOFF,
|
|
||||||
* 21 OTG,
|
|
||||||
* 22 LAN_HUB,
|
|
||||||
* 23 POWER_SHARING,
|
|
||||||
* 24 HMT_CONNECTED,
|
|
||||||
* 25 HMT_CHARGE,
|
|
||||||
* 26 HV_TA_CHG_LIMIT,
|
|
||||||
* 27 WIRELESS_VEHICLE,
|
|
||||||
* 28 WIRELESS_HV_VEHICLE,
|
|
||||||
* 29 PREPARE_WIRELESS_HV,
|
|
||||||
* 30 TIMEOUT,
|
|
||||||
* 31 SMART_OTG,
|
|
||||||
* 32 SMART_NOTG,
|
|
||||||
* 33 WIRELESS_TX,
|
|
||||||
* 34 CABLE_MAX,
|
|
||||||
*/
|
|
||||||
cable-info {
|
|
||||||
default_input_current = <1800>;
|
|
||||||
default_charging_current = <2100>;
|
|
||||||
full_check_current_1st = <350>;
|
|
||||||
full_check_current_2nd = <200>;
|
|
||||||
|
|
||||||
current_group_1 {
|
|
||||||
cable_number = <2 19 21 22 23 30>;
|
|
||||||
input_current = <500>;
|
|
||||||
charging_current = <500>;
|
|
||||||
};
|
|
||||||
current_group_2 {
|
|
||||||
cable_number = <25 31>;
|
|
||||||
input_current = <1000>;
|
|
||||||
charging_current = <1000>;
|
|
||||||
};
|
|
||||||
current_group_3 {
|
|
||||||
cable_number = <5 32>;
|
|
||||||
input_current = <1500>;
|
|
||||||
charging_current = <1500>;
|
|
||||||
};
|
|
||||||
current_group_4 {
|
|
||||||
cable_number = <6 7 8>;
|
|
||||||
input_current = <1650>;
|
|
||||||
charging_current = <2500>;
|
|
||||||
};
|
|
||||||
current_group_5 {
|
|
||||||
cable_number = <9>;
|
|
||||||
input_current = <1650>;
|
|
||||||
charging_current = <2500>;
|
|
||||||
};
|
|
||||||
current_group_6 {
|
|
||||||
cable_number = <10 12 15 27 33>;
|
|
||||||
input_current = <900>;
|
|
||||||
charging_current = <1400>;
|
|
||||||
};
|
|
||||||
current_group_7 {
|
|
||||||
cable_number = <13>;
|
|
||||||
input_current = <700>;
|
|
||||||
charging_current = <1400>;
|
|
||||||
};
|
|
||||||
current_group_8 {
|
|
||||||
cable_number = <24>;
|
|
||||||
input_current = <1000>;
|
|
||||||
charging_current = <450>;
|
|
||||||
};
|
|
||||||
current_group_9 {
|
|
||||||
cable_number = <26>;
|
|
||||||
input_current = <2000>;
|
|
||||||
charging_current = <1800>;
|
|
||||||
};
|
|
||||||
current_group_10 {
|
|
||||||
cable_number = <11 14 16 28>;
|
|
||||||
input_current = <650>;
|
|
||||||
charging_current = <1400>;
|
|
||||||
};
|
|
||||||
current_group_11 {
|
|
||||||
cable_number = <29>;
|
|
||||||
input_current = <500>;
|
|
||||||
charging_current = <1400>;
|
|
||||||
};
|
|
||||||
current_group_12 {
|
|
||||||
cable_number = <1 4>;
|
|
||||||
input_current = <475>;
|
|
||||||
charging_current = <550>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,161 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL5433 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "battery_data_star2lte_common.dtsi"
|
|
||||||
|
|
||||||
/ {
|
|
||||||
hsi2c@14370000 { /* hsi2c_41 */
|
|
||||||
mfc-charger@3b {
|
|
||||||
battery,charger_name = "max77865-charger";
|
|
||||||
battery,fuelgauge_name = "max77865-fuelgauge";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
battery {
|
|
||||||
battery,charger_name = "max77865-charger";
|
|
||||||
battery,fuelgauge_name = "max77865-fuelgauge";
|
|
||||||
battery,fgsrc_switch_name = "max77865-charger"; /* Fuelgauge voltage source */
|
|
||||||
|
|
||||||
battery,chg_float_voltage = <43500>;
|
|
||||||
battery,chg_float_voltage_conv = <10>;
|
|
||||||
battery,swelling_drop_float_voltage = <41500>;
|
|
||||||
battery,wa_float_voltage = <40500>;
|
|
||||||
|
|
||||||
/* cycle, chg_float_voltage, recharge_condition_vcell, full_condition_vcell, full_condition_soc */
|
|
||||||
battery,age_data = <0 43500 4280 4250 93
|
|
||||||
200 43250 4255 4225 92
|
|
||||||
250 43125 4242 4212 91
|
|
||||||
300 42875 4217 4187 90
|
|
||||||
1000 42375 4167 4137 89>;
|
|
||||||
};
|
|
||||||
|
|
||||||
max77865-fuelgauge {
|
|
||||||
status = "okay";
|
|
||||||
fuelgauge,fuel_alert_soc = <1>;
|
|
||||||
fuelgauge,jig_gpio = <&gpg0 0 0>;
|
|
||||||
fuelgauge,jig_low_active;
|
|
||||||
fuelgauge,capacity_max = <1000>;
|
|
||||||
fuelgauge,capacity_max_margin = <300>;
|
|
||||||
fuelgauge,capacity_min = <0>;
|
|
||||||
fuelgauge,capacity_calculation_type = <28>;
|
|
||||||
fuelgauge,repeated_fuelalert;
|
|
||||||
fuelgauge,using_temp_compensation;
|
|
||||||
fuelgauge,low_temp_limit = <100>;
|
|
||||||
fuelgauge,using_hw_vempty;
|
|
||||||
fuelgauge,v_empty = <0xAA64>; /* Empty: 3260mV, Recover: 3480mV */
|
|
||||||
fuelgauge,v_empty_origin = <0x7D54>; /* Empty: 2500mV, Recover: 3360mV */
|
|
||||||
fuelgauge,sw_v_empty_voltage = <3200>;
|
|
||||||
fuelgauge,sw_v_empty_voltage_cisd = <3100>;
|
|
||||||
fuelgauge,sw_v_empty_recover_voltage = <3480>;
|
|
||||||
fuelgauge,qrtable20 = <0x1E04>;
|
|
||||||
fuelgauge,qrtable30 = <0x1902>;
|
|
||||||
fuelgauge,fg_resistor = <2>;
|
|
||||||
fuelgauge,capacity = <0x0CE7>;
|
|
||||||
/*fuelgauge,auto_discharge_en;*/
|
|
||||||
fuelgauge,discharge_temp_threshold = <600>;
|
|
||||||
fuelgauge,discharge_volt_threshold = <4200>;
|
|
||||||
fuelgauge,ttf_capacity = <3500>;
|
|
||||||
fuelgauge,cv_data = <
|
|
||||||
2488 829 1809
|
|
||||||
2409 832 1796
|
|
||||||
2327 837 1769
|
|
||||||
2272 840 1743
|
|
||||||
2182 846 1721
|
|
||||||
2104 850 1690
|
|
||||||
2038 854 1670
|
|
||||||
1950 859 1640
|
|
||||||
1904 861 1622
|
|
||||||
1838 865 1594
|
|
||||||
1797 867 1576
|
|
||||||
1749 870 1560
|
|
||||||
1703 873 1531
|
|
||||||
1683 873 1525
|
|
||||||
1667 875 1515
|
|
||||||
1660 875 1512
|
|
||||||
1653 876 1509
|
|
||||||
1615 878 1502
|
|
||||||
1580 880 1483
|
|
||||||
1553 881 1463
|
|
||||||
1544 882 1458
|
|
||||||
1520 883 1451
|
|
||||||
1477 886 1424
|
|
||||||
1431 888 1409
|
|
||||||
1396 891 1383
|
|
||||||
1347 894 1361
|
|
||||||
1299 896 1332
|
|
||||||
1267 898 1315
|
|
||||||
1231 902 1288
|
|
||||||
1202 904 1263
|
|
||||||
1148 906 1243
|
|
||||||
1109 909 1213
|
|
||||||
1067 911 1185
|
|
||||||
1031 914 1156
|
|
||||||
1013 915 1140
|
|
||||||
975 917 1111
|
|
||||||
961 919 1084
|
|
||||||
921 921 1064
|
|
||||||
892 923 1038
|
|
||||||
887 923 1019
|
|
||||||
863 925 1004
|
|
||||||
833 927 976
|
|
||||||
808 929 946
|
|
||||||
787 930 918
|
|
||||||
780 931 904
|
|
||||||
764 932 895
|
|
||||||
744 934 864
|
|
||||||
730 935 846
|
|
||||||
715 936 828
|
|
||||||
693 937 800
|
|
||||||
681 938 783
|
|
||||||
666 940 752
|
|
||||||
651 941 735
|
|
||||||
640 942 712
|
|
||||||
628 945 697
|
|
||||||
622 946 679
|
|
||||||
618 947 664
|
|
||||||
600 950 646
|
|
||||||
596 951 627
|
|
||||||
589 953 614
|
|
||||||
584 953 601
|
|
||||||
576 956 572
|
|
||||||
577 957 553
|
|
||||||
562 958 535
|
|
||||||
511 968 506
|
|
||||||
505 969 487
|
|
||||||
493 971 464
|
|
||||||
492 972 435
|
|
||||||
484 973 417
|
|
||||||
480 975 398
|
|
||||||
474 976 380
|
|
||||||
470 977 364
|
|
||||||
462 977 355
|
|
||||||
456 978 336
|
|
||||||
452 979 329
|
|
||||||
446 981 303
|
|
||||||
437 982 282
|
|
||||||
429 984 255
|
|
||||||
423 985 242
|
|
||||||
422 986 229
|
|
||||||
414 987 211
|
|
||||||
411 988 199
|
|
||||||
405 989 191
|
|
||||||
397 990 171
|
|
||||||
391 991 140
|
|
||||||
387 992 126
|
|
||||||
384 993 107
|
|
||||||
372 995 84
|
|
||||||
364 997 54
|
|
||||||
356 998 26
|
|
||||||
356 998 13
|
|
||||||
0 1000 0
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,15 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL5433 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "battery_data_star2lte_common.dtsi"
|
|
||||||
|
|
||||||
/ {
|
|
||||||
};
|
|
|
@ -1,537 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL5433 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pinctrl@14050000 {
|
|
||||||
wpc_int: wpc-int {
|
|
||||||
samsung,pins = "gpa3-1";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
wpc_det: wpc-det {
|
|
||||||
samsung,pins = "gpa2-0";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10430000 {
|
|
||||||
jig_gpio: jig-gpio {
|
|
||||||
samsung,pins = "gpg0-0";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <3>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hsi2c@14370000 { /* hsi2c_41 */
|
|
||||||
status = "okay";
|
|
||||||
samsung,stop-after-trans;
|
|
||||||
samsung,stand-mode;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
|
|
||||||
mfc-charger@3b {
|
|
||||||
compatible = "idt,mfc-charger";
|
|
||||||
reg = <0x3b>;
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&wpc_int &wpc_det>;
|
|
||||||
|
|
||||||
battery,wpc_int = <&gpa3 1 0>;
|
|
||||||
battery,wpc_det = <&gpa2 0 0>;
|
|
||||||
battery,mst_en = <&gpg0 2 0>;
|
|
||||||
battery,mst_pwr_en = <&gpg3 4 0>;
|
|
||||||
|
|
||||||
battery,charger_name = "max77705-charger";
|
|
||||||
battery,fuelgauge_name = "max77705-fuelgauge";
|
|
||||||
battery,wireless_charger_name = "mfc-charger";
|
|
||||||
battery,fod_wpc_data = <150 52 142 44 150 30 150 30 165 245 156 19>;
|
|
||||||
battery,fod_pma_data = <150 52 142 44 150 30 150 30 165 245 156 19>;
|
|
||||||
battery,fod_a4wp_data = <150 52 142 44 150 30 150 30 165 245 156 19>;
|
|
||||||
battery,fod_wpc_data_cv = <150 82 142 74 150 60 150 60 165 255 156 49>;
|
|
||||||
battery,fod_pma_data_cv = <150 82 142 74 150 60 150 60 165 255 156 49>;
|
|
||||||
battery,fod_a4wp_data_cv = <150 82 142 74 150 60 150 60 165 255 156 49>;
|
|
||||||
battery,fod_hero_5v_data = <150 (-28) 142 (-36) 150 (-50) 150 (-50) 165 165 156 (-61)>;
|
|
||||||
battery,wpc_cc_cv_vout = <5500>;
|
|
||||||
battery,wpc_cv_call_vout = <5000>;
|
|
||||||
battery,wpc_cc_call_vout = <5000>;
|
|
||||||
battery,hv_vout_wa = <0x41>; /* WC vout 10.0V */
|
|
||||||
battery,wc_cover_rpp = <0x44>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
battery {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "samsung,sec-battery";
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
/* battery,irq_gpio = <&gpa1 6 0>; */
|
|
||||||
|
|
||||||
battery,vendor = "Battery";
|
|
||||||
battery,charger_name = "max77705-charger";
|
|
||||||
battery,fuelgauge_name = "max77705-fuelgauge";
|
|
||||||
battery,wireless_charger_name = "mfc-charger";
|
|
||||||
battery,technology = <2>; /* POWER_SUPPLY_TECHNOLOGY_LION */
|
|
||||||
battery,fgsrc_switch_name = "max77705-charger"; /* Fuelgauge voltage source */
|
|
||||||
|
|
||||||
battery,batt_data_version = <2>;
|
|
||||||
|
|
||||||
battery,chip_vendor = "LSI";
|
|
||||||
battery,temp_adc_type = <1>; /* SEC_BATTERY_ADC_TYPE_AP */
|
|
||||||
|
|
||||||
battery,temp_check_type = <2>; /* SEC_BATTERY_TEMP_CHECK_TEMP */
|
|
||||||
battery,chg_temp_check = <1>;
|
|
||||||
battery,wpc_temp_check = <1>;
|
|
||||||
|
|
||||||
battery,thermal_source = <2>; /* SEC_BATTERY_THERMAL_SOURCE_ADC */
|
|
||||||
battery,usb_thermal_source = <2>; /* SEC_BATTERY_THERMAL_SOURCE_ADC */
|
|
||||||
battery,chg_thermal_source = <1>;
|
|
||||||
battery,wpc_thermal_source = <1>;
|
|
||||||
battery,coil_thermal_source = <1>;
|
|
||||||
|
|
||||||
battery,polling_time = <10 30 30 30 3600>;
|
|
||||||
|
|
||||||
battery,temp_table_adc = <275 327 385 451 535 626 737 864 1013 1210
|
|
||||||
1361 1554 1769 2007 2239 2476 2702 2924 3116 3294 3446 3564 3676>;
|
|
||||||
battery,temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,usb_temp_table_adc = <275 327 385 451 535 626 737 864 1013 1210
|
|
||||||
1361 1554 1769 2007 2239 2476 2702 2924 3116 3294 3446 3564 3676>;
|
|
||||||
battery,usb_temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,chg_temp_table_adc = <275 327 385 451 535 626 737 864 1013 1210
|
|
||||||
1361 1554 1769 2007 2239 2476 2702 2924 3116 3294 3446 3564 3676>;
|
|
||||||
battery,chg_temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,wpc_temp_table_adc = <275 327 385 451 535 626 737 864 1013 1210
|
|
||||||
1361 1554 1769 2007 2239 2476 2702 2924 3116 3294 3446 3564 3676>;
|
|
||||||
battery,wpc_temp_table_data = <900 850 800 750 700 650 600 550 500 450
|
|
||||||
400 350 300 250 200 150 100 50 0 (-50) (-100) (-150) (-200)>;
|
|
||||||
|
|
||||||
battery,wireless_cc_cv = <85>;
|
|
||||||
battery,set_cv_vout_in_low_capacity = <9>;
|
|
||||||
battery,fod_data = <204 9 150 28 130 55 130 57 157 5 157 6>;
|
|
||||||
battery,fod_data_cv = <204 39 150 58 130 85 130 87 157 35 157 36>;
|
|
||||||
battery,wpc_cc_cv_vout = <5500>;
|
|
||||||
battery,wpc_cv_call_vout = <5000>;
|
|
||||||
battery,wpc_cc_call_vout = <5000>;
|
|
||||||
battery,wpc_det = <&gpa2 0 0>;
|
|
||||||
battery,wpc_en = <&expander_gpios 8 0>;
|
|
||||||
battery,wpc_int = <&gpa3 2 0>;
|
|
||||||
battery,hv_vout_wa = <0x41>; /* WC vout 10.0V */
|
|
||||||
battery,adc_check_count = <5>;
|
|
||||||
|
|
||||||
battery,cable_check_type = <4>; /* SEC_BATTERY_CABLE_CHECK_PSY */
|
|
||||||
battery,cable_source_type = <1>; /* SEC_BATTERY_CABLE_SOURCE_EXTERNAL */
|
|
||||||
battery,polling_type = <1>; /* SEC_BATTERY_MONITOR_ALARM */
|
|
||||||
battery,monitor_initial_count = <0>;
|
|
||||||
|
|
||||||
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,temp_check_count = <1>;
|
|
||||||
battery,temp_highlimit_threshold_event = <800>;
|
|
||||||
battery,temp_highlimit_recovery_event = <750>;
|
|
||||||
battery,temp_high_threshold_event = <500>;
|
|
||||||
battery,temp_high_recovery_event = <450>;
|
|
||||||
battery,temp_low_threshold_event = <0>;
|
|
||||||
battery,temp_low_recovery_event = <50>;
|
|
||||||
battery,temp_highlimit_threshold_normal = <800>;
|
|
||||||
battery,temp_highlimit_recovery_normal = <750>;
|
|
||||||
battery,temp_high_threshold_normal = <500>;
|
|
||||||
battery,temp_high_recovery_normal = <450>;
|
|
||||||
battery,temp_low_threshold_normal = <0>;
|
|
||||||
battery,temp_low_recovery_normal = <50>;
|
|
||||||
battery,temp_highlimit_threshold_lpm = <800>;
|
|
||||||
battery,temp_highlimit_recovery_lpm = <750>;
|
|
||||||
battery,temp_high_threshold_lpm = <500>;
|
|
||||||
battery,temp_high_recovery_lpm = <450>;
|
|
||||||
battery,temp_low_threshold_lpm = <0>;
|
|
||||||
battery,temp_low_recovery_lpm = <50>;
|
|
||||||
battery,wpc_high_threshold_normal = <450>;
|
|
||||||
battery,wpc_high_recovery_normal = <400>;
|
|
||||||
battery,wpc_low_threshold_normal = <0>;
|
|
||||||
battery,wpc_low_recovery_normal = <50>;
|
|
||||||
battery,full_check_type = <7>; /* SEC_BATTERY_FULLCHARGED_CHGPSY */
|
|
||||||
battery,full_check_type_2nd = <7>; /* SEC_BATTERY_FULLCHARGED_CHGPSY */
|
|
||||||
battery,full_check_count = <1>;
|
|
||||||
battery,chg_gpio_full_check = <0>;
|
|
||||||
battery,chg_polarity_full_check = <1>;
|
|
||||||
|
|
||||||
battery,chg_high_temp = <460>;
|
|
||||||
battery,chg_high_temp_recovery = <440>;
|
|
||||||
battery,chg_input_limit_current = <1000>;
|
|
||||||
battery,chg_charging_limit_current = <1250>;
|
|
||||||
|
|
||||||
battery,wpc_temp_control_source = <1>; /* TEMP_CONTROL_SOURCE_BAT_THM = WPC_THM */
|
|
||||||
battery,wpc_high_temp = <380>;
|
|
||||||
battery,wpc_high_temp_recovery = <360>;
|
|
||||||
battery,wpc_charging_limit_current = <600>;
|
|
||||||
battery,wpc_temp_lcd_on_control_source = <1>; /* TEMP_CONTROL_SOURCE_BAT_THM = WPC_THM */
|
|
||||||
battery,wpc_lcd_on_high_temp = <380>;
|
|
||||||
battery,wpc_lcd_on_high_temp_rec = <360>;
|
|
||||||
battery,wpc_lcd_on_charging_limit_current = <450>;
|
|
||||||
|
|
||||||
battery,wpc_store_high_temp = <360>;
|
|
||||||
battery,wpc_store_high_temp_recovery = <340>;
|
|
||||||
battery,wpc_store_lcd_on_high_temp = <360>;
|
|
||||||
battery,wpc_store_lcd_on_high_temp_rec = <300>;
|
|
||||||
battery,wpc_store_lcd_on_charging_limit_current = <400>;
|
|
||||||
|
|
||||||
battery,sleep_mode_limit_current = <500>;
|
|
||||||
battery,wc_full_input_limit_current = <100>;
|
|
||||||
battery,wc_cv_current = <820>;
|
|
||||||
battery,wc_cv_tx_current = <650>;
|
|
||||||
|
|
||||||
battery,mix_high_temp = <420>;
|
|
||||||
battery,mix_high_chg_temp = <500>;
|
|
||||||
battery,mix_high_temp_recovery = <390>;
|
|
||||||
|
|
||||||
/* SEC_BATTERY_FULL_CONDITION_NOTIMEFULL | SEC_BATTERY_FULL_CONDITION_VCELL */
|
|
||||||
battery,full_condition_type = <9>;
|
|
||||||
battery,full_condition_soc = <93>;
|
|
||||||
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 = <4280>;
|
|
||||||
|
|
||||||
battery,charging_total_time = <14400>;
|
|
||||||
battery,hv_charging_total_time = <10800>;
|
|
||||||
battery,normal_charging_total_time = <18000>;
|
|
||||||
battery,usb_charging_total_time = <36000>;
|
|
||||||
battery,recharging_total_time = <5400>;
|
|
||||||
battery,charging_reset_time = <0>;
|
|
||||||
|
|
||||||
battery,chg_float_voltage = <4350>;
|
|
||||||
|
|
||||||
battery,swelling_high_temp_block = <410>;
|
|
||||||
battery,swelling_high_temp_recov = <390>;
|
|
||||||
battery,swelling_low_temp_block_1st = <150>;
|
|
||||||
battery,swelling_low_temp_recov_1st = <200>;
|
|
||||||
battery,swelling_low_temp_block_2nd = <50>;
|
|
||||||
battery,swelling_low_temp_recov_2nd = <100>;
|
|
||||||
|
|
||||||
battery,swelling_low_temp_current = <700>; /* 0.3C */
|
|
||||||
battery,swelling_low_temp_topoff = <175>; /* 0.05C */
|
|
||||||
battery,swelling_high_temp_current = <1090>; /* 0.45C */
|
|
||||||
battery,swelling_high_temp_topoff = <175>; /* 0.05C */
|
|
||||||
battery,swelling_wc_high_temp_current = <700>; /* 0.3C */
|
|
||||||
battery,swelling_wc_low_temp_current = <700>; /* 0.3C */
|
|
||||||
|
|
||||||
battery,swelling_drop_float_voltage = <4150>;
|
|
||||||
battery,swelling_high_rechg_voltage = <4000>;
|
|
||||||
battery,swelling_low_rechg_voltage = <4000>;
|
|
||||||
battery,wa_float_voltage = <4050>;
|
|
||||||
|
|
||||||
battery,siop_event_check_type = <1>;
|
|
||||||
battery,siop_call_cv_current = <330>;
|
|
||||||
battery,siop_call_cc_current = <330>;
|
|
||||||
|
|
||||||
battery,siop_input_limit_current = <1200>;
|
|
||||||
battery,siop_charging_limit_current = <1000>;
|
|
||||||
battery,siop_hv_input_limit_current = <500>;
|
|
||||||
battery,siop_hv_charging_limit_current = <1000>;
|
|
||||||
|
|
||||||
battery,siop_wireless_input_limit_current = <600>;
|
|
||||||
battery,siop_wireless_charging_limit_current = <700>;
|
|
||||||
battery,siop_hv_wireless_input_limit_current = <600>;
|
|
||||||
battery,siop_hv_wireless_charging_limit_current = <700>;
|
|
||||||
battery,siop_store_hv_wireless_input_limit_current = <450>;
|
|
||||||
|
|
||||||
battery,ttf_hv_charge_current = <2150>;
|
|
||||||
battery,ttf_hv_wireless_charge_current = <1175>;
|
|
||||||
battery,ttf_wireless_charge_current = <970>;
|
|
||||||
|
|
||||||
battery,pd_charging_charge_power = <15000>;
|
|
||||||
battery,max_charging_current = <2150>;
|
|
||||||
battery,battery_full_capacity = <3000>;
|
|
||||||
|
|
||||||
/* cycle, chg_float_voltage, recharge_condition_vcell, full_condition_vcell, full_condition_soc */
|
|
||||||
battery,age_data = <0 4350 4280 4250 93
|
|
||||||
300 4330 4260 4230 92
|
|
||||||
400 4310 4240 4210 91
|
|
||||||
700 4290 4220 4190 90
|
|
||||||
1000 4240 4170 4140 89>;
|
|
||||||
|
|
||||||
battery,health_condition = <
|
|
||||||
/* CYCLE ASOC */
|
|
||||||
900 75 /* GOOD */
|
|
||||||
1200 65 /* NORMAL */
|
|
||||||
1500 55 /* AGED */
|
|
||||||
>;
|
|
||||||
|
|
||||||
battery,pre_afc_input_current = <500>; /* mA */
|
|
||||||
battery,prepare_ta_delay = <0>; /* msec */
|
|
||||||
|
|
||||||
battery,max_input_voltage = <9000>; /* mV */
|
|
||||||
battery,max_input_current = <3000>; /* mA */
|
|
||||||
|
|
||||||
battery,enable_sysovlo_irq;
|
|
||||||
|
|
||||||
battery,standard_curr = <2150>;
|
|
||||||
battery,expired_time = <10800>;
|
|
||||||
battery,recharging_expired_time = <5400>;
|
|
||||||
|
|
||||||
battery,cisd_max_voltage_thr = <4400>; /* battery ovp detection voltage */
|
|
||||||
|
|
||||||
battery,cisd_alg_index = <7>;
|
|
||||||
|
|
||||||
io-channels = <&exynos_adc 4>, <&exynos_adc 3>, <&exynos_adc 11>, <&exynos_adc 4>, <&exynos_adc 1>;
|
|
||||||
io-channel-names = "adc-temp", "adc-chg-temp", "adc-in-bat", "adc-wpc-temp", "adc-usb-temp";
|
|
||||||
#io-channel-cells = <5>;
|
|
||||||
io-channel-ranges;
|
|
||||||
};
|
|
||||||
|
|
||||||
max77705-charger {
|
|
||||||
status = "okay";
|
|
||||||
charger,cpu_max_freq = <0 1690000>; /* KHz */
|
|
||||||
};
|
|
||||||
|
|
||||||
max77705-fuelgauge {
|
|
||||||
status = "okay";
|
|
||||||
fuelgauge,fuel_alert_soc = <1>;
|
|
||||||
fuelgauge,jig_gpio = <&gpg0 0 0>;
|
|
||||||
fuelgauge,jig_low_active;
|
|
||||||
fuelgauge,capacity_max = <1000>;
|
|
||||||
fuelgauge,capacity_max_margin = <300>;
|
|
||||||
fuelgauge,capacity_min = <0>;
|
|
||||||
fuelgauge,capacity_calculation_type = <28>;
|
|
||||||
fuelgauge,repeated_fuelalert;
|
|
||||||
fuelgauge,using_temp_compensation;
|
|
||||||
fuelgauge,low_temp_limit = <100>;
|
|
||||||
fuelgauge,using_hw_vempty;
|
|
||||||
fuelgauge,v_empty = <0xA7E2>; /* Empty: 3350mV, Recover: 3920mV */
|
|
||||||
fuelgauge,v_empty_origin = <0x7D54>; /* Empty: 2500mV, Recover: 3360mV */
|
|
||||||
fuelgauge,sw_v_empty_voltage = <3200>;
|
|
||||||
fuelgauge,sw_v_empty_voltage_cisd = <3100>;
|
|
||||||
fuelgauge,sw_v_empty_recover_voltage = <3480>;
|
|
||||||
fuelgauge,qrtable20 = <0x0A0C>;
|
|
||||||
fuelgauge,qrtable30 = <0x0889>;
|
|
||||||
fuelgauge,fg_resistor = <2>;
|
|
||||||
fuelgauge,capacity = <0x0B97>;
|
|
||||||
/*fuelgauge,auto_discharge_en;*/
|
|
||||||
fuelgauge,discharge_temp_threshold = <600>;
|
|
||||||
fuelgauge,discharge_volt_threshold = <4200>;
|
|
||||||
fuelgauge,ttf_capacity = <3000>;
|
|
||||||
fuelgauge,cv_data = <
|
|
||||||
2488 829 1809
|
|
||||||
2409 832 1796
|
|
||||||
2327 837 1769
|
|
||||||
2272 840 1743
|
|
||||||
2182 846 1721
|
|
||||||
2104 850 1690
|
|
||||||
2038 854 1670
|
|
||||||
1950 859 1640
|
|
||||||
1904 861 1622
|
|
||||||
1838 865 1594
|
|
||||||
1797 867 1576
|
|
||||||
1749 870 1560
|
|
||||||
1703 873 1531
|
|
||||||
1683 873 1525
|
|
||||||
1667 875 1515
|
|
||||||
1660 875 1512
|
|
||||||
1653 876 1509
|
|
||||||
1615 878 1502
|
|
||||||
1580 880 1483
|
|
||||||
1553 881 1463
|
|
||||||
1544 882 1458
|
|
||||||
1520 883 1451
|
|
||||||
1477 886 1424
|
|
||||||
1431 888 1409
|
|
||||||
1396 891 1383
|
|
||||||
1347 894 1361
|
|
||||||
1299 896 1332
|
|
||||||
1267 898 1315
|
|
||||||
1231 902 1288
|
|
||||||
1202 904 1263
|
|
||||||
1148 906 1243
|
|
||||||
1109 909 1213
|
|
||||||
1067 911 1185
|
|
||||||
1031 914 1156
|
|
||||||
1013 915 1140
|
|
||||||
975 917 1111
|
|
||||||
961 919 1084
|
|
||||||
921 921 1064
|
|
||||||
892 923 1038
|
|
||||||
887 923 1019
|
|
||||||
863 925 1004
|
|
||||||
833 927 976
|
|
||||||
808 929 946
|
|
||||||
787 930 918
|
|
||||||
780 931 904
|
|
||||||
764 932 895
|
|
||||||
744 934 864
|
|
||||||
730 935 846
|
|
||||||
715 936 828
|
|
||||||
693 937 800
|
|
||||||
681 938 783
|
|
||||||
666 940 752
|
|
||||||
651 941 735
|
|
||||||
640 942 712
|
|
||||||
628 945 697
|
|
||||||
622 946 679
|
|
||||||
618 947 664
|
|
||||||
600 950 646
|
|
||||||
596 951 627
|
|
||||||
589 953 614
|
|
||||||
584 953 601
|
|
||||||
576 956 572
|
|
||||||
577 957 553
|
|
||||||
562 958 535
|
|
||||||
511 968 506
|
|
||||||
505 969 487
|
|
||||||
493 971 464
|
|
||||||
492 972 435
|
|
||||||
484 973 417
|
|
||||||
480 975 398
|
|
||||||
474 976 380
|
|
||||||
470 977 364
|
|
||||||
462 977 355
|
|
||||||
456 978 336
|
|
||||||
452 979 329
|
|
||||||
446 981 303
|
|
||||||
437 982 282
|
|
||||||
429 984 255
|
|
||||||
423 985 242
|
|
||||||
422 986 229
|
|
||||||
414 987 211
|
|
||||||
411 988 199
|
|
||||||
405 989 191
|
|
||||||
397 990 171
|
|
||||||
391 991 140
|
|
||||||
387 992 126
|
|
||||||
384 993 107
|
|
||||||
372 995 84
|
|
||||||
364 997 54
|
|
||||||
356 998 26
|
|
||||||
356 998 13
|
|
||||||
0 1000 0
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* sec_battery_cable
|
|
||||||
* 0 UNKNOWN,
|
|
||||||
* 1 NONE,
|
|
||||||
* 2 PREPARE_TA,
|
|
||||||
* 3 TA,
|
|
||||||
* 4 USB,
|
|
||||||
* 5 USB_CDP,
|
|
||||||
* 6 9V_TA,
|
|
||||||
* 7 9V_ERR,
|
|
||||||
* 8 9V_UNKNOWN,
|
|
||||||
* 9 12V_TA,
|
|
||||||
* 10 WIRELESS,
|
|
||||||
* 11 HV_WIRELESS,
|
|
||||||
* 12 PMA_WIRELESS,
|
|
||||||
* 13 WIRELESS_PACK,
|
|
||||||
* 14 WIRELESS_HV_PACK,
|
|
||||||
* 15 WIRELESS_STAND,
|
|
||||||
* 16 WIRELESS_HV_STAND,
|
|
||||||
* 17 QC20,
|
|
||||||
* 18 QC30,
|
|
||||||
* 19 PDIC,
|
|
||||||
* 20 UARTOFF,
|
|
||||||
* 21 OTG,
|
|
||||||
* 22 LAN_HUB,
|
|
||||||
* 23 POWER_SHARING,
|
|
||||||
* 24 HMT_CONNECTED,
|
|
||||||
* 25 HMT_CHARGE,
|
|
||||||
* 26 HV_TA_CHG_LIMIT,
|
|
||||||
* 27 WIRELESS_VEHICLE,
|
|
||||||
* 28 WIRELESS_HV_VEHICLE,
|
|
||||||
* 29 PREPARE_WIRELESS_HV,
|
|
||||||
* 30 TIMEOUT,
|
|
||||||
* 31 SMART_OTG,
|
|
||||||
* 32 SMART_NOTG,
|
|
||||||
* 33 WIRELESS_TX,
|
|
||||||
* 34 CABLE_MAX,
|
|
||||||
*/
|
|
||||||
cable-info {
|
|
||||||
default_input_current = <1800>;
|
|
||||||
default_charging_current = <2100>;
|
|
||||||
full_check_current_1st = <300>;
|
|
||||||
full_check_current_2nd = <150>;
|
|
||||||
|
|
||||||
current_group_1 {
|
|
||||||
cable_number = <2 19 21 22 23 30>;
|
|
||||||
input_current = <500>;
|
|
||||||
charging_current = <500>;
|
|
||||||
};
|
|
||||||
current_group_2 {
|
|
||||||
cable_number = <25 31>;
|
|
||||||
input_current = <1000>;
|
|
||||||
charging_current = <1000>;
|
|
||||||
};
|
|
||||||
current_group_3 {
|
|
||||||
cable_number = <5 32>;
|
|
||||||
input_current = <1500>;
|
|
||||||
charging_current = <1500>;
|
|
||||||
};
|
|
||||||
current_group_4 {
|
|
||||||
cable_number = <6 7 8>;
|
|
||||||
input_current = <1650>;
|
|
||||||
charging_current = <2150>;
|
|
||||||
};
|
|
||||||
current_group_5 {
|
|
||||||
cable_number = <9>;
|
|
||||||
input_current = <1650>;
|
|
||||||
charging_current = <2150>;
|
|
||||||
};
|
|
||||||
current_group_6 {
|
|
||||||
cable_number = <10 12 15 27 33>;
|
|
||||||
input_current = <900>;
|
|
||||||
charging_current = <1200>;
|
|
||||||
};
|
|
||||||
current_group_7 {
|
|
||||||
cable_number = <13>;
|
|
||||||
input_current = <700>;
|
|
||||||
charging_current = <1200>;
|
|
||||||
};
|
|
||||||
current_group_8 {
|
|
||||||
cable_number = <24>;
|
|
||||||
input_current = <1000>;
|
|
||||||
charging_current = <450>;
|
|
||||||
};
|
|
||||||
current_group_9 {
|
|
||||||
cable_number = <26>;
|
|
||||||
input_current = <2000>;
|
|
||||||
charging_current = <1800>;
|
|
||||||
};
|
|
||||||
current_group_10 {
|
|
||||||
cable_number = <11 14 16 28>;
|
|
||||||
input_current = <650>;
|
|
||||||
charging_current = <1200>;
|
|
||||||
};
|
|
||||||
current_group_11 {
|
|
||||||
cable_number = <29>;
|
|
||||||
input_current = <500>;
|
|
||||||
charging_current = <1200>;
|
|
||||||
};
|
|
||||||
current_group_12 {
|
|
||||||
cable_number = <1 4>;
|
|
||||||
input_current = <475>;
|
|
||||||
charging_current = <550>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,160 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL5433 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "battery_data_starlte_common.dtsi"
|
|
||||||
|
|
||||||
/ {
|
|
||||||
hsi2c@14370000 { /* hsi2c_41 */
|
|
||||||
mfc-charger@3b {
|
|
||||||
battery,charger_name = "max77865-charger";
|
|
||||||
battery,fuelgauge_name = "max77865-fuelgauge";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
battery {
|
|
||||||
battery,charger_name = "max77865-charger";
|
|
||||||
battery,fuelgauge_name = "max77865-fuelgauge";
|
|
||||||
battery,fgsrc_switch_name = "max77865-charger"; /* Fuelgauge voltage source */
|
|
||||||
|
|
||||||
battery,chg_float_voltage = <43500>;
|
|
||||||
battery,chg_float_voltage_conv = <10>;
|
|
||||||
battery,swelling_drop_float_voltage = <41500>;
|
|
||||||
battery,wa_float_voltage = <40500>;
|
|
||||||
|
|
||||||
/* cycle, chg_float_voltage, recharge_condition_vcell, full_condition_vcell, full_condition_soc */
|
|
||||||
battery,age_data = <0 43500 4280 4250 93
|
|
||||||
200 43250 4255 4225 92
|
|
||||||
250 43125 4242 4212 91
|
|
||||||
300 42875 4217 4187 90
|
|
||||||
1000 42375 4167 4137 89>;
|
|
||||||
};
|
|
||||||
max77865-fuelgauge {
|
|
||||||
status = "okay";
|
|
||||||
fuelgauge,fuel_alert_soc = <1>;
|
|
||||||
fuelgauge,jig_gpio = <&gpg0 0 0>;
|
|
||||||
fuelgauge,jig_low_active;
|
|
||||||
fuelgauge,capacity_max = <1000>;
|
|
||||||
fuelgauge,capacity_max_margin = <300>;
|
|
||||||
fuelgauge,capacity_min = <0>;
|
|
||||||
fuelgauge,capacity_calculation_type = <28>;
|
|
||||||
fuelgauge,repeated_fuelalert;
|
|
||||||
fuelgauge,using_temp_compensation;
|
|
||||||
fuelgauge,low_temp_limit = <100>;
|
|
||||||
fuelgauge,using_hw_vempty;
|
|
||||||
fuelgauge,v_empty = <0xAA64>; /* Empty: 3260mV, Recover: 3480mV */
|
|
||||||
fuelgauge,v_empty_origin = <0x7D54>; /* Empty: 2500mV, Recover: 3360mV */
|
|
||||||
fuelgauge,sw_v_empty_voltage = <3200>;
|
|
||||||
fuelgauge,sw_v_empty_voltage_cisd = <3100>;
|
|
||||||
fuelgauge,sw_v_empty_recover_voltage = <3480>;
|
|
||||||
fuelgauge,qrtable20 = <0x2408>;
|
|
||||||
fuelgauge,qrtable30 = <0x160A>;
|
|
||||||
fuelgauge,fg_resistor = <2>;
|
|
||||||
fuelgauge,capacity = <0x0B1D>;
|
|
||||||
/*fuelgauge,auto_discharge_en;*/
|
|
||||||
fuelgauge,discharge_temp_threshold = <600>;
|
|
||||||
fuelgauge,discharge_volt_threshold = <4200>;
|
|
||||||
fuelgauge,ttf_capacity = <3000>;
|
|
||||||
fuelgauge,cv_data = <
|
|
||||||
2488 829 1809
|
|
||||||
2409 832 1796
|
|
||||||
2327 837 1769
|
|
||||||
2272 840 1743
|
|
||||||
2182 846 1721
|
|
||||||
2104 850 1690
|
|
||||||
2038 854 1670
|
|
||||||
1950 859 1640
|
|
||||||
1904 861 1622
|
|
||||||
1838 865 1594
|
|
||||||
1797 867 1576
|
|
||||||
1749 870 1560
|
|
||||||
1703 873 1531
|
|
||||||
1683 873 1525
|
|
||||||
1667 875 1515
|
|
||||||
1660 875 1512
|
|
||||||
1653 876 1509
|
|
||||||
1615 878 1502
|
|
||||||
1580 880 1483
|
|
||||||
1553 881 1463
|
|
||||||
1544 882 1458
|
|
||||||
1520 883 1451
|
|
||||||
1477 886 1424
|
|
||||||
1431 888 1409
|
|
||||||
1396 891 1383
|
|
||||||
1347 894 1361
|
|
||||||
1299 896 1332
|
|
||||||
1267 898 1315
|
|
||||||
1231 902 1288
|
|
||||||
1202 904 1263
|
|
||||||
1148 906 1243
|
|
||||||
1109 909 1213
|
|
||||||
1067 911 1185
|
|
||||||
1031 914 1156
|
|
||||||
1013 915 1140
|
|
||||||
975 917 1111
|
|
||||||
961 919 1084
|
|
||||||
921 921 1064
|
|
||||||
892 923 1038
|
|
||||||
887 923 1019
|
|
||||||
863 925 1004
|
|
||||||
833 927 976
|
|
||||||
808 929 946
|
|
||||||
787 930 918
|
|
||||||
780 931 904
|
|
||||||
764 932 895
|
|
||||||
744 934 864
|
|
||||||
730 935 846
|
|
||||||
715 936 828
|
|
||||||
693 937 800
|
|
||||||
681 938 783
|
|
||||||
666 940 752
|
|
||||||
651 941 735
|
|
||||||
640 942 712
|
|
||||||
628 945 697
|
|
||||||
622 946 679
|
|
||||||
618 947 664
|
|
||||||
600 950 646
|
|
||||||
596 951 627
|
|
||||||
589 953 614
|
|
||||||
584 953 601
|
|
||||||
576 956 572
|
|
||||||
577 957 553
|
|
||||||
562 958 535
|
|
||||||
511 968 506
|
|
||||||
505 969 487
|
|
||||||
493 971 464
|
|
||||||
492 972 435
|
|
||||||
484 973 417
|
|
||||||
480 975 398
|
|
||||||
474 976 380
|
|
||||||
470 977 364
|
|
||||||
462 977 355
|
|
||||||
456 978 336
|
|
||||||
452 979 329
|
|
||||||
446 981 303
|
|
||||||
437 982 282
|
|
||||||
429 984 255
|
|
||||||
423 985 242
|
|
||||||
422 986 229
|
|
||||||
414 987 211
|
|
||||||
411 988 199
|
|
||||||
405 989 191
|
|
||||||
397 990 171
|
|
||||||
391 991 140
|
|
||||||
387 992 126
|
|
||||||
384 993 107
|
|
||||||
372 995 84
|
|
||||||
364 997 54
|
|
||||||
356 998 26
|
|
||||||
356 998 13
|
|
||||||
0 1000 0
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,15 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL5433 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "battery_data_starlte_common.dtsi"
|
|
||||||
|
|
||||||
/ {
|
|
||||||
};
|
|
|
@ -1,59 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG Hero Type C S2MM005 CCIC Device Tree Source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2015 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pinctrl@14050000 {
|
|
||||||
usbpd_irq: usbpd-irq {
|
|
||||||
samsung,pins = "gpa2-1";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <3>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10430000 {
|
|
||||||
hard_reset: scl_sda_low {
|
|
||||||
samsung,pins = "gpp2-6", "gpp2-7";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-val = <0>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hsi2c@10500000 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-names = "default","hard_reset";
|
|
||||||
pinctrl-1 = <&hard_reset>;
|
|
||||||
clock-frequency = <100000>;
|
|
||||||
/*
|
|
||||||
samsung,hs-mode;
|
|
||||||
clock-frequency = <3000000>;
|
|
||||||
*/
|
|
||||||
usbpd-s2mm005@33 {
|
|
||||||
compatible = "sec-s2mm005,i2c";
|
|
||||||
reg = <0x33>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&usbpd_irq>;
|
|
||||||
interrupt-parent = <&gpa2>;
|
|
||||||
usbpd,usbpd_int = <&gpa2 1 0>;
|
|
||||||
usbpd,s2mm005_sda = <&gpp2 7 1>;
|
|
||||||
usbpd,s2mm005_scl = <&gpp2 6 1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
usb@10C00000 {
|
|
||||||
dwc3 {
|
|
||||||
maximum-speed = "super-speed";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
|
@ -1,457 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG LCD Panel Device Tree Source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
emul_display: emul_display {
|
|
||||||
mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
|
|
||||||
resolution = <320 240>;
|
|
||||||
/* resolution = <1080 1920>; */
|
|
||||||
size = <80 120>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <20 20 20>;
|
|
||||||
timing,v-porch = <20 20 20>;
|
|
||||||
timing,dsi-hs-clk = <600>;
|
|
||||||
/* TODO : pmsk value to be set */
|
|
||||||
timing,pmsk = <1 96 2 0>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
underrun_lp_ref = <307>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <0>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <0>; /* used DSC count */
|
|
||||||
dsc_slice_num = <0>; /* count of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <1203>; /* for underrun detect at command mode*/
|
|
||||||
vt_compensation = <10731>; /* wclk = 100MHZ, 320 x 240 for underrun detect at video mode*/
|
|
||||||
hdr_num = <0>; /* max: 4 */
|
|
||||||
hdr_type = <0 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <0>; /* 0 */
|
|
||||||
hdr_max_avg_luma = <0>; /* 0 */
|
|
||||||
hdr_min_luma = <0>; /* 0.0000 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3hf4: s6e3hf4_wqhd {
|
|
||||||
mode = <2>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
|
|
||||||
resolution = <1440 2560>;
|
|
||||||
size = <68 122>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <1100>;
|
|
||||||
timing,pmsk = <4 677 2 0>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <4>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <64>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <5629>; /* for underrun detect*/
|
|
||||||
mres_en = <0>;
|
|
||||||
mres_number = <1>;
|
|
||||||
mres_width = <1440 0 0>;
|
|
||||||
mres_height = <2560 0 0>;
|
|
||||||
mres_dsc_width = <360 0 0>;
|
|
||||||
mres_dsc_height = <64 0 0>;
|
|
||||||
mres_dsc_en = <1 0 0>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha2k: s6e3ha2k_wqhd {
|
|
||||||
mode = <2>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
|
|
||||||
resolution = <1440 2560>;
|
|
||||||
size = <80 120>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <19 3 1>;
|
|
||||||
timing,dsi-hs-clk = <1100>;
|
|
||||||
timing,pmsk = <3 127 0 0>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <0>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <0>; /* used DSC count */
|
|
||||||
dsc_slice_num = <0>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <0>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <1203>; /* for underrun detect*/
|
|
||||||
mres_en = <0>;
|
|
||||||
mres_number = <1>;
|
|
||||||
mres_width = <1440 0 0>;
|
|
||||||
mres_height = <2560 0 0>;
|
|
||||||
mres_dsc_width = <0 0 0>;
|
|
||||||
mres_dsc_height = <0 0 0>;
|
|
||||||
mres_dsc_en = <0 0 0>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha3: s6e3ha3_wqhd {
|
|
||||||
mode = <2>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
|
|
||||||
resolution = <1440 2560>;
|
|
||||||
size = <70 121>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <19 3 1>;
|
|
||||||
timing,dsi-hs-clk = <1100>;
|
|
||||||
timing,pmsk = <3 127 0 0>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <1>; /* used DSC count */
|
|
||||||
dsc_slice_num = <1>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <32>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <1203>; /* for underrun detect*/
|
|
||||||
mres_en = <0>;
|
|
||||||
mres_number = <1>;
|
|
||||||
mres_width = <1440 0 0>;
|
|
||||||
mres_height = <2560 0 0>;
|
|
||||||
mres_dsc_width = <1440 0 0>;
|
|
||||||
mres_dsc_height = <32 0 0>;
|
|
||||||
mres_dsc_en = <1 0 0>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha6: s6e3ha6_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <69 142>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 4367>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 0>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha6_star: s6e3ha6_star_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <69 142>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 4367>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 0>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha6_star2: s6e3ha6_star2_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <69 142>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 4367>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 0>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha8: s6e3ha8_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <69 142>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 7031>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 1>;
|
|
||||||
hdr_num = <1>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha8_star: s6e3ha8_star_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <64 132>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 7031>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 1>;
|
|
||||||
hdr_num = <2>; /* max: 4 */
|
|
||||||
hdr_type = <2 3 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha8_star2: s6e3ha8_star2_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <69 142>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 7031>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 1>;
|
|
||||||
hdr_num = <2>; /* max: 4 */
|
|
||||||
hdr_type = <2 3 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3ha8_crown: s6e3ha8_crown_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2960>;
|
|
||||||
size = <70 145>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <2>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <40>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 7031>; /* for underrun detect*/
|
|
||||||
mres_en = <1>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2960 2220 1480>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <40 30 74>;
|
|
||||||
mres_dsc_en = <1 1 1>;
|
|
||||||
hdr_num = <2>; /* max: 4 */
|
|
||||||
hdr_type = <2 3 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
s6e3hf4_haechi: s6e3hf4_haechi_ddi {
|
|
||||||
mode = <2>;
|
|
||||||
resolution = <1440 2560>;
|
|
||||||
size = <63 113>;
|
|
||||||
timing,refresh = <60>;
|
|
||||||
timing,h-porch = <2 2 2>;
|
|
||||||
timing,v-porch = <15 3 1>;
|
|
||||||
timing,dsi-hs-clk = <898>;
|
|
||||||
timing,pmsk = <
|
|
||||||
0x2 0x114 0x2 0x4ec5 /* p m s k */
|
|
||||||
0xd 0x6 0x0 0x0 /* mfr mrr sel_pf icp */
|
|
||||||
0x0 0x0 0x0 0x0 /* afc_enb extafc feed_en fsel */
|
|
||||||
0x0 0x0 /* fout_mask rsel */
|
|
||||||
>;
|
|
||||||
timing,dsi-escape-clk = <20>;
|
|
||||||
mic_en = <0>; /* 0: Disable, 1: Enable */
|
|
||||||
mic_ratio = <2>; /* 0: 1/2 mic, 1: 1/3 mic */
|
|
||||||
mic_ver = <2>; /* 0: mic v1.1, 1: v1.2, 2: v2.0 */
|
|
||||||
type_of_ddi = <0>; /* 0: Samsung Mobile, 1: MAGNA, 2: Normal(Etc) */
|
|
||||||
dsc_en = <1>; /* 0: Disable, 1: Enable */
|
|
||||||
dsc_cnt = <2>; /* used DSC count */
|
|
||||||
dsc_slice_num = <4>; /* count of dsc slice */
|
|
||||||
dsc_slice_h = <64>; /* height of dsc slice */
|
|
||||||
data_lane = <4>; /* number of using data lane */
|
|
||||||
cmd_underrun_lp_ref = <3744 5359 7031>; /* for underrun detect*/
|
|
||||||
mres_en = <0>;
|
|
||||||
mres_number = <3>;
|
|
||||||
mres_width = <1440 1080 720>;
|
|
||||||
mres_height = <2560 1920 1280>;
|
|
||||||
mres_dsc_width = <720 540 360>;
|
|
||||||
mres_dsc_height = <64 64 128>;
|
|
||||||
mres_dsc_en = <1 1 1>;
|
|
||||||
hdr_num = <0>; /* max: 4 */
|
|
||||||
hdr_type = <2 0 0 0>; /* 1: DOLBY_VISION, 2: HDR10, 3: HLG */
|
|
||||||
hdr_max_luma = <5400000>; /* 540 */
|
|
||||||
hdr_max_avg_luma = <1200000>; /* 120 */
|
|
||||||
hdr_min_luma = <5>; /* 0.0005 */
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
|
@ -1,30 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS9810 ECD device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.com
|
|
||||||
*
|
|
||||||
* SAMSUNG EXYNOS9810 ECD device nodes are listed in this file.
|
|
||||||
* EXYNOS9810 based board files can include this file and provide
|
|
||||||
* values for board specfic bindings.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
/ {
|
|
||||||
/* UART_DBG */
|
|
||||||
exynos_console_debugger {
|
|
||||||
compatible = "samsung,exynos_console_debugger";
|
|
||||||
reg = <0x0 0x10440000 0x100>;
|
|
||||||
interrupts = <0 INTREQ__UART_DBG 0>;
|
|
||||||
interrupt-names = "uart_irq";
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&uart0_bus>;
|
|
||||||
uart_port = <0>;
|
|
||||||
/* <sfr_base_address sfr_size> */
|
|
||||||
sfr_reg = <0x10000000 0x10000000>;
|
|
||||||
samsung,usi-serial-v2;
|
|
||||||
status = "ok";
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,38 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS9810 SoC device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.com
|
|
||||||
*
|
|
||||||
* SAMSUNG EXYNOS9810 SoC device nodes are listed in this file.
|
|
||||||
* EXYNOS9810 based board files can include this file and provide
|
|
||||||
* values for board specfic bindings.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
exynos-snapshot {
|
|
||||||
compatible = "samsung,exynos-snapshot";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
|
|
||||||
use_multistage_wdt_irq = <497>;
|
|
||||||
/* -----------<< Example >>-------------------
|
|
||||||
dump-info@0x0 {
|
|
||||||
sfr-dump-list = "sfr-dump-cmu-peris", "sfr-dump-cmu-abox";
|
|
||||||
sfr-dump-cmu-peris {
|
|
||||||
reg = <0x10010100 0x4000>;
|
|
||||||
addr = <0x10010100 0x10010104 0x10010108 0xFFFFFFFF>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sfr-dump-cmu-abox {
|
|
||||||
reg = <0x103e0000 0x4000>;
|
|
||||||
addr = <0x103e0100 0x103e0104 0x103e0108 0xFFFFFFFF>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,349 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS8895 SoC TRACE device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.com
|
|
||||||
*
|
|
||||||
* SAMSUNG EXYNOS8895 SoC device nodes are listed in this file.
|
|
||||||
* EXYNOS8895 based board files can include this file and provide
|
|
||||||
* values for board specfic bindings.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <dt-bindings/clock/exynos9810.h>
|
|
||||||
|
|
||||||
/ {
|
|
||||||
/* CL0 ETMs */
|
|
||||||
etm@1e840000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x0bbd05>;
|
|
||||||
reg = <0 0x1e840000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu0>;
|
|
||||||
port {
|
|
||||||
etm0_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel1_in_port0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
etm@1e940000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x0bbd05>;
|
|
||||||
reg = <0 0x1e940000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu1>;
|
|
||||||
port {
|
|
||||||
etm1_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel1_in_port1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
etm@1ea40000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x0bbd05>;
|
|
||||||
reg = <0 0x1ea40000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu2>;
|
|
||||||
port {
|
|
||||||
etm2_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel1_in_port2>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
etm@1eb40000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x0bbd05>;
|
|
||||||
reg = <0 0x1eb40000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu3>;
|
|
||||||
port {
|
|
||||||
etm3_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel1_in_port3>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* CL1 */
|
|
||||||
etm@1e440000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x000ce002>;
|
|
||||||
reg = <0 0x1e440000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu4>;
|
|
||||||
port {
|
|
||||||
etm4_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel0_in_port0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
etm@1e540000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x000ce002>;
|
|
||||||
reg = <0 0x1e540000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu5>;
|
|
||||||
port {
|
|
||||||
etm5_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel0_in_port1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
etm@1e640000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x000ce002>;
|
|
||||||
reg = <0 0x1e640000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu6>;
|
|
||||||
port {
|
|
||||||
etm6_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel0_in_port2>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
etm@1e740000 {
|
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x000ce002>;
|
|
||||||
reg = <0 0x1e740000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
cpu = <&cpu7>;
|
|
||||||
port {
|
|
||||||
etm7_out_port: endpoint {
|
|
||||||
remote-endpoint = <&funnel0_in_port3>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ETF0 link (from CL1 sources) */
|
|
||||||
etf0@1e004000 {
|
|
||||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x001bb961>;
|
|
||||||
reg = <0 0x1e004000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
ports {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
/* funnel0 input port */
|
|
||||||
port@0 {
|
|
||||||
reg = <0>;
|
|
||||||
etf0_in_port: endpoint@0 {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&funnel0_out_port0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/* funnelm output port */
|
|
||||||
port@1 {
|
|
||||||
reg = <0>;
|
|
||||||
etf0_out_port: endpoint@0 {
|
|
||||||
remote-endpoint = <&funnelm_in_port0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ETF1 link (from CL0 sources) */
|
|
||||||
etf1@1e005000 {
|
|
||||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x001bb961>;
|
|
||||||
reg = <0 0x1e005000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
ports {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
/* funnel1 input port */
|
|
||||||
port@0 {
|
|
||||||
reg = <0>;
|
|
||||||
etf1_in_port: endpoint@0 {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&funnel1_out_port0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/* funnelm output port */
|
|
||||||
port@1 {
|
|
||||||
reg = <0>;
|
|
||||||
etf1_out_port: endpoint@0 {
|
|
||||||
remote-endpoint = <&funnelm_in_port1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ETR sink */
|
|
||||||
etr@1e00a000 {
|
|
||||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x001bb962>;
|
|
||||||
reg = <0 0x1e00a000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
samsung,cs-sfr = <0x1E00c000 0x100>;
|
|
||||||
samsung,q-offset = <0x2c>;
|
|
||||||
port {
|
|
||||||
etr_in_port: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&funnelm_out_port0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* FUNNEL0 link (to FUNNELm from ETF0) */
|
|
||||||
funnel0@1e007000 {
|
|
||||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x001bb908>;
|
|
||||||
reg = <0 0x1e007000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
ports {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
/* funnel output port */
|
|
||||||
port@0 {
|
|
||||||
reg = <0>;
|
|
||||||
funnel0_out_port0: endpoint {
|
|
||||||
remote-endpoint = <&etf0_in_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* funnel input ports */
|
|
||||||
port@1 {
|
|
||||||
reg = <0>;
|
|
||||||
funnel0_in_port0: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm4_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@2 {
|
|
||||||
reg = <1>;
|
|
||||||
funnel0_in_port1: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm5_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@3 {
|
|
||||||
reg = <2>;
|
|
||||||
funnel0_in_port2: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm6_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@4 {
|
|
||||||
reg = <3>;
|
|
||||||
funnel0_in_port3: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm7_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* FUNNEL1 link (to FUNNELm from ETF1) */
|
|
||||||
funnel1@1e008000 {
|
|
||||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
|
||||||
arm,primecell-periphid = <0x001bb908>;
|
|
||||||
reg = <0 0x1e008000 0x1000>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
ports {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
/* funnel output port */
|
|
||||||
port@0 {
|
|
||||||
reg = <0>;
|
|
||||||
funnel1_out_port0: endpoint {
|
|
||||||
remote-endpoint = <&etf1_in_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* funnel input ports */
|
|
||||||
port@1 {
|
|
||||||
reg = <0>;
|
|
||||||
funnel1_in_port0: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm0_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@2 {
|
|
||||||
reg = <1>;
|
|
||||||
funnel1_in_port1: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm1_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@3 {
|
|
||||||
reg = <2>;
|
|
||||||
funnel1_in_port2: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm2_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@4 {
|
|
||||||
reg = <3>;
|
|
||||||
funnel1_in_port3: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etm3_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* FUNNEL1 link (to ETR from FUNNEL0 & FUNNEL1) */
|
|
||||||
funnelm@1e009000 {
|
|
||||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
|
||||||
reg = <0 0x1e009000 0x1000>;
|
|
||||||
arm,primecell-periphid = <0x001bb908>;
|
|
||||||
clocks = <&clock OSCCLK>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
ports {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
/* funnel output port */
|
|
||||||
port@0 {
|
|
||||||
reg = <0>;
|
|
||||||
funnelm_out_port0: endpoint {
|
|
||||||
remote-endpoint = <&etr_in_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* funnel input ports */
|
|
||||||
port@1 {
|
|
||||||
reg = <0>;
|
|
||||||
funnelm_in_port0: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etf0_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
port@2 {
|
|
||||||
reg = <1>;
|
|
||||||
funnelm_in_port1: endpoint {
|
|
||||||
slave-mode;
|
|
||||||
remote-endpoint = <&etf1_out_port>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,208 +0,0 @@
|
||||||
/ {
|
|
||||||
input_booster {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "input_booster";
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
booster_key@1 {
|
|
||||||
input_booster,label = "KEY";
|
|
||||||
input_booster,type = <0>; /* BOOSTER_DEVICE_KEY */
|
|
||||||
|
|
||||||
input_booster,levels = <1>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head */
|
|
||||||
input_booster,cpu_freqs = <1066000>;
|
|
||||||
input_booster,hmp_boost = <1>;
|
|
||||||
input_booster,kfc_freqs = <0>;
|
|
||||||
input_booster,mif_freqs = <0>;
|
|
||||||
input_booster,int_freqs = <0>;
|
|
||||||
input_booster,dma_latency = <0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <500>;
|
|
||||||
input_booster,tail_times = <500>;
|
|
||||||
input_booster,phase_times = <0>;
|
|
||||||
};
|
|
||||||
booster_key@2 {
|
|
||||||
input_booster,label = "TOUCHKEY";
|
|
||||||
input_booster,type = <1>; /* BOOSTER_DEVICE_TOUCHKEY */
|
|
||||||
|
|
||||||
input_booster,levels = <1>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head */
|
|
||||||
input_booster,cpu_freqs = <1066000>;
|
|
||||||
input_booster,hmp_boost = <1>;
|
|
||||||
input_booster,kfc_freqs = <0>;
|
|
||||||
input_booster,mif_freqs = <0>;
|
|
||||||
input_booster,int_freqs = <0>;
|
|
||||||
input_booster,dma_latency = <0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <0>;
|
|
||||||
input_booster,tail_times = <200>;
|
|
||||||
input_booster,phase_times = <0>;
|
|
||||||
};
|
|
||||||
booster_key@3 {
|
|
||||||
input_booster,label = "TOUCH";
|
|
||||||
input_booster,type = <2>; /* BOOSTER_DEVICE_TOUCH */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2 3>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head, 2_Head, 2_Tail */
|
|
||||||
input_booster,cpu_freqs = <1066000 1066000 858000>;
|
|
||||||
input_booster,hmp_boost = <1 1 1>;
|
|
||||||
input_booster,kfc_freqs = <832000 832000 832000>;
|
|
||||||
input_booster,mif_freqs = <0 0 0>;
|
|
||||||
input_booster,int_freqs = <0 0 0>;
|
|
||||||
input_booster,dma_latency = <0 0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <130 130 0>;
|
|
||||||
input_booster,tail_times = <0 0 500>;
|
|
||||||
input_booster,phase_times = <0 0 0>;
|
|
||||||
};
|
|
||||||
booster_key@4 { // Input Booster +
|
|
||||||
input_booster,label = "MULTITOUCH";
|
|
||||||
input_booster,type = <3>; /* BOOSTER_DEVICE_MULTITOUCH */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head 2_Tail*/
|
|
||||||
input_booster,cpu_freqs = <1066000 858000>;
|
|
||||||
input_booster,hmp_boost = <1 1>;
|
|
||||||
input_booster,kfc_freqs = <832000 832000>;
|
|
||||||
input_booster,mif_freqs = <0 0>;
|
|
||||||
input_booster,int_freqs = <0 0>;
|
|
||||||
input_booster,dma_latency = <0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <1000 0>;
|
|
||||||
input_booster,tail_times = <0 500>;
|
|
||||||
input_booster,phase_times = <0 0>;
|
|
||||||
};
|
|
||||||
booster_key@5 {
|
|
||||||
input_booster,label = "KEYBOARD";
|
|
||||||
input_booster,type = <4>; /* BOOSTER_DEVICE_KEYBOARD */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head 2_Tail*/
|
|
||||||
input_booster,cpu_freqs = <1066000 1066000>;
|
|
||||||
input_booster,hmp_boost = <1 1>;
|
|
||||||
input_booster,kfc_freqs = <832000 832000>;
|
|
||||||
input_booster,mif_freqs = <0 0>;
|
|
||||||
input_booster,int_freqs = <0 0>;
|
|
||||||
input_booster,dma_latency = <0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <130 130>;
|
|
||||||
input_booster,tail_times = <0 0>;
|
|
||||||
input_booster,phase_times = <0 0>;
|
|
||||||
};
|
|
||||||
booster_key@6 {
|
|
||||||
input_booster,label = "MOUSE";
|
|
||||||
input_booster,type = <5>; /* BOOSTER_DEVICE_MOUSE */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head 2_Tail*/
|
|
||||||
input_booster,cpu_freqs = <1066000 858000>;
|
|
||||||
input_booster,hmp_boost = <1 1>;
|
|
||||||
input_booster,kfc_freqs = <832000 832000>;
|
|
||||||
input_booster,mif_freqs = <0 0>;
|
|
||||||
input_booster,int_freqs = <0 0>;
|
|
||||||
input_booster,dma_latency = <0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <130 0>;
|
|
||||||
input_booster,tail_times = <0 500>;
|
|
||||||
input_booster,phase_times = <0 0>;
|
|
||||||
};
|
|
||||||
booster_key@7 {
|
|
||||||
input_booster,label = "MOUSE WHEEL";
|
|
||||||
input_booster,type = <6>; /* BOOSTER_DEVICE_MOUSE */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head 2_Tail*/
|
|
||||||
input_booster,cpu_freqs = <1066000 0>;
|
|
||||||
input_booster,hmp_boost = <1 0>;
|
|
||||||
input_booster,kfc_freqs = <832000 0>;
|
|
||||||
input_booster,mif_freqs = <0 0>;
|
|
||||||
input_booster,int_freqs = <0 0>;
|
|
||||||
input_booster,dma_latency = <0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <130 0>;
|
|
||||||
input_booster,tail_times = <0 0>;
|
|
||||||
input_booster,phase_times = <0 0>;
|
|
||||||
};
|
|
||||||
booster_key@8 {
|
|
||||||
input_booster,label = "PEN HOVER";
|
|
||||||
input_booster,type = <7>; /* BOOSTER_DEVICE_MOUSE */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head 2_Tail*/
|
|
||||||
input_booster,cpu_freqs = <1066000 858000>;
|
|
||||||
input_booster,hmp_boost = <1 1>;
|
|
||||||
input_booster,kfc_freqs = <832000 832000>;
|
|
||||||
input_booster,mif_freqs = <0 0>;
|
|
||||||
input_booster,int_freqs = <0 0>;
|
|
||||||
input_booster,dma_latency = <0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <130 0>;
|
|
||||||
input_booster,tail_times = <0 500>;
|
|
||||||
input_booster,phase_times = <0 0>;
|
|
||||||
};
|
|
||||||
booster_key@9 {
|
|
||||||
input_booster,label = "PEN";
|
|
||||||
input_booster,type = <8>; /* BOOSTER_DEVICE_MOUSE */
|
|
||||||
|
|
||||||
input_booster,levels = <1 2>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head 2_Tail*/
|
|
||||||
input_booster,cpu_freqs = <1170000 858000>;
|
|
||||||
input_booster,hmp_boost = <1 1>;
|
|
||||||
input_booster,kfc_freqs = <832000 832000>;
|
|
||||||
input_booster,bimc_freqs = <0 0>;
|
|
||||||
input_booster,dma_latency = <0 0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <200 0>;
|
|
||||||
input_booster,tail_times = <0 600>;
|
|
||||||
};
|
|
||||||
booster_key@10 {
|
|
||||||
input_booster,label = "KEY_TWO";
|
|
||||||
input_booster,type = <9>; /* BOOSTER_DEVICE_KEY */
|
|
||||||
|
|
||||||
input_booster,levels = <1>;
|
|
||||||
|
|
||||||
/* Frequency table */
|
|
||||||
/* for level : 1_Head */
|
|
||||||
input_booster,cpu_freqs = <1469000>;
|
|
||||||
input_booster,hmp_boost = <1>;
|
|
||||||
input_booster,kfc_freqs = <1053000>;
|
|
||||||
input_booster,mif_freqs = <0>;
|
|
||||||
input_booster,int_freqs = <0>;
|
|
||||||
input_booster,dma_latency = <0>;
|
|
||||||
|
|
||||||
/* Time table */
|
|
||||||
input_booster,head_times = <700>;
|
|
||||||
input_booster,tail_times = <700>;
|
|
||||||
input_booster,phase_times = <0>;
|
|
||||||
}; // Input Booster -
|
|
||||||
/* If you need to add new key type, add it this position */
|
|
||||||
};
|
|
||||||
};
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,219 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS9810 SoC PM Domains device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.com
|
|
||||||
*
|
|
||||||
* SAMSUNG EXYNOS9810 SoC PM domains device nodes are listed in this file.
|
|
||||||
* EXYNOS9810 based board files can include this file and provide
|
|
||||||
* values for board specfic bindings.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
#include <dt-bindings/power/exynos-power.h>
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pd_aud: pd-aud@14064000 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064000 0x20>;
|
|
||||||
cal_id = <0xB1380000>;
|
|
||||||
need_smc = <0x17C10204>;
|
|
||||||
status = "okay";
|
|
||||||
power-down-ok = <PD_OK_AUD>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_dcf: pd-dcf@14064008 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064008 0x20>;
|
|
||||||
cal_id = <0xB1380001>;
|
|
||||||
need_smc = <0x16A10204>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_dcpost: pd-dcpost@14064010 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064010 0x20>;
|
|
||||||
cal_id = <0xB1380002>;
|
|
||||||
need_smc = <0x16B10204>;
|
|
||||||
status = "disabled";
|
|
||||||
parent = <&pd_dcf>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_dcrd: pd-dcrd@14064018 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064018 0x20>;
|
|
||||||
cal_id = <0xB1380003>;
|
|
||||||
need_smc = <0x16810204>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_dpu: pd-dpu@14064020 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064020 0x20>;
|
|
||||||
cal_id = <0xB1380004>;
|
|
||||||
need_smc = <0x16010204>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_dspm: pd-dspm@14064028 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064028 0x20>;
|
|
||||||
cal_id = <0xB1380005>;
|
|
||||||
need_smc = <0x16C10204>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_dsps: pd-dsps@14064030 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064030 0x20>;
|
|
||||||
cal_id = <0xB1380006>;
|
|
||||||
need_smc = <0x16F10204>;
|
|
||||||
status = "okay";
|
|
||||||
parent = <&pd_dspm>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_g2d: pd-g2d@14064038 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064038 0x20>;
|
|
||||||
cal_id = <0xB1380007>;
|
|
||||||
need_smc = <0x17610204>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_embedded_g3d: pd-embedded_g3d@14064040 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064040 0x20>;
|
|
||||||
cal_id = <0xB1380008>;
|
|
||||||
need_smc = <0x17410204>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_isppre: pd-isppre@14064048 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064048 0x20>;
|
|
||||||
cal_id = <0xB1380009>;
|
|
||||||
need_smc = <0x16210204>;
|
|
||||||
status = "okay";
|
|
||||||
parent = <&pd_dpu>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_isphq: pd-isphq@14064050 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064050 0x20>;
|
|
||||||
cal_id = <0xB138000A>;
|
|
||||||
need_smc = <0x16610204>;
|
|
||||||
status = "okay";
|
|
||||||
parent = <&pd_isppre>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_isplp: pd-isplp@14064058 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064058 0x20>;
|
|
||||||
cal_id = <0xB138000B>;
|
|
||||||
need_smc = <0x16410204>;
|
|
||||||
status = "okay";
|
|
||||||
parent = <&pd_isphq>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_iva: pd-iva@14064060 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064060 0x20>;
|
|
||||||
cal_id = <0xB138000C>;
|
|
||||||
need_smc = <0x17010204>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_mfc: pd-mfc@14064068 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064068 0x20>;
|
|
||||||
cal_id = <0xB138000D>;
|
|
||||||
need_smc = <0x17810204>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
pd_vts: pd-vts@14064070 {
|
|
||||||
compatible = "samsung,exynos-pd";
|
|
||||||
reg = <0x0 0x14064070 0x20>;
|
|
||||||
cal_id = <0xB138000E>;
|
|
||||||
status = "okay";
|
|
||||||
need_smc = <0x13810204>;
|
|
||||||
power-down-ok = <PD_OK_VTS>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-aud {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_aud>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-dcf {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_dcf>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-dcpost {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_dcpost>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-dcrd {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_dcrd>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-dpu {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_dpu>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-dspm {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_dspm>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-dsps {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_dsps>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-g2d {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_g2d>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-embedded_g3d {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_embedded_g3d>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-isppre {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_isppre>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-isphq {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_isphq>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-isplp {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_isplp>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-iva {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_iva>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-mfc {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_mfc>;
|
|
||||||
};
|
|
||||||
|
|
||||||
dbgdev-pd-vts {
|
|
||||||
compatible = "samsung,exynos-pd-dbg";
|
|
||||||
samsung,power-domain = <&pd_vts>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,131 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS device tree source for reserved-memory
|
|
||||||
*
|
|
||||||
* Copyright (c) 2015 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "../../../../../include/generated/autoconf.h"
|
|
||||||
#include <dt-bindings/soc/samsung/exynos-ss-table.h>
|
|
||||||
|
|
||||||
/ {
|
|
||||||
reserved_memory: reserved-memory {
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
abox_rmem: abox_rmem@0xEA800000 {
|
|
||||||
compatible = "exynos,abox_rmem";
|
|
||||||
reg = <0x0 0xFB200000 0x2800000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
modem_if {
|
|
||||||
compatible = "exynos,modem_if";
|
|
||||||
reg = <0x0 0xF0000000 0x9200000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
cp_ram_logging {
|
|
||||||
compatible = "exynos,cp_ram_logging";
|
|
||||||
reg = <0x0 0xF9200000 0x2000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
zswap_debug {
|
|
||||||
compatible = "exynos,zswap_debug";
|
|
||||||
reg = <0x0 0x91300000 0x1000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sec_debug_magic {
|
|
||||||
compatible = "exynos,sec_debug_magic";
|
|
||||||
reg = <0x0 0x80000000 0x1000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
tima_mem: tima_region@0xB8000000 {
|
|
||||||
compatible = "removed-dma-pool";
|
|
||||||
reg = <0x0 0xB8000000 0x200000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
seclog_mem {
|
|
||||||
compatible = "exynos,seclog";
|
|
||||||
reg = <0x0 0xC0000000 0x80000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
video_stream {
|
|
||||||
compatible = "exynos8890-ion,vstream";
|
|
||||||
ion,secure;
|
|
||||||
ion,reusable;
|
|
||||||
size = <0x6C00000>;
|
|
||||||
alloc-ranges = <0x0 0x40000000 0xB0000000>;
|
|
||||||
alignment = <0x0 0x00400000>;
|
|
||||||
id = <3>;
|
|
||||||
compat-id = <25 31>;
|
|
||||||
};
|
|
||||||
|
|
||||||
crypto {
|
|
||||||
compatible = "exynos8890-ion,crypto";
|
|
||||||
ion,reusable;
|
|
||||||
size = <0x1800000>;
|
|
||||||
alignment = <0x0 0x00400000>;
|
|
||||||
id = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
secure_camera {
|
|
||||||
compatible = "exynos8890-ion,secure_camera";
|
|
||||||
ion,untouchable;
|
|
||||||
reg = <0x0 0xE1900000 0x1E00000>;
|
|
||||||
id = <11>;
|
|
||||||
};
|
|
||||||
|
|
||||||
exynos_ss {
|
|
||||||
compatible = "exynos,exynos_ss";
|
|
||||||
reg = <0x0 ESS_START_ADDR ESS_TOTAL_SIZE>;
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
/* If this property exist, these are modified by bootloader. */
|
|
||||||
//bootloader;
|
|
||||||
|
|
||||||
header {
|
|
||||||
compatible = "exynos_ss,header";
|
|
||||||
reg = <0 ESS_HEADER_ADDR ESS_HEADER_SIZE>;
|
|
||||||
};
|
|
||||||
log_kernel {
|
|
||||||
compatible = "exynos_ss,log_kernel";
|
|
||||||
reg = <0 ESS_LOG_KERNEL_ADDR ESS_LOG_KERNEL_SIZE>;
|
|
||||||
};
|
|
||||||
log_platform {
|
|
||||||
compatible = "exynos_ss,log_platform";
|
|
||||||
reg = <0 ESS_LOG_PLATFORM_ADDR ESS_LOG_PLATFORM_SIZE>;
|
|
||||||
};
|
|
||||||
log_sfr {
|
|
||||||
compatible = "exynos_ss,log_sfr";
|
|
||||||
reg = <0 ESS_LOG_SFR_ADDR ESS_LOG_SFR_SIZE>;
|
|
||||||
};
|
|
||||||
log_cachedump {
|
|
||||||
compatible = "exynos_ss,log_cachedump";
|
|
||||||
reg = <0 ESS_LOG_CACHEDUMP_ADDR ESS_LOG_CACHEDUMP_SIZE>;
|
|
||||||
};
|
|
||||||
log_etm {
|
|
||||||
compatible = "exynos_ss,log_etm";
|
|
||||||
reg = <0 ESS_LOG_ETM_ADDR ESS_LOG_ETM_SIZE>;
|
|
||||||
};
|
|
||||||
log_pstore {
|
|
||||||
compatible = "exynos_ss,log_pstore";
|
|
||||||
reg = <0 ESS_LOG_PSTORE_ADDR ESS_LOG_PSTORE_SIZE>;
|
|
||||||
};
|
|
||||||
log_kevents {
|
|
||||||
compatible = "exynos_ss,log_kevents";
|
|
||||||
reg = <0 ESS_LOG_KEVENTS_ADDR ESS_LOG_KEVENTS_SIZE>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fimc_is_lib {
|
|
||||||
compatible = "exynos,fimc_is_lib";
|
|
||||||
reg = <0x0 0xFF800000 0x800000>;
|
|
||||||
kernel_virt = <0xffffff80 0xfa000000>;
|
|
||||||
no-map;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,32 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS device tree source for reserved-memory
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
&reserved_memory {
|
|
||||||
camera {
|
|
||||||
compatible = "exynos8890-ion,camera";
|
|
||||||
ion,recyclable;
|
|
||||||
size = <0xE400000>;
|
|
||||||
alloc-ranges = <0x0 0x40000000 0xC0000000>;
|
|
||||||
alignment = <0x0 0x00400000>;
|
|
||||||
id = <10>;
|
|
||||||
};
|
|
||||||
camera_contig {
|
|
||||||
compatible = "exynos8890-ion,camera_contig";
|
|
||||||
size = <0x46A000>;
|
|
||||||
alloc-ranges = <0x0 0x40000000 0xC0000000>;
|
|
||||||
alignment = <0x0 0x00400000>;
|
|
||||||
id = <12>;
|
|
||||||
};
|
|
||||||
rkp_region: rkp_region@0xAF800000 {
|
|
||||||
compatible = "removed-dma-pool";
|
|
||||||
reg = <0x0 0xAF800000 0x2000000>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,32 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS device tree source for reserved-memory
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
&reserved_memory {
|
|
||||||
camera {
|
|
||||||
compatible = "exynos8890-ion,camera";
|
|
||||||
ion,recyclable;
|
|
||||||
size = <0x1B800000>;
|
|
||||||
alloc-ranges = <0x0 0x40000000 0xC0000000>;
|
|
||||||
alignment = <0x0 0x00400000>;
|
|
||||||
id = <10>;
|
|
||||||
};
|
|
||||||
camera_contig {
|
|
||||||
compatible = "exynos8890-ion,camera_contig";
|
|
||||||
size = <0x46A000>;
|
|
||||||
alloc-ranges = <0x0 0x40000000 0xC0000000>;
|
|
||||||
alignment = <0x0 0x00400000>;
|
|
||||||
id = <12>;
|
|
||||||
};
|
|
||||||
rkp_region: rkp_region@0xAF800000 {
|
|
||||||
compatible = "removed-dma-pool";
|
|
||||||
reg = <0x0 0xAF800000 0x2000000>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -600,7 +600,7 @@
|
||||||
regulators {
|
regulators {
|
||||||
buck1_reg: BUCK1 {
|
buck1_reg: BUCK1 {
|
||||||
regulator-name = "vdd_mif";
|
regulator-name = "vdd_mif";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <950000>;
|
regulator-max-microvolt = <950000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -608,7 +608,7 @@
|
||||||
};
|
};
|
||||||
buck2_reg: BUCK2 {
|
buck2_reg: BUCK2 {
|
||||||
regulator-name = "vdd_cpucl1";
|
regulator-name = "vdd_cpucl1";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <1300000>;
|
regulator-max-microvolt = <1300000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -617,7 +617,7 @@
|
||||||
|
|
||||||
buck3_reg: BUCK3 {
|
buck3_reg: BUCK3 {
|
||||||
regulator-name = "vdd_cpucl0";
|
regulator-name = "vdd_cpucl0";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <1300000>;
|
regulator-max-microvolt = <1300000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -635,7 +635,7 @@
|
||||||
|
|
||||||
buck5_reg: BUCK5 {
|
buck5_reg: BUCK5 {
|
||||||
regulator-name = "vdd_cam";
|
regulator-name = "vdd_cam";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <950000>;
|
regulator-max-microvolt = <950000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -644,7 +644,7 @@
|
||||||
|
|
||||||
buck6_reg: BUCK6 {
|
buck6_reg: BUCK6 {
|
||||||
regulator-name = "vdd_g3d";
|
regulator-name = "vdd_g3d";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <950000>;
|
regulator-max-microvolt = <950000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,141 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Support STAR2 LTE HW REV0.0 (10000)
|
|
||||||
|
|
||||||
#include "exynos_gpio_config_macros.dtsi"
|
|
||||||
|
|
||||||
// GPM0 GPM1 GPM2 GPM3 GPM4 GPM5 GPM6 GPM7
|
|
||||||
&pinctrl_3 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&initial3>;
|
|
||||||
|
|
||||||
initial3: initial-state {
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF0
|
|
||||||
&pinctrl_4 {
|
|
||||||
pinctrl-names = "sleep";
|
|
||||||
pinctrl-0 = <&sleep4>;
|
|
||||||
sleep4: sleep-state {
|
|
||||||
PIN_SLP(gpf0-0, PREV, NONE); /* UFS_REFCLK */
|
|
||||||
PIN_SLP(gpf0-1, PREV, NONE); /* UFS_RST_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF1 GPF2
|
|
||||||
&pinctrl_5 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial5>;
|
|
||||||
pinctrl-1 = <&sleep5>;
|
|
||||||
initial5: initial-state {
|
|
||||||
PIN_IN(gpf1-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-3, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
sleep5: sleep-state {
|
|
||||||
PIN_SLP(gpf1-0, OUT0, NONE); /* SD2_CLK */
|
|
||||||
PIN_SLP(gpf1-1, OUT0, NONE); /* SD2_CMD */
|
|
||||||
PIN_SLP(gpf1-2, OUT0, NONE); /* SD2_DAT0 */
|
|
||||||
PIN_SLP(gpf1-3, OUT0, NONE); /* SD2_DAT1 */
|
|
||||||
PIN_SLP(gpf1-4, OUT0, NONE); /* SD2_DAT2 */
|
|
||||||
PIN_SLP(gpf1-5, OUT0, NONE); /* SD2_DAT3 */
|
|
||||||
PIN_SLP(gpf1-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-0, INPUT, NONE); /* PCIE_CLK_REQ_L */
|
|
||||||
PIN_SLP(gpf2-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-3, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-5, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPG1
|
|
||||||
&pinctrl_6 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial6>;
|
|
||||||
pinctrl-1 = <&sleep6>;
|
|
||||||
initial6: initial-state {
|
|
||||||
PIN_IN(gpg1-2, NONE); /* HW_REV3 */
|
|
||||||
PIN_IN(gpg1-3, NONE); /* HW_REV2 */
|
|
||||||
PIN_IN(gpg1-4, NONE); /* HW_REV1 */
|
|
||||||
PIN_IN(gpg1-5, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-3, DOWN); /* IRIS_RST_N */
|
|
||||||
};
|
|
||||||
sleep6: sleep-state {
|
|
||||||
PIN_SLP(gpg0-0, INPUT, NONE); /* IFC_SENSE_INT_AP */
|
|
||||||
PIN_SLP(gpg0-5, PREV, NONE); /* WLAN_EN */
|
|
||||||
|
|
||||||
PIN_SLP(gpp1-4, PREV, NONE); /* TSP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-5, PREV, NONE); /* TSP_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp1-6, INPUT, NONE); /* GRIP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-7, INPUT, NONE); /* GRIP_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-2, PREV, NONE); /* DISP_DET */
|
|
||||||
|
|
||||||
PIN_SLP(gpg1-2, INPUT, NONE); /* HW_REV3 */
|
|
||||||
PIN_SLP(gpg1-3, INPUT, NONE); /* HW_REV2 */
|
|
||||||
PIN_SLP(gpg1-4, INPUT, NONE); /* HW_REV1 */
|
|
||||||
PIN_SLP(gpg1-5, INPUT, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-4, PREV, DOWN); /* CAM_TORCH_EN */
|
|
||||||
PIN_SLP(gpg2-6, OUT0, DOWN); /* CAM_RST_N */
|
|
||||||
|
|
||||||
PIN_SLP(gpp0-0, OUT0, NONE); /* BTP_SPI_CLK */
|
|
||||||
PIN_SLP(gpp0-1, OUT0, NONE); /* BTP_SPI_MOSI */
|
|
||||||
PIN_SLP(gpp0-2, INPUT, DOWN); /* BTP_SPI_MISO */
|
|
||||||
PIN_SLP(gpp0-3, OUT0, NONE); /* BTP_SPI_CS_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPP4 GPP5 GPP6
|
|
||||||
// GPC0 GPC1
|
|
||||||
// GPD0
|
|
||||||
// GPG3
|
|
||||||
&pinctrl_7 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial7>;
|
|
||||||
pinctrl-1 = <&sleep7>;
|
|
||||||
initial7: initial-state {
|
|
||||||
PIN_IN(gpc1-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpd0-3, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg3-0, NONE); /* CP_REV3 */
|
|
||||||
PIN_IN(gpg3-1, NONE); /* CP_REV2 */
|
|
||||||
PIN_IN(gpg3-2, NONE); /* CP_REV1 */
|
|
||||||
PIN_IN(gpg3-3, NONE); /* CP_REV0 */
|
|
||||||
};
|
|
||||||
sleep7:sleep-state {
|
|
||||||
PIN_SLP(gpp5-0, INPUT, NONE); /* NFC_HRM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp5-1, INPUT, NONE); /* NFC_HRM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp6-2, INPUT, NONE); /* EXPANDER_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-3, INPUT, NONE); /* EXPANDER_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc0-0, INPUT, NONE); /* CAM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpc0-1, INPUT, NONE); /* CAM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc1-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpd0-0, PREV, NONE); /* DISP_TE */
|
|
||||||
PIN_SLP(gpd0-2, OUT0, NONE); /* XBOOTLDO0 */
|
|
||||||
PIN_SLP(gpd0-3, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg3-0, INPUT, NONE); /* CP_REV3 */
|
|
||||||
PIN_SLP(gpg3-1, INPUT, NONE); /* CP_REV2 */
|
|
||||||
PIN_SLP(gpg3-2, INPUT, NONE); /* CP_REV1 */
|
|
||||||
PIN_SLP(gpg3-3, INPUT, NONE); /* CP_REV0 */
|
|
||||||
PIN_SLP(gpg3-5, OUT0, DOWN); /* CAM_FLASH_EN */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,141 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Support STAR2 LTE HW REV0.1 (10001)
|
|
||||||
|
|
||||||
#include "exynos_gpio_config_macros.dtsi"
|
|
||||||
|
|
||||||
// GPM0 GPM1 GPM2 GPM3 GPM4 GPM5 GPM6 GPM7
|
|
||||||
&pinctrl_3 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&initial3>;
|
|
||||||
initial3: initial-state {
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF0
|
|
||||||
&pinctrl_4 {
|
|
||||||
pinctrl-names = "sleep";
|
|
||||||
pinctrl-0 = <&sleep4>;
|
|
||||||
sleep4: sleep-state {
|
|
||||||
PIN_SLP(gpf0-0, PREV, NONE); /* UFS_REFCLK */
|
|
||||||
PIN_SLP(gpf0-1, PREV, NONE); /* UFS_RST_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF1 GPF2
|
|
||||||
&pinctrl_5 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial5>;
|
|
||||||
pinctrl-1 = <&sleep5>;
|
|
||||||
initial5: initial-state {
|
|
||||||
PIN_IN(gpf1-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-3, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
sleep5: sleep-state {
|
|
||||||
PIN_SLP(gpf1-0, OUT0, NONE); /* SD2_CLK */
|
|
||||||
PIN_SLP(gpf1-1, OUT0, NONE); /* SD2_CMD */
|
|
||||||
PIN_SLP(gpf1-2, OUT0, NONE); /* SD2_DAT0 */
|
|
||||||
PIN_SLP(gpf1-3, OUT0, NONE); /* SD2_DAT1 */
|
|
||||||
PIN_SLP(gpf1-4, OUT0, NONE); /* SD2_DAT2 */
|
|
||||||
PIN_SLP(gpf1-5, OUT0, NONE); /* SD2_DAT3 */
|
|
||||||
PIN_SLP(gpf1-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-0, INPUT, NONE); /* PCIE_CLK_REQ_L */
|
|
||||||
PIN_SLP(gpf2-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-3, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-5, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPG1
|
|
||||||
&pinctrl_6 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial6>;
|
|
||||||
pinctrl-1 = <&sleep6>;
|
|
||||||
initial6: initial-state {
|
|
||||||
PIN_IN(gpg1-2, NONE); /* HW_REV3 */
|
|
||||||
PIN_IN(gpg1-3, NONE); /* HW_REV2 */
|
|
||||||
PIN_IN(gpg1-4, NONE); /* HW_REV1 */
|
|
||||||
PIN_IN(gpg1-5, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-3, DOWN); /* IRIS_RST_N */
|
|
||||||
};
|
|
||||||
sleep6: sleep-state {
|
|
||||||
PIN_SLP(gpg0-0, INPUT, NONE); /* IFC_SENSE_INT_AP */
|
|
||||||
PIN_SLP(gpg0-5, PREV, NONE); /* WLAN_EN */
|
|
||||||
|
|
||||||
PIN_SLP(gpp1-4, PREV, NONE); /* TSP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-5, PREV, NONE); /* TSP_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp1-6, INPUT, NONE); /* GRIP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-7, INPUT, NONE); /* GRIP_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-2, PREV, NONE); /* DISP_DET */
|
|
||||||
|
|
||||||
PIN_SLP(gpg1-2, INPUT, NONE); /* HW_REV3 */
|
|
||||||
PIN_SLP(gpg1-3, INPUT, NONE); /* HW_REV2 */
|
|
||||||
PIN_SLP(gpg1-4, INPUT, NONE); /* HW_REV1 */
|
|
||||||
PIN_SLP(gpg1-5, INPUT, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-4, PREV, DOWN); /* CAM_TORCH_EN */
|
|
||||||
PIN_SLP(gpg2-6, OUT0, DOWN); /* CAM_RST_N */
|
|
||||||
|
|
||||||
PIN_SLP(gpp0-0, OUT0, NONE); /* BTP_SPI_CLK */
|
|
||||||
PIN_SLP(gpp0-1, OUT0, NONE); /* BTP_SPI_MOSI */
|
|
||||||
PIN_SLP(gpp0-2, INPUT, DOWN); /* BTP_SPI_MISO */
|
|
||||||
PIN_SLP(gpp0-3, OUT0, NONE); /* BTP_SPI_CS_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPP4 GPP5 GPP6
|
|
||||||
// GPC0 GPC1
|
|
||||||
// GPD0
|
|
||||||
// GPG3
|
|
||||||
&pinctrl_7 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial7>;
|
|
||||||
pinctrl-1 = <&sleep7>;
|
|
||||||
initial7: initial-state {
|
|
||||||
PIN_IN(gpc1-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpd0-3, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg3-0, NONE); /* CP_REV3 */
|
|
||||||
PIN_IN(gpg3-1, NONE); /* CP_REV2 */
|
|
||||||
PIN_IN(gpg3-2, NONE); /* CP_REV1 */
|
|
||||||
PIN_IN(gpg3-3, NONE); /* CP_REV0 */
|
|
||||||
};
|
|
||||||
sleep7:sleep-state {
|
|
||||||
PIN_SLP(gpp5-0, INPUT, NONE); /* NFC_HRM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp5-1, INPUT, NONE); /* NFC_HRM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp6-2, INPUT, NONE); /* EXPANDER_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-3, INPUT, NONE); /* EXPANDER_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc0-0, INPUT, NONE); /* CAM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpc0-1, INPUT, NONE); /* CAM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc1-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpd0-0, PREV, NONE); /* DISP_TE */
|
|
||||||
PIN_SLP(gpd0-2, OUT0, NONE); /* XBOOTLDO0 */
|
|
||||||
PIN_SLP(gpd0-3, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg3-0, INPUT, NONE); /* CP_REV3 */
|
|
||||||
PIN_SLP(gpg3-1, INPUT, NONE); /* CP_REV2 */
|
|
||||||
PIN_SLP(gpg3-2, INPUT, NONE); /* CP_REV1 */
|
|
||||||
PIN_SLP(gpg3-3, INPUT, NONE); /* CP_REV0 */
|
|
||||||
PIN_SLP(gpg3-4, OUT0, DOWN); /* MST_PWR_EN */
|
|
||||||
PIN_SLP(gpg3-5, OUT0, DOWN); /* CAM_FLASH_EN */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,197 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Support STAR2 LTE HW REV0.2 (10010)
|
|
||||||
|
|
||||||
#include "exynos_gpio_config_macros.dtsi"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 0 (ALIVE)
|
|
||||||
* ETC1
|
|
||||||
* GPA0 GPA1 GPA2 GPA3
|
|
||||||
* GPQ0
|
|
||||||
* GPA4
|
|
||||||
* Note that do not set sleep state because GPA0/1/2/3/4, GPQ0 and ETC1 are in
|
|
||||||
* ALIVE region.
|
|
||||||
*/
|
|
||||||
&pinctrl_0 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&initial0>;
|
|
||||||
initial0: initial-state {
|
|
||||||
PIN_IN(gpa2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpq0-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 3 (CMGP)
|
|
||||||
* GPM0 GPM1 GPM2 GPM3 GPM4 GPM5 GPM6 GPM7
|
|
||||||
* GPM10 GPM11 GPM12 GPM13 GPM14 GPM15 GPM16 GPM17
|
|
||||||
* GPM40 GPM41 GPM42 GPM43
|
|
||||||
*/
|
|
||||||
&pinctrl_3 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&initial3>;
|
|
||||||
initial3: initial-state {
|
|
||||||
PIN_FUNC(gpm4-0, 2, NONE); /* SHUB_CP_TXD */
|
|
||||||
PIN_FUNC(gpm5-0, 2, NONE); /* SHUB_CP_RXD */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 4 (FSYS0)
|
|
||||||
* GPF0
|
|
||||||
*/
|
|
||||||
&pinctrl_4 {
|
|
||||||
pinctrl-names = "sleep";
|
|
||||||
pinctrl-0 = <&sleep4>;
|
|
||||||
sleep4: sleep-state {
|
|
||||||
PIN_SLP(gpf0-0, PREV, NONE); /* UFS_REFCLK */
|
|
||||||
PIN_SLP(gpf0-1, PREV, NONE); /* UFS_RST_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 5 (FSYS1)
|
|
||||||
* GPF1 GPF2
|
|
||||||
*/
|
|
||||||
&pinctrl_5 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial5>;
|
|
||||||
pinctrl-1 = <&sleep5>;
|
|
||||||
initial5: initial-state {
|
|
||||||
PIN_IN(gpf1-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-3, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
sleep5: sleep-state {
|
|
||||||
PIN_SLP(gpf1-0, OUT0, NONE); /* SD2_CLK */
|
|
||||||
PIN_SLP(gpf1-1, OUT0, NONE); /* SD2_CMD */
|
|
||||||
PIN_SLP(gpf1-2, OUT0, NONE); /* SD2_DAT0 */
|
|
||||||
PIN_SLP(gpf1-3, OUT0, NONE); /* SD2_DAT1 */
|
|
||||||
PIN_SLP(gpf1-4, OUT0, NONE); /* SD2_DAT2 */
|
|
||||||
PIN_SLP(gpf1-5, OUT0, NONE); /* SD2_DAT3 */
|
|
||||||
PIN_SLP(gpf1-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-0, INPUT, NONE); /* PCIE_CLK_REQ_L */
|
|
||||||
PIN_SLP(gpf2-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-3, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-5, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 6 (PERIC0)
|
|
||||||
* GPP0 GPP1 GPP2 GPP3
|
|
||||||
* GPG0 GPG1 GPG2
|
|
||||||
*/
|
|
||||||
&pinctrl_6 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial6>;
|
|
||||||
pinctrl-1 = <&sleep6>;
|
|
||||||
initial6: initial-state {
|
|
||||||
PIN_IN(gpp2-4, NONE); /* MEM_SCL_1P8 */
|
|
||||||
PIN_IN(gpp2-5, NONE); /* MEM_SDA_1P8 */
|
|
||||||
PIN_IN(gpp2-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpp2-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg1-1, NONE); /* HW_REV_M */
|
|
||||||
PIN_IN(gpg1-2, NONE); /* HW_REV3 */
|
|
||||||
PIN_IN(gpg1-3, NONE); /* HW_REV2 */
|
|
||||||
PIN_IN(gpg1-4, NONE); /* HW_REV1 */
|
|
||||||
PIN_IN(gpg1-5, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-3, DOWN); /* IRIS_RST_N */
|
|
||||||
};
|
|
||||||
sleep6: sleep-state {
|
|
||||||
PIN_SLP(gpg0-0, INPUT, UP); /* IFC_SENSE_INT_AP */
|
|
||||||
PIN_SLP(gpg0-4, INPUT, UP); /* USB3.1_CON_SEL */
|
|
||||||
PIN_SLP(gpg0-5, PREV, NONE); /* WLAN_EN */
|
|
||||||
|
|
||||||
PIN_SLP(gpp1-4, PREV, NONE); /* TSP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-5, PREV, NONE); /* TSP_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp1-6, INPUT, NONE); /* GRIP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-7, INPUT, NONE); /* GRIP_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-2, PREV, NONE); /* DISP_DET */
|
|
||||||
PIN_SLP(gpp2-4, INPUT, NONE); /* MEM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp2-5, INPUT, NONE); /* MEM_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp2-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpp2-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg0-3, INPUT, NONE); /* SMPL_WARN_AP */
|
|
||||||
|
|
||||||
PIN_SLP(gpg1-1, INPUT, NONE); /* HW_REV_M */
|
|
||||||
PIN_SLP(gpg1-2, INPUT, NONE); /* HW_REV3 */
|
|
||||||
PIN_SLP(gpg1-3, INPUT, NONE); /* HW_REV2 */
|
|
||||||
PIN_SLP(gpg1-4, INPUT, NONE); /* HW_REV1 */
|
|
||||||
PIN_SLP(gpg1-5, INPUT, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-1, INPUT, NONE); /* SUB_PMIC_IRQ_N */
|
|
||||||
PIN_SLP(gpg2-4, PREV, DOWN); /* CAM_TORCH_EN */
|
|
||||||
PIN_SLP(gpg2-6, OUT0, DOWN); /* CAM_RST_N */
|
|
||||||
|
|
||||||
PIN_SLP(gpp0-0, OUT0, NONE); /* BTP_SPI_CLK */
|
|
||||||
PIN_SLP(gpp0-1, OUT0, NONE); /* BTP_SPI_MOSI */
|
|
||||||
PIN_SLP(gpp0-2, INPUT, DOWN); /* BTP_SPI_MISO */
|
|
||||||
PIN_SLP(gpp0-3, OUT0, NONE); /* BTP_SPI_CS_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 7 (PERIC1)
|
|
||||||
* GPP4 GPP5 GPP6
|
|
||||||
* GPC0 GPC1
|
|
||||||
* GPD0
|
|
||||||
* GPG3
|
|
||||||
*/
|
|
||||||
&pinctrl_7 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial7>;
|
|
||||||
pinctrl-1 = <&sleep7>;
|
|
||||||
initial7: initial-state {
|
|
||||||
PIN_IN(gpc1-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpd0-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpd0-3, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg3-0, NONE); /* CP_REV3 */
|
|
||||||
PIN_IN(gpg3-1, NONE); /* CP_REV2 */
|
|
||||||
PIN_IN(gpg3-2, NONE); /* CP_REV1 */
|
|
||||||
PIN_IN(gpg3-3, NONE); /* CP_REV0 */
|
|
||||||
};
|
|
||||||
sleep7:sleep-state {
|
|
||||||
PIN_SLP(gpp5-0, INPUT, NONE); /* NFC_HRM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp5-1, INPUT, NONE); /* NFC_HRM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp6-0, INPUT, NONE); /* SUB_PMIC_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-1, INPUT, NONE); /* SUB_PMIC_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp6-2, INPUT, NONE); /* EXPANDER_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-3, INPUT, NONE); /* EXPANDER_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc0-0, INPUT, NONE); /* CAM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpc0-1, INPUT, NONE); /* CAM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc1-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpd0-0, PREV, NONE); /* DISP_TE */
|
|
||||||
PIN_SLP(gpd0-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpd0-2, OUT0, NONE); /* XBOOTLDO0 */
|
|
||||||
PIN_SLP(gpd0-3, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg3-0, INPUT, NONE); /* CP_REV3 */
|
|
||||||
PIN_SLP(gpg3-1, INPUT, NONE); /* CP_REV2 */
|
|
||||||
PIN_SLP(gpg3-2, INPUT, NONE); /* CP_REV1 */
|
|
||||||
PIN_SLP(gpg3-3, INPUT, NONE); /* CP_REV0 */
|
|
||||||
PIN_SLP(gpg3-4, OUT0, DOWN); /* MST_PWR_EN */
|
|
||||||
PIN_SLP(gpg3-5, OUT0, DOWN); /* CAM_FLASH_EN */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL9810 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
haptic {
|
|
||||||
status = "okay";
|
|
||||||
haptic,max_timeout = <10000>;
|
|
||||||
/* for multi-frequency */
|
|
||||||
haptic,multi_frequency = <7>;
|
|
||||||
/* frequency alert low mid high 0 press release */
|
|
||||||
haptic,duty = <36621 48828 39062 29296 32551 37108 37108>;
|
|
||||||
haptic,period = <48828 65104 52083 39062 43402 39062 39062>;
|
|
||||||
haptic,reg2 = <0x82>;
|
|
||||||
haptic,pwm_id = <1>;
|
|
||||||
haptic,regulator_name = "VDD_MOTOR_3P3";
|
|
||||||
haptic,normal_ratio = <75>;
|
|
||||||
haptic,overdrive_ratio = <95>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,89 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL9810 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
rgb {
|
|
||||||
led_device_type = <0>;
|
|
||||||
rgb-name = "led_w", "led_r", "led_g", "led_b";
|
|
||||||
|
|
||||||
normal_powermode_current_uu = <10>;
|
|
||||||
low_powermode_current_uu = <10>;
|
|
||||||
br_ratio_r_uu = <700>;
|
|
||||||
br_ratio_g_uu = <60>;
|
|
||||||
br_ratio_b_uu = <120>;
|
|
||||||
br_ratio_r_low_uu = <100>;
|
|
||||||
br_ratio_g_low_uu = <10>;
|
|
||||||
br_ratio_b_low_uu = <10>;
|
|
||||||
|
|
||||||
normal_powermode_current_bk = <10>;
|
|
||||||
low_powermode_current_bk = <10>;
|
|
||||||
br_ratio_r_bk = <700>;
|
|
||||||
br_ratio_g_bk = <60>;
|
|
||||||
br_ratio_b_bk = <120>;
|
|
||||||
br_ratio_r_low_bk = <100>;
|
|
||||||
br_ratio_g_low_bk = <10>;
|
|
||||||
br_ratio_b_low_bk = <10>;
|
|
||||||
|
|
||||||
normal_powermode_current_wh = <10>;
|
|
||||||
low_powermode_current_wh = <10>;
|
|
||||||
br_ratio_r_wh = <820>;
|
|
||||||
br_ratio_g_wh = <70>;
|
|
||||||
br_ratio_b_wh = <150>;
|
|
||||||
br_ratio_r_low_wh = <90>;
|
|
||||||
br_ratio_g_low_wh = <15>;
|
|
||||||
br_ratio_b_low_wh = <25>;
|
|
||||||
|
|
||||||
normal_powermode_current_gd = <10>;
|
|
||||||
low_powermode_current_gd = <10>;
|
|
||||||
br_ratio_r_gd = <820>;
|
|
||||||
br_ratio_g_gd = <70>;
|
|
||||||
br_ratio_b_gd = <150>;
|
|
||||||
br_ratio_r_low_gd = <90>;
|
|
||||||
br_ratio_g_low_gd = <15>;
|
|
||||||
br_ratio_b_low_gd = <25>;
|
|
||||||
|
|
||||||
normal_powermode_current_sv = <10>;
|
|
||||||
low_powermode_current_sv = <10>;
|
|
||||||
br_ratio_r_sv = <820>;
|
|
||||||
br_ratio_g_sv = <70>;
|
|
||||||
br_ratio_b_sv = <150>;
|
|
||||||
br_ratio_r_low_sv = <90>;
|
|
||||||
br_ratio_g_low_sv = <15>;
|
|
||||||
br_ratio_b_low_sv = <25>;
|
|
||||||
|
|
||||||
normal_powermode_current_gr = <10>;
|
|
||||||
low_powermode_current_gr = <10>;
|
|
||||||
br_ratio_r_gr = <820>;
|
|
||||||
br_ratio_g_gr = <70>;
|
|
||||||
br_ratio_b_gr = <150>;
|
|
||||||
br_ratio_r_low_gr = <90>;
|
|
||||||
br_ratio_g_low_gr = <15>;
|
|
||||||
br_ratio_b_low_gr = <25>;
|
|
||||||
|
|
||||||
normal_powermode_current_bl = <10>;
|
|
||||||
low_powermode_current_bl = <10>;
|
|
||||||
br_ratio_r_bl = <820>;
|
|
||||||
br_ratio_g_bl = <70>;
|
|
||||||
br_ratio_b_bl = <150>;
|
|
||||||
br_ratio_r_low_bl = <90>;
|
|
||||||
br_ratio_g_low_bl = <15>;
|
|
||||||
br_ratio_b_low_bl = <25>;
|
|
||||||
|
|
||||||
normal_powermode_current_pg = <10>;
|
|
||||||
low_powermode_current_pg = <10>;
|
|
||||||
br_ratio_r_pg = <820>;
|
|
||||||
br_ratio_g_pg = <70>;
|
|
||||||
br_ratio_b_pg = <150>;
|
|
||||||
br_ratio_r_low_pg = <90>;
|
|
||||||
br_ratio_g_low_pg = <15>;
|
|
||||||
br_ratio_b_low_pg = <25>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -591,7 +591,7 @@
|
||||||
regulators {
|
regulators {
|
||||||
buck1_reg: BUCK1 {
|
buck1_reg: BUCK1 {
|
||||||
regulator-name = "vdd_mif";
|
regulator-name = "vdd_mif";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <950000>;
|
regulator-max-microvolt = <950000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -599,7 +599,7 @@
|
||||||
};
|
};
|
||||||
buck2_reg: BUCK2 {
|
buck2_reg: BUCK2 {
|
||||||
regulator-name = "vdd_cpucl1";
|
regulator-name = "vdd_cpucl1";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <1300000>;
|
regulator-max-microvolt = <1300000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -608,7 +608,7 @@
|
||||||
|
|
||||||
buck3_reg: BUCK3 {
|
buck3_reg: BUCK3 {
|
||||||
regulator-name = "vdd_cpucl0";
|
regulator-name = "vdd_cpucl0";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <1300000>;
|
regulator-max-microvolt = <1300000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -626,7 +626,7 @@
|
||||||
|
|
||||||
buck5_reg: BUCK5 {
|
buck5_reg: BUCK5 {
|
||||||
regulator-name = "vdd_cam";
|
regulator-name = "vdd_cam";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <950000>;
|
regulator-max-microvolt = <950000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
@ -635,7 +635,7 @@
|
||||||
|
|
||||||
buck6_reg: BUCK6 {
|
buck6_reg: BUCK6 {
|
||||||
regulator-name = "vdd_g3d";
|
regulator-name = "vdd_g3d";
|
||||||
regulator-min-microvolt = <425000>;
|
regulator-min-microvolt = <450000>;
|
||||||
regulator-max-microvolt = <950000>;
|
regulator-max-microvolt = <950000>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-ramp-delay = <6000>;
|
regulator-ramp-delay = <6000>;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,157 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Support STAR2 LTE HW REV0.0 (10000)
|
|
||||||
|
|
||||||
#include "exynos_gpio_config_macros.dtsi"
|
|
||||||
|
|
||||||
// GPM0 GPM1 GPM2 GPM3 GPM4 GPM5 GPM6 GPM7
|
|
||||||
// GPM10 GPM11 GPM12 GPM13 GPM14 GPM15 GPM16 GPM17
|
|
||||||
// GPM40 GPM41 GPM42 GPM43
|
|
||||||
&pinctrl_3 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial3>;
|
|
||||||
initial3: initial-state {
|
|
||||||
PIN_IN(gpm7-0, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF0
|
|
||||||
&pinctrl_4 {
|
|
||||||
pinctrl-names = "sleep";
|
|
||||||
pinctrl-0 = <&sleep4>;
|
|
||||||
sleep4: sleep-state {
|
|
||||||
PIN_SLP(gpf0-0, PREV, NONE); /* UFS_REFCLK */
|
|
||||||
PIN_SLP(gpf0-1, PREV, NONE); /* UFS_RST_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF1 GPF2
|
|
||||||
&pinctrl_5 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial5>;
|
|
||||||
pinctrl-1 = <&sleep5>;
|
|
||||||
initial5: initial-state {
|
|
||||||
PIN_IN(gpf1-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-3, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
sleep5: sleep-state {
|
|
||||||
PIN_SLP(gpf1-0, OUT0, NONE); /* SD2_CLK */
|
|
||||||
PIN_SLP(gpf1-1, OUT0, NONE); /* SD2_CMD */
|
|
||||||
PIN_SLP(gpf1-2, OUT0, NONE); /* SD2_DAT0 */
|
|
||||||
PIN_SLP(gpf1-3, OUT0, NONE); /* SD2_DAT1 */
|
|
||||||
PIN_SLP(gpf1-4, OUT0, NONE); /* SD2_DAT2 */
|
|
||||||
PIN_SLP(gpf1-5, OUT0, NONE); /* SD2_DAT3 */
|
|
||||||
PIN_SLP(gpf1-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-0, INPUT, NONE); /* PCIE_CLK_REQ_L */
|
|
||||||
PIN_SLP(gpf2-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-3, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-5, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPP0 GPP1 GPP2 GPP3
|
|
||||||
// GPG0 GPG1 GPG2
|
|
||||||
&pinctrl_6 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial6>;
|
|
||||||
pinctrl-1 = <&sleep6>;
|
|
||||||
initial6: initial-state {
|
|
||||||
PIN_IN(gpg0-6, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg1-2, NONE); /* HW_REV3 */
|
|
||||||
PIN_IN(gpg1-3, NONE); /* HW_REV2 */
|
|
||||||
PIN_IN(gpg1-4, NONE); /* HW_REV1 */
|
|
||||||
PIN_IN(gpg1-5, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-3, DOWN); /* IRIS_RST_N */
|
|
||||||
};
|
|
||||||
sleep6:sleep-state {
|
|
||||||
PIN_SLP(gpp1-4, PREV, NONE); /* TSP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-5, PREV, NONE); /* TSP_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp1-6, INPUT, NONE); /* GRIP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-7, INPUT, NONE); /* GRIP_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg0-0, INPUT, NONE); /* IFC_SENSE_INT_AP */
|
|
||||||
PIN_SLP(gpg0-5, PREV, NONE); /* WLAN_EN */
|
|
||||||
PIN_SLP(gpg0-6, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg1-2, INPUT, NONE); /* HW_REV3 */
|
|
||||||
PIN_SLP(gpg1-3, INPUT, NONE); /* HW_REV2 */
|
|
||||||
PIN_SLP(gpg1-4, INPUT, NONE); /* HW_REV1 */
|
|
||||||
PIN_SLP(gpg1-5, INPUT, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-2, PREV, NONE); /* DISP_DET */
|
|
||||||
PIN_SLP(gpg2-4, PREV, DOWN); /* CAM_TORCH_EN */
|
|
||||||
PIN_SLP(gpg2-6, OUT0, DOWN); /* CAM_RST_N */
|
|
||||||
PIN_SLP(gpg2-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpp0-0, OUT0, NONE); /* BTP_SPI_CLK */
|
|
||||||
PIN_SLP(gpp0-1, OUT0, NONE); /* BTP_SPI_MOSI */
|
|
||||||
PIN_SLP(gpp0-2, INPUT, DOWN); /* BTP_SPI_MISO */
|
|
||||||
PIN_SLP(gpp0-3, OUT0, NONE); /* BTP_SPI_CS_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPP4 GPP5 GPP6
|
|
||||||
// GPC0 GPC1
|
|
||||||
// GPD0
|
|
||||||
// GPG3
|
|
||||||
&pinctrl_7 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial7>;
|
|
||||||
pinctrl-1 = <&sleep7>;
|
|
||||||
initial7: initial-state {
|
|
||||||
PIN_IN(gpc0-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-5, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpc1-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpd0-3, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg3-0, NONE); /* CP_REV3 */
|
|
||||||
PIN_IN(gpg3-1, NONE); /* CP_REV2 */
|
|
||||||
PIN_IN(gpg3-2, NONE); /* CP_REV1 */
|
|
||||||
PIN_IN(gpg3-3, NONE); /* CP_REV0 */
|
|
||||||
};
|
|
||||||
sleep7:sleep-state {
|
|
||||||
PIN_SLP(gpp5-0, INPUT, NONE); /* NFC_HRM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp5-1, INPUT, NONE); /* NFC_HRM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp6-2, INPUT, NONE); /* EXPANDER_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-3, INPUT, NONE); /* EXPANDER_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc0-0, INPUT, NONE); /* CAM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpc0-1, INPUT, NONE); /* CAM_SDA_1P8 */
|
|
||||||
PIN_SLP(gpc0-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-5, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpc1-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpd0-0, PREV, NONE); /* DISP_TE */
|
|
||||||
PIN_SLP(gpd0-2, OUT0, NONE); /* XBOOTLDO0 */
|
|
||||||
PIN_SLP(gpd0-3, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg3-0, INPUT, NONE); /* CP_REV3 */
|
|
||||||
PIN_SLP(gpg3-1, INPUT, NONE); /* CP_REV2 */
|
|
||||||
PIN_SLP(gpg3-2, INPUT, NONE); /* CP_REV1 */
|
|
||||||
PIN_SLP(gpg3-3, INPUT, NONE); /* CP_REV0 */
|
|
||||||
PIN_SLP(gpg3-5, OUT0, DOWN); /* CAM_FLASH_EN */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,158 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Support STAR2 LTE HW REV0.1 (10001)
|
|
||||||
|
|
||||||
#include "exynos_gpio_config_macros.dtsi"
|
|
||||||
|
|
||||||
// GPM0 GPM1 GPM2 GPM3 GPM4 GPM5 GPM6 GPM7
|
|
||||||
// GPM10 GPM11 GPM12 GPM13 GPM14 GPM15 GPM16 GPM17
|
|
||||||
// GPM40 GPM41 GPM42 GPM43
|
|
||||||
&pinctrl_3 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial3>;
|
|
||||||
initial3: initial-state {
|
|
||||||
PIN_IN(gpm7-0, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF0
|
|
||||||
&pinctrl_4 {
|
|
||||||
pinctrl-names = "sleep";
|
|
||||||
pinctrl-0 = <&sleep4>;
|
|
||||||
sleep4: sleep-state {
|
|
||||||
PIN_SLP(gpf0-0, PREV, NONE); /* UFS_REFCLK */
|
|
||||||
PIN_SLP(gpf0-1, PREV, NONE); /* UFS_RST_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPF1 GPF2
|
|
||||||
&pinctrl_5 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial5>;
|
|
||||||
pinctrl-1 = <&sleep5>;
|
|
||||||
initial5: initial-state {
|
|
||||||
PIN_IN(gpf1-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-3, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
sleep5: sleep-state {
|
|
||||||
PIN_SLP(gpf1-0, OUT0, NONE); /* SD2_CLK */
|
|
||||||
PIN_SLP(gpf1-1, OUT0, NONE); /* SD2_CMD */
|
|
||||||
PIN_SLP(gpf1-2, OUT0, NONE); /* SD2_DAT0 */
|
|
||||||
PIN_SLP(gpf1-3, OUT0, NONE); /* SD2_DAT1 */
|
|
||||||
PIN_SLP(gpf1-4, OUT0, NONE); /* SD2_DAT2 */
|
|
||||||
PIN_SLP(gpf1-5, OUT0, NONE); /* SD2_DAT3 */
|
|
||||||
PIN_SLP(gpf1-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-0, INPUT, NONE); /* PCIE_CLK_REQ_L */
|
|
||||||
PIN_SLP(gpf2-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-3, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-5, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPP0 GPP1 GPP2 GPP3
|
|
||||||
// GPG0 GPG1 GPG2
|
|
||||||
&pinctrl_6 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial6>;
|
|
||||||
pinctrl-1 = <&sleep6>;
|
|
||||||
initial6: initial-state {
|
|
||||||
PIN_IN(gpg0-6, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg1-2, NONE); /* HW_REV3 */
|
|
||||||
PIN_IN(gpg1-3, NONE); /* HW_REV2 */
|
|
||||||
PIN_IN(gpg1-4, NONE); /* HW_REV1 */
|
|
||||||
PIN_IN(gpg1-5, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-3, DOWN); /* IRIS_RST_N */
|
|
||||||
};
|
|
||||||
sleep6:sleep-state {
|
|
||||||
PIN_SLP(gpp1-4, PREV, NONE); /* TSP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-5, PREV, NONE); /* TSP_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp1-6, INPUT, NONE); /* GRIP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-7, INPUT, NONE); /* GRIP_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg0-0, INPUT, NONE); /* IFC_SENSE_INT_AP */
|
|
||||||
PIN_SLP(gpg0-5, PREV, NONE); /* WLAN_EN */
|
|
||||||
PIN_SLP(gpg0-6, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg1-2, INPUT, NONE); /* HW_REV3 */
|
|
||||||
PIN_SLP(gpg1-3, INPUT, NONE); /* HW_REV2 */
|
|
||||||
PIN_SLP(gpg1-4, INPUT, NONE); /* HW_REV1 */
|
|
||||||
PIN_SLP(gpg1-5, INPUT, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-2, PREV, NONE); /* DISP_DET */
|
|
||||||
PIN_SLP(gpg2-4, PREV, DOWN); /* CAM_TORCH_EN */
|
|
||||||
PIN_SLP(gpg2-6, OUT0, DOWN); /* CAM_RST_N */
|
|
||||||
PIN_SLP(gpg2-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpp0-0, OUT0, NONE); /* BTP_SPI_CLK */
|
|
||||||
PIN_SLP(gpp0-1, OUT0, NONE); /* BTP_SPI_MOSI */
|
|
||||||
PIN_SLP(gpp0-2, INPUT, DOWN); /* BTP_SPI_MISO */
|
|
||||||
PIN_SLP(gpp0-3, OUT0, NONE); /* BTP_SPI_CS_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// GPP4 GPP5 GPP6
|
|
||||||
// GPC0 GPC1
|
|
||||||
// GPD0
|
|
||||||
// GPG3
|
|
||||||
&pinctrl_7 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial7>;
|
|
||||||
pinctrl-1 = <&sleep7>;
|
|
||||||
initial7: initial-state {
|
|
||||||
PIN_IN(gpc0-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-5, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpc1-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpd0-3, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg3-0, NONE); /* CP_REV3 */
|
|
||||||
PIN_IN(gpg3-1, NONE); /* CP_REV2 */
|
|
||||||
PIN_IN(gpg3-2, NONE); /* CP_REV1 */
|
|
||||||
PIN_IN(gpg3-3, NONE); /* CP_REV0 */
|
|
||||||
};
|
|
||||||
sleep7:sleep-state {
|
|
||||||
PIN_SLP(gpp5-0, INPUT, NONE); /* NFC_HRM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp5-1, INPUT, NONE); /* NFC_HRM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp6-2, INPUT, NONE); /* EXPANDER_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-3, INPUT, NONE); /* EXPANDER_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc0-0, INPUT, NONE); /* CAM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpc0-1, INPUT, NONE); /* CAM_SDA_1P8 */
|
|
||||||
PIN_SLP(gpc0-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-5, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpc1-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpd0-0, PREV, NONE); /* DISP_TE */
|
|
||||||
PIN_SLP(gpd0-2, OUT0, NONE); /* XBOOTLDO0 */
|
|
||||||
PIN_SLP(gpd0-3, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg3-0, INPUT, NONE); /* CP_REV3 */
|
|
||||||
PIN_SLP(gpg3-1, INPUT, NONE); /* CP_REV2 */
|
|
||||||
PIN_SLP(gpg3-2, INPUT, NONE); /* CP_REV1 */
|
|
||||||
PIN_SLP(gpg3-3, INPUT, NONE); /* CP_REV0 */
|
|
||||||
PIN_SLP(gpg3-4, OUT0, DOWN); /* MST_PWR_EN */
|
|
||||||
PIN_SLP(gpg3-5, OUT0, DOWN); /* CAM_FLASH_EN */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,213 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Support STAR2 LTE HW REV0.2 (10010)
|
|
||||||
|
|
||||||
#include "exynos_gpio_config_macros.dtsi"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 0 (ALIVE)
|
|
||||||
* ETC1
|
|
||||||
* GPA0 GPA1 GPA2 GPA3
|
|
||||||
* GPQ0
|
|
||||||
* GPA4
|
|
||||||
* Note that do not set sleep state because GPA0/1/2/3/4, GPQ0 and ETC1 are in
|
|
||||||
* ALIVE region.
|
|
||||||
*/
|
|
||||||
&pinctrl_0 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&initial0>;
|
|
||||||
initial0: initial-state {
|
|
||||||
PIN_IN(gpa2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpq0-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 3 (CMGP)
|
|
||||||
* GPM0 GPM1 GPM2 GPM3 GPM4 GPM5 GPM6 GPM7
|
|
||||||
* GPM10 GPM11 GPM12 GPM13 GPM14 GPM15 GPM16 GPM17
|
|
||||||
* GPM40 GPM41 GPM42 GPM43
|
|
||||||
*/
|
|
||||||
&pinctrl_3 {
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&initial3>;
|
|
||||||
initial3: initial-state {
|
|
||||||
PIN_FUNC(gpm4-0, 2, NONE); /* SHUB_CP_TXD */
|
|
||||||
PIN_FUNC(gpm5-0, 2, NONE); /* SHUB_CP_RXD */
|
|
||||||
PIN_IN(gpm7-0, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 4 (FSYS0)
|
|
||||||
* GPF0
|
|
||||||
*/
|
|
||||||
&pinctrl_4 {
|
|
||||||
pinctrl-names = "sleep";
|
|
||||||
pinctrl-0 = <&sleep4>;
|
|
||||||
sleep4: sleep-state {
|
|
||||||
PIN_SLP(gpf0-0, PREV, NONE); /* UFS_REFCLK */
|
|
||||||
PIN_SLP(gpf0-1, PREV, NONE); /* UFS_RST_N */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 5 (FSYS1)
|
|
||||||
* GPF1 GPF2
|
|
||||||
*/
|
|
||||||
&pinctrl_5 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial5>;
|
|
||||||
pinctrl-1 = <&sleep5>;
|
|
||||||
initial5: initial-state {
|
|
||||||
PIN_IN(gpf1-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-3, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpf2-5, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
sleep5: sleep-state {
|
|
||||||
PIN_SLP(gpf1-0, OUT0, NONE); /* SD2_CLK */
|
|
||||||
PIN_SLP(gpf1-1, OUT0, NONE); /* SD2_CMD */
|
|
||||||
PIN_SLP(gpf1-2, OUT0, NONE); /* SD2_DAT0 */
|
|
||||||
PIN_SLP(gpf1-3, OUT0, NONE); /* SD2_DAT1 */
|
|
||||||
PIN_SLP(gpf1-4, OUT0, NONE); /* SD2_DAT2 */
|
|
||||||
PIN_SLP(gpf1-5, OUT0, NONE); /* SD2_DAT3 */
|
|
||||||
PIN_SLP(gpf1-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-0, INPUT, NONE); /* PCIE_CLK_REQ_L */
|
|
||||||
PIN_SLP(gpf2-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-3, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpf2-5, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 6 (PERIC0)
|
|
||||||
* GPP0 GPP1 GPP2 GPP3
|
|
||||||
* GPG0 GPG1 GPG2
|
|
||||||
*/
|
|
||||||
&pinctrl_6 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial6>;
|
|
||||||
pinctrl-1 = <&sleep6>;
|
|
||||||
initial6: initial-state {
|
|
||||||
PIN_IN(gpp2-4, NONE); /* MEM_SCL_1P8 */
|
|
||||||
PIN_IN(gpp2-5, NONE); /* MEM_SDA_1P8 */
|
|
||||||
PIN_IN(gpp2-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpp2-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg0-6, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg1-1, NONE); /* HW_REV_M */
|
|
||||||
PIN_IN(gpg1-2, NONE); /* HW_REV3 */
|
|
||||||
PIN_IN(gpg1-3, NONE); /* HW_REV2 */
|
|
||||||
PIN_IN(gpg1-4, NONE); /* HW_REV1 */
|
|
||||||
PIN_IN(gpg1-5, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_IN(gpg2-3, DOWN); /* IRIS_RST_N */
|
|
||||||
};
|
|
||||||
sleep6:sleep-state {
|
|
||||||
PIN_SLP(gpp0-0, OUT0, NONE); /* BTP_SPI_CLK */
|
|
||||||
PIN_SLP(gpp0-1, OUT0, NONE); /* BTP_SPI_MOSI */
|
|
||||||
PIN_SLP(gpp0-2, INPUT, DOWN); /* BTP_SPI_MISO */
|
|
||||||
PIN_SLP(gpp0-3, OUT0, NONE); /* BTP_SPI_CS_N */
|
|
||||||
|
|
||||||
PIN_SLP(gpp1-4, PREV, NONE); /* TSP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-5, PREV, NONE); /* TSP_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp1-6, INPUT, NONE); /* GRIP_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp1-7, INPUT, NONE); /* GRIP_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp2-4, INPUT, NONE); /* MEM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp2-5, INPUT, NONE); /* MEM_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp2-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpp2-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg0-0, INPUT, UP); /* IFC_SENSE_INT_AP */
|
|
||||||
PIN_SLP(gpg0-4, INPUT, UP); /* USB3.1_CON_SEL */
|
|
||||||
PIN_SLP(gpg0-5, PREV, NONE); /* WLAN_EN */
|
|
||||||
PIN_SLP(gpg0-6, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg0-3, INPUT, NONE); /* SMPL_WARN_AP */
|
|
||||||
|
|
||||||
PIN_SLP(gpg1-1, INPUT, NONE); /* HW_REV_M */
|
|
||||||
PIN_SLP(gpg1-2, INPUT, NONE); /* HW_REV3 */
|
|
||||||
PIN_SLP(gpg1-3, INPUT, NONE); /* HW_REV2 */
|
|
||||||
PIN_SLP(gpg1-4, INPUT, NONE); /* HW_REV1 */
|
|
||||||
PIN_SLP(gpg1-5, INPUT, NONE); /* HW_REV0 */
|
|
||||||
|
|
||||||
PIN_SLP(gpg2-1, INPUT, NONE); /* SUB_PMIC_IRQ_N */
|
|
||||||
PIN_SLP(gpg2-2, PREV, NONE); /* DISP_DET */
|
|
||||||
PIN_SLP(gpg2-4, PREV, DOWN); /* CAM_TORCH_EN */
|
|
||||||
PIN_SLP(gpg2-6, OUT0, DOWN); /* CAM_RST_N */
|
|
||||||
PIN_SLP(gpg2-7, INPUT, DOWN); /* NC */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* pin banks of exynos9810 pin-controller 7 (PERIC1)
|
|
||||||
* GPP4 GPP5 GPP6
|
|
||||||
* GPC0 GPC1
|
|
||||||
* GPD0
|
|
||||||
* GPG3
|
|
||||||
*/
|
|
||||||
&pinctrl_7 {
|
|
||||||
pinctrl-names = "default","sleep";
|
|
||||||
pinctrl-0 = <&initial7>;
|
|
||||||
pinctrl-1 = <&sleep7>;
|
|
||||||
initial7: initial-state {
|
|
||||||
PIN_IN(gpc0-4, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-5, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-6, DOWN); /* NC */
|
|
||||||
PIN_IN(gpc0-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpc1-7, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpd0-1, DOWN); /* NC */
|
|
||||||
PIN_IN(gpd0-3, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_IN(gpg3-0, NONE); /* CP_REV3 */
|
|
||||||
PIN_IN(gpg3-1, NONE); /* CP_REV2 */
|
|
||||||
PIN_IN(gpg3-2, NONE); /* CP_REV1 */
|
|
||||||
PIN_IN(gpg3-3, NONE); /* CP_REV0 */
|
|
||||||
};
|
|
||||||
sleep7:sleep-state {
|
|
||||||
PIN_SLP(gpp5-0, INPUT, NONE); /* NFC_HRM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp5-1, INPUT, NONE); /* NFC_HRM_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpp6-0, INPUT, NONE); /* SUB_PMIC_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-1, INPUT, NONE); /* SUB_PMIC_SDA_1P8 */
|
|
||||||
PIN_SLP(gpp6-2, INPUT, NONE); /* EXPANDER_SCL_1P8 */
|
|
||||||
PIN_SLP(gpp6-3, INPUT, NONE); /* EXPANDER_SDA_1P8 */
|
|
||||||
|
|
||||||
PIN_SLP(gpc0-0, INPUT, NONE); /* CAM_SCL_1P8 */
|
|
||||||
PIN_SLP(gpc0-1, INPUT, NONE); /* CAM_SDA_1P8 */
|
|
||||||
PIN_SLP(gpc0-4, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-5, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-6, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpc0-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpc1-7, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpd0-0, PREV, NONE); /* DISP_TE */
|
|
||||||
PIN_SLP(gpd0-1, INPUT, DOWN); /* NC */
|
|
||||||
PIN_SLP(gpd0-2, OUT0, NONE); /* XBOOTLDO0 */
|
|
||||||
PIN_SLP(gpd0-3, INPUT, DOWN); /* NC */
|
|
||||||
|
|
||||||
PIN_SLP(gpg3-0, INPUT, NONE); /* CP_REV3 */
|
|
||||||
PIN_SLP(gpg3-1, INPUT, NONE); /* CP_REV2 */
|
|
||||||
PIN_SLP(gpg3-2, INPUT, NONE); /* CP_REV1 */
|
|
||||||
PIN_SLP(gpg3-3, INPUT, NONE); /* CP_REV0 */
|
|
||||||
PIN_SLP(gpg3-4, OUT0, DOWN); /* MST_PWR_EN */
|
|
||||||
PIN_SLP(gpg3-5, OUT0, DOWN); /* CAM_FLASH_EN */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,122 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2012-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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pinctrl@14050000 {
|
|
||||||
btp_irq: btp-irq {
|
|
||||||
samsung,pins = "gpa1-3";
|
|
||||||
samsung,pin-function = <0>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <3>;
|
|
||||||
};
|
|
||||||
btp_irq_sleep: btp-irq-sleep {
|
|
||||||
samsung,pins = "gpa1-3";
|
|
||||||
samsung,pin-function = <0>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <3>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@14220000 {
|
|
||||||
btp_ldo: btp-ldo {
|
|
||||||
samsung,pins = "gpm43-0";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10430000 {
|
|
||||||
/* SPI_FP */
|
|
||||||
spi1_bus_inactive: spi1-bus-inactive {
|
|
||||||
samsung,pins = "gpp0-3", "gpp0-1", "gpp0-0";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <2>;
|
|
||||||
samsung,pin-val = <0>;
|
|
||||||
};
|
|
||||||
spi1_miso_inactive: spi1-miso-inactive {
|
|
||||||
samsung,pins = "gpp0-2";
|
|
||||||
samsung,pin-function = <0>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <2>;
|
|
||||||
};
|
|
||||||
spi1_clk: spi1-clk {
|
|
||||||
samsung,pins = "gpp0-0";
|
|
||||||
samsung,pin-function = <2>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <2>;
|
|
||||||
};
|
|
||||||
spi1_cs: spi1-cs {
|
|
||||||
samsung,pins = "gpp0-3";
|
|
||||||
samsung,pin-function = <2>;
|
|
||||||
samsung,pin-pud = <3>;
|
|
||||||
samsung,pin-drv = <2>;
|
|
||||||
};
|
|
||||||
spi1_miso: spi1-miso {
|
|
||||||
samsung,pins = "gpp0-2";
|
|
||||||
samsung,pin-function = <2>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <2>;
|
|
||||||
};
|
|
||||||
spi1_mosi: spi1-mosi {
|
|
||||||
samsung,pins = "gpp0-1";
|
|
||||||
samsung,pin-function = <2>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <2>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* SPI USI_PERIC0_USI00_SPI */
|
|
||||||
spi_1: spi@10450000 {
|
|
||||||
status = "okay";
|
|
||||||
secure-mode;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
clocks = <&clock GATE_USI00>, <&clock USI00>;
|
|
||||||
clock-names = "spi", "spi_busclk0";
|
|
||||||
|
|
||||||
/delete-property/ pinctrl-names;
|
|
||||||
/delete-property/ pinctrl-0;
|
|
||||||
dma-mode;
|
|
||||||
dmas = <&pdma0 1 &pdma0 0>;
|
|
||||||
|
|
||||||
etspi-spi@0 {
|
|
||||||
compatible = "etspi,et5xx";
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <13000000>;
|
|
||||||
pinctrl-names = "default", "pins_poweron", "pins_poweroff"
|
|
||||||
, "pins_poweron_tz", "pins_poweroff_tz";
|
|
||||||
pinctrl-0 = <&btp_irq_sleep &btp_ldo>;
|
|
||||||
pinctrl-1 = <&btp_irq &spi1_clk &spi1_cs &spi1_miso &spi1_mosi>;
|
|
||||||
pinctrl-2 = <&btp_irq_sleep &spi1_bus_inactive &spi1_miso_inactive>;
|
|
||||||
pinctrl-3 = <&btp_irq>;
|
|
||||||
pinctrl-4 = <&btp_irq_sleep>;
|
|
||||||
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
|
|
||||||
etspi-sleepPin = <&expander_gpios 6 0>;
|
|
||||||
etspi-drdyPin = <&gpa1 3 0x00>;
|
|
||||||
etspi-ldoPin = <&gpm43 0 0x00>;
|
|
||||||
etspi-chipid = "ET510";
|
|
||||||
etspi-orient = <0>;
|
|
||||||
|
|
||||||
controller-data {
|
|
||||||
cs-gpio = <&gpp0 3 0>;
|
|
||||||
samsung,spi-feedback-delay = <0>;
|
|
||||||
samsung,spi-chip-select-mode = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,84 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL9810 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pinctrl@10430000 {
|
|
||||||
vib_pwm: vib-pwm {
|
|
||||||
samsung,pins = "gpp3-1";
|
|
||||||
samsung,pin-function = <2>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
motor_boost_en: motor-boost-en {
|
|
||||||
samsung,pins = "gpg1-7";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-val = <1>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-con-pdn = <0>;
|
|
||||||
samsung,pin-pud-pdn = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
motor_boost_en_sleep: motor-boost-en-sleep {
|
|
||||||
samsung,pins = "gpg1-7";
|
|
||||||
samsung,pin-con-pdn = <0>;
|
|
||||||
samsung,pin-pud-pdn = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@14050000 {
|
|
||||||
max77705_irq: max77705-irq {
|
|
||||||
samsung,pins = "gpa1-6";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hsi2c@14360000 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
max77705@66 {
|
|
||||||
compatible = "maxim,max77705";
|
|
||||||
pinctrl-names = "default", "sleep";
|
|
||||||
pinctrl-0 = <&max77705_irq &vib_pwm &motor_boost_en>;
|
|
||||||
pinctrl-1 = <&motor_boost_en_sleep>;
|
|
||||||
reg = <0x66>;
|
|
||||||
max77705,irq-gpio = <&gpa1 6 1>;
|
|
||||||
max77705,wakeup;
|
|
||||||
|
|
||||||
regulators {
|
|
||||||
ESAFEOUT1 {
|
|
||||||
regulator-compatible = "safeout1";
|
|
||||||
regulator-name = "safeout1_range";
|
|
||||||
regulator-min-microvolt = <3300000>;
|
|
||||||
regulator-max-microvolt = <4900000>;
|
|
||||||
regulator-boot-on;
|
|
||||||
};
|
|
||||||
|
|
||||||
ESAFEOUT2 {
|
|
||||||
regulator-compatible = "safeout2";
|
|
||||||
regulator-name = "safeout2_range";
|
|
||||||
regulator-min-microvolt = <3300000>;
|
|
||||||
regulator-max-microvolt = <4900000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
muic {
|
|
||||||
status = "okay";
|
|
||||||
muic,support-list = "TA","USB","CDP","JIG UART OFF","JIG UART OFF/VB",
|
|
||||||
"JIG UART ON","JIG UART ON/VB","JIG USB OFF",
|
|
||||||
"JIG USB ON","OTG","Unofficial TA","DCD Timeout",
|
|
||||||
"AFC Charger";
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,97 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL9810 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
pinctrl@10430000 {
|
|
||||||
vib_pwm: vib-pwm {
|
|
||||||
samsung,pins = "gpp3-1";
|
|
||||||
samsung,pin-function = <2>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@14050000 {
|
|
||||||
max77865_irq: max77865-irq {
|
|
||||||
samsung,pins = "gpa1-6";
|
|
||||||
samsung,pin-function = <0xf>;
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
muic_irq: muic-irq {
|
|
||||||
samsung,pins = "gpa0-0";
|
|
||||||
samsung,pin-pud = <0>;
|
|
||||||
samsung,pin-drv = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hsi2c@14360000 {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
max77865@66 {
|
|
||||||
compatible = "maxim,max77865";
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&max77865_irq &muic_irq &vib_pwm>;
|
|
||||||
reg = <0x66>;
|
|
||||||
max77865,irq-gpio = <&gpa1 6 1>;
|
|
||||||
muic-universal,irq-gpio = <&gpa0 0 1>;
|
|
||||||
muic-universal,chip_name = "max,max77865";
|
|
||||||
max77865,wakeup;
|
|
||||||
muic,undefined_range;
|
|
||||||
|
|
||||||
regulators {
|
|
||||||
ESAFEOUT1 {
|
|
||||||
regulator-compatible = "safeout1";
|
|
||||||
regulator-name = "safeout1_range";
|
|
||||||
regulator-min-microvolt = <3300000>;
|
|
||||||
regulator-max-microvolt = <4900000>;
|
|
||||||
regulator-boot-on;
|
|
||||||
};
|
|
||||||
|
|
||||||
ESAFEOUT2 {
|
|
||||||
regulator-compatible = "safeout2";
|
|
||||||
regulator-name = "safeout2_range";
|
|
||||||
regulator-min-microvolt = <3300000>;
|
|
||||||
regulator-max-microvolt = <4900000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
muic {
|
|
||||||
status = "okay";
|
|
||||||
|
|
||||||
muic,support-list = "+OTG:GND",
|
|
||||||
"-MHL:1K",
|
|
||||||
"-VZW Accessory:28.7K",
|
|
||||||
"-VZW Incompatible:34K",
|
|
||||||
"+RDU TA:40.2K",
|
|
||||||
"+HMT:49.9K",
|
|
||||||
"-Audiodock:64.9K",
|
|
||||||
"-USB LANHUB:80.07K",
|
|
||||||
"-Charging Cable:102K",
|
|
||||||
"+Game Pad:121K",
|
|
||||||
"+TYPE1 Charger:200K",
|
|
||||||
"+Jig USB Off:255K",
|
|
||||||
"+Jig USB On:301K",
|
|
||||||
"+Deskdock:365K",
|
|
||||||
"+TYPE2 Charger:442K",
|
|
||||||
"+Jig UART Off:523K",
|
|
||||||
"+Jig UART On:619K",
|
|
||||||
"+TA:OPEN",
|
|
||||||
"+USB:OPEN",
|
|
||||||
"+CDP:OPEN",
|
|
||||||
"+Undefined Charging:XXX";
|
|
||||||
muic,afcmode-tx = /bits/ 8 <0x46>;
|
|
||||||
muic,qc-hv = /bits/ 8 <0x9>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL9810 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
haptic {
|
|
||||||
status = "okay";
|
|
||||||
haptic,max_timeout = <10000>;
|
|
||||||
/* for multi-frequency */
|
|
||||||
haptic,multi_frequency = <7>;
|
|
||||||
/* frequency alert low mid high 0 press release */
|
|
||||||
haptic,duty = <34179 45572 36458 27343 30381 37108 37108>;
|
|
||||||
haptic,period = <48828 65104 52083 39062 43402 39062 39062>;
|
|
||||||
haptic,reg2 = <0x82>;
|
|
||||||
haptic,pwm_id = <1>;
|
|
||||||
haptic,regulator_name = "VDD_MOTOR_3P3";
|
|
||||||
haptic,normal_ratio = <70>;
|
|
||||||
haptic,overdrive_ratio = <95>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,45 +0,0 @@
|
||||||
/* Copyright (c) 2013, Samsung Electronics Corporation. 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
sec-mst{
|
|
||||||
compatible = "sec-mst";
|
|
||||||
sec-mst,mst-pwr-gpio = <&gpg3 4 0>;
|
|
||||||
sec-mst,mst-en-gpio = <&gpg0 2 0>;
|
|
||||||
sec-mst,mst-data-gpio = <&gpg0 4 0>;
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&mst_pwr_en &mst_en &mst_data>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10830000 {
|
|
||||||
mst_pwr_en: sec-mst,mst-pwr-gpio {
|
|
||||||
samsung,pins ="gpg3-4";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10430000 {
|
|
||||||
mst_en: sec-mst,mst-en-gpio {
|
|
||||||
samsung,pins ="gpg0-2";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
mst_data: sec-mst,mst-data-gpio {
|
|
||||||
samsung,pins ="gpg0-4";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,45 +0,0 @@
|
||||||
/* Copyright (c) 2013, Samsung Electronics Corporation. 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
sec-mst{
|
|
||||||
compatible = "sec-mst";
|
|
||||||
sec-mst,mst-pwr-gpio = <&gpg3 4 0>;
|
|
||||||
sec-mst,mst-en-gpio = <&gph0 7 0>;
|
|
||||||
sec-mst,mst-data-gpio = <&gph0 6 0>;
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&mst_pwr_en &mst_en &mst_data>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@10830000 {
|
|
||||||
mst_pwr_en: sec-mst,mst-pwr-gpio {
|
|
||||||
samsung,pins ="gpg3-4";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pinctrl@13A80000 {
|
|
||||||
mst_en: sec-mst,mst-en-gpio {
|
|
||||||
samsung,pins ="gph0-7";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
mst_data: sec-mst,mst-data-gpio {
|
|
||||||
samsung,pins ="gph0-6";
|
|
||||||
samsung,pin-function = <1>;
|
|
||||||
samsung,pin-pud = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,451 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG Exynos9810-CS47L93 Sound Card Device Tree Source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
|
|
||||||
abox: abox@0x17C50000 {
|
|
||||||
/delete-node/ ext_bin@0;
|
|
||||||
ext_bin_0: ext_bin@0 {
|
|
||||||
status = "okay";
|
|
||||||
samsung,name = "dsm.bin";
|
|
||||||
samsung,area = <1>; /* 0:SRAM, 1:DRAM, 2:VSS */
|
|
||||||
samsung,offset = <0x502000>;
|
|
||||||
};
|
|
||||||
/delete-node/ ext_bin@3;
|
|
||||||
ext_bin_3: ext_bin@3 {
|
|
||||||
status = "okay";
|
|
||||||
samsung,name = "SoundBoosterParam.bin";
|
|
||||||
samsung,area = <1>;
|
|
||||||
samsung,offset = <0x4FC000>;
|
|
||||||
};
|
|
||||||
/delete-node/ ext_bin@6;
|
|
||||||
ext_bin_6: ext_bin@6 {
|
|
||||||
status = "okay";
|
|
||||||
samsung,name = "dsm_tune.bin";
|
|
||||||
samsung,area = <1>;
|
|
||||||
samsung,offset = <0x601000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
vts: vts@0x13870000 {
|
|
||||||
status = "okay";
|
|
||||||
lpsd-gain = <0>;
|
|
||||||
dmic-gain = <0>;
|
|
||||||
amic-gain = <4>;
|
|
||||||
};
|
|
||||||
|
|
||||||
spi_2: spi@10470000 {
|
|
||||||
status = "okay";
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&spi2_bus &spi2_cs_func>;
|
|
||||||
|
|
||||||
cs47l93: cs47l93@0 {
|
|
||||||
compatible = "cirrus,cs47l93";
|
|
||||||
reg = <0x0>;
|
|
||||||
|
|
||||||
spi-max-frequency = <25000000>;
|
|
||||||
|
|
||||||
interrupts = <2 0 0>;
|
|
||||||
interrupt-controller;
|
|
||||||
#interrupt-cells = <2>;
|
|
||||||
interrupt-parent = <&gpa2>;
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
#sound-dai-cells = <1>;
|
|
||||||
|
|
||||||
AVDD-supply = <&ldo33_reg>;
|
|
||||||
DBVDD1-supply = <&ldo33_reg>;
|
|
||||||
CPVDD1-supply = <&ldo33_reg>;
|
|
||||||
CPVDD2-supply = <&ldo34_reg>;
|
|
||||||
DCVDD-supply = <&ldo34_reg>;
|
|
||||||
|
|
||||||
reset-gpios = <&gpg1 0 0>;
|
|
||||||
|
|
||||||
cirrus,dmic-ref = <0 1 1 1>;
|
|
||||||
cirrus,inmode = < /* 0: diff 1: single 2: dmic */
|
|
||||||
2 2 0 0 /* IN1 */
|
|
||||||
2 2 1 1 /* IN2 */
|
|
||||||
>;
|
|
||||||
cirrus,out-mono = <0 0 1 0 0 0>;
|
|
||||||
cirrus,auxpdm-falling-edge;
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&cs47l93_defaults &codec_reset &codec_irq>;
|
|
||||||
|
|
||||||
cirrus,gpsw = <3 0>;
|
|
||||||
|
|
||||||
cs47l93_defaults: cs47l93-gpio-defaults {
|
|
||||||
aif1 {
|
|
||||||
groups = "aif1";
|
|
||||||
function = "aif1";
|
|
||||||
bias-bus-hold;
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio9 {
|
|
||||||
groups = "gpio9";
|
|
||||||
function = "io";
|
|
||||||
bias-disable;
|
|
||||||
drive-strength = <8>;
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio10 {
|
|
||||||
groups = "gpio10";
|
|
||||||
function = "io";
|
|
||||||
bias-disable;
|
|
||||||
drive-strength = <8>;
|
|
||||||
};
|
|
||||||
|
|
||||||
aif3 {
|
|
||||||
groups = "aif3";
|
|
||||||
function = "aif3";
|
|
||||||
bias-bus-hold;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
micvdd {
|
|
||||||
regulator-min-microvolt = <3000000>;
|
|
||||||
regulator-max-microvolt = <3000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
MICBIAS1 {
|
|
||||||
regulator-min-microvolt = <1800000>;
|
|
||||||
regulator-max-microvolt = <1800000>;
|
|
||||||
cirrus,ext-cap = <1>;
|
|
||||||
};
|
|
||||||
MICBIAS1A {
|
|
||||||
regulator-active-discharge = <1>;
|
|
||||||
};
|
|
||||||
MICBIAS1B {
|
|
||||||
regulator-active-discharge = <1>;
|
|
||||||
};
|
|
||||||
MICBIAS1C {
|
|
||||||
regulator-active-discharge = <1>;
|
|
||||||
};
|
|
||||||
MICBIAS2 {
|
|
||||||
regulator-min-microvolt = <2800000>;
|
|
||||||
regulator-max-microvolt = <2800000>;
|
|
||||||
cirrus,ext-cap = <1>;
|
|
||||||
regulator-soft-start;
|
|
||||||
};
|
|
||||||
MICBIAS2A {
|
|
||||||
regulator-active-discharge = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
cirrus,accdet {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
acc@1 {
|
|
||||||
reg = <2>;
|
|
||||||
|
|
||||||
cirrus,micd-bias-start-time = <0x1>;
|
|
||||||
cirrus,micd-rate = <7>;
|
|
||||||
cirrus,micd-detect-debounce-ms = <300>;
|
|
||||||
cirrus,micd-clamp-mode = <0x8>;
|
|
||||||
cirrus,jd-use-jd2;
|
|
||||||
cirrus,hs-mic = <1>;
|
|
||||||
|
|
||||||
cirrus,init-delay-ms = <30>;
|
|
||||||
cirrus,micd-dbtime = <0x1>;
|
|
||||||
cirrus,micd-timeout-ms = <1000>;
|
|
||||||
cirrus,micd-force-micbias;
|
|
||||||
cirrus,hpdet-short-circuit-imp = <2>;
|
|
||||||
cirrus,hpdet-ext-res = <3300>;
|
|
||||||
cirrus,micd-ranges = <
|
|
||||||
116 226
|
|
||||||
173 582
|
|
||||||
321 115
|
|
||||||
752 114
|
|
||||||
1257 217
|
|
||||||
>;
|
|
||||||
cirrus,micd-software-compare;
|
|
||||||
cirrus,micd-open-circuit-declare = <1>;
|
|
||||||
cirrus,jd-wake-time = <5000>;
|
|
||||||
|
|
||||||
cirrus,moisture-pin = <7>;
|
|
||||||
cirrus,moisture-imp = <2000>;
|
|
||||||
cirrus,moisture-debounce = <100>;
|
|
||||||
|
|
||||||
cirrus,micd-configs = <0 1 4 0 1>;
|
|
||||||
cirrus,hpd-pins = <2 5 0 0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
adsps {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
adsp@0FFE00 {
|
|
||||||
reg = <0x0FFE00>;
|
|
||||||
firmware {
|
|
||||||
DSD {
|
|
||||||
cirrus,wmfw-file = "dsd";
|
|
||||||
cirrus,bin-file = "None";
|
|
||||||
cirrus,append-sr;
|
|
||||||
};
|
|
||||||
TRACE {
|
|
||||||
cirrus,wmfw-file = "trace";
|
|
||||||
cirrus,bin-file = "None";
|
|
||||||
cirrus,compr-caps = <1 8 0x4 1 8000 16000 24000 32000 48000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
controller-data {
|
|
||||||
samsung,spi-feedback-delay = <1>;
|
|
||||||
samsung,spi-chip-select-mode = <0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sound {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "samsung,star-madera";
|
|
||||||
|
|
||||||
clock-names = "xclkout";
|
|
||||||
clocks = <&clock OSC_AUD>;
|
|
||||||
|
|
||||||
cirrus,sysclk = <1 4 98304000>;
|
|
||||||
cirrus,asyncclk = <2 5 98304000>;
|
|
||||||
cirrus,dspclk = <8 4 147456000>;
|
|
||||||
cirrus,outclk = <9 1 0>;
|
|
||||||
cirrus,fll1-refclk = <1 0 26000000>;
|
|
||||||
cirrus,fll2-refclk = <2 8 26000000>;
|
|
||||||
|
|
||||||
samsung,routing = "HEADSETMIC", "MICBIAS2A",
|
|
||||||
"IN1BL", "HEADSETMIC",
|
|
||||||
"DMIC1", "MICBIAS1A",
|
|
||||||
"IN3L", "DMIC1",
|
|
||||||
"DMIC2", "MICBIAS1B",
|
|
||||||
"IN2AL", "DMIC2",
|
|
||||||
"DMIC3", "MICBIAS1C",
|
|
||||||
"IN3R", "DMIC3",
|
|
||||||
"DMIC4", "MICBIAS1B",
|
|
||||||
"IN4L", "DMIC4",
|
|
||||||
"IN2BL", "FM",
|
|
||||||
"IN2BR", "FM",
|
|
||||||
"VTS PAD DPDM", "DMIC1",
|
|
||||||
"RECEIVER", "HPOUT3L",
|
|
||||||
"RECEIVER", "HPOUT3R",
|
|
||||||
"HEADPHONE", "HPOUT2L",
|
|
||||||
"HEADPHONE", "HPOUT2R",
|
|
||||||
"BLUETOOTH SPK", "ABOX UAIF3 Playback",
|
|
||||||
"ABOX UAIF3 Capture", "BLUETOOTH MIC",
|
|
||||||
"VOUTPUT", "ABOX UAIF0 Playback",
|
|
||||||
"ABOX UAIF1 Capture", "VINPUT1",
|
|
||||||
"SPEAKER", "HiFi Playback",
|
|
||||||
"VOUTPUTCALL", "ABOX UAIF2 Playback",
|
|
||||||
"ABOX UAIF2 Capture", "VINPUTCALL",
|
|
||||||
"VTS Virtual Output", "VTS Virtual Output Mux",
|
|
||||||
"VTS Virtual Output Mux", "DMIC1";
|
|
||||||
|
|
||||||
samsung,codec = <&abox &abox_uaif_0 &abox_uaif_1 &abox_uaif_2
|
|
||||||
&abox_uaif_3 &abox_dsif &vts>;
|
|
||||||
samsung,aux = <&abox_effect>;
|
|
||||||
|
|
||||||
rdma@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 0>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@1 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 1>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@2 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 2>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@3 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 3>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@4 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 4>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@5 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 5>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@6 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 6>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
rdma@7 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 7>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wdma@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 8>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wdma@1 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 9>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wdma@2 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 10>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wdma@3 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 11>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wdma@4 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 12>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vts@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&vts 0>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vts@1 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&vts 1>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
dp_audio@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&dummy_audio_cpu>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
uaif@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox_uaif_0>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&cs47l93 0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
uaif@1 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox_uaif_1>;
|
|
||||||
};
|
|
||||||
platform {
|
|
||||||
sound-dai = <&abox_adaptation 0>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&max98512 0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
uaif@2 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox_uaif_2>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&cs47l93 2>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
uaif@3 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox_uaif_3>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
dsif@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox_dsif>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
sifs0@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 13>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
sifs1@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 14>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
sifs2@0 {
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&abox 15>;
|
|
||||||
};
|
|
||||||
codec {
|
|
||||||
sound-dai = <&dummy_audio_codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,89 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL9810 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
rgb {
|
|
||||||
led_device_type = <0>;
|
|
||||||
rgb-name = "led_w", "led_r", "led_g", "led_b";
|
|
||||||
|
|
||||||
normal_powermode_current_uu = <10>;
|
|
||||||
low_powermode_current_uu = <10>;
|
|
||||||
br_ratio_r_uu = <700>;
|
|
||||||
br_ratio_g_uu = <60>;
|
|
||||||
br_ratio_b_uu = <120>;
|
|
||||||
br_ratio_r_low_uu = <100>;
|
|
||||||
br_ratio_g_low_uu = <10>;
|
|
||||||
br_ratio_b_low_uu = <10>;
|
|
||||||
|
|
||||||
normal_powermode_current_bk = <10>;
|
|
||||||
low_powermode_current_bk = <10>;
|
|
||||||
br_ratio_r_bk = <700>;
|
|
||||||
br_ratio_g_bk = <60>;
|
|
||||||
br_ratio_b_bk = <120>;
|
|
||||||
br_ratio_r_low_bk = <100>;
|
|
||||||
br_ratio_g_low_bk = <10>;
|
|
||||||
br_ratio_b_low_bk = <10>;
|
|
||||||
|
|
||||||
normal_powermode_current_wh = <10>;
|
|
||||||
low_powermode_current_wh = <10>;
|
|
||||||
br_ratio_r_wh = <750>;
|
|
||||||
br_ratio_g_wh = <70>;
|
|
||||||
br_ratio_b_wh = <150>;
|
|
||||||
br_ratio_r_low_wh = <70>;
|
|
||||||
br_ratio_g_low_wh = <1>;
|
|
||||||
br_ratio_b_low_wh = <19>;
|
|
||||||
|
|
||||||
normal_powermode_current_gd = <10>;
|
|
||||||
low_powermode_current_gd = <10>;
|
|
||||||
br_ratio_r_gd = <750>;
|
|
||||||
br_ratio_g_gd = <70>;
|
|
||||||
br_ratio_b_gd = <150>;
|
|
||||||
br_ratio_r_low_gd = <70>;
|
|
||||||
br_ratio_g_low_gd = <1>;
|
|
||||||
br_ratio_b_low_gd = <19>;
|
|
||||||
|
|
||||||
normal_powermode_current_sv = <10>;
|
|
||||||
low_powermode_current_sv = <10>;
|
|
||||||
br_ratio_r_sv = <750>;
|
|
||||||
br_ratio_g_sv = <70>;
|
|
||||||
br_ratio_b_sv = <150>;
|
|
||||||
br_ratio_r_low_sv = <70>;
|
|
||||||
br_ratio_g_low_sv = <1>;
|
|
||||||
br_ratio_b_low_sv = <19>;
|
|
||||||
|
|
||||||
normal_powermode_current_gr = <10>;
|
|
||||||
low_powermode_current_gr = <10>;
|
|
||||||
br_ratio_r_gr = <750>;
|
|
||||||
br_ratio_g_gr = <70>;
|
|
||||||
br_ratio_b_gr = <150>;
|
|
||||||
br_ratio_r_low_gr = <70>;
|
|
||||||
br_ratio_g_low_gr = <1>;
|
|
||||||
br_ratio_b_low_gr = <19>;
|
|
||||||
|
|
||||||
normal_powermode_current_bl = <10>;
|
|
||||||
low_powermode_current_bl = <10>;
|
|
||||||
br_ratio_r_bl = <750>;
|
|
||||||
br_ratio_g_bl = <70>;
|
|
||||||
br_ratio_b_bl = <150>;
|
|
||||||
br_ratio_r_low_bl = <70>;
|
|
||||||
br_ratio_g_low_bl = <1>;
|
|
||||||
br_ratio_b_low_bl = <19>;
|
|
||||||
|
|
||||||
normal_powermode_current_pg = <10>;
|
|
||||||
low_powermode_current_pg = <10>;
|
|
||||||
br_ratio_r_pg = <750>;
|
|
||||||
br_ratio_g_pg = <70>;
|
|
||||||
br_ratio_b_pg = <150>;
|
|
||||||
br_ratio_r_low_pg = <70>;
|
|
||||||
br_ratio_g_low_pg = <1>;
|
|
||||||
br_ratio_b_low_pg = <19>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,24 +0,0 @@
|
||||||
/*
|
|
||||||
* Device tree sources for Exynos9810 TMU sensor configuration
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017 Lukasz Majewski <l.majewski@samsung.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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <dt-bindings/thermal/thermal_exynos.h>
|
|
||||||
|
|
||||||
#thermal-sensor-cells = <0>;
|
|
||||||
samsung,tmu_gain = <0>;
|
|
||||||
samsung,tmu_reference_voltage = <0>;
|
|
||||||
samsung,tmu_noise_cancel_mode = <4>;
|
|
||||||
samsung,tmu_efuse_value = <55>;
|
|
||||||
samsung,tmu_first_point_trim = <25>;
|
|
||||||
samsung,tmu_second_point_trim = <85>;
|
|
||||||
samsung,tmu_default_temp_offset = <50>;
|
|
||||||
samsung,tmu_default_trip_temp = <115>;
|
|
||||||
samsung,tmu_cal_type = <TYPE_ONE_POINT_TRIMMING>;
|
|
||||||
samsung,tmu_sensor_type = <TEM1051X>;
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,65 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG EXYNOS8895 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_DAT_LOW 0
|
|
||||||
#define PIN_DAT_HIGH 1
|
|
||||||
|
|
||||||
#define PIN_PULL_NONE 0
|
|
||||||
#define PIN_PULL_DOWN 1
|
|
||||||
#define PIN_PULL_UP 3
|
|
||||||
|
|
||||||
#define PIN_DRV_LV1 0x0
|
|
||||||
#define PIN_DRV_LV2 0x1
|
|
||||||
#define PIN_DRV_LV3 0x2
|
|
||||||
#define PIN_DRV_LV4 0x3
|
|
||||||
|
|
||||||
#define PIN_PDN_OUT0 0
|
|
||||||
#define PIN_PDN_OUT1 1
|
|
||||||
#define PIN_PDN_INPUT 2
|
|
||||||
#define PIN_PDN_PREV 3
|
|
||||||
|
|
||||||
#define PIN_IN(_pin, _pull) \
|
|
||||||
_pin { \
|
|
||||||
samsung,pins = #_pin; \
|
|
||||||
samsung,pin-function = <0>; \
|
|
||||||
samsung,pin-pud = <PIN_PULL_ ##_pull>; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define PIN_OUT(_pin, _drv) \
|
|
||||||
_pin { \
|
|
||||||
samsung,pins = #_pin; \
|
|
||||||
samsung,pin-function = <1>; \
|
|
||||||
samsung,pin-pud = <0>; \
|
|
||||||
samsung,pin-drv = <PIN_DRV_ ##_drv>; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define PIN_OUT_SET(_pin, _val, _drv) \
|
|
||||||
_pin { \
|
|
||||||
samsung,pins = #_pin; \
|
|
||||||
samsung,pin-function = <1>; \
|
|
||||||
samsung,pin-pud = <0>; \
|
|
||||||
samsung,pin-drv = <PIN_DRV_ ##_drv>; \
|
|
||||||
samsung,pin-val = <_val>; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define PIN_FUNC(_pin, _func, _pull) \
|
|
||||||
_pin { \
|
|
||||||
samsung,pins = #_pin; \
|
|
||||||
samsung,pin-function = <_func>; \
|
|
||||||
samsung,pin-pud = <PIN_PULL_ ##_pull>; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define PIN_SLP(_pin, _mode, _pull) \
|
|
||||||
_pin { \
|
|
||||||
samsung,pins = #_pin; \
|
|
||||||
samsung,pin-con-pdn = <PIN_PDN_ ##_mode>; \
|
|
||||||
samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>; \
|
|
||||||
}
|
|
|
@ -1,387 +0,0 @@
|
||||||
/*
|
|
||||||
* SAMSUNG UNIVERSAL8895 board device tree source
|
|
||||||
*
|
|
||||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
|
||||||
* http://www.samsung.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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
/* modem_interface_driver: Samsung Electronics */
|
|
||||||
mif_pdata {
|
|
||||||
/* modem main binary start offset */
|
|
||||||
reg = <0 0x10000 0x0>;
|
|
||||||
|
|
||||||
compatible = "sec_modem,modem_pdata";
|
|
||||||
status = "okay";
|
|
||||||
interrupts = <0 74 0>, <0 440 0>; /* INTREQ_ALIVE_CP_ACTIVE, INTREQ_CP2AP_RESET_REQ */
|
|
||||||
|
|
||||||
/* common pdata */
|
|
||||||
mif,name = "ss360ap";
|
|
||||||
mif,modem_net = <0>; /* UMTS_NETWORK */
|
|
||||||
mif,modem_type = <10>; /* SEC_SS310AP */
|
|
||||||
mif,use_handover = <0>; /* not used */
|
|
||||||
mif,ipc_version = <50>; /* SIPC 5.0 */
|
|
||||||
mif,link_types = <0x200>; /* LINKDEV_SHMEM */
|
|
||||||
mif,link_name = "shmem";
|
|
||||||
mif,link_attrs = <0x7C9>; /* XMIT_BTDLR(0x400) | DUMP_ALIGNED (0x200) | BOOT_ALIGNED (0x100) | MEM_DUMP (0x80) | MEM_BOOT (0x40) | DPRAM_MAGIC (0x08) | SBD_IPC (0x01) */
|
|
||||||
mif,num_iodevs = <21>;
|
|
||||||
|
|
||||||
/* MIF buffer information */
|
|
||||||
mif,buff_offset = <0x500000>;
|
|
||||||
mif,buff_size = <0x900000>;
|
|
||||||
|
|
||||||
/* mbox pdata */
|
|
||||||
mbx_ap2cp_msg = <0>;
|
|
||||||
mbx_cp2ap_msg = <1>;
|
|
||||||
mbx_ap2cp_united_status = <2>;
|
|
||||||
mbx_cp2ap_united_status = <3>;
|
|
||||||
mbx_ap2cp_mif_value = <4>;
|
|
||||||
mbx_ap2cp_kerneltime = <9>;
|
|
||||||
|
|
||||||
mif,int_ap2cp_msg = <0>;
|
|
||||||
mif,int_ap2cp_wakeup = <1>;
|
|
||||||
mif,int_ap2cp_status = <2>;
|
|
||||||
mif,int_ap2cp_active = <3>;
|
|
||||||
mif,int_ap2cp_smapper = <4>;
|
|
||||||
|
|
||||||
mif,irq_cp2ap_msg = <0>;
|
|
||||||
mif,irq_cp2ap_status = <2>;
|
|
||||||
mif,irq_cp2ap_active = <3>;
|
|
||||||
mif,irq_cp2ap_smapper = <4>;
|
|
||||||
mif,irq_cp2ap_wakelock = <8>;
|
|
||||||
mif,irq_cp2ap_ratmode = <9>;
|
|
||||||
|
|
||||||
/* mbox pdata for performance request */
|
|
||||||
mbx_cp2ap_dvfsreq_cpu = <5>;
|
|
||||||
mbx_cp2ap_dvfsreq_mif = <6>;
|
|
||||||
mbx_cp2ap_dvfsreq_int = <7>;
|
|
||||||
|
|
||||||
mif,irq_cp2ap_perf_req_cpu = <5>; /* CP2AP_DVFSREQ_CPU */
|
|
||||||
mif,irq_cp2ap_perf_req_mif = <6>; /* CP2AP_DVFSREQ_MIF */
|
|
||||||
mif,irq_cp2ap_perf_req_int = <7>; /* CP2AP_DVFSREQ_INT */
|
|
||||||
|
|
||||||
|
|
||||||
/* mbox pdata for sbi(status bit info) */
|
|
||||||
sbi_cp_rat_mode_mask = <0x3f>;
|
|
||||||
sbi_cp_rat_mode_pos = <26>;
|
|
||||||
sbi_cp_evs_mode_mask = <0x1>;
|
|
||||||
sbi_cp_evs_mode_pos = <7>;
|
|
||||||
sbi_cp_wakelock_mask = <0x1>;
|
|
||||||
sbi_cp_wakelock_pos = <6>;
|
|
||||||
sbi_lte_active_mask = <0x1>;
|
|
||||||
sbi_lte_active_pos = <5>;
|
|
||||||
sbi_cp_status_mask = <0xf>;
|
|
||||||
sbi_cp_status_pos = <1>;
|
|
||||||
sbi_cp_smapper_mask = <0x1>;
|
|
||||||
sbi_cp_smapper_pos = <4>;
|
|
||||||
sbi_cp2ap_wakelock_mask = <0x1>;
|
|
||||||
sbi_cp2ap_wakelock_pos = <6>;
|
|
||||||
sbi_pda_active_mask = <0x1>;
|
|
||||||
sbi_pda_active_pos = <5>;
|
|
||||||
sbi_ap_status_mask = <0xf>;
|
|
||||||
sbi_ap_status_pos = <1>;
|
|
||||||
sbi_ap2cp_wakelock_mask = <0x1>;
|
|
||||||
sbi_ap2cp_wakelock_pos = <0>;
|
|
||||||
|
|
||||||
sbi_crash_type_mask = <0xf>;
|
|
||||||
sbi_crash_type_pos = <23>;
|
|
||||||
sbi_device_type_mask = <0x1f>;
|
|
||||||
sbi_device_type_pos = <18>;
|
|
||||||
sbi_ext_backtrace_mask = <0x1>;
|
|
||||||
sbi_ext_backtrace_pos = <17>;
|
|
||||||
sbi_ds_det_mask = <0x3>;
|
|
||||||
sbi_ds_det_pos = <14>;
|
|
||||||
sbi_sys_rev_mask = <0xff>;
|
|
||||||
sbi_sys_rev_pos = <6>;
|
|
||||||
|
|
||||||
sbi_lockval_cp2ap_dvfsreq_endian_mask = <0x1>;
|
|
||||||
sbi_lockval_cp2ap_dvfsreq_endian_pos = <31>;
|
|
||||||
sbi_lockval_cp2ap_dvfsreq_index_mask = <0x7fff>;
|
|
||||||
sbi_lockval_cp2ap_dvfsreq_index_pos = <0>;
|
|
||||||
|
|
||||||
sbi_ap2cp_kerneltime_sec_mask = <0xfff>;
|
|
||||||
sbi_ap2cp_kerneltime_sec_pos = <20>;
|
|
||||||
sbi_ap2cp_kerneltime_usec_mask = <0xfffff>;
|
|
||||||
sbi_ap2cp_kerneltime_usec_pos = <0>;
|
|
||||||
|
|
||||||
|
|
||||||
iodevs {
|
|
||||||
io_device_0 {
|
|
||||||
iod,name = "umts_cass";
|
|
||||||
iod,id = <35>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x82>;
|
|
||||||
iod,max_tx_size = <2048>;
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <16>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_1 {
|
|
||||||
iod,name = "umts_ipc0";
|
|
||||||
iod,id = <235>;
|
|
||||||
iod,format = <0>; /* IPC_FMT */
|
|
||||||
iod,io_type = <0>; /* IODEV_MISC */
|
|
||||||
iod,links = <0x200>; /* LINKDEV_SHMEM */
|
|
||||||
iod,attrs = <0x82>; /* ATTR_SBD_IPC | ATTR_SIPC5 */
|
|
||||||
iod,app = "RIL";
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <4096>;
|
|
||||||
iod,dl_num_buffers = <32>;
|
|
||||||
iod,dl_buffer_size = <4096>;
|
|
||||||
};
|
|
||||||
io_device_2 {
|
|
||||||
iod,name = "umts_ipc1";
|
|
||||||
iod,id = <236>;
|
|
||||||
iod,format = <0>; /* IPC_FMT */
|
|
||||||
iod,io_type = <0>; /* IODEV_MISC */
|
|
||||||
iod,links = <0x200>; /* LINKDEV_SHMEM */
|
|
||||||
iod,attrs = <0x82>; /* ATTR_SBD_IPC | ATTR_SIPC5 */
|
|
||||||
iod,app = "RIL";
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <4096>;
|
|
||||||
iod,dl_num_buffers = <32>;
|
|
||||||
iod,dl_buffer_size = <4096>;
|
|
||||||
};
|
|
||||||
io_device_3 {
|
|
||||||
iod,name = "umts_rfs0";
|
|
||||||
iod,id = <245>;
|
|
||||||
iod,format = <2>; /* IPC_RFS */
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x82>;
|
|
||||||
iod,app = "RFS";
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <512>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_4 {
|
|
||||||
iod,name = "umts_csd";
|
|
||||||
iod,id = <1>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x82>;
|
|
||||||
iod,app = "CSVT";
|
|
||||||
iod,ul_num_buffers = <32>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <64>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_5 {
|
|
||||||
iod,name = "umts_router";
|
|
||||||
iod,id = <25>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x82>;
|
|
||||||
iod,app = "Data Router";
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <16>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_6 {
|
|
||||||
iod,name = "umts_dm0";
|
|
||||||
iod,id = <28>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x82>;
|
|
||||||
iod,app = "DIAG";
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <128>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_7 {
|
|
||||||
iod,name = "rmnet0";
|
|
||||||
iod,id = <10>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>; /* IODEV_NET */
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>; /* ATTR_SBD_IPC (0x80) | ATTR_NO_LINK_HDR(0x100) */
|
|
||||||
iod,app = "NET";
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_8 {
|
|
||||||
iod,name = "rmnet1";
|
|
||||||
iod,id = <11>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,app = "NET";
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_9 {
|
|
||||||
iod,name = "rmnet2";
|
|
||||||
iod,id = <12>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,app = "NET";
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_10 {
|
|
||||||
iod,name = "rmnet3";
|
|
||||||
iod,id = <13>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,app = "NET";
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_11 {
|
|
||||||
iod,name = "rmnet4";
|
|
||||||
iod,id = <14>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>; /* ATTR_NO_LINK_HDR(0x100) | ATTR_SBD_IPC (0x80) */
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_12 {
|
|
||||||
iod,name = "rmnet5";
|
|
||||||
iod,id = <15>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_13 {
|
|
||||||
iod,name = "rmnet6";
|
|
||||||
iod,id = <16>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_14 {
|
|
||||||
iod,name = "rmnet7";
|
|
||||||
iod,id = <17>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <1>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,ul_num_buffers = <0>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <0>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_15 {
|
|
||||||
iod,name = "multipdp_hiprio";
|
|
||||||
iod,id = <0>;
|
|
||||||
iod,format = <3>; /* IPC_MULTI_RAW */
|
|
||||||
iod,io_type = <2>; /* IODEV_DUMMY */
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x180>;
|
|
||||||
iod,app = "RIL";
|
|
||||||
iod,ul_num_buffers = <256>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <256>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
};
|
|
||||||
io_device_16 {
|
|
||||||
iod,name = "multipdp";
|
|
||||||
iod,id = <0>;
|
|
||||||
iod,format = <3>; /* IPC_MULTI_RAW */
|
|
||||||
iod,io_type = <2>; /* IODEV_DUMMY */
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x3180>; /* ATTR_SMAPPER (0x2000) | ATTR_ZEROCOPY (0x1000) | ATTR_SBD_IPC (0x80) | ATTR_NO_LINK_HDR (0x100) */
|
|
||||||
iod,app = "RIL";
|
|
||||||
iod,ul_num_buffers = <512>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <2048>;
|
|
||||||
iod,dl_buffer_size = <8>;
|
|
||||||
};
|
|
||||||
io_device_17 {
|
|
||||||
iod,name = "umts_boot0";
|
|
||||||
iod,id = <215>;
|
|
||||||
iod,format = <4>; /* IPC_BOOT */
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x02>;
|
|
||||||
iod,app = "CBD";
|
|
||||||
};
|
|
||||||
io_device_18 {
|
|
||||||
iod,name = "umts_ramdump0";
|
|
||||||
iod,id = <225>;
|
|
||||||
iod,format = <5>; /* IPC_DUMP */
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x202>; /* ATTR_NO_CHECK_MAXQ | ATTR_SIPC5 */
|
|
||||||
iod,app = "CBD";
|
|
||||||
};
|
|
||||||
io_device_19 {
|
|
||||||
iod,name = "smd4";
|
|
||||||
iod,id = <33>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x882>;
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <128>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
iod,option_region = "kor_skt";
|
|
||||||
};
|
|
||||||
io_device_20 {
|
|
||||||
iod,name = "umts_ciq0";
|
|
||||||
iod,id = <26>;
|
|
||||||
iod,format = <1>;
|
|
||||||
iod,io_type = <0>;
|
|
||||||
iod,links = <0x200>;
|
|
||||||
iod,attrs = <0x882>;
|
|
||||||
iod,ul_num_buffers = <16>;
|
|
||||||
iod,ul_buffer_size = <2048>;
|
|
||||||
iod,dl_num_buffers = <128>;
|
|
||||||
iod,dl_buffer_size = <2048>;
|
|
||||||
iod,option_region = "usa_att";
|
|
||||||
};
|
|
||||||
}; /* end of iodevs */
|
|
||||||
}; /* end of mif_pdata */
|
|
||||||
|
|
||||||
shmem: shmem@F6E00000 {
|
|
||||||
compatible = "samsung,exynos-shm_ipc";
|
|
||||||
|
|
||||||
shmem,cp_size = <0x7900000>; /* CP 121MB */
|
|
||||||
shmem,vss_size = <0x700000>; /* VSS 7MB */
|
|
||||||
shmem,ipc_offset = <0x8000000>; /* 128MB(CP 121MB + VSS 7MB) */
|
|
||||||
shmem,ipc_size = <0x500000>; /* 5MB */
|
|
||||||
shmem,zmb_offset = <0x8500000>; /* 133MB(CP 121MB + VSS 7MB + IPC 5MB) */
|
|
||||||
shmem,zmb_size = <0xB00000>; /* 11MB */
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -526,6 +526,7 @@ CONFIG_MAX_DIRTY_THRESH_PAGES=25600
|
||||||
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
|
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
|
||||||
CONFIG_MMAP_READAROUND_LIMIT=0
|
CONFIG_MMAP_READAROUND_LIMIT=0
|
||||||
CONFIG_RBIN=y
|
CONFIG_RBIN=y
|
||||||
|
CONFIG_VMPRESSURE_LEVEL_MED=60
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
# CONFIG_PARAVIRT is not set
|
# CONFIG_PARAVIRT is not set
|
||||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||||
|
@ -4275,6 +4276,7 @@ CONFIG_SEC_DEBUG_LAST_KMSG=y
|
||||||
CONFIG_SEC_DEBUG_INIT_LOG=y
|
CONFIG_SEC_DEBUG_INIT_LOG=y
|
||||||
# CONFIG_SEC_DEBUG_PPMPU is not set
|
# CONFIG_SEC_DEBUG_PPMPU is not set
|
||||||
CONFIG_SEC_DEBUG_BRANCH_VERIFIER=y
|
CONFIG_SEC_DEBUG_BRANCH_VERIFIER=y
|
||||||
|
CONFIG_SEC_DEBUG_INIT_EXIT_PANIC=y
|
||||||
CONFIG_SEC_DEBUG_SOFTDOG_PWDT=y
|
CONFIG_SEC_DEBUG_SOFTDOG_PWDT=y
|
||||||
# CONFIG_SEC_BOOTSTAT is not set
|
# CONFIG_SEC_BOOTSTAT is not set
|
||||||
|
|
||||||
|
@ -5017,7 +5019,7 @@ CONFIG_EXYNOS_BTS=y
|
||||||
CONFIG_EXYNOS9810_BTS=y
|
CONFIG_EXYNOS9810_BTS=y
|
||||||
CONFIG_TRUSTONIC_TEE=y
|
CONFIG_TRUSTONIC_TEE=y
|
||||||
CONFIG_TRUSTONIC_TEE_LPAE=y
|
CONFIG_TRUSTONIC_TEE_LPAE=y
|
||||||
CONFIG_TRUSTONIC_TEE_DEBUG=y
|
# CONFIG_TRUSTONIC_TEE_DEBUG is not set
|
||||||
CONFIG_TRUSTONIC_TRUSTED_UI=y
|
CONFIG_TRUSTONIC_TRUSTED_UI=y
|
||||||
CONFIG_TRUSTONIC_TRUSTED_UI_FB_BLANK=y
|
CONFIG_TRUSTONIC_TRUSTED_UI_FB_BLANK=y
|
||||||
CONFIG_SECURE_OS_CONTROL=y
|
CONFIG_SECURE_OS_CONTROL=y
|
||||||
|
@ -5041,6 +5043,7 @@ CONFIG_GATOR_WITH_MALI_SUPPORT=y
|
||||||
CONFIG_GATOR_MALI_MIDGARD=y
|
CONFIG_GATOR_MALI_MIDGARD=y
|
||||||
CONFIG_GATOR_MALI_MIDGARD_PATH="drivers/gpu/arm/tHEx/r9p0"
|
CONFIG_GATOR_MALI_MIDGARD_PATH="drivers/gpu/arm/tHEx/r9p0"
|
||||||
CONFIG_FIVE_TEE_DRIVER=y
|
CONFIG_FIVE_TEE_DRIVER=y
|
||||||
|
CONFIG_FIVE_USE_TRUSTONIC=y
|
||||||
# CONFIG_TEE_DRIVER_DEBUG is not set
|
# CONFIG_TEE_DRIVER_DEBUG is not set
|
||||||
CONFIG_FIVE_TRUSTLET_PATH="five/ffffffff000000000000000000000072.tlbin"
|
CONFIG_FIVE_TRUSTLET_PATH="five/ffffffff000000000000000000000072.tlbin"
|
||||||
# CONFIG_FIVE_EARLY_LOAD_TRUSTED_APP is not set
|
# CONFIG_FIVE_EARLY_LOAD_TRUSTED_APP is not set
|
||||||
|
@ -5052,6 +5055,8 @@ CONFIG_MPSD=y
|
||||||
# CONFIG_MPSD_DEBUG is not set
|
# CONFIG_MPSD_DEBUG is not set
|
||||||
CONFIG_ICD=y
|
CONFIG_ICD=y
|
||||||
CONFIG_ICD_USE_TRUSTONIC=y
|
CONFIG_ICD_USE_TRUSTONIC=y
|
||||||
|
CONFIG_TZIC=y
|
||||||
|
CONFIG_TZIC_USE_TRUSTONIC=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Firmware Drivers
|
# Firmware Drivers
|
||||||
|
|
|
@ -526,6 +526,7 @@ CONFIG_MAX_DIRTY_THRESH_PAGES=25600
|
||||||
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
|
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
|
||||||
CONFIG_MMAP_READAROUND_LIMIT=0
|
CONFIG_MMAP_READAROUND_LIMIT=0
|
||||||
CONFIG_RBIN=y
|
CONFIG_RBIN=y
|
||||||
|
CONFIG_VMPRESSURE_LEVEL_MED=60
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
# CONFIG_PARAVIRT is not set
|
# CONFIG_PARAVIRT is not set
|
||||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||||
|
@ -4274,6 +4275,7 @@ CONFIG_SEC_DEBUG_LAST_KMSG=y
|
||||||
CONFIG_SEC_DEBUG_INIT_LOG=y
|
CONFIG_SEC_DEBUG_INIT_LOG=y
|
||||||
# CONFIG_SEC_DEBUG_PPMPU is not set
|
# CONFIG_SEC_DEBUG_PPMPU is not set
|
||||||
CONFIG_SEC_DEBUG_BRANCH_VERIFIER=y
|
CONFIG_SEC_DEBUG_BRANCH_VERIFIER=y
|
||||||
|
CONFIG_SEC_DEBUG_INIT_EXIT_PANIC=y
|
||||||
CONFIG_SEC_DEBUG_SOFTDOG_PWDT=y
|
CONFIG_SEC_DEBUG_SOFTDOG_PWDT=y
|
||||||
# CONFIG_SEC_BOOTSTAT is not set
|
# CONFIG_SEC_BOOTSTAT is not set
|
||||||
|
|
||||||
|
@ -5016,7 +5018,7 @@ CONFIG_EXYNOS_BTS=y
|
||||||
CONFIG_EXYNOS9810_BTS=y
|
CONFIG_EXYNOS9810_BTS=y
|
||||||
CONFIG_TRUSTONIC_TEE=y
|
CONFIG_TRUSTONIC_TEE=y
|
||||||
CONFIG_TRUSTONIC_TEE_LPAE=y
|
CONFIG_TRUSTONIC_TEE_LPAE=y
|
||||||
CONFIG_TRUSTONIC_TEE_DEBUG=y
|
# CONFIG_TRUSTONIC_TEE_DEBUG is not set
|
||||||
CONFIG_TRUSTONIC_TRUSTED_UI=y
|
CONFIG_TRUSTONIC_TRUSTED_UI=y
|
||||||
CONFIG_TRUSTONIC_TRUSTED_UI_FB_BLANK=y
|
CONFIG_TRUSTONIC_TRUSTED_UI_FB_BLANK=y
|
||||||
CONFIG_SECURE_OS_CONTROL=y
|
CONFIG_SECURE_OS_CONTROL=y
|
||||||
|
@ -5040,6 +5042,7 @@ CONFIG_GATOR_WITH_MALI_SUPPORT=y
|
||||||
CONFIG_GATOR_MALI_MIDGARD=y
|
CONFIG_GATOR_MALI_MIDGARD=y
|
||||||
CONFIG_GATOR_MALI_MIDGARD_PATH="drivers/gpu/arm/tHEx/r9p0"
|
CONFIG_GATOR_MALI_MIDGARD_PATH="drivers/gpu/arm/tHEx/r9p0"
|
||||||
CONFIG_FIVE_TEE_DRIVER=y
|
CONFIG_FIVE_TEE_DRIVER=y
|
||||||
|
CONFIG_FIVE_USE_TRUSTONIC=y
|
||||||
# CONFIG_TEE_DRIVER_DEBUG is not set
|
# CONFIG_TEE_DRIVER_DEBUG is not set
|
||||||
CONFIG_FIVE_TRUSTLET_PATH="five/ffffffff000000000000000000000072.tlbin"
|
CONFIG_FIVE_TRUSTLET_PATH="five/ffffffff000000000000000000000072.tlbin"
|
||||||
# CONFIG_FIVE_EARLY_LOAD_TRUSTED_APP is not set
|
# CONFIG_FIVE_EARLY_LOAD_TRUSTED_APP is not set
|
||||||
|
@ -5051,6 +5054,8 @@ CONFIG_MPSD=y
|
||||||
# CONFIG_MPSD_DEBUG is not set
|
# CONFIG_MPSD_DEBUG is not set
|
||||||
CONFIG_ICD=y
|
CONFIG_ICD=y
|
||||||
CONFIG_ICD_USE_TRUSTONIC=y
|
CONFIG_ICD_USE_TRUSTONIC=y
|
||||||
|
CONFIG_TZIC=y
|
||||||
|
CONFIG_TZIC_USE_TRUSTONIC=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Firmware Drivers
|
# Firmware Drivers
|
||||||
|
|
|
@ -129,7 +129,7 @@ int __init early_init_dt_scan_ect(unsigned long node, const char *uname,
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
pr_info("[ECT] Address %x, Size %x\b", be32_to_cpu(*paddr), be32_to_cpu(*psize));
|
pr_info("[ECT] Address %x, Size %x\b", be32_to_cpu(*paddr), be32_to_cpu(*psize));
|
||||||
set_memsize_reserved_name("ETC_param");
|
set_memsize_reserved_name("ECT_param");
|
||||||
memblock_reserve(be32_to_cpu(*paddr), be32_to_cpu(*psize));
|
memblock_reserve(be32_to_cpu(*paddr), be32_to_cpu(*psize));
|
||||||
unset_memsize_reserved_name();
|
unset_memsize_reserved_name();
|
||||||
ect_init(be32_to_cpu(*paddr), be32_to_cpu(*psize));
|
ect_init(be32_to_cpu(*paddr), be32_to_cpu(*psize));
|
||||||
|
|
|
@ -236,10 +236,12 @@ source "drivers/fingerprint/Kconfig"
|
||||||
|
|
||||||
source "drivers/gator_5.27/Kconfig"
|
source "drivers/gator_5.27/Kconfig"
|
||||||
|
|
||||||
source "drivers/five/Kconfig"
|
source "drivers/security/samsung/five_tee_driver/Kconfig"
|
||||||
|
|
||||||
source "drivers/mpsd/Kconfig"
|
source "drivers/mpsd/Kconfig"
|
||||||
|
|
||||||
source "drivers/security/samsung/icdrv/Kconfig"
|
source "drivers/security/samsung/icdrv/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/security/samsung/tzic/Kconfig"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -214,7 +214,7 @@ obj-$(CONFIG_TRUSTONIC_TEE) += gud/
|
||||||
obj-$(CONFIG_TEE) += tee/
|
obj-$(CONFIG_TEE) += tee/
|
||||||
|
|
||||||
# FIVE TEE driver
|
# FIVE TEE driver
|
||||||
obj-$(CONFIG_FIVE_TEE_DRIVER) += five/
|
obj-$(CONFIG_FIVE_TEE_DRIVER) += security/samsung/five_tee_driver/
|
||||||
|
|
||||||
# ICDriver
|
# ICDriver
|
||||||
obj-$(CONFIG_ICD) += security/samsung/icdrv/
|
obj-$(CONFIG_ICD) += security/samsung/icdrv/
|
||||||
|
@ -232,3 +232,6 @@ obj-$(CONFIG_UH) += uh/
|
||||||
obj-$(CONFIG_MPSD) += mpsd/
|
obj-$(CONFIG_MPSD) += mpsd/
|
||||||
|
|
||||||
obj-y += kperfmon/
|
obj-y += kperfmon/
|
||||||
|
|
||||||
|
#TZIC
|
||||||
|
obj-y += security/samsung/tzic/
|
||||||
|
|
|
@ -1470,8 +1470,6 @@ int fg_alert_init(struct i2c_client *client, int soc)
|
||||||
"%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
"%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (fg_i2c_read(client, CONFIG_REG, config_data, 2) < 0) {
|
if (fg_i2c_read(client, CONFIG_REG, config_data, 2) < 0) {
|
||||||
dev_err(&client->dev,
|
dev_err(&client->dev,
|
||||||
|
|
|
@ -1057,8 +1057,6 @@ int max77823_alert_init(struct max77823_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77823_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
if (max77823_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
||||||
2, config_data) < 0) {
|
2, config_data) < 0) {
|
||||||
|
|
|
@ -873,8 +873,6 @@ int max77833_fg_alert_init(struct max77833_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77833_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
if (max77833_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
||||||
2, config_data) < 0) {
|
2, config_data) < 0) {
|
||||||
|
|
|
@ -830,8 +830,6 @@ int max77843_fg_alert_init(struct max77843_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77843_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
if (max77843_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
||||||
2, config_data) < 0) {
|
2, config_data) < 0) {
|
||||||
|
|
|
@ -1096,7 +1096,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
|
||||||
value.intval = WIRELESS_VOUT_5V;
|
value.intval = WIRELESS_VOUT_5V;
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
||||||
mdelay(200);
|
msleep(200);
|
||||||
}
|
}
|
||||||
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
||||||
&chg_int_state);
|
&chg_int_state);
|
||||||
|
@ -1122,7 +1122,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3V) */
|
/* Update CHG_CNFG_11 to 0x00(3V) */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
MAX77854_CHG_REG_CNFG_11, 0x00);
|
MAX77854_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
|
@ -1171,7 +1171,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3V) */
|
/* Update CHG_CNFG_11 to 0x00(3V) */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
MAX77854_CHG_REG_CNFG_11, 0x00);
|
MAX77854_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
|
@ -1240,7 +1240,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
|
||||||
value.intval = WIRELESS_VOUT_5V;
|
value.intval = WIRELESS_VOUT_5V;
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
||||||
mdelay(200);
|
msleep(200);
|
||||||
}
|
}
|
||||||
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
||||||
&chg_int_state);
|
&chg_int_state);
|
||||||
|
@ -1266,7 +1266,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3V) */
|
/* Update CHG_CNFG_11 to 0x00(3V) */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
MAX77854_CHG_REG_CNFG_11, 0x00);
|
MAX77854_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
|
@ -1444,7 +1444,7 @@ static void wpc_detect_work(struct work_struct *work)
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_STATUS, value);
|
POWER_SUPPLY_PROP_STATUS, value);
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1561,7 +1561,7 @@ static void max77854_aicl_isr_work(struct work_struct *work)
|
||||||
reduce_input_current(charger, REDUCE_CURRENT_STEP);
|
reduce_input_current(charger, REDUCE_CURRENT_STEP);
|
||||||
aicl_cnt = 0;
|
aicl_cnt = 0;
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_OK, &aicl_state);
|
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_OK, &aicl_state);
|
||||||
if (max77854_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
|
if (max77854_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -922,8 +922,6 @@ int max77854_fg_alert_init(struct max77854_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77854_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
if (max77854_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
||||||
2, config_data) < 0) {
|
2, config_data) < 0) {
|
||||||
|
|
|
@ -4463,12 +4463,12 @@ ssize_t sec_bat_show_attrs(struct device *dev,
|
||||||
value.intval = 0;
|
value.intval = 0;
|
||||||
psy_do_property(battery->pdata->fgsrc_switch_name, set,
|
psy_do_property(battery->pdata->fgsrc_switch_name, set,
|
||||||
POWER_SUPPLY_PROP_ENERGY_NOW, value);
|
POWER_SUPPLY_PROP_ENERGY_NOW, value);
|
||||||
mdelay(200);
|
msleep(200);
|
||||||
psy_do_property(battery->pdata->fuelgauge_name, get,
|
psy_do_property(battery->pdata->fuelgauge_name, get,
|
||||||
POWER_SUPPLY_PROP_VOLTAGE_NOW, value);
|
POWER_SUPPLY_PROP_VOLTAGE_NOW, value);
|
||||||
dev_info(battery->dev, "voltage(%d)\n", value.intval/10);
|
dev_info(battery->dev, "voltage(%d)\n", value.intval/10);
|
||||||
ret = value.intval /10;
|
ret = value.intval /10;
|
||||||
mdelay(200);
|
msleep(200);
|
||||||
value.intval = 1;
|
value.intval = 1;
|
||||||
psy_do_property(battery->pdata->fgsrc_switch_name, set,
|
psy_do_property(battery->pdata->fgsrc_switch_name, set,
|
||||||
POWER_SUPPLY_PROP_ENERGY_NOW, value);
|
POWER_SUPPLY_PROP_ENERGY_NOW, value);
|
||||||
|
|
|
@ -695,6 +695,7 @@ struct mfc_charger_data {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
mfc_charger_platform_data_t *pdata;
|
mfc_charger_platform_data_t *pdata;
|
||||||
struct mutex io_lock;
|
struct mutex io_lock;
|
||||||
|
struct mutex wpc_en_lock;
|
||||||
const struct firmware *firm_data_bin;
|
const struct firmware *firm_data_bin;
|
||||||
|
|
||||||
int wc_w_state;
|
int wc_w_state;
|
||||||
|
@ -742,6 +743,7 @@ struct mfc_charger_data {
|
||||||
u8 device_event;
|
u8 device_event;
|
||||||
|
|
||||||
int i2c_error_count;
|
int i2c_error_count;
|
||||||
|
int wpc_en_flag;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __MFC_CHARGER_H */
|
#endif /* __MFC_CHARGER_H */
|
||||||
|
|
|
@ -67,8 +67,11 @@ enum power_supply_ext_property {
|
||||||
POWER_SUPPLY_EXT_PROP_CHGINSEL,
|
POWER_SUPPLY_EXT_PROP_CHGINSEL,
|
||||||
POWER_SUPPLY_EXT_PROP_OVERHEAT_HICCUP,
|
POWER_SUPPLY_EXT_PROP_OVERHEAT_HICCUP,
|
||||||
POWER_SUPPLY_EXT_PROP_MONITOR_WORK,
|
POWER_SUPPLY_EXT_PROP_MONITOR_WORK,
|
||||||
|
POWER_SUPPLY_EXT_PROP_PAD_VOLT_CTRL,
|
||||||
POWER_SUPPLY_EXT_PROP_MST_STATUS,
|
POWER_SUPPLY_EXT_PROP_MST_STATUS,
|
||||||
POWER_SUPPLY_EXT_PROP_JIG_GPIO,
|
POWER_SUPPLY_EXT_PROP_JIG_GPIO,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN_MST,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum sec_battery_usb_conf {
|
enum sec_battery_usb_conf {
|
||||||
|
@ -88,6 +91,7 @@ enum sec_battery_rp_curr {
|
||||||
enum power_supply_ext_health {
|
enum power_supply_ext_health {
|
||||||
POWER_SUPPLY_HEALTH_VSYS_OVP = POWER_SUPPLY_HEALTH_MAX,
|
POWER_SUPPLY_HEALTH_VSYS_OVP = POWER_SUPPLY_HEALTH_MAX,
|
||||||
POWER_SUPPLY_HEALTH_VBAT_OVP,
|
POWER_SUPPLY_HEALTH_VBAT_OVP,
|
||||||
|
POWER_SUPPLY_HEALTH_WPC_EN,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum sec_battery_cable {
|
enum sec_battery_cable {
|
||||||
|
@ -329,6 +333,14 @@ enum sec_battery_measure_input {
|
||||||
SEC_BATTERY_VBYP,
|
SEC_BATTERY_VBYP,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum sec_battery_wpc_en_ctrl {
|
||||||
|
WPC_EN_SYSFS = 0x1,
|
||||||
|
WPC_EN_CCIC = 0x2,
|
||||||
|
WPC_EN_CHARGING = 0x4,
|
||||||
|
WPC_EN_TX = 0x8,
|
||||||
|
WPC_EN_MST = 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
#define SEC_BAT_ERROR_CAUSE_NONE 0x0000
|
#define SEC_BAT_ERROR_CAUSE_NONE 0x0000
|
||||||
#define SEC_BAT_ERROR_CAUSE_FG_INIT_FAIL 0x0001
|
#define SEC_BAT_ERROR_CAUSE_FG_INIT_FAIL 0x0001
|
||||||
#define SEC_BAT_ERROR_CAUSE_I2C_FAIL 0xFFFFFFFF
|
#define SEC_BAT_ERROR_CAUSE_I2C_FAIL 0xFFFFFFFF
|
||||||
|
|
|
@ -851,7 +851,7 @@ static int max77705_set_otg(struct max77705_charger_data *charger, int enable)
|
||||||
max77705_update_reg(charger->i2c, MAX77705_CHG_REG_CNFG_00,
|
max77705_update_reg(charger->i2c, MAX77705_CHG_REG_CNFG_00,
|
||||||
0, CHG_CNFG_00_OTG_CTRL);
|
0, CHG_CNFG_00_OTG_CTRL);
|
||||||
|
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77705_write_reg(charger->i2c,
|
max77705_write_reg(charger->i2c,
|
||||||
|
@ -1496,7 +1496,7 @@ static int max77705_chg_set_property(struct power_supply *psy,
|
||||||
MAX77705_CHG_REG_CNFG_00, 0,
|
MAX77705_CHG_REG_CNFG_00, 0,
|
||||||
CHG_CNFG_00_BOOST_MASK);
|
CHG_CNFG_00_BOOST_MASK);
|
||||||
|
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77705_write_reg(charger->i2c,
|
max77705_write_reg(charger->i2c,
|
||||||
|
@ -1542,6 +1542,11 @@ static int max77705_chg_set_property(struct power_supply *psy,
|
||||||
max77705_change_charge_path(charger,
|
max77705_change_charge_path(charger,
|
||||||
val->intval, charger->cable_type);
|
val->intval, charger->cable_type);
|
||||||
break;
|
break;
|
||||||
|
case POWER_SUPPLY_EXT_PROP_PAD_VOLT_CTRL:
|
||||||
|
wake_unlock(&charger->wc_current_wake_lock);
|
||||||
|
cancel_delayed_work(&charger->wc_current_work);
|
||||||
|
max77705_set_input_current(charger, val->intval);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
@ -1754,7 +1759,7 @@ static void wpc_detect_work(struct work_struct *work)
|
||||||
psy_do_property(charger->pdata->wireless_charger_name,
|
psy_do_property(charger->pdata->wireless_charger_name,
|
||||||
set, POWER_SUPPLY_PROP_STATUS, value);
|
set, POWER_SUPPLY_PROP_STATUS, value);
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1098,8 +1098,6 @@ int max77705_fg_alert_init(struct max77705_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100); */
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77705_bulk_read(fuelgauge->i2c, CONFIG_REG, 2, config_data) < 0) {
|
if (max77705_bulk_read(fuelgauge->i2c, CONFIG_REG, 2, config_data) < 0) {
|
||||||
pr_err("%s: Failed to read CONFIG_REG\n", __func__);
|
pr_err("%s: Failed to read CONFIG_REG\n", __func__);
|
||||||
|
|
|
@ -1019,7 +1019,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
|
||||||
value.intval = WIRELESS_VOUT_5V;
|
value.intval = WIRELESS_VOUT_5V;
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
||||||
mdelay(200);
|
msleep(200);
|
||||||
}
|
}
|
||||||
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
||||||
&chg_int_state);
|
&chg_int_state);
|
||||||
|
@ -1045,7 +1045,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3V) */
|
/* Update CHG_CNFG_11 to 0x00(3V) */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
MAX77854_CHG_REG_CNFG_11, 0x00);
|
MAX77854_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
|
@ -1096,7 +1096,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3V) */
|
/* Update CHG_CNFG_11 to 0x00(3V) */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
MAX77854_CHG_REG_CNFG_11, 0x00);
|
MAX77854_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
|
@ -1162,7 +1162,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
|
||||||
value.intval = WIRELESS_VOUT_5V;
|
value.intval = WIRELESS_VOUT_5V;
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
|
||||||
mdelay(200);
|
msleep(200);
|
||||||
}
|
}
|
||||||
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
|
||||||
&chg_int_state);
|
&chg_int_state);
|
||||||
|
@ -1188,7 +1188,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3V) */
|
/* Update CHG_CNFG_11 to 0x00(3V) */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
MAX77854_CHG_REG_CNFG_11, 0x00);
|
MAX77854_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77854_write_reg(charger->i2c,
|
max77854_write_reg(charger->i2c,
|
||||||
|
@ -1362,7 +1362,7 @@ static void wpc_detect_work(struct work_struct *work)
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_STATUS, value);
|
POWER_SUPPLY_PROP_STATUS, value);
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1481,7 +1481,7 @@ static void max77854_aicl_isr_work(struct work_struct *work)
|
||||||
reduce_input_current(charger, REDUCE_CURRENT_STEP);
|
reduce_input_current(charger, REDUCE_CURRENT_STEP);
|
||||||
aicl_cnt = 0;
|
aicl_cnt = 0;
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_OK, &aicl_state);
|
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_OK, &aicl_state);
|
||||||
if (max77854_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
|
if (max77854_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -815,8 +815,6 @@ int max77854_fg_alert_init(struct max77854_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77854_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
if (max77854_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
||||||
2, config_data) < 0) {
|
2, config_data) < 0) {
|
||||||
|
|
|
@ -635,7 +635,7 @@ static void max77865_set_otg(struct max77865_charger_data *charger, int enable)
|
||||||
/* Update CHG_CNFG_11 to 0x00(3.485V) */
|
/* Update CHG_CNFG_11 to 0x00(3.485V) */
|
||||||
max77865_write_reg(charger->i2c,
|
max77865_write_reg(charger->i2c,
|
||||||
MAX77865_CHG_REG_CNFG_11, 0x00);
|
MAX77865_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77865_write_reg(charger->i2c,
|
max77865_write_reg(charger->i2c,
|
||||||
|
@ -1141,7 +1141,7 @@ static int max77865_chg_set_property(struct power_supply *psy,
|
||||||
/* Update CHG_CNFG_11 to 0x00(3.485V) */
|
/* Update CHG_CNFG_11 to 0x00(3.485V) */
|
||||||
max77865_write_reg(charger->i2c,
|
max77865_write_reg(charger->i2c,
|
||||||
MAX77865_CHG_REG_CNFG_11, 0x00);
|
MAX77865_CHG_REG_CNFG_11, 0x00);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
|
|
||||||
/* enable charger interrupt */
|
/* enable charger interrupt */
|
||||||
max77865_write_reg(charger->i2c,
|
max77865_write_reg(charger->i2c,
|
||||||
|
@ -1362,7 +1362,7 @@ static void wpc_detect_work(struct work_struct *work)
|
||||||
psy_do_property(charger->pdata->wireless_charger_name, set,
|
psy_do_property(charger->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_PROP_STATUS, value);
|
POWER_SUPPLY_PROP_STATUS, value);
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1486,7 +1486,7 @@ static void max77865_aicl_isr_work(struct work_struct *work)
|
||||||
reduce_input_current(charger, REDUCE_CURRENT_STEP);
|
reduce_input_current(charger, REDUCE_CURRENT_STEP);
|
||||||
aicl_cnt = 0;
|
aicl_cnt = 0;
|
||||||
}
|
}
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
max77865_read_reg(charger->i2c, MAX77865_CHG_REG_INT_OK, &aicl_state);
|
max77865_read_reg(charger->i2c, MAX77865_CHG_REG_INT_OK, &aicl_state);
|
||||||
if (max77865_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
|
if (max77865_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -872,8 +872,6 @@ int max77865_fg_alert_init(struct max77865_fuelgauge_data *fuelgauge, int soc)
|
||||||
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
pr_err("%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
|
||||||
__func__, read_data);
|
__func__, read_data);
|
||||||
|
|
||||||
/*mdelay(100);*/
|
|
||||||
|
|
||||||
/* Enable SOC alerts */
|
/* Enable SOC alerts */
|
||||||
if (max77865_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
if (max77865_bulk_read(fuelgauge->i2c, CONFIG_REG,
|
||||||
2, config_data) < 0) {
|
2, config_data) < 0) {
|
||||||
|
|
|
@ -337,6 +337,36 @@ int mfc_get_adc(struct mfc_charger_data *charger, int adc_type)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mfc_set_wpc_en(struct mfc_charger_data *charger, char flag, char on)
|
||||||
|
{
|
||||||
|
int enable = 0, temp = charger->wpc_en_flag;
|
||||||
|
|
||||||
|
mutex_lock(&charger->wpc_en_lock);
|
||||||
|
|
||||||
|
if (on)
|
||||||
|
charger->wpc_en_flag |= flag ;
|
||||||
|
else
|
||||||
|
charger->wpc_en_flag &= ~flag ;
|
||||||
|
|
||||||
|
if (!(charger->wpc_en_flag & WPC_EN_SYSFS) || !(charger->wpc_en_flag & WPC_EN_CCIC))
|
||||||
|
enable = 0;
|
||||||
|
else if (!(charger->wpc_en_flag & (WPC_EN_CHARGING | WPC_EN_MST | WPC_EN_TX)))
|
||||||
|
enable = 0;
|
||||||
|
else
|
||||||
|
enable = 1;
|
||||||
|
|
||||||
|
if (charger->pdata->wpc_en) {
|
||||||
|
if (enable)
|
||||||
|
gpio_direction_output(charger->pdata->wpc_en, 0);
|
||||||
|
else
|
||||||
|
gpio_direction_output(charger->pdata->wpc_en, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
mutex_unlock(&charger->wpc_en_lock);
|
||||||
|
pr_info("%s: before(0x%x), after(0x%x), enable(%d)\n",
|
||||||
|
__func__, temp, charger->wpc_en_flag, enable);
|
||||||
|
}
|
||||||
|
|
||||||
void mfc_set_vout(struct mfc_charger_data *charger, int vout)
|
void mfc_set_vout(struct mfc_charger_data *charger, int vout)
|
||||||
{
|
{
|
||||||
switch (vout) {
|
switch (vout) {
|
||||||
|
@ -558,13 +588,14 @@ void mfc_send_eop(struct mfc_charger_data *charger, int health_mode)
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
pr_info("%s: health_mode (0x%x)\n", __func__, health_mode);
|
pr_info("%s: health_mode(0x%x), cable_type(%d)\n",
|
||||||
|
__func__, health_mode, charger->pdata->cable_type);
|
||||||
switch(health_mode) {
|
switch(health_mode) {
|
||||||
case POWER_SUPPLY_HEALTH_OVERHEAT:
|
case POWER_SUPPLY_HEALTH_OVERHEAT:
|
||||||
case POWER_SUPPLY_HEALTH_OVERHEATLIMIT:
|
case POWER_SUPPLY_HEALTH_OVERHEATLIMIT:
|
||||||
case POWER_SUPPLY_HEALTH_COLD:
|
case POWER_SUPPLY_HEALTH_COLD:
|
||||||
|
pr_info("%s: ept-ot\n", __func__);
|
||||||
if (charger->pdata->cable_type == MFC_PAD_PMA) {
|
if (charger->pdata->cable_type == MFC_PAD_PMA) {
|
||||||
pr_info("%s pma mode\n", __func__);
|
|
||||||
for (i = 0; i < CMD_CNT; i++) {
|
for (i = 0; i < CMD_CNT; i++) {
|
||||||
ret = mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_END_OF_CHG);
|
ret = mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_END_OF_CHG);
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
|
@ -576,7 +607,6 @@ void mfc_send_eop(struct mfc_charger_data *charger, int health_mode)
|
||||||
} else if (charger->pdata->cable_type == MFC_PAD_A4WP) {
|
} else if (charger->pdata->cable_type == MFC_PAD_A4WP) {
|
||||||
pr_info("%s a4wp mode\n", __func__);
|
pr_info("%s a4wp mode\n", __func__);
|
||||||
} else {
|
} else {
|
||||||
pr_info("%s wpc mode\n", __func__);
|
|
||||||
for (i = 0; i < CMD_CNT; i++) {
|
for (i = 0; i < CMD_CNT; i++) {
|
||||||
ret = mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_OVER_TEMP);
|
ret = mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_OVER_TEMP);
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
|
@ -587,6 +617,11 @@ void mfc_send_eop(struct mfc_charger_data *charger, int health_mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case POWER_SUPPLY_HEALTH_WPC_EN:
|
||||||
|
pr_info("%s: ept-internal fault\n", __func__);
|
||||||
|
mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_INT_FAULT);
|
||||||
|
mfc_set_cmd_l_reg(charger, MFC_CMD_SEND_EOP_MASK, MFC_CMD_SEND_EOP_MASK);
|
||||||
|
break;
|
||||||
case POWER_SUPPLY_HEALTH_UNDERVOLTAGE:
|
case POWER_SUPPLY_HEALTH_UNDERVOLTAGE:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1883,7 +1918,7 @@ static int mfc_chg_get_property(struct power_supply *psy,
|
||||||
gpio_direction_output(charger->pdata->mst_pwr_en, 1);
|
gpio_direction_output(charger->pdata->mst_pwr_en, 1);
|
||||||
usleep_range(3600, 4000);
|
usleep_range(3600, 4000);
|
||||||
gpio_direction_output(charger->pdata->mst_pwr_en, 0);
|
gpio_direction_output(charger->pdata->mst_pwr_en, 0);
|
||||||
mdelay(50);
|
msleep(50);
|
||||||
charger->mst_off_lock = 0;
|
charger->mst_off_lock = 0;
|
||||||
|
|
||||||
gpio_direction_output(charger->pdata->mst_pwr_en, 1);
|
gpio_direction_output(charger->pdata->mst_pwr_en, 1);
|
||||||
|
@ -1933,6 +1968,10 @@ static int mfc_chg_get_property(struct power_supply *psy,
|
||||||
case POWER_SUPPLY_EXT_PROP_WIRELESS_TX_ID:
|
case POWER_SUPPLY_EXT_PROP_WIRELESS_TX_ID:
|
||||||
val->intval = charger->tx_id;
|
val->intval = charger->tx_id;
|
||||||
break;
|
break;
|
||||||
|
case POWER_SUPPLY_EXT_PROP_MONITOR_WORK:
|
||||||
|
if (gpio_get_value(charger->pdata->wpc_en))
|
||||||
|
pr_info("%s: charger->wpc_en_flag(0x%x)\n", __func__, charger->wpc_en_flag);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
|
@ -2093,8 +2132,8 @@ static int mfc_chg_set_property(struct power_supply *psy,
|
||||||
case POWER_SUPPLY_PROP_HEALTH:
|
case POWER_SUPPLY_PROP_HEALTH:
|
||||||
if (val->intval == POWER_SUPPLY_HEALTH_OVERHEAT ||
|
if (val->intval == POWER_SUPPLY_HEALTH_OVERHEAT ||
|
||||||
val->intval == POWER_SUPPLY_HEALTH_OVERHEATLIMIT ||
|
val->intval == POWER_SUPPLY_HEALTH_OVERHEATLIMIT ||
|
||||||
val->intval == POWER_SUPPLY_HEALTH_COLD) {
|
val->intval == POWER_SUPPLY_HEALTH_COLD ||
|
||||||
pr_info("%s ept-ot\n", __func__);
|
val->intval == POWER_SUPPLY_HEALTH_WPC_EN) {
|
||||||
mfc_send_eop(charger, val->intval);
|
mfc_send_eop(charger, val->intval);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -2329,7 +2368,7 @@ static int mfc_chg_set_property(struct power_supply *psy,
|
||||||
mfc_send_packet(charger, MFC_HEADER_AFC_CONF,
|
mfc_send_packet(charger, MFC_HEADER_AFC_CONF,
|
||||||
0x20, &tmp, 1);
|
0x20, &tmp, 1);
|
||||||
pr_info("%s: send command after wc control\n", __func__);
|
pr_info("%s: send command after wc control\n", __func__);
|
||||||
mdelay(150);
|
msleep(150);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case POWER_SUPPLY_EXT_PROP_CALL_EVENT:
|
case POWER_SUPPLY_EXT_PROP_CALL_EVENT:
|
||||||
|
@ -2354,6 +2393,15 @@ static int mfc_chg_set_property(struct power_supply *psy,
|
||||||
charger->device_event &= ~BATT_EXT_EVENT_CALL;
|
charger->device_event &= ~BATT_EXT_EVENT_CALL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case POWER_SUPPLY_EXT_PROP_WPC_EN:
|
||||||
|
mfc_set_wpc_en(charger, val->strval[0], val->strval[1]);
|
||||||
|
break;
|
||||||
|
case POWER_SUPPLY_EXT_PROP_WPC_EN_MST:
|
||||||
|
if (val->intval)
|
||||||
|
mfc_set_wpc_en(charger, WPC_EN_MST, true);
|
||||||
|
else
|
||||||
|
mfc_set_wpc_en(charger, WPC_EN_MST, false);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return -ENODATA;
|
return -ENODATA;
|
||||||
}
|
}
|
||||||
|
@ -2913,8 +2961,21 @@ static void mfc_wpc_tx_id_work(struct work_struct *work)
|
||||||
} else {
|
} else {
|
||||||
if (charger->tx_id)
|
if (charger->tx_id)
|
||||||
pr_info("%s: TX ID (0x%x)\n", __func__, charger->tx_id);
|
pr_info("%s: TX ID (0x%x)\n", __func__, charger->tx_id);
|
||||||
else
|
else {
|
||||||
pr_info("%s: TX ID not Received\n", __func__);
|
pr_info("%s: TX ID not Received, cable_type(%d)\n",
|
||||||
|
__func__, charger->pdata->cable_type);
|
||||||
|
if (charger->pdata->cable_type == MFC_PAD_WPC_AFC ||
|
||||||
|
charger->pdata->cable_type == MFC_PAD_PREPARE_HV ||
|
||||||
|
charger->pdata->cable_type == MFC_PAD_WPC_STAND_HV ||
|
||||||
|
charger->pdata->cable_type == MFC_PAD_WPC_PACK_HV ||
|
||||||
|
charger->pdata->cable_type == MFC_PAD_WPC_VEHICLE_HV) {
|
||||||
|
/* SET OV 13V */
|
||||||
|
mfc_reg_write(charger->client, MFC_RX_OV_CLAMP_REG, 0x3);
|
||||||
|
} else {
|
||||||
|
/* SET OV 11V */
|
||||||
|
mfc_reg_write(charger->client, MFC_RX_OV_CLAMP_REG, 0x4);
|
||||||
|
}
|
||||||
|
}
|
||||||
charger->tx_id_cnt = 0;
|
charger->tx_id_cnt = 0;
|
||||||
}
|
}
|
||||||
wake_unlock(&charger->wpc_tx_id_lock);
|
wake_unlock(&charger->wpc_tx_id_lock);
|
||||||
|
@ -2966,7 +3027,7 @@ void mfc_mst_routine(struct mfc_charger_data *charger, u8 *irq_src)
|
||||||
mfc_reg_write(charger->client, MFC_INT_A_CLEAR_H_REG, irq_src[1]); // clear int
|
mfc_reg_write(charger->client, MFC_INT_A_CLEAR_H_REG, irq_src[1]); // clear int
|
||||||
mfc_set_cmd_l_reg(charger, 0x20, MFC_CMD_CLEAR_INT_MASK); // command
|
mfc_set_cmd_l_reg(charger, 0x20, MFC_CMD_CLEAR_INT_MASK); // command
|
||||||
|
|
||||||
mdelay(10);
|
msleep(10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3286,7 +3347,18 @@ static int mfc_chg_parse_dt(struct device *dev,
|
||||||
ret = pdata->wpc_en = of_get_named_gpio_flags(np, "battery,wpc_en",
|
ret = pdata->wpc_en = of_get_named_gpio_flags(np, "battery,wpc_en",
|
||||||
0, &irq_gpio_flags);
|
0, &irq_gpio_flags);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
np = of_find_node_by_name(NULL, "battery");
|
||||||
|
if (!np) {
|
||||||
|
pr_err("%s: np(battery) NULL\n", __func__);
|
||||||
dev_err(dev, "%s : can't wpc_en\r\n", __FUNCTION__);
|
dev_err(dev, "%s : can't wpc_en\r\n", __FUNCTION__);
|
||||||
|
} else {
|
||||||
|
ret = pdata->wpc_en = of_get_named_gpio_flags(np, "battery,wpc_en",
|
||||||
|
0, &irq_gpio_flags);
|
||||||
|
if (ret < 0) {
|
||||||
|
dev_err(dev, "%s : can't wpc_en\r\n", __FUNCTION__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
np = dev->of_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3508,8 +3580,10 @@ static int mfc_charger_probe(
|
||||||
charger->is_afc_tx = false;
|
charger->is_afc_tx = false;
|
||||||
charger->tx_id_done = false;
|
charger->tx_id_done = false;
|
||||||
charger->device_event = 0;
|
charger->device_event = 0;
|
||||||
|
charger->wpc_en_flag = (WPC_EN_SYSFS | WPC_EN_CHARGING | WPC_EN_CCIC);
|
||||||
|
|
||||||
mutex_init(&charger->io_lock);
|
mutex_init(&charger->io_lock);
|
||||||
|
mutex_init(&charger->wpc_en_lock);
|
||||||
|
|
||||||
/* wpc_det */
|
/* wpc_det */
|
||||||
if (charger->pdata->irq_wpc_det) {
|
if (charger->pdata->irq_wpc_det) {
|
||||||
|
@ -3615,6 +3689,7 @@ err_pdata_free:
|
||||||
power_supply_unregister(charger->psy_chg);
|
power_supply_unregister(charger->psy_chg);
|
||||||
err_supply_unreg:
|
err_supply_unreg:
|
||||||
mutex_destroy(&charger->io_lock);
|
mutex_destroy(&charger->io_lock);
|
||||||
|
mutex_destroy(&charger->wpc_en_lock);
|
||||||
err_i2cfunc_not_support:
|
err_i2cfunc_not_support:
|
||||||
kfree(charger);
|
kfree(charger);
|
||||||
err_wpc_nomem:
|
err_wpc_nomem:
|
||||||
|
|
|
@ -733,6 +733,35 @@ static void sec_bat_get_charging_current_in_power_list(struct sec_battery_info *
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void sec_bat_set_decrease_iout(struct sec_battery_info *battery)
|
||||||
|
{
|
||||||
|
union power_supply_propval value = {0, };
|
||||||
|
int i = 0, step = 3, input_current[3] = {500, 300, 100};
|
||||||
|
|
||||||
|
mutex_lock(&battery->iolock);
|
||||||
|
for (i = 0 ; i < step ; i++) {
|
||||||
|
if (battery->input_current > input_current[i]) {
|
||||||
|
pr_info("%s: Wireless iout goes to %dmA before switch charging path to cable\n",
|
||||||
|
__func__, input_current[i]);
|
||||||
|
battery->input_current = input_current[i];
|
||||||
|
value.intval = input_current[i];
|
||||||
|
psy_do_property(battery->pdata->charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_PAD_VOLT_CTRL, value);
|
||||||
|
|
||||||
|
if (i != step - 1)
|
||||||
|
msleep(300);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
value.intval = POWER_SUPPLY_HEALTH_WPC_EN;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_PROP_HEALTH, value);
|
||||||
|
|
||||||
|
msleep(300);
|
||||||
|
|
||||||
|
mutex_unlock(&battery->iolock);
|
||||||
|
}
|
||||||
|
|
||||||
int sec_bat_set_charging_current(struct sec_battery_info *battery)
|
int sec_bat_set_charging_current(struct sec_battery_info *battery)
|
||||||
{
|
{
|
||||||
static int afc_init = false;
|
static int afc_init = false;
|
||||||
|
@ -3219,14 +3248,29 @@ static void sec_bat_ext_event_work(struct work_struct *work)
|
||||||
|
|
||||||
/* process phm */
|
/* process phm */
|
||||||
if(battery->wc_rx_phm_mode) {
|
if(battery->wc_rx_phm_mode) {
|
||||||
|
char wpc_en_status[2];
|
||||||
|
|
||||||
|
wpc_en_status[0] = WPC_EN_CHARGING;
|
||||||
|
|
||||||
|
wpc_en_status[1] = true;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
pr_info("%s: ESCAPE PHM STEP 1 - WC CONTROL: Enable", __func__);
|
pr_info("%s: ESCAPE PHM STEP 1 - WC CONTROL: Enable", __func__);
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 0);
|
|
||||||
msleep(100);
|
msleep(100);
|
||||||
|
|
||||||
|
wpc_en_status[1] = false;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
pr_info("%s: ESCAPE PHM STEP 2 - WC CONTROL: Disable", __func__);
|
pr_info("%s: ESCAPE PHM STEP 2 - WC CONTROL: Disable", __func__);
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 1);
|
|
||||||
msleep(510);
|
msleep(510);
|
||||||
|
|
||||||
|
wpc_en_status[1] = true;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
pr_info("%s: ESCAPE PHM STEP 3 - WC CONTROL: Enable", __func__);
|
pr_info("%s: ESCAPE PHM STEP 3 - WC CONTROL: Enable", __func__);
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 0);
|
|
||||||
}
|
}
|
||||||
battery->wc_rx_phm_mode = false;
|
battery->wc_rx_phm_mode = false;
|
||||||
}
|
}
|
||||||
|
@ -3424,6 +3468,7 @@ static void sec_bat_monitor_work(
|
||||||
static struct timespec old_ts = {0, };
|
static struct timespec old_ts = {0, };
|
||||||
struct timespec c_ts = {0, };
|
struct timespec c_ts = {0, };
|
||||||
union power_supply_propval val = {0, };
|
union power_supply_propval val = {0, };
|
||||||
|
union power_supply_propval value = {0, };
|
||||||
|
|
||||||
dev_dbg(battery->dev, "%s: Start\n", __func__);
|
dev_dbg(battery->dev, "%s: Start\n", __func__);
|
||||||
c_ts = ktime_to_timespec(ktime_get_boottime());
|
c_ts = ktime_to_timespec(ktime_get_boottime());
|
||||||
|
@ -3434,12 +3479,16 @@ static void sec_bat_monitor_work(
|
||||||
pr_info("%s: wc_enable(%d), cnt(%d)\n",
|
pr_info("%s: wc_enable(%d), cnt(%d)\n",
|
||||||
__func__, battery->wc_enable, battery->wc_enable_cnt);
|
__func__, battery->wc_enable, battery->wc_enable_cnt);
|
||||||
if (battery->wc_enable_cnt > battery->wc_enable_cnt_value) {
|
if (battery->wc_enable_cnt > battery->wc_enable_cnt_value) {
|
||||||
|
char wpc_en_status[2];
|
||||||
|
|
||||||
battery->wc_enable = true;
|
battery->wc_enable = true;
|
||||||
battery->wc_enable_cnt = 0;
|
battery->wc_enable_cnt = 0;
|
||||||
if (battery->pdata->wpc_en) {
|
wpc_en_status[0] = WPC_EN_SYSFS;
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 0);
|
wpc_en_status[1] = true;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
pr_info("%s: WC CONTROL: Enable", __func__);
|
pr_info("%s: WC CONTROL: Enable", __func__);
|
||||||
}
|
|
||||||
pr_info("%s: wpc_en(%d)\n",
|
pr_info("%s: wpc_en(%d)\n",
|
||||||
__func__, gpio_get_value(battery->pdata->wpc_en));
|
__func__, gpio_get_value(battery->pdata->wpc_en));
|
||||||
}
|
}
|
||||||
|
@ -3557,6 +3606,8 @@ continue_monitor:
|
||||||
skip_current_monitor:
|
skip_current_monitor:
|
||||||
psy_do_property(battery->pdata->charger_name, get,
|
psy_do_property(battery->pdata->charger_name, get,
|
||||||
POWER_SUPPLY_EXT_PROP_MONITOR_WORK, val);
|
POWER_SUPPLY_EXT_PROP_MONITOR_WORK, val);
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, get,
|
||||||
|
POWER_SUPPLY_EXT_PROP_MONITOR_WORK, val);
|
||||||
|
|
||||||
dev_dbg(battery->dev,
|
dev_dbg(battery->dev,
|
||||||
"%s: HLT(%d) HLR(%d) HT(%d), HR(%d), LT(%d), LR(%d), lpcharge(%d)\n",
|
"%s: HLT(%d) HLR(%d) HT(%d), HR(%d), LT(%d), LR(%d), lpcharge(%d)\n",
|
||||||
|
@ -3700,6 +3751,7 @@ static void sec_bat_cable_work(struct work_struct *work)
|
||||||
struct sec_battery_info, cable_work.work);
|
struct sec_battery_info, cable_work.work);
|
||||||
union power_supply_propval val = {0, };
|
union power_supply_propval val = {0, };
|
||||||
int current_cable_type = SEC_BATTERY_CABLE_NONE;
|
int current_cable_type = SEC_BATTERY_CABLE_NONE;
|
||||||
|
int wire_current = 0;
|
||||||
|
|
||||||
dev_info(battery->dev, "%s: Start\n", __func__);
|
dev_info(battery->dev, "%s: Start\n", __func__);
|
||||||
sec_bat_set_current_event(battery, SEC_BAT_CURRENT_EVENT_SKIP_HEATING_CONTROL,
|
sec_bat_set_current_event(battery, SEC_BAT_CURRENT_EVENT_SKIP_HEATING_CONTROL,
|
||||||
|
@ -3714,8 +3766,41 @@ static void sec_bat_cable_work(struct work_struct *work)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (battery->wc_status && battery->wc_enable) {
|
if (!is_nocharge_type(battery->wire_status)) {
|
||||||
int wireless_current, wire_current;
|
wire_current = (battery->wire_status == SEC_BATTERY_CABLE_PREPARE_TA ?
|
||||||
|
battery->pdata->charging_current[SEC_BATTERY_CABLE_TA].input_current_limit :
|
||||||
|
battery->pdata->charging_current[battery->wire_status].input_current_limit);
|
||||||
|
|
||||||
|
wire_current = wire_current * (is_hv_wire_type(battery->wire_status) ?
|
||||||
|
(battery->wire_status == SEC_BATTERY_CABLE_12V_TA ? SEC_INPUT_VOLTAGE_12V : SEC_INPUT_VOLTAGE_9V)
|
||||||
|
: SEC_INPUT_VOLTAGE_5V);
|
||||||
|
|
||||||
|
if (wire_current >= 4000) {
|
||||||
|
char wpc_en_status[2];
|
||||||
|
|
||||||
|
if (is_wireless_type(battery->cable_type)) {
|
||||||
|
if (battery->wpc_vout_level != WIRELESS_VOUT_5V) {
|
||||||
|
pr_info("%s: Wireless vout goes to 5V before switch charging path to cable\n",
|
||||||
|
__func__);
|
||||||
|
battery->wpc_vout_level = WIRELESS_VOUT_5V;
|
||||||
|
val.intval = WIRELESS_VOUT_5V;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, val);
|
||||||
|
}
|
||||||
|
sec_bat_set_decrease_iout(battery);
|
||||||
|
}
|
||||||
|
|
||||||
|
wpc_en_status[0] = WPC_EN_CHARGING;
|
||||||
|
wpc_en_status[1] = false;
|
||||||
|
val.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, val);
|
||||||
|
pr_info("%s: WC CONTROL: Disable", __func__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (battery->wc_status && battery->wc_enable && (wire_current < 4000)) {
|
||||||
|
int wireless_current;
|
||||||
int temp_current_type;
|
int temp_current_type;
|
||||||
|
|
||||||
if (battery->wc_status == SEC_WIRELESS_PAD_WPC)
|
if (battery->wc_status == SEC_WIRELESS_PAD_WPC)
|
||||||
|
@ -3754,19 +3839,21 @@ static void sec_bat_cable_work(struct work_struct *work)
|
||||||
if (wireless_current < battery->pd_max_charge_power)
|
if (wireless_current < battery->pd_max_charge_power)
|
||||||
current_cable_type = battery->wire_status;
|
current_cable_type = battery->wire_status;
|
||||||
} else {
|
} else {
|
||||||
wire_current = (battery->wire_status == SEC_BATTERY_CABLE_PREPARE_TA ?
|
|
||||||
battery->pdata->charging_current[SEC_BATTERY_CABLE_TA].input_current_limit :
|
|
||||||
battery->pdata->charging_current[battery->wire_status].input_current_limit);
|
|
||||||
|
|
||||||
wire_current = wire_current * (is_hv_wire_type(battery->wire_status) ?
|
|
||||||
(battery->wire_status == SEC_BATTERY_CABLE_12V_TA ? SEC_INPUT_VOLTAGE_12V : SEC_INPUT_VOLTAGE_9V)
|
|
||||||
: SEC_INPUT_VOLTAGE_5V);
|
|
||||||
pr_info("%s: wl_cur(%d), wr_cur(%d), wc_cable_type(%d), wire_cable_type(%d)\n",
|
pr_info("%s: wl_cur(%d), wr_cur(%d), wc_cable_type(%d), wire_cable_type(%d)\n",
|
||||||
__func__, wireless_current, wire_current, current_cable_type, battery->wire_status);
|
__func__, wireless_current, wire_current, current_cable_type, battery->wire_status);
|
||||||
|
|
||||||
if (wireless_current < wire_current)
|
if (wireless_current < wire_current)
|
||||||
current_cable_type = battery->wire_status;
|
current_cable_type = battery->wire_status;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
char wpc_en_status[2];
|
||||||
|
|
||||||
|
wpc_en_status[0] = WPC_EN_CHARGING;
|
||||||
|
wpc_en_status[1] = true;
|
||||||
|
val.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, val);
|
||||||
|
pr_info("%s: WC CONTROL: Enable", __func__);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
current_cable_type = battery->wire_status;
|
current_cable_type = battery->wire_status;
|
||||||
|
@ -3847,6 +3934,15 @@ static void sec_bat_cable_work(struct work_struct *work)
|
||||||
((battery->pdata->cable_check_type &
|
((battery->pdata->cable_check_type &
|
||||||
SEC_BATTERY_CABLE_CHECK_NOINCOMPATIBLECHARGE) &&
|
SEC_BATTERY_CABLE_CHECK_NOINCOMPATIBLECHARGE) &&
|
||||||
battery->cable_type == SEC_BATTERY_CABLE_UNKNOWN)) {
|
battery->cable_type == SEC_BATTERY_CABLE_UNKNOWN)) {
|
||||||
|
char wpc_en_status[2];
|
||||||
|
|
||||||
|
wpc_en_status[0] = WPC_EN_CHARGING;
|
||||||
|
wpc_en_status[1] = true;
|
||||||
|
val.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, val);
|
||||||
|
pr_info("%s: WC CONTROL: Enable", __func__);
|
||||||
|
|
||||||
/* initialize all status */
|
/* initialize all status */
|
||||||
battery->charging_mode = SEC_BATTERY_CHARGING_NONE;
|
battery->charging_mode = SEC_BATTERY_CHARGING_NONE;
|
||||||
battery->vbus_chg_by_siop = SEC_INPUT_VOLTAGE_0V;
|
battery->vbus_chg_by_siop = SEC_INPUT_VOLTAGE_0V;
|
||||||
|
@ -4297,15 +4393,25 @@ static int sec_bat_set_property(struct power_supply *psy,
|
||||||
pr_info("%s: Recover MFC IC (wc_enable: %d)\n",
|
pr_info("%s: Recover MFC IC (wc_enable: %d)\n",
|
||||||
__func__, battery->wc_enable);
|
__func__, battery->wc_enable);
|
||||||
|
|
||||||
if (battery->pdata->wpc_en) {
|
|
||||||
mutex_lock(&battery->wclock);
|
mutex_lock(&battery->wclock);
|
||||||
if (battery->wc_enable) {
|
if (battery->wc_enable) {
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 1);
|
char wpc_en_status[2];
|
||||||
|
|
||||||
|
wpc_en_status[0] = WPC_EN_CHARGING;
|
||||||
|
wpc_en_status[1] = false;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
|
pr_info("%s: WC CONTROL: Disable", __func__);
|
||||||
msleep(500);
|
msleep(500);
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 0);
|
|
||||||
|
wpc_en_status[1] = true;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
|
pr_info("%s: WC CONTROL: Enable", __func__);
|
||||||
}
|
}
|
||||||
mutex_unlock(&battery->wclock);
|
mutex_unlock(&battery->wclock);
|
||||||
}
|
|
||||||
#if defined(CONFIG_BATTERY_CISD)
|
#if defined(CONFIG_BATTERY_CISD)
|
||||||
increase_cisd_count(CISD_DATA_DROP_VALUE);
|
increase_cisd_count(CISD_DATA_DROP_VALUE);
|
||||||
#endif
|
#endif
|
||||||
|
@ -5532,7 +5638,7 @@ static int batt_handle_notification(struct notifier_block *nb,
|
||||||
(battery->muic_cable_type == ATTACHED_DEV_JIG_UART_ON_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0) |
|
(battery->muic_cable_type == ATTACHED_DEV_JIG_UART_ON_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0) |
|
||||||
(battery->muic_cable_type == ATTACHED_DEV_JIG_USB_ON_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0) |
|
(battery->muic_cable_type == ATTACHED_DEV_JIG_USB_ON_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0) |
|
||||||
#endif
|
#endif
|
||||||
(battery->muic_cable_type == ATTACHED_DEV_UNDEFINED_RANGE_MUIC) ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0),
|
(battery->muic_cable_type == ATTACHED_DEV_UNDEFINED_RANGE_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0),
|
||||||
BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE);
|
BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE);
|
||||||
|
|
||||||
if (battery->muic_cable_type == ATTACHED_DEV_HICCUP_MUIC) {
|
if (battery->muic_cable_type == ATTACHED_DEV_HICCUP_MUIC) {
|
||||||
|
|
|
@ -619,7 +619,7 @@ ssize_t sec_bat_show_attrs(struct device *dev,
|
||||||
psy_do_property(battery->pdata->fgsrc_switch_name, set,
|
psy_do_property(battery->pdata->fgsrc_switch_name, set,
|
||||||
POWER_SUPPLY_PROP_ENERGY_NOW, value);
|
POWER_SUPPLY_PROP_ENERGY_NOW, value);
|
||||||
for (j = 0; j < 10; j++) {
|
for (j = 0; j < 10; j++) {
|
||||||
mdelay(175);
|
msleep(175);
|
||||||
psy_do_property(battery->pdata->fuelgauge_name, get,
|
psy_do_property(battery->pdata->fuelgauge_name, get,
|
||||||
POWER_SUPPLY_PROP_VOLTAGE_NOW, value);
|
POWER_SUPPLY_PROP_VOLTAGE_NOW, value);
|
||||||
ocv_data[j] = value.intval;
|
ocv_data[j] = value.intval;
|
||||||
|
@ -1379,7 +1379,9 @@ ssize_t sec_bat_store_attrs(
|
||||||
break;
|
break;
|
||||||
case WC_CONTROL:
|
case WC_CONTROL:
|
||||||
if (sscanf(buf, "%10d\n", &x) == 1) {
|
if (sscanf(buf, "%10d\n", &x) == 1) {
|
||||||
if (battery->pdata->wpc_en) {
|
char wpc_en_status[2];
|
||||||
|
|
||||||
|
wpc_en_status[0] = WPC_EN_SYSFS;
|
||||||
if (x == 0) {
|
if (x == 0) {
|
||||||
mutex_lock(&battery->wclock);
|
mutex_lock(&battery->wclock);
|
||||||
battery->wc_enable = false;
|
battery->wc_enable = false;
|
||||||
|
@ -1387,8 +1389,11 @@ ssize_t sec_bat_store_attrs(
|
||||||
value.intval = 0;
|
value.intval = 0;
|
||||||
psy_do_property(battery->pdata->wireless_charger_name, set,
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
|
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
|
||||||
if (battery->pdata->wpc_en)
|
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 1);
|
wpc_en_status[1] = false;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
pr_info("%s: WC CONTROL: Disable", __func__);
|
pr_info("%s: WC CONTROL: Disable", __func__);
|
||||||
mutex_unlock(&battery->wclock);
|
mutex_unlock(&battery->wclock);
|
||||||
} else if (x == 1) {
|
} else if (x == 1) {
|
||||||
|
@ -1398,8 +1403,11 @@ ssize_t sec_bat_store_attrs(
|
||||||
value.intval = 1;
|
value.intval = 1;
|
||||||
psy_do_property(battery->pdata->wireless_charger_name, set,
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
|
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
|
||||||
if (battery->pdata->wpc_en)
|
|
||||||
gpio_direction_output(battery->pdata->wpc_en, 0);
|
wpc_en_status[1] = true;
|
||||||
|
value.strval= wpc_en_status;
|
||||||
|
psy_do_property(battery->pdata->wireless_charger_name, set,
|
||||||
|
POWER_SUPPLY_EXT_PROP_WPC_EN, value);
|
||||||
pr_info("%s: WC CONTROL: Enable", __func__);
|
pr_info("%s: WC CONTROL: Enable", __func__);
|
||||||
mutex_unlock(&battery->wclock);
|
mutex_unlock(&battery->wclock);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1408,7 +1416,6 @@ ssize_t sec_bat_store_attrs(
|
||||||
__func__);
|
__func__);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
ret = count;
|
ret = count;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -287,6 +287,7 @@ void max77705_pdo_list(struct max77705_usbc_platform_data *usbc_data, unsigned c
|
||||||
void max77705_current_pdo(struct max77705_usbc_platform_data *usbc_data, unsigned char *data)
|
void max77705_current_pdo(struct max77705_usbc_platform_data *usbc_data, unsigned char *data)
|
||||||
{
|
{
|
||||||
u8 temp = 0x00;
|
u8 temp = 0x00;
|
||||||
|
U_SEC_PDO_OBJECT pdo_obj;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
temp = ((data[1] >> 3) & 0x07);
|
temp = ((data[1] >> 3) & 0x07);
|
||||||
|
@ -307,20 +308,24 @@ void max77705_current_pdo(struct max77705_usbc_platform_data *usbc_data, unsigne
|
||||||
pr_info("%s : Temp[0x%02x] Data[0x%02x] available_pdo_num[%d]\n",
|
pr_info("%s : Temp[0x%02x] Data[0x%02x] available_pdo_num[%d]\n",
|
||||||
__func__, temp, data[1], pd_noti.sink_status.available_pdo_num);
|
__func__, temp, data[1], pd_noti.sink_status.available_pdo_num);
|
||||||
for (i = 0; i < temp; i++) {
|
for (i = 0; i < temp; i++) {
|
||||||
u32 pdo_temp;
|
|
||||||
int max_value = 0;
|
int max_value = 0;
|
||||||
|
|
||||||
pdo_temp = (data[2 + (i * 4)]
|
pdo_obj.data = (data[2 + (i * 4)]
|
||||||
| (data[3 + (i * 4)] << 8)
|
| (data[3 + (i * 4)] << 8)
|
||||||
| (data[4 + (i * 4)] << 16)
|
| (data[4 + (i * 4)] << 16)
|
||||||
| (data[5 + (i * 4)] << 24));
|
| (data[5 + (i * 4)] << 24));
|
||||||
|
|
||||||
pr_info("%s : PDO[%d] = 0x%x\n", __func__, i, pdo_temp);
|
if (pdo_obj.BITS_supply.type != PDO_TYPE_FIXED) {
|
||||||
|
pr_info("%s : Skip PDO TYPE(%d)\n", __func__, pdo_obj.BITS_supply.type);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
max_value = (0x3FF & pdo_temp);
|
pr_info("%s : PDO[%d] = 0x%x\n", __func__, i, pdo_obj.data);
|
||||||
|
|
||||||
|
max_value = (0x3FF & pdo_obj.data);
|
||||||
pd_noti.sink_status.power_list[i + 1].max_current = max_value * 10;
|
pd_noti.sink_status.power_list[i + 1].max_current = max_value * 10;
|
||||||
|
|
||||||
max_value = (0x3FF & (pdo_temp >> 10));
|
max_value = (0x3FF & (pdo_obj.data >> 10));
|
||||||
pd_noti.sink_status.power_list[i + 1].max_voltage = max_value * 50;
|
pd_noti.sink_status.power_list[i + 1].max_voltage = max_value * 50;
|
||||||
|
|
||||||
pr_info("%s : PDO_Num[%d] MAX_CURR(%d) MAX_VOLT(%d)\n", __func__,
|
pr_info("%s : PDO_Num[%d] MAX_CURR(%d) MAX_VOLT(%d)\n", __func__,
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#
|
|
||||||
# FIVE drivers configuration
|
|
||||||
#
|
|
||||||
|
|
||||||
source "drivers/five/five_tee_driver/Kconfig"
|
|
|
@ -1,2 +0,0 @@
|
||||||
# Integrity TEE Driver
|
|
||||||
obj-$(CONFIG_FIVE_TEE_DRIVER) += five_tee_driver/
|
|
|
@ -1,31 +0,0 @@
|
||||||
#
|
|
||||||
# TEE Driver configuration
|
|
||||||
#
|
|
||||||
|
|
||||||
config FIVE_TEE_DRIVER
|
|
||||||
bool "Integrity TEE Driver"
|
|
||||||
depends on FIVE && TRUSTONIC_TEE && FIRMWARE_IN_KERNEL
|
|
||||||
default y
|
|
||||||
---help---
|
|
||||||
Enable Integrity Trusted Execution Environment support
|
|
||||||
|
|
||||||
config TEE_DRIVER_DEBUG
|
|
||||||
bool "Integrity TEE Driver Debug mode"
|
|
||||||
depends on FIVE_TEE_DRIVER
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Enable Debug mode in TEE Driver
|
|
||||||
|
|
||||||
config FIVE_TRUSTLET_PATH
|
|
||||||
string "FIVE trustlet"
|
|
||||||
depends on FIVE_TEE_DRIVER
|
|
||||||
default "five/ffffffff000000000000000000000072.tlbin"
|
|
||||||
---help---
|
|
||||||
This option defines FIVE trustlet path which will be built-in kernel
|
|
||||||
|
|
||||||
config FIVE_EARLY_LOAD_TRUSTED_APP
|
|
||||||
bool "Load trusted application in early boot"
|
|
||||||
depends on FIVE_TEE_DRIVER
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Enable the load of trusted application on during initialization of driver
|
|
|
@ -1,25 +0,0 @@
|
||||||
#
|
|
||||||
# Integrity TEE Driver
|
|
||||||
#
|
|
||||||
TEEC_CLIENT_PATH := multibuild/source/gp-api/client
|
|
||||||
PROTOCOL_PATH := multibuild/source/gp-api/protocol
|
|
||||||
|
|
||||||
obj-$(CONFIG_FIVE_TEE_DRIVER) += itee_driver.o
|
|
||||||
itee_driver-objs += five_tee_driver.o \
|
|
||||||
$(TEEC_CLIENT_PATH)/teec_common_tbase.o \
|
|
||||||
$(TEEC_CLIENT_PATH)/tee_client_api.o \
|
|
||||||
$(PROTOCOL_PATH)/teec_param_utils.o
|
|
||||||
ccflags-$(CONFIG_FIVE_TEE_DRIVER) += -Isecurity/samsung/five \
|
|
||||||
-Idrivers/five/five_tee_driver/$(PROTOCOL_PATH) \
|
|
||||||
-Idrivers/five/five_tee_driver/$(TEEC_CLIENT_PATH) \
|
|
||||||
-Idrivers/five/five_tee_driver/multibuild/include/gp-api
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_TRUSTONIC_TEE), y)
|
|
||||||
ifeq ($(CONFIG_SOC_EXYNOS9810), y)
|
|
||||||
PLATFORM := exynos9810
|
|
||||||
ccflags-$(CONFIG_FIVE_TEE_DRIVER) += -Idrivers/gud/gud-$(PLATFORM)/MobiCoreDriver
|
|
||||||
ccflags-$(CONFIG_FIVE_TEE_DRIVER) += -Idrivers/gud/gud-$(PLATFORM)/MobiCoreDriver/public
|
|
||||||
else
|
|
||||||
$(error "Unknown SoC")
|
|
||||||
endif
|
|
||||||
endif
|
|
|
@ -574,16 +574,6 @@ int kbase_vinstr_hwcnt_reader_setup(
|
||||||
if (errcode)
|
if (errcode)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
errcode = anon_inode_getfd(
|
|
||||||
"[mali_vinstr_desc]",
|
|
||||||
&vinstr_client_fops,
|
|
||||||
vcli,
|
|
||||||
O_RDONLY | O_CLOEXEC);
|
|
||||||
if (errcode < 0)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
fd = errcode;
|
|
||||||
|
|
||||||
/* Add the new client. No need to reschedule worker, as not periodic */
|
/* Add the new client. No need to reschedule worker, as not periodic */
|
||||||
mutex_lock(&vctx->lock);
|
mutex_lock(&vctx->lock);
|
||||||
|
|
||||||
|
@ -592,7 +582,26 @@ int kbase_vinstr_hwcnt_reader_setup(
|
||||||
|
|
||||||
mutex_unlock(&vctx->lock);
|
mutex_unlock(&vctx->lock);
|
||||||
|
|
||||||
|
/* Expose to user-space */
|
||||||
|
errcode = anon_inode_getfd(
|
||||||
|
"[mali_vinstr_desc]",
|
||||||
|
&vinstr_client_fops,
|
||||||
|
vcli,
|
||||||
|
O_RDONLY | O_CLOEXEC);
|
||||||
|
if (errcode < 0)
|
||||||
|
goto client_installed_error;
|
||||||
|
|
||||||
|
fd = errcode;
|
||||||
|
|
||||||
return fd;
|
return fd;
|
||||||
|
|
||||||
|
client_installed_error:
|
||||||
|
mutex_lock(&vctx->lock);
|
||||||
|
|
||||||
|
vctx->client_count--;
|
||||||
|
list_del(&vcli->node);
|
||||||
|
|
||||||
|
mutex_unlock(&vctx->lock);
|
||||||
error:
|
error:
|
||||||
kbasep_vinstr_client_destroy(vcli);
|
kbasep_vinstr_client_destroy(vcli);
|
||||||
return errcode;
|
return errcode;
|
||||||
|
|
|
@ -1176,6 +1176,10 @@ static ssize_t show_trace_dump(struct device *dev, struct device_attribute *attr
|
||||||
|
|
||||||
kbasep_trace_format_msg(trace_msg, buffer, KBASE_TRACE_SIZE);
|
kbasep_trace_format_msg(trace_msg, buffer, KBASE_TRACE_SIZE);
|
||||||
ret += snprintf(buf+ret, PAGE_SIZE-ret, "%s\n", buffer);
|
ret += snprintf(buf+ret, PAGE_SIZE-ret, "%s\n", buffer);
|
||||||
|
|
||||||
|
if (ret >= PAGE_SIZE - 1)
|
||||||
|
break;
|
||||||
|
|
||||||
start = (start + 1) & KBASE_TRACE_MASK;
|
start = (start + 1) & KBASE_TRACE_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -589,16 +589,6 @@ int kbase_vinstr_hwcnt_reader_setup(
|
||||||
if (errcode)
|
if (errcode)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
errcode = anon_inode_getfd(
|
|
||||||
"[mali_vinstr_desc]",
|
|
||||||
&vinstr_client_fops,
|
|
||||||
vcli,
|
|
||||||
O_RDONLY | O_CLOEXEC);
|
|
||||||
if (errcode < 0)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
fd = errcode;
|
|
||||||
|
|
||||||
/* Add the new client. No need to reschedule worker, as not periodic */
|
/* Add the new client. No need to reschedule worker, as not periodic */
|
||||||
mutex_lock(&vctx->lock);
|
mutex_lock(&vctx->lock);
|
||||||
|
|
||||||
|
@ -607,7 +597,26 @@ int kbase_vinstr_hwcnt_reader_setup(
|
||||||
|
|
||||||
mutex_unlock(&vctx->lock);
|
mutex_unlock(&vctx->lock);
|
||||||
|
|
||||||
|
/* Expose to user-space */
|
||||||
|
errcode = anon_inode_getfd(
|
||||||
|
"[mali_vinstr_desc]",
|
||||||
|
&vinstr_client_fops,
|
||||||
|
vcli,
|
||||||
|
O_RDONLY | O_CLOEXEC);
|
||||||
|
if (errcode < 0)
|
||||||
|
goto client_installed_error;
|
||||||
|
|
||||||
|
fd = errcode;
|
||||||
|
|
||||||
return fd;
|
return fd;
|
||||||
|
|
||||||
|
client_installed_error:
|
||||||
|
mutex_lock(&vctx->lock);
|
||||||
|
|
||||||
|
vctx->client_count--;
|
||||||
|
list_del(&vcli->node);
|
||||||
|
|
||||||
|
mutex_unlock(&vctx->lock);
|
||||||
error:
|
error:
|
||||||
kbasep_vinstr_client_destroy(vcli);
|
kbasep_vinstr_client_destroy(vcli);
|
||||||
return errcode;
|
return errcode;
|
||||||
|
|
|
@ -19,7 +19,7 @@ config TRUSTONIC_TEE_LPAE
|
||||||
config TRUSTONIC_TEE_DEBUG
|
config TRUSTONIC_TEE_DEBUG
|
||||||
bool "Trustonic TEE driver debug mode"
|
bool "Trustonic TEE driver debug mode"
|
||||||
depends on TRUSTONIC_TEE
|
depends on TRUSTONIC_TEE
|
||||||
default y
|
default n
|
||||||
---help---
|
---help---
|
||||||
Enable the debug mode in the Trustonic TEE Driver.
|
Enable the debug mode in the Trustonic TEE Driver.
|
||||||
|
|
||||||
|
|
|
@ -13,5 +13,5 @@
|
||||||
*/
|
*/
|
||||||
#ifndef MOBICORE_COMPONENT_BUILD_TAG
|
#ifndef MOBICORE_COMPONENT_BUILD_TAG
|
||||||
#define MOBICORE_COMPONENT_BUILD_TAG \
|
#define MOBICORE_COMPONENT_BUILD_TAG \
|
||||||
"t-base-EXYNOS64-Android-400C-V002-20181101_223909_58281_87506"
|
"t-base-EXYNOS64-Android-400C-V005-20191025_073428_74400_100703"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -81,10 +81,10 @@ int client_cbuf_free(struct tee_client *client, uintptr_t addr);
|
||||||
|
|
||||||
/* GP internal */
|
/* GP internal */
|
||||||
struct client_gp_operation {
|
struct client_gp_operation {
|
||||||
|
struct list_head list;
|
||||||
u32 started;
|
u32 started;
|
||||||
u32 slot;
|
u32 slot;
|
||||||
bool cancelled;
|
int cancelled;
|
||||||
struct list_head list;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Called from session when a new operation starts/ends */
|
/* Called from session when a new operation starts/ends */
|
||||||
|
|
|
@ -41,7 +41,7 @@ int mc_clock_init(void)
|
||||||
#endif
|
#endif
|
||||||
/* Get core clk src */
|
/* Get core clk src */
|
||||||
clk_ctx.mc_ce_core_src_clk = clk_get(g_ctx.mcd, "core_clk_src");
|
clk_ctx.mc_ce_core_src_clk = clk_get(g_ctx.mcd, "core_clk_src");
|
||||||
if (IS_ERR(clk_ctx.mc_ce_core_src_clk)) {
|
if (IS_ERR_OR_NULL(clk_ctx.mc_ce_core_src_clk)) {
|
||||||
ret = PTR_ERR(clk_ctx.mc_ce_core_src_clk);
|
ret = PTR_ERR(clk_ctx.mc_ce_core_src_clk);
|
||||||
mc_dev_err("cannot get core src clock: %d", ret);
|
mc_dev_err("cannot get core src clock: %d", ret);
|
||||||
goto error;
|
goto error;
|
||||||
|
|
|
@ -40,7 +40,9 @@ struct nq_session {
|
||||||
/* Time at notification state change */
|
/* Time at notification state change */
|
||||||
u64 cpu_clk;
|
u64 cpu_clk;
|
||||||
/* This TA is of Global Platform type, set by upper layer */
|
/* This TA is of Global Platform type, set by upper layer */
|
||||||
bool is_gp;
|
int is_gp;
|
||||||
|
/* Notification counter */
|
||||||
|
u32 notif_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Initialisation/cleanup */
|
/* Initialisation/cleanup */
|
||||||
|
|
|
@ -31,12 +31,12 @@ struct teec_context_imp {
|
||||||
struct teec_session_imp {
|
struct teec_session_imp {
|
||||||
u32 session_id;
|
u32 session_id;
|
||||||
struct teec_context_imp context;
|
struct teec_context_imp context;
|
||||||
bool active;
|
int active;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct teec_shared_memory_imp {
|
struct teec_shared_memory_imp {
|
||||||
struct tee_client *client;
|
struct tee_client *client;
|
||||||
bool implementation_allocated;
|
int implementation_allocated;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct teec_operation_imp {
|
struct teec_operation_imp {
|
||||||
|
|
|
@ -108,11 +108,10 @@ static void wsm_free(struct tee_session *session, struct tee_wsm *wsm)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mc_dev_devel("freeing wsm %p: mmu %p cbuf %p va %lx len %u sva %x",
|
||||||
|
wsm, wsm->mmu, wsm->cbuf, wsm->va, wsm->len, wsm->sva);
|
||||||
/* Free MMU table */
|
/* Free MMU table */
|
||||||
client_mmu_free(session->client, wsm->va, wsm->mmu, wsm->cbuf);
|
client_mmu_free(session->client, wsm->va, wsm->mmu, wsm->cbuf);
|
||||||
/* Delete wsm object */
|
|
||||||
mc_dev_devel("freed wsm %p: mmu %p cbuf %p va %lx len %u sva %x",
|
|
||||||
wsm, wsm->mmu, wsm->cbuf, wsm->va, wsm->len, wsm->sva);
|
|
||||||
/* Decrement debug counter */
|
/* Decrement debug counter */
|
||||||
atomic_dec(&g_ctx.c_wsms);
|
atomic_dec(&g_ctx.c_wsms);
|
||||||
wsm->in_use = false;
|
wsm->in_use = false;
|
||||||
|
@ -122,7 +121,7 @@ static void wsm_free(struct tee_session *session, struct tee_wsm *wsm)
|
||||||
static int hash_path_and_data(struct task_struct *task, u8 *hash,
|
static int hash_path_and_data(struct task_struct *task, u8 *hash,
|
||||||
const void *data, unsigned int data_len)
|
const void *data, unsigned int data_len)
|
||||||
{
|
{
|
||||||
struct mm_struct *mm = task->mm;
|
struct file *exe_file;
|
||||||
struct crypto_shash *tfm;
|
struct crypto_shash *tfm;
|
||||||
char *buf;
|
char *buf;
|
||||||
char *path;
|
char *path;
|
||||||
|
@ -133,13 +132,13 @@ static int hash_path_and_data(struct task_struct *task, u8 *hash,
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
down_read(&mm->mmap_sem);
|
exe_file = get_task_exe_file(task);
|
||||||
if (!mm->exe_file) {
|
if (!exe_file) {
|
||||||
ret = -ENOENT;
|
ret = -ENOENT;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
path = d_path(&mm->exe_file->f_path, buf, PAGE_SIZE);
|
path = d_path(&exe_file->f_path, buf, PAGE_SIZE);
|
||||||
if (IS_ERR(path)) {
|
if (IS_ERR(path)) {
|
||||||
ret = PTR_ERR(path);
|
ret = PTR_ERR(path);
|
||||||
goto end;
|
goto end;
|
||||||
|
@ -183,7 +182,6 @@ static int hash_path_and_data(struct task_struct *task, u8 *hash,
|
||||||
crypto_free_shash(tfm);
|
crypto_free_shash(tfm);
|
||||||
|
|
||||||
end:
|
end:
|
||||||
up_read(&mm->mmap_sem);
|
|
||||||
free_page((unsigned long)buf);
|
free_page((unsigned long)buf);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -43,7 +43,7 @@ struct tee_wsm {
|
||||||
/* Pointer to associated cbuf, if relevant */
|
/* Pointer to associated cbuf, if relevant */
|
||||||
struct cbuf *cbuf;
|
struct cbuf *cbuf;
|
||||||
/* State of this WSM */
|
/* State of this WSM */
|
||||||
bool in_use;
|
int in_use;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct tee_session {
|
struct tee_session {
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
#include "public/mc_user.h"
|
#include "public/mc_user.h"
|
||||||
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "mci/gptci.h" /* Needs stuff from tee_client_api.h or its includes */
|
|
||||||
#include "mci/mcinq.h" /* TA termination codes */
|
#include "mci/mcinq.h" /* TA termination codes */
|
||||||
#include "client.h"
|
#include "client.h"
|
||||||
|
|
||||||
|
|
|
@ -13,5 +13,5 @@
|
||||||
*/
|
*/
|
||||||
#ifndef MOBICORE_COMPONENT_BUILD_TAG
|
#ifndef MOBICORE_COMPONENT_BUILD_TAG
|
||||||
#define MOBICORE_COMPONENT_BUILD_TAG \
|
#define MOBICORE_COMPONENT_BUILD_TAG \
|
||||||
"t-base-EXYNOS64-Android-400C-V002-20181101_223909_58281_87506"
|
"t-base-EXYNOS64-Android-400C-V005-20191025_073428_74400_100703"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -118,7 +118,7 @@ static void tlc_wait_cmd_from_driver(void)
|
||||||
/* Wait for a command from secure driver */
|
/* Wait for a command from secure driver */
|
||||||
ret = mc_wait_notification(&dr_session_handle, -1);
|
ret = mc_wait_notification(&dr_session_handle, -1);
|
||||||
if (ret == MC_DRV_OK) {
|
if (ret == MC_DRV_OK) {
|
||||||
pr_debug("%s: Got a command\n", __func__);
|
pr_debug("tlc_wait_cmd_from_driver: Got a command\n");
|
||||||
} else {
|
} else {
|
||||||
pr_info("%s session_id=%d, device_id=%d", __func__,
|
pr_info("%s session_id=%d, device_id=%d", __func__,
|
||||||
dr_session_handle.session_id, dr_session_handle.device_id);
|
dr_session_handle.session_id, dr_session_handle.device_id);
|
||||||
|
|
|
@ -654,8 +654,22 @@ no_prefetch_cluster:
|
||||||
|
|
||||||
static void verity_submit_prefetch(struct dm_verity *v, struct dm_verity_io *io)
|
static void verity_submit_prefetch(struct dm_verity *v, struct dm_verity_io *io)
|
||||||
{
|
{
|
||||||
|
sector_t block = io->block;
|
||||||
|
unsigned int n_blocks = io->n_blocks;
|
||||||
struct dm_verity_prefetch_work *pw;
|
struct dm_verity_prefetch_work *pw;
|
||||||
|
|
||||||
|
if (v->validated_blocks) {
|
||||||
|
while (n_blocks && test_bit(block, v->validated_blocks)) {
|
||||||
|
block++;
|
||||||
|
n_blocks--;
|
||||||
|
}
|
||||||
|
while (n_blocks && test_bit(block + n_blocks - 1,
|
||||||
|
v->validated_blocks))
|
||||||
|
n_blocks--;
|
||||||
|
if (!n_blocks)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
pw = kmalloc(sizeof(struct dm_verity_prefetch_work),
|
pw = kmalloc(sizeof(struct dm_verity_prefetch_work),
|
||||||
GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN);
|
GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN);
|
||||||
|
|
||||||
|
@ -664,8 +678,8 @@ static void verity_submit_prefetch(struct dm_verity *v, struct dm_verity_io *io)
|
||||||
|
|
||||||
INIT_WORK(&pw->work, verity_prefetch_io);
|
INIT_WORK(&pw->work, verity_prefetch_io);
|
||||||
pw->v = v;
|
pw->v = v;
|
||||||
pw->block = io->block;
|
pw->block = block;
|
||||||
pw->n_blocks = io->n_blocks;
|
pw->n_blocks = n_blocks;
|
||||||
queue_work(v->verify_wq, &pw->work);
|
queue_work(v->verify_wq, &pw->work);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -454,6 +454,9 @@ int fimc_is_itf_power_down_wrap(struct fimc_is_interface *interface, u32 instanc
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct fimc_is_core *core;
|
struct fimc_is_core *core;
|
||||||
|
#ifdef USE_DDK_SHUT_DOWN_FUNC
|
||||||
|
void *data = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
dbg_hw(2, "%s\n", __func__);
|
dbg_hw(2, "%s\n", __func__);
|
||||||
|
|
||||||
|
@ -465,6 +468,16 @@ int fimc_is_itf_power_down_wrap(struct fimc_is_interface *interface, u32 instanc
|
||||||
|
|
||||||
fimc_is_itf_sudden_stop_wrap(&core->ischain[instance], instance);
|
fimc_is_itf_sudden_stop_wrap(&core->ischain[instance], instance);
|
||||||
|
|
||||||
|
#ifdef USE_DDK_SHUT_DOWN_FUNC
|
||||||
|
#ifdef ENABLE_FPSIMD_FOR_USER
|
||||||
|
fpsimd_get();
|
||||||
|
((ddk_shut_down_func_t)DDK_SHUT_DOWN_FUNC_ADDR)(data);
|
||||||
|
fpsimd_put();
|
||||||
|
#else
|
||||||
|
((ddk_shut_down_func_t)DDK_SHUT_DOWN_FUNC_ADDR)(data);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -803,6 +803,9 @@ enum aa_scene_mode {
|
||||||
AA_SCENE_MODE_FAST_AE = 134,
|
AA_SCENE_MODE_FAST_AE = 134,
|
||||||
AA_SCENE_MODE_ILLUMINANCE = 135,
|
AA_SCENE_MODE_ILLUMINANCE = 135,
|
||||||
AA_SCENE_MODE_SUPER_NIGHT = 136,
|
AA_SCENE_MODE_SUPER_NIGHT = 136,
|
||||||
|
AA_SCENE_MODE_BOKEH_VIDEO = 137,
|
||||||
|
AA_SCENE_MODE_SINGLETAKE = 138,
|
||||||
|
AA_SCENE_MODE_DIRECTORS_VIEW = 139,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum aa_effect_mode {
|
enum aa_effect_mode {
|
||||||
|
@ -1067,7 +1070,8 @@ struct camera2_aa_ctl {
|
||||||
uint32_t vendor_captureHint;
|
uint32_t vendor_captureHint;
|
||||||
int32_t vendor_captureEV;
|
int32_t vendor_captureEV;
|
||||||
uint32_t vendor_ssrmHint;
|
uint32_t vendor_ssrmHint;
|
||||||
uint32_t vendor_reserved[5];
|
uint32_t vendor_personalPresetIndex;
|
||||||
|
uint32_t vendor_reserved[4];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct camera2_aa_dm {
|
struct camera2_aa_dm {
|
||||||
|
|
|
@ -97,6 +97,9 @@ typedef u32 (*start_up_func_t)(void **func);
|
||||||
typedef u32 (*rta_start_up_func_t)(void *bootargs, void **func);
|
typedef u32 (*rta_start_up_func_t)(void *bootargs, void **func);
|
||||||
typedef void(*os_system_func_t)(void);
|
typedef void(*os_system_func_t)(void);
|
||||||
|
|
||||||
|
#define DDK_SHUT_DOWN_FUNC_ADDR (DDK_LIB_ADDR + 0x100)
|
||||||
|
typedef int (*ddk_shut_down_func_t)(void *data);
|
||||||
|
|
||||||
#define RTA_SHUT_DOWN_FUNC_ADDR (RTA_LIB_ADDR + 0x100)
|
#define RTA_SHUT_DOWN_FUNC_ADDR (RTA_LIB_ADDR + 0x100)
|
||||||
typedef int (*rta_shut_down_func_t)(void *data);
|
typedef int (*rta_shut_down_func_t)(void *data);
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,7 @@
|
||||||
|
|
||||||
#define USE_ONE_BINARY
|
#define USE_ONE_BINARY
|
||||||
#define USE_RTA_BINARY
|
#define USE_RTA_BINARY
|
||||||
|
#define USE_DDK_SHUT_DOWN_FUNC
|
||||||
#define ENABLE_IRQ_MULTI_TARGET
|
#define ENABLE_IRQ_MULTI_TARGET
|
||||||
#define FIMC_IS_ONLINE_CPU_MIN 4
|
#define FIMC_IS_ONLINE_CPU_MIN 4
|
||||||
/* #define USE_MCUCTL */
|
/* #define USE_MCUCTL */
|
||||||
|
|
|
@ -93,6 +93,8 @@ static void mfc_deinit_dec_ctx(struct s5p_mfc_ctx *ctx)
|
||||||
{
|
{
|
||||||
struct s5p_mfc_dec *dec = ctx->dec_priv;
|
struct s5p_mfc_dec *dec = ctx->dec_priv;
|
||||||
|
|
||||||
|
s5p_mfc_cleanup_assigned_iovmm(ctx);
|
||||||
|
|
||||||
s5p_mfc_delete_queue(&ctx->src_buf_queue);
|
s5p_mfc_delete_queue(&ctx->src_buf_queue);
|
||||||
s5p_mfc_delete_queue(&ctx->dst_buf_queue);
|
s5p_mfc_delete_queue(&ctx->dst_buf_queue);
|
||||||
s5p_mfc_delete_queue(&ctx->src_buf_nal_queue);
|
s5p_mfc_delete_queue(&ctx->src_buf_nal_queue);
|
||||||
|
@ -160,6 +162,8 @@ static int mfc_init_dec_ctx(struct s5p_mfc_ctx *ctx)
|
||||||
dec->is_dpb_full = 0;
|
dec->is_dpb_full = 0;
|
||||||
s5p_mfc_cleanup_assigned_fd(ctx);
|
s5p_mfc_cleanup_assigned_fd(ctx);
|
||||||
s5p_mfc_clear_assigned_dpb(ctx);
|
s5p_mfc_clear_assigned_dpb(ctx);
|
||||||
|
mutex_init(&dec->dpb_mutex);
|
||||||
|
|
||||||
dec->sh_handle.fd = -1;
|
dec->sh_handle.fd = -1;
|
||||||
dec->ref_info = kzalloc(
|
dec->ref_info = kzalloc(
|
||||||
(sizeof(struct dec_dpb_ref_info) * MFC_MAX_DPBS), GFP_KERNEL);
|
(sizeof(struct dec_dpb_ref_info) * MFC_MAX_DPBS), GFP_KERNEL);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue