import G96xFXXU9ETF5

This commit is contained in:
rifek4 2020-06-30 02:07:52 +02:00 committed by xxmustafacooTR
parent 678e55e8e2
commit fa1e8de14e
No known key found for this signature in database
GPG key ID: 520B6FE385CBF5C9
213 changed files with 177891 additions and 18012 deletions

View file

@ -1,10 +1,10 @@
# Ultimate ELS kernel of Ultimate Q G96X ROM
<https://ultimate-rom.com/>
* F2FS & TTL & LZ4 & DriveDroid support
* F2FS & TTL & LZ4 support
* DEX with any HDMI adapter
* Power-Efficient Workqueue
* Boeffla Wakelocks Blocker
* Gestures S2W & S2S
![Logo](https://ultimate-rom.com/Ultimate_ROM_Sign.jpg)
![Logo](https://ultimate-rom.com/Ultimate_ROM_Sign_Small.jpg)

View file

@ -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>;
};
};
};

View file

@ -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
>;
};
};

View file

@ -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"
/ {
};

View file

@ -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>;
};
};
};

View file

@ -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
>;
};
};

View file

@ -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"
/ {
};

View file

@ -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";
};
};
};

View file

@ -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 */
};
};

View file

@ -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";
};
};

View file

@ -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>;
};
};
*/
};
};

View file

@ -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>;
};
};
};
};
};

View file

@ -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

View file

@ -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>;
};
};

View file

@ -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;
};
};
};

View file

@ -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>;
};
};

View file

@ -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>;
};
};

View file

@ -600,7 +600,7 @@
regulators {
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -608,7 +608,7 @@
};
buck2_reg: BUCK2 {
regulator-name = "vdd_cpucl1";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -617,7 +617,7 @@
buck3_reg: BUCK3 {
regulator-name = "vdd_cpucl0";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -635,7 +635,7 @@
buck5_reg: BUCK5 {
regulator-name = "vdd_cam";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -644,7 +644,7 @@
buck6_reg: BUCK6 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
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

View file

@ -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 */
};
};

View file

@ -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 */
};
};

View file

@ -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 */
};
};

View file

@ -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>;
};
};

View file

@ -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>;
};
};

View file

@ -591,7 +591,7 @@
regulators {
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -599,7 +599,7 @@
};
buck2_reg: BUCK2 {
regulator-name = "vdd_cpucl1";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -608,7 +608,7 @@
buck3_reg: BUCK3 {
regulator-name = "vdd_cpucl0";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -626,7 +626,7 @@
buck5_reg: BUCK5 {
regulator-name = "vdd_cam";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <6000>;
@ -635,7 +635,7 @@
buck6_reg: BUCK6 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <425000>;
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
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

View file

@ -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 */
};
};

View file

@ -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 */
};
};

View file

@ -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 */
};
};

View file

@ -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>;
};
};
};
};

View file

@ -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";
};
};

View file

@ -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>;
};
};

View file

@ -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>;
};
};

View file

@ -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>;
};
};
};

View file

@ -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>;
};
};
};

View file

@ -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>;
};
};
};
};

View file

@ -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>;
};
};

View file

@ -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

View file

@ -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>; \
}

View file

@ -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 */
};
};

View file

@ -526,6 +526,7 @@ CONFIG_MAX_DIRTY_THRESH_PAGES=25600
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
CONFIG_MMAP_READAROUND_LIMIT=0
CONFIG_RBIN=y
CONFIG_VMPRESSURE_LEVEL_MED=60
CONFIG_SECCOMP=y
# CONFIG_PARAVIRT 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_PPMPU is not set
CONFIG_SEC_DEBUG_BRANCH_VERIFIER=y
CONFIG_SEC_DEBUG_INIT_EXIT_PANIC=y
CONFIG_SEC_DEBUG_SOFTDOG_PWDT=y
# CONFIG_SEC_BOOTSTAT is not set
@ -5017,7 +5019,7 @@ CONFIG_EXYNOS_BTS=y
CONFIG_EXYNOS9810_BTS=y
CONFIG_TRUSTONIC_TEE=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_FB_BLANK=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_PATH="drivers/gpu/arm/tHEx/r9p0"
CONFIG_FIVE_TEE_DRIVER=y
CONFIG_FIVE_USE_TRUSTONIC=y
# CONFIG_TEE_DRIVER_DEBUG is not set
CONFIG_FIVE_TRUSTLET_PATH="five/ffffffff000000000000000000000072.tlbin"
# CONFIG_FIVE_EARLY_LOAD_TRUSTED_APP is not set
@ -5052,6 +5055,8 @@ CONFIG_MPSD=y
# CONFIG_MPSD_DEBUG is not set
CONFIG_ICD=y
CONFIG_ICD_USE_TRUSTONIC=y
CONFIG_TZIC=y
CONFIG_TZIC_USE_TRUSTONIC=y
#
# Firmware Drivers

View file

@ -526,6 +526,7 @@ CONFIG_MAX_DIRTY_THRESH_PAGES=25600
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
CONFIG_MMAP_READAROUND_LIMIT=0
CONFIG_RBIN=y
CONFIG_VMPRESSURE_LEVEL_MED=60
CONFIG_SECCOMP=y
# CONFIG_PARAVIRT 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_PPMPU is not set
CONFIG_SEC_DEBUG_BRANCH_VERIFIER=y
CONFIG_SEC_DEBUG_INIT_EXIT_PANIC=y
CONFIG_SEC_DEBUG_SOFTDOG_PWDT=y
# CONFIG_SEC_BOOTSTAT is not set
@ -5016,7 +5018,7 @@ CONFIG_EXYNOS_BTS=y
CONFIG_EXYNOS9810_BTS=y
CONFIG_TRUSTONIC_TEE=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_FB_BLANK=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_PATH="drivers/gpu/arm/tHEx/r9p0"
CONFIG_FIVE_TEE_DRIVER=y
CONFIG_FIVE_USE_TRUSTONIC=y
# CONFIG_TEE_DRIVER_DEBUG is not set
CONFIG_FIVE_TRUSTLET_PATH="five/ffffffff000000000000000000000072.tlbin"
# CONFIG_FIVE_EARLY_LOAD_TRUSTED_APP is not set
@ -5051,6 +5054,8 @@ CONFIG_MPSD=y
# CONFIG_MPSD_DEBUG is not set
CONFIG_ICD=y
CONFIG_ICD_USE_TRUSTONIC=y
CONFIG_TZIC=y
CONFIG_TZIC_USE_TRUSTONIC=y
#
# Firmware Drivers

View file

@ -129,7 +129,7 @@ int __init early_init_dt_scan_ect(unsigned long node, const char *uname,
return -1;
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));
unset_memsize_reserved_name();
ect_init(be32_to_cpu(*paddr), be32_to_cpu(*psize));

View file

@ -236,10 +236,12 @@ source "drivers/fingerprint/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/security/samsung/icdrv/Kconfig"
source "drivers/security/samsung/tzic/Kconfig"
endmenu

View file

@ -214,7 +214,7 @@ obj-$(CONFIG_TRUSTONIC_TEE) += gud/
obj-$(CONFIG_TEE) += tee/
# FIVE TEE driver
obj-$(CONFIG_FIVE_TEE_DRIVER) += five/
obj-$(CONFIG_FIVE_TEE_DRIVER) += security/samsung/five_tee_driver/
# ICDriver
obj-$(CONFIG_ICD) += security/samsung/icdrv/
@ -232,3 +232,6 @@ obj-$(CONFIG_UH) += uh/
obj-$(CONFIG_MPSD) += mpsd/
obj-y += kperfmon/
#TZIC
obj-y += security/samsung/tzic/

View file

@ -1470,8 +1470,6 @@ int fg_alert_init(struct i2c_client *client, int soc)
"%s: TALRT_THRESHOLD_REG is not valid (0x%x)\n",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (fg_i2c_read(client, CONFIG_REG, config_data, 2) < 0) {
dev_err(&client->dev,

View file

@ -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",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (max77823_bulk_read(fuelgauge->i2c, CONFIG_REG,
2, config_data) < 0) {

View file

@ -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",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (max77833_bulk_read(fuelgauge->i2c, CONFIG_REG,
2, config_data) < 0) {

View file

@ -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",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (max77843_bulk_read(fuelgauge->i2c, CONFIG_REG,
2, config_data) < 0) {

View file

@ -1096,7 +1096,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
value.intval = WIRELESS_VOUT_5V;
psy_do_property(charger->pdata->wireless_charger_name, set,
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
mdelay(200);
msleep(200);
}
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
&chg_int_state);
@ -1122,7 +1122,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
/* Update CHG_CNFG_11 to 0x00(3V) */
max77854_write_reg(charger->i2c,
MAX77854_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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) */
max77854_write_reg(charger->i2c,
MAX77854_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
max77854_write_reg(charger->i2c,
@ -1240,7 +1240,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
value.intval = WIRELESS_VOUT_5V;
psy_do_property(charger->pdata->wireless_charger_name, set,
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
mdelay(200);
msleep(200);
}
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
&chg_int_state);
@ -1266,7 +1266,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
/* Update CHG_CNFG_11 to 0x00(3V) */
max77854_write_reg(charger->i2c,
MAX77854_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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,
POWER_SUPPLY_PROP_STATUS, value);
}
mdelay(50);
msleep(50);
} 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);
aicl_cnt = 0;
}
mdelay(50);
msleep(50);
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_OK, &aicl_state);
if (max77854_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
break;
@ -2173,4 +2173,4 @@ module_exit(max77854_charger_exit);
MODULE_DESCRIPTION("Samsung MAX77854 Charger Driver");
MODULE_AUTHOR("Samsung Electronics");
MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");

View file

@ -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",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (max77854_bulk_read(fuelgauge->i2c, CONFIG_REG,
2, config_data) < 0) {

View file

@ -4463,12 +4463,12 @@ ssize_t sec_bat_show_attrs(struct device *dev,
value.intval = 0;
psy_do_property(battery->pdata->fgsrc_switch_name, set,
POWER_SUPPLY_PROP_ENERGY_NOW, value);
mdelay(200);
msleep(200);
psy_do_property(battery->pdata->fuelgauge_name, get,
POWER_SUPPLY_PROP_VOLTAGE_NOW, value);
dev_info(battery->dev, "voltage(%d)\n", value.intval/10);
ret = value.intval /10;
mdelay(200);
msleep(200);
value.intval = 1;
psy_do_property(battery->pdata->fgsrc_switch_name, set,
POWER_SUPPLY_PROP_ENERGY_NOW, value);

View file

@ -695,6 +695,7 @@ struct mfc_charger_data {
struct device *dev;
mfc_charger_platform_data_t *pdata;
struct mutex io_lock;
struct mutex wpc_en_lock;
const struct firmware *firm_data_bin;
int wc_w_state;
@ -742,6 +743,7 @@ struct mfc_charger_data {
u8 device_event;
int i2c_error_count;
int wpc_en_flag;
};
#endif /* __MFC_CHARGER_H */

View file

@ -67,8 +67,11 @@ enum power_supply_ext_property {
POWER_SUPPLY_EXT_PROP_CHGINSEL,
POWER_SUPPLY_EXT_PROP_OVERHEAT_HICCUP,
POWER_SUPPLY_EXT_PROP_MONITOR_WORK,
POWER_SUPPLY_EXT_PROP_PAD_VOLT_CTRL,
POWER_SUPPLY_EXT_PROP_MST_STATUS,
POWER_SUPPLY_EXT_PROP_JIG_GPIO,
POWER_SUPPLY_EXT_PROP_WPC_EN,
POWER_SUPPLY_EXT_PROP_WPC_EN_MST,
};
enum sec_battery_usb_conf {
@ -88,6 +91,7 @@ enum sec_battery_rp_curr {
enum power_supply_ext_health {
POWER_SUPPLY_HEALTH_VSYS_OVP = POWER_SUPPLY_HEALTH_MAX,
POWER_SUPPLY_HEALTH_VBAT_OVP,
POWER_SUPPLY_HEALTH_WPC_EN,
};
enum sec_battery_cable {
@ -329,6 +333,14 @@ enum sec_battery_measure_input {
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_FG_INIT_FAIL 0x0001
#define SEC_BAT_ERROR_CAUSE_I2C_FAIL 0xFFFFFFFF

View file

@ -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,
0, CHG_CNFG_00_OTG_CTRL);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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,
CHG_CNFG_00_BOOST_MASK);
mdelay(50);
msleep(50);
/* enable charger interrupt */
max77705_write_reg(charger->i2c,
@ -1542,6 +1542,11 @@ static int max77705_chg_set_property(struct power_supply *psy,
max77705_change_charge_path(charger,
val->intval, charger->cable_type);
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:
return -EINVAL;
}
@ -1754,7 +1759,7 @@ static void wpc_detect_work(struct work_struct *work)
psy_do_property(charger->pdata->wireless_charger_name,
set, POWER_SUPPLY_PROP_STATUS, value);
}
mdelay(50);
msleep(50);
} while (!wcin_state && !wcin_dtls && wcin_cnt < 2);
}

View file

@ -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",
__func__, read_data);
/*mdelay(100); */
/* Enable SOC alerts */
if (max77705_bulk_read(fuelgauge->i2c, CONFIG_REG, 2, config_data) < 0) {
pr_err("%s: Failed to read CONFIG_REG\n", __func__);

View file

@ -1019,7 +1019,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
value.intval = WIRELESS_VOUT_5V;
psy_do_property(charger->pdata->wireless_charger_name, set,
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
mdelay(200);
msleep(200);
}
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
&chg_int_state);
@ -1045,7 +1045,7 @@ static int max77854_chg_set_property(struct power_supply *psy,
/* Update CHG_CNFG_11 to 0x00(3V) */
max77854_write_reg(charger->i2c,
MAX77854_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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) */
max77854_write_reg(charger->i2c,
MAX77854_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
max77854_write_reg(charger->i2c,
@ -1162,7 +1162,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
value.intval = WIRELESS_VOUT_5V;
psy_do_property(charger->pdata->wireless_charger_name, set,
POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION, value);
mdelay(200);
msleep(200);
}
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_MASK,
&chg_int_state);
@ -1188,7 +1188,7 @@ static int max77854_otg_set_property(struct power_supply *psy,
/* Update CHG_CNFG_11 to 0x00(3V) */
max77854_write_reg(charger->i2c,
MAX77854_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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,
POWER_SUPPLY_PROP_STATUS, value);
}
mdelay(50);
msleep(50);
} 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);
aicl_cnt = 0;
}
mdelay(50);
msleep(50);
max77854_read_reg(charger->i2c, MAX77854_CHG_REG_INT_OK, &aicl_state);
if (max77854_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
break;

View file

@ -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",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (max77854_bulk_read(fuelgauge->i2c, CONFIG_REG,
2, config_data) < 0) {

View file

@ -635,7 +635,7 @@ static void max77865_set_otg(struct max77865_charger_data *charger, int enable)
/* Update CHG_CNFG_11 to 0x00(3.485V) */
max77865_write_reg(charger->i2c,
MAX77865_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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) */
max77865_write_reg(charger->i2c,
MAX77865_CHG_REG_CNFG_11, 0x00);
mdelay(50);
msleep(50);
/* enable charger interrupt */
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,
POWER_SUPPLY_PROP_STATUS, value);
}
mdelay(50);
msleep(50);
} 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);
aicl_cnt = 0;
}
mdelay(50);
msleep(50);
max77865_read_reg(charger->i2c, MAX77865_CHG_REG_INT_OK, &aicl_state);
if (max77865_get_input_current(charger) <= MINIMUM_INPUT_CURRENT)
break;

View file

@ -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",
__func__, read_data);
/*mdelay(100);*/
/* Enable SOC alerts */
if (max77865_bulk_read(fuelgauge->i2c, CONFIG_REG,
2, config_data) < 0) {

View file

@ -337,6 +337,36 @@ int mfc_get_adc(struct mfc_charger_data *charger, int adc_type)
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)
{
switch (vout) {
@ -558,13 +588,14 @@ void mfc_send_eop(struct mfc_charger_data *charger, int health_mode)
int i = 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) {
case POWER_SUPPLY_HEALTH_OVERHEAT:
case POWER_SUPPLY_HEALTH_OVERHEATLIMIT:
case POWER_SUPPLY_HEALTH_COLD:
pr_info("%s: ept-ot\n", __func__);
if (charger->pdata->cable_type == MFC_PAD_PMA) {
pr_info("%s pma mode\n", __func__);
for (i = 0; i < CMD_CNT; i++) {
ret = mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_END_OF_CHG);
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) {
pr_info("%s a4wp mode\n", __func__);
} else {
pr_info("%s wpc mode\n", __func__);
for (i = 0; i < CMD_CNT; i++) {
ret = mfc_reg_write(charger->client, MFC_EPT_REG, MFC_WPC_EPT_OVER_TEMP);
if (ret >= 0) {
@ -587,6 +617,11 @@ void mfc_send_eop(struct mfc_charger_data *charger, int health_mode)
}
}
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:
break;
default:
@ -1883,7 +1918,7 @@ static int mfc_chg_get_property(struct power_supply *psy,
gpio_direction_output(charger->pdata->mst_pwr_en, 1);
usleep_range(3600, 4000);
gpio_direction_output(charger->pdata->mst_pwr_en, 0);
mdelay(50);
msleep(50);
charger->mst_off_lock = 0;
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:
val->intval = charger->tx_id;
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:
return -ENODATA;
}
@ -2093,8 +2132,8 @@ static int mfc_chg_set_property(struct power_supply *psy,
case POWER_SUPPLY_PROP_HEALTH:
if (val->intval == POWER_SUPPLY_HEALTH_OVERHEAT ||
val->intval == POWER_SUPPLY_HEALTH_OVERHEATLIMIT ||
val->intval == POWER_SUPPLY_HEALTH_COLD) {
pr_info("%s ept-ot\n", __func__);
val->intval == POWER_SUPPLY_HEALTH_COLD ||
val->intval == POWER_SUPPLY_HEALTH_WPC_EN) {
mfc_send_eop(charger, val->intval);
}
break;
@ -2329,7 +2368,7 @@ static int mfc_chg_set_property(struct power_supply *psy,
mfc_send_packet(charger, MFC_HEADER_AFC_CONF,
0x20, &tmp, 1);
pr_info("%s: send command after wc control\n", __func__);
mdelay(150);
msleep(150);
}
break;
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;
}
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:
return -ENODATA;
}
@ -2913,8 +2961,21 @@ static void mfc_wpc_tx_id_work(struct work_struct *work)
} else {
if (charger->tx_id)
pr_info("%s: TX ID (0x%x)\n", __func__, charger->tx_id);
else
pr_info("%s: TX ID not Received\n", __func__);
else {
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;
}
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_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",
0, &irq_gpio_flags);
if (ret < 0) {
dev_err(dev, "%s : can't wpc_en\r\n", __FUNCTION__);
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__);
} 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;
@ -3508,8 +3580,10 @@ static int mfc_charger_probe(
charger->is_afc_tx = false;
charger->tx_id_done = false;
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->wpc_en_lock);
/* wpc_det */
if (charger->pdata->irq_wpc_det) {
@ -3615,6 +3689,7 @@ err_pdata_free:
power_supply_unregister(charger->psy_chg);
err_supply_unreg:
mutex_destroy(&charger->io_lock);
mutex_destroy(&charger->wpc_en_lock);
err_i2cfunc_not_support:
kfree(charger);
err_wpc_nomem:

View file

@ -733,6 +733,35 @@ static void sec_bat_get_charging_current_in_power_list(struct sec_battery_info *
}
#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)
{
static int afc_init = false;
@ -3219,14 +3248,29 @@ static void sec_bat_ext_event_work(struct work_struct *work)
/* process phm */
if(battery->wc_rx_phm_mode) {
pr_info("%s: ESCAPE PHM STEP 1 - WC CONTROL: Enable", __func__);
gpio_direction_output(battery->pdata->wpc_en, 0);
msleep(100);
pr_info("%s: ESCAPE PHM STEP 2 - WC CONTROL: Disable", __func__);
gpio_direction_output(battery->pdata->wpc_en, 1);
msleep(510);
pr_info("%s: ESCAPE PHM STEP 3 - WC CONTROL: Enable", __func__);
gpio_direction_output(battery->pdata->wpc_en, 0);
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__);
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__);
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__);
}
battery->wc_rx_phm_mode = false;
}
@ -3424,6 +3468,7 @@ static void sec_bat_monitor_work(
static struct timespec old_ts = {0, };
struct timespec c_ts = {0, };
union power_supply_propval val = {0, };
union power_supply_propval value = {0, };
dev_dbg(battery->dev, "%s: Start\n", __func__);
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",
__func__, battery->wc_enable, battery->wc_enable_cnt);
if (battery->wc_enable_cnt > battery->wc_enable_cnt_value) {
char wpc_en_status[2];
battery->wc_enable = true;
battery->wc_enable_cnt = 0;
if (battery->pdata->wpc_en) {
gpio_direction_output(battery->pdata->wpc_en, 0);
pr_info("%s: WC CONTROL: Enable", __func__);
}
wpc_en_status[0] = WPC_EN_SYSFS;
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: wpc_en(%d)\n",
__func__, gpio_get_value(battery->pdata->wpc_en));
}
@ -3557,6 +3606,8 @@ continue_monitor:
skip_current_monitor:
psy_do_property(battery->pdata->charger_name, get,
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,
"%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);
union power_supply_propval val = {0, };
int current_cable_type = SEC_BATTERY_CABLE_NONE;
int wire_current = 0;
dev_info(battery->dev, "%s: Start\n", __func__);
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
if (battery->wc_status && battery->wc_enable) {
int wireless_current, wire_current;
if (!is_nocharge_type(battery->wire_status)) {
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;
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)
current_cable_type = battery->wire_status;
} 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",
__func__, wireless_current, wire_current, current_cable_type, battery->wire_status);
if (wireless_current < wire_current)
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
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 &
SEC_BATTERY_CABLE_CHECK_NOINCOMPATIBLECHARGE) &&
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 */
battery->charging_mode = SEC_BATTERY_CHARGING_NONE;
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",
__func__, battery->wc_enable);
if (battery->pdata->wpc_en) {
mutex_lock(&battery->wclock);
if (battery->wc_enable) {
gpio_direction_output(battery->pdata->wpc_en, 1);
msleep(500);
gpio_direction_output(battery->pdata->wpc_en, 0);
}
mutex_unlock(&battery->wclock);
mutex_lock(&battery->wclock);
if (battery->wc_enable) {
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);
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);
#if defined(CONFIG_BATTERY_CISD)
increase_cisd_count(CISD_DATA_DROP_VALUE);
#endif
@ -5532,8 +5638,8 @@ 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_USB_ON_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0) |
#endif
(battery->muic_cable_type == ATTACHED_DEV_UNDEFINED_RANGE_MUIC) ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0),
BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE);
(battery->muic_cable_type == ATTACHED_DEV_UNDEFINED_RANGE_MUIC ? BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE : 0),
BATT_MISC_EVENT_UNDEFINED_RANGE_TYPE);
if (battery->muic_cable_type == ATTACHED_DEV_HICCUP_MUIC) {
sec_bat_set_misc_event(battery, BATT_MISC_EVENT_HICCUP_TYPE, BATT_MISC_EVENT_HICCUP_TYPE);

View file

@ -619,7 +619,7 @@ ssize_t sec_bat_show_attrs(struct device *dev,
psy_do_property(battery->pdata->fgsrc_switch_name, set,
POWER_SUPPLY_PROP_ENERGY_NOW, value);
for (j = 0; j < 10; j++) {
mdelay(175);
msleep(175);
psy_do_property(battery->pdata->fuelgauge_name, get,
POWER_SUPPLY_PROP_VOLTAGE_NOW, value);
ocv_data[j] = value.intval;
@ -1379,35 +1379,42 @@ ssize_t sec_bat_store_attrs(
break;
case WC_CONTROL:
if (sscanf(buf, "%10d\n", &x) == 1) {
if (battery->pdata->wpc_en) {
if (x == 0) {
mutex_lock(&battery->wclock);
battery->wc_enable = false;
battery->wc_enable_cnt = 0;
value.intval = 0;
psy_do_property(battery->pdata->wireless_charger_name, set,
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
if (battery->pdata->wpc_en)
gpio_direction_output(battery->pdata->wpc_en, 1);
pr_info("%s: WC CONTROL: Disable", __func__);
mutex_unlock(&battery->wclock);
} else if (x == 1) {
mutex_lock(&battery->wclock);
battery->wc_enable = true;
battery->wc_enable_cnt = 0;
value.intval = 1;
psy_do_property(battery->pdata->wireless_charger_name, set,
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
if (battery->pdata->wpc_en)
gpio_direction_output(battery->pdata->wpc_en, 0);
pr_info("%s: WC CONTROL: Enable", __func__);
mutex_unlock(&battery->wclock);
} else {
dev_info(battery->dev,
"%s: WC CONTROL unknown command\n",
__func__);
return -EINVAL;
}
char wpc_en_status[2];
wpc_en_status[0] = WPC_EN_SYSFS;
if (x == 0) {
mutex_lock(&battery->wclock);
battery->wc_enable = false;
battery->wc_enable_cnt = 0;
value.intval = 0;
psy_do_property(battery->pdata->wireless_charger_name, set,
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
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__);
mutex_unlock(&battery->wclock);
} else if (x == 1) {
mutex_lock(&battery->wclock);
battery->wc_enable = true;
battery->wc_enable_cnt = 0;
value.intval = 1;
psy_do_property(battery->pdata->wireless_charger_name, set,
POWER_SUPPLY_EXT_PROP_WC_CONTROL, value);
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);
} else {
dev_info(battery->dev,
"%s: WC CONTROL unknown command\n",
__func__);
return -EINVAL;
}
ret = count;
}

View file

@ -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)
{
u8 temp = 0x00;
U_SEC_PDO_OBJECT pdo_obj;
int i;
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",
__func__, temp, data[1], pd_noti.sink_status.available_pdo_num);
for (i = 0; i < temp; i++) {
u32 pdo_temp;
int max_value = 0;
pdo_temp = (data[2 + (i * 4)]
pdo_obj.data = (data[2 + (i * 4)]
| (data[3 + (i * 4)] << 8)
| (data[4 + (i * 4)] << 16)
| (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;
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;
pr_info("%s : PDO_Num[%d] MAX_CURR(%d) MAX_VOLT(%d)\n", __func__,

View file

@ -1,5 +0,0 @@
#
# FIVE drivers configuration
#
source "drivers/five/five_tee_driver/Kconfig"

View file

@ -1,2 +0,0 @@
# Integrity TEE Driver
obj-$(CONFIG_FIVE_TEE_DRIVER) += five_tee_driver/

View file

@ -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

View file

@ -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

View file

@ -574,16 +574,6 @@ int kbase_vinstr_hwcnt_reader_setup(
if (errcode)
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 */
mutex_lock(&vctx->lock);
@ -592,7 +582,26 @@ int kbase_vinstr_hwcnt_reader_setup(
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;
client_installed_error:
mutex_lock(&vctx->lock);
vctx->client_count--;
list_del(&vcli->node);
mutex_unlock(&vctx->lock);
error:
kbasep_vinstr_client_destroy(vcli);
return errcode;

View file

@ -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);
ret += snprintf(buf+ret, PAGE_SIZE-ret, "%s\n", buffer);
if (ret >= PAGE_SIZE - 1)
break;
start = (start + 1) & KBASE_TRACE_MASK;
}

View file

@ -589,16 +589,6 @@ int kbase_vinstr_hwcnt_reader_setup(
if (errcode)
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 */
mutex_lock(&vctx->lock);
@ -607,7 +597,26 @@ int kbase_vinstr_hwcnt_reader_setup(
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;
client_installed_error:
mutex_lock(&vctx->lock);
vctx->client_count--;
list_del(&vcli->node);
mutex_unlock(&vctx->lock);
error:
kbasep_vinstr_client_destroy(vcli);
return errcode;

View file

@ -19,7 +19,7 @@ config TRUSTONIC_TEE_LPAE
config TRUSTONIC_TEE_DEBUG
bool "Trustonic TEE driver debug mode"
depends on TRUSTONIC_TEE
default y
default n
---help---
Enable the debug mode in the Trustonic TEE Driver.

View file

@ -13,5 +13,5 @@
*/
#ifndef 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

View file

@ -81,10 +81,10 @@ int client_cbuf_free(struct tee_client *client, uintptr_t addr);
/* GP internal */
struct client_gp_operation {
struct list_head list;
u32 started;
u32 slot;
bool cancelled;
struct list_head list;
int cancelled;
};
/* Called from session when a new operation starts/ends */

View file

@ -41,7 +41,7 @@ int mc_clock_init(void)
#endif
/* Get 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);
mc_dev_err("cannot get core src clock: %d", ret);
goto error;

View file

@ -40,7 +40,9 @@ struct nq_session {
/* Time at notification state change */
u64 cpu_clk;
/* This TA is of Global Platform type, set by upper layer */
bool is_gp;
int is_gp;
/* Notification counter */
u32 notif_count;
};
/* Initialisation/cleanup */

View file

@ -25,18 +25,18 @@
struct tee_client;
struct teec_context_imp {
struct tee_client *client;
struct tee_client *client;
};
struct teec_session_imp {
u32 session_id;
struct teec_context_imp context;
bool active;
int active;
};
struct teec_shared_memory_imp {
struct tee_client *client;
bool implementation_allocated;
struct tee_client *client;
int implementation_allocated;
};
struct teec_operation_imp {

View file

@ -108,11 +108,10 @@ static void wsm_free(struct tee_session *session, struct tee_wsm *wsm)
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 */
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 */
atomic_dec(&g_ctx.c_wsms);
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,
const void *data, unsigned int data_len)
{
struct mm_struct *mm = task->mm;
struct file *exe_file;
struct crypto_shash *tfm;
char *buf;
char *path;
@ -133,13 +132,13 @@ static int hash_path_and_data(struct task_struct *task, u8 *hash,
if (!buf)
return -ENOMEM;
down_read(&mm->mmap_sem);
if (!mm->exe_file) {
exe_file = get_task_exe_file(task);
if (!exe_file) {
ret = -ENOENT;
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)) {
ret = PTR_ERR(path);
goto end;
@ -183,7 +182,6 @@ static int hash_path_and_data(struct task_struct *task, u8 *hash,
crypto_free_shash(tfm);
end:
up_read(&mm->mmap_sem);
free_page((unsigned long)buf);
return ret;

View file

@ -43,7 +43,7 @@ struct tee_wsm {
/* Pointer to associated cbuf, if relevant */
struct cbuf *cbuf;
/* State of this WSM */
bool in_use;
int in_use;
};
struct tee_session {

View file

@ -21,7 +21,6 @@
#include "public/mc_user.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 "client.h"

View file

@ -13,5 +13,5 @@
*/
#ifndef 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

View file

@ -118,7 +118,7 @@ static void tlc_wait_cmd_from_driver(void)
/* Wait for a command from secure driver */
ret = mc_wait_notification(&dr_session_handle, -1);
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 {
pr_info("%s session_id=%d, device_id=%d", __func__,
dr_session_handle.session_id, dr_session_handle.device_id);

View file

@ -654,8 +654,22 @@ no_prefetch_cluster:
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;
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),
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);
pw->v = v;
pw->block = io->block;
pw->n_blocks = io->n_blocks;
pw->block = block;
pw->n_blocks = n_blocks;
queue_work(v->verify_wq, &pw->work);
}

View file

@ -454,6 +454,9 @@ int fimc_is_itf_power_down_wrap(struct fimc_is_interface *interface, u32 instanc
{
int ret = 0;
struct fimc_is_core *core;
#ifdef USE_DDK_SHUT_DOWN_FUNC
void *data = NULL;
#endif
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);
#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;
}

View file

@ -803,6 +803,9 @@ enum aa_scene_mode {
AA_SCENE_MODE_FAST_AE = 134,
AA_SCENE_MODE_ILLUMINANCE = 135,
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 {
@ -1067,7 +1070,8 @@ struct camera2_aa_ctl {
uint32_t vendor_captureHint;
int32_t vendor_captureEV;
uint32_t vendor_ssrmHint;
uint32_t vendor_reserved[5];
uint32_t vendor_personalPresetIndex;
uint32_t vendor_reserved[4];
};
struct camera2_aa_dm {

View file

@ -97,6 +97,9 @@ typedef u32 (*start_up_func_t)(void **func);
typedef u32 (*rta_start_up_func_t)(void *bootargs, void **func);
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)
typedef int (*rta_shut_down_func_t)(void *data);

View file

@ -69,6 +69,7 @@
#define USE_ONE_BINARY
#define USE_RTA_BINARY
#define USE_DDK_SHUT_DOWN_FUNC
#define ENABLE_IRQ_MULTI_TARGET
#define FIMC_IS_ONLINE_CPU_MIN 4
/* #define USE_MCUCTL */

View file

@ -93,6 +93,8 @@ static void mfc_deinit_dec_ctx(struct s5p_mfc_ctx *ctx)
{
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->dst_buf_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;
s5p_mfc_cleanup_assigned_fd(ctx);
s5p_mfc_clear_assigned_dpb(ctx);
mutex_init(&dec->dpb_mutex);
dec->sh_handle.fd = -1;
dec->ref_info = kzalloc(
(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