CONFIG_SEC_MODEM_IF=y
CONFIG_MODEM_CHIP_MODAP_S3XXAP=y
CONFIG_MODEM_IF_ADAPTIVE_QOS=y
-CONFIG_UART_SWITCH=y
+#CONFIG_UART_SWITCH=y
+CONFIG_HW_REV_DETECT=y
CONFIG_GNSS_SHMEM_IF=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_SCSC_CORE=y
-CONFIG_SCSC_WLBT_CONFIG_PLATFORM="leman_s620_maestro"
+CONFIG_SCSC_WLBT_CONFIG_PLATFORM="leman_s620_robusta2_dualfem"
CONFIG_SCSC_CORE_FW_LOCATION="/vendor/etc/wifi"
CONFIG_SCSC_WLBTD=y
CONFIG_SCSC_PLATFORM=y
CONFIG_SCSC_WIFILOGGER=y
CONFIG_SCSC_BT=y
CONFIG_USE_MUIC=y
+CONFIG_MUIC_SUPPORT_CCIC=y
+CONFIG_MUIC_S2MU106=y
+CONFIG_MUIC_SYSFS=y
+CONFIG_MUIC_CORE=y
CONFIG_MUIC_MANAGER=y
-CONFIG_MUIC_S2MU004=y
+CONFIG_MUIC_HV=y
+CONFIG_HV_MUIC_S2MU106_AFC=y
+CONFIG_HV_MUIC_TURBO_CHARGER=y
+CONFIG_S2MU106_SPECOUT_CHARGER=y
CONFIG_IFCONN_MANAGER=y
CONFIG_IFCONN_NOTIFIER=y
CONFIG_SCSI=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_DSX=y
+CONFIG_TOUCHSCREEN_NOVATEK_CHIPSET=y
+CONFIG_TOUCHSCREEN_NT36xxx=y
+CONFIG_TOUCHSCREEN_HIMAX_CHIPSET=y
+CONFIG_TOUCHSCREEN_HIMAX_COMMON=y
+CONFIG_TOUCHSCREEN_HIMAX_INCELL=y
+CONFIG_TOUCHSCREEN_HIMAX_IC_HX83102=y
+CONFIG_TOUCHSCREEN_HIMAX_IC_HX83112=y
+CONFIG_TOUCHSCREEN_HIMAX_INSPECT=y
+CONFIG_TOUCHSCREEN_HIMAX_DEBUG=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_KEYCHORD=y
CONFIG_INPUT_UINPUT=y
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVMEM is not set
-CONFIG_SERIAL_SAMSUNG=y
-CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_EXYRNG_FIPS_COMPLIANCE=y
CONFIG_EXYRNG_FAIL_POLICY_RESET=y
CONFIG_SPI=y
CONFIG_SPI_S3C64XX=y
CONFIG_GPIOLIB=y
-CONFIG_FUELGAUGE_S2MU004=y
-CONFIG_CHARGER_S2MU004=y
CONFIG_BATTERY_S2MU00X_ERD=y
-# CONFIG_HWMON is not set
+CONFIG_SENSORS_NTC_THERMISTOR=y
+CONFIG_BATTERY_S2MU00X=y
+CONFIG_FUELGAUGE_S2MU106=y
+CONFIG_CHARGER_S2MU106=y
+CONFIG_PM_S2MU106=y
+CONFIG_SMALL_CHARGER=y
+CONFIG_CHARGER_S2MCS02=y
CONFIG_THERMAL=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_S3C2410_WATCHDOG=y
CONFIG_S3C2410_SHUTDOWN_REBOOT=y
CONFIG_MFD_SEC_CORE=y
-CONFIG_MFD_S2MU004=y
+CONFIG_MFD_S2MU106=y
CONFIG_MFD_S2MPU09=y
CONFIG_MFD_S2MPB02=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_CAMERA_PP_GDC_V2_0_0_OBJ=y
CONFIG_VIDEO_EXYNOS_FIMC_IS2=y
CONFIG_USE_CSI_DMAOUT_FEATURE=y
-CONFIG_CAMERA_CIS_6B2_OBJ=y
-CONFIG_CAMERA_CIS_2P7SQ_OBJ=y
-CONFIG_CAMERA_CIS_2T7SX_OBJ=y
-CONFIG_CAMERA_ACT_LC898217_OBJ=y
-CONFIG_CAMERA_FLASH_GPIO_OBJ=y
+CONFIG_CAMERA_EEPROM_SELECT=y
+CONFIG_CAMERA_CIS_5E9_OBJ=y
+CONFIG_CAMERA_CIS_2X5SP_OBJ=y
+CONFIG_CAMERA_CIS_GM1SP_OBJ=y
+CONFIG_CAMERA_ACT_DW9839_OBJ=y
+CONFIG_CAMERA_FLASH_S2MU106_OBJ=y
+CONFIG_CAMERA_EEPROM_GM1_OBJ=y
+CONFIG_CAMERA_EEPROM_5E9_OBJ=y
+CONFIG_CAMERA_OIS_SELECT=y
+CONFIG_CAMERA_OIS_BU24218GWL_OBJ=y
+CONFIG_OIS_DIRECT_FW_CONTROL=y
CONFIG_USE_SENSOR_GROUP=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_EXYNOS_SCALER=y
CONFIG_USB_NOTIFIER=y
CONFIG_USB_HW_PARAM=y
CONFIG_USB_DWC3=y
-CONFIG_DUAL_ROLE_USB_INTF=y
+#CONFIG_DUAL_ROLE_USB_INTF=y
CONFIG_TYPEC=y
CONFIG_TYPEC_DEFAULT=y
CONFIG_USB_GADGET=y
CONFIG_MMC_DW_DEBUG=y
CONFIG_MMC_DW_FORCE_32BIT_SFR_RW=y
CONFIG_LEDS_S2MPB02=y
+CONFIG_LEDS_S2MU106_FLASH=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_S2MPU09=y
CONFIG_DMADEVICES=y
CONFIG_USBPD_S2MM005=y
CONFIG_USBPD_ALTERNATE_MODE=y
CONFIG_CCIC_LPM_ENABLE=y
+CONFIG_USE_CCIC=y
+CONFIG_CCIC_S2MU106=y
+CONFIG_CCIC_VDM=y
+CONFIG_CCIC_SYSFS=y
CONFIG_VISION_SUPPORT=y
CONFIG_EXYNOS_VIPX=y
CONFIG_EXYNOS_VIPX_EXYNOS9610=y
CONFIG_CMDLINE_EXTEND=y
# CONFIG_SCSC_WIFI_NAN_ENABLE is not set
CONFIG_SCSC_WLAN_MAX_INTERFACES=12
+#CONFIG_SARSENSOR_SX9325=y
+CONFIG_SARSENSOR_SX9331=y
+CONFIG_NFC=y
+CONFIG_SEC_NFC=y
+CONFIG_SEC_NFC_PRODUCT_N5=y
+CONFIG_SEC_NFC_IF_I2C=y
+CONFIG_SEC_NFC_LDO_EN=y
+CONFIG_SEC_NFC_CLK_REQ=y
+CONFIG_SENSORS_CLASS=y
+CONFIG_INPUT_EGISTEC_320=y
+CONFIG_AW8695_HAPTIC=y
+CONFIG_MOT_UTAG=y
+CONFIG_HWMON=y
+CONFIG_SENSORS_NTC_THERMISTOR=y
+CONFIG_BACKLIGHT_SGM37603=y
+CONFIG_BACKLIGHT_LM36923=y
static int smbchg_chg_system_temp_level_set(struct s2mu00x_battery_info *chip,
int lvl_sel)
{
- struct s2mu00x_battery_info *battery =
- container_of(work, struct s2mu00x_battery_info, soc_control.work);
- pr_err("%s \n", __func__);
- return 1;
-}
-
-static ssize_t charger_set_store(struct device *dev,
- struct device_attribute *devattr, const char *buf, size_t count)
-{
- struct power_supply *psy = dev_get_drvdata(dev);
- struct s2mu00x_battery_info *battery = power_supply_get_drvdata(psy);
- int enable;
-
- sscanf(buf, "%d", &enable);
- pr_err("%s enable: %d\n", __func__, enable);
-
- if(enable == 1) {
- battery->cable_type = POWER_SUPPLY_TYPE_MAINS;
- alarm_cancel(&battery->monitor_alarm);
- wake_lock(&battery->monitor_wake_lock);
- queue_delayed_work(battery->monitor_wqueue, &battery->monitor_work, 0);
- }
- else {
- battery->cable_type = POWER_SUPPLY_TYPE_BATTERY;
- alarm_cancel(&battery->monitor_alarm);
- wake_lock(&battery->monitor_wake_lock);
- queue_delayed_work(battery->monitor_wqueue, &battery->monitor_work, 0);
-
- }
- return count;
-}
-static ssize_t charger_status_show(struct device *dev,
- struct device_attribute *attr, char *buf)
-{
- struct power_supply *psy = dev_get_drvdata(dev);
- struct s2mu00x_battery_info *battery = power_supply_get_drvdata(psy);
-
- if(battery->cable_type == POWER_SUPPLY_TYPE_MAINS)
- return sprintf(buf, "1\n");
- else
- return sprintf(buf, "0\n");
-
- pr_err("%s \n", __func__);
- return 1;
-}
-static ssize_t charger_status_store(struct device *dev,
- struct device_attribute *devattr, const char *buf, size_t count)
-{
- pr_err("%s \n", __func__);
- return count;
-}
-
-static ssize_t charger_current_show(struct device *dev,
- struct device_attribute *attr, char *buf)
-{
- struct power_supply *psy = dev_get_drvdata(dev);
- struct s2mu00x_battery_info *battery = power_supply_get_drvdata(psy);
-
- return sprintf(buf, "Input current limit : %d , Charging current limit: %d\n", battery->input_current, battery->charging_current);
-}
-
-static ssize_t charger_current_store(struct device *dev,
- struct device_attribute *devattr, const char *buf, size_t count)
-{
- struct power_supply *psy = dev_get_drvdata(dev);
- struct s2mu00x_battery_info *battery = power_supply_get_drvdata(psy);
- int thermal_enable, thermal_fast_charge_percentage;
-
- sscanf(buf, "%d %d", &thermal_enable, &thermal_fast_charge_percentage);
- pr_err("%s thermal_enable: %d thermal_fast_charge_percentage: %d\n", __func__,
- thermal_enable, thermal_fast_charge_percentage);
-
- battery->thermal_enable = thermal_enable;
- battery->thermal_fast_charge_percentage = thermal_fast_charge_percentage;
-
- set_charging_current(battery);
-
-
- pr_err("%s \n", __func__);
- return count;
-}
-DEVICE_ATTR(charger_set, 0664, charger_set_show, charger_set_store);
-DEVICE_ATTR(charger_status, 0664, charger_status_show, charger_status_store);
-DEVICE_ATTR(charger_current, 0664, charger_current_show, charger_current_store);
-
-#if 0
-static struct device_attribute s2mu00x_battery_attrs[] = {
- dev_attr_charger_set,
- dev_attr_charger_status,
-};
-#endif
+ int rc = 0;
+ int prev_therm_lvl;
if (!chip->chg_thermal_mitigation) {
dev_err(chip->dev, "Charge thermal mitigation not supported\n");
return -EINVAL;
}
- queue_delayed_work(battery->monitor_wqueue, &battery->soc_control, 10*HZ);
- ret = device_create_file(dev, &dev_attr_charger_status);
- if (ret)
- goto create_attrs_failed;
-
- ret = device_create_file(dev, &dev_attr_charger_current);
- if (ret)
- goto create_attrs_failed;
-
-
- goto create_attrs_succeed;
-
-create_attrs_failed:
- device_remove_file(dev, &dev_attr_charger_set);
- device_remove_file(dev, &dev_attr_charger_status);
-
-#endif
-create_attrs_succeed:
- return ret;
-}
+ if (lvl_sel >= chip->chg_thermal_levels) {
+ dev_err(chip->dev,
+ "Unsupported charge level selected %d forcing %d\n",
+ lvl_sel, chip->chg_thermal_levels - 1);
+ lvl_sel = chip->chg_thermal_levels - 1;
+ }
if (lvl_sel == chip->chg_therm_lvl_sel)
return 0;
battery->monitor_alarm_interval = DEFAULT_ALARM_INTERVAL;
#if defined(CONFIG_USE_CCIC)
+#if defined(CONFIG_USE_PDO_SELECT)
INIT_DELAYED_WORK(&battery->select_pdo_work, usbpd_select_pdo_work);
+#endif
#endif
/* Register power supply to framework */
psy_cfg.drv_data = battery;