--- 09278c2dce46fbc63ffc421ac5859b885f542147 +++ db5dda828fc12e3e7386091a9fe0fc049af116b6 @@ -50,7 +50,6 @@ #ifdef CONFIG_VIBETONZ #include #endif - #include #ifdef CONFIG_SND_SOC_ES325 #include @@ -89,7 +88,6 @@ #include #include #include "clock.h" - #include #ifdef CONFIG_KEYBOARD_CYPRESS_TOUCH_236 @@ -400,6 +398,7 @@ static void irda_device_init(void) .output_value = 0, }; printk(KERN_ERR "%s called!\n", __func__); + gpio_request(PM8921_GPIO_PM_TO_SYS(PMIC_GPIO_IRDA_WAKE), "irda_wake"); gpio_direction_output(PM8921_GPIO_PM_TO_SYS(PMIC_GPIO_IRDA_WAKE), 0); pm8xxx_gpio_config(PM8921_GPIO_PM_TO_SYS( \ @@ -1259,6 +1258,12 @@ static void __init apq8064_early_reserve static struct msm_bus_vectors hsic_init_vectors[] = { { .src = MSM_BUS_MASTER_SPS, + .dst = MSM_BUS_SLAVE_EBI_CH0, + .ab = 0, + .ib = 0, + }, + { + .src = MSM_BUS_MASTER_SPS, .dst = MSM_BUS_SLAVE_SPS, .ab = 0, .ib = 0, @@ -1269,9 +1274,15 @@ static struct msm_bus_vectors hsic_init_ static struct msm_bus_vectors hsic_max_vectors[] = { { .src = MSM_BUS_MASTER_SPS, + .dst = MSM_BUS_SLAVE_EBI_CH0, + .ab = 60000000, /* At least 480Mbps on bus. */ + .ib = 960000000, /* MAX bursts rate */ + }, + { + .src = MSM_BUS_MASTER_SPS, .dst = MSM_BUS_SLAVE_SPS, .ab = 0, - .ib = 256000000, /*vote for 32Mhz dfab clk rate*/ + .ib = 512000000, /*vote for 64Mhz dfab clk rate*/ }, }; @@ -1466,9 +1477,9 @@ static void sii8240_hw_onoff(bool onoff) if (mhl_l12 == NULL) { mhl_l12 = regulator_get(NULL, "8921_l12"); if (IS_ERR(mhl_l12)) - return ; + return; rc = regulator_set_voltage(mhl_l12, - 1200000, 1200000); + 1200000, 1200000); if (rc) pr_err("error: setting for mhl_l12\n"); } @@ -1500,7 +1511,6 @@ static void sii8240_hw_onoff(bool onoff) ice_gpiox_set(FPGA_VSIL_A_1P2_EN, 1); if (system_rev >= 4 && system_rev < 6) gpio_direction_output(PM8921_GPIO_PM_TO_SYS(32), 1); - } else { if (system_rev >= 6) ice_gpiox_set(FPGA_VSIL_A_1P2_EN, 0); @@ -1556,7 +1566,7 @@ static void sii8240_hw_reset(void) if (system_rev < 6) { if (gpio_direction_output(GPIO_MHL_RST, 1)) pr_err("%s error in making GPIO_MHL_RST HIGH\n", - __func__); + __func__); usleep_range(5000, 20000); if (gpio_direction_output(GPIO_MHL_RST, 0)) @@ -1917,46 +1927,6 @@ struct pm8xxx_mpp_config_data mpp4_cfg = #define MPP_MCU_NRST PM8921_MPP_PM_TO_SYS(4) -static void clear_ssp_gpio(void) -{ - struct pm_gpio ap_mcu_int_cfg = { - .direction = PM_GPIO_DIR_IN, - .pull = PM_GPIO_PULL_DN, - .vin_sel = 2, - .function = PM_GPIO_FUNC_NORMAL, - .inv_int_pol = 0, - }; - struct pm_gpio mcu_ap_int_2_cfg = { - .direction = PM_GPIO_DIR_IN, - .pull = PM_GPIO_PULL_DN, - .vin_sel = 2, - .function = PM_GPIO_FUNC_NORMAL, - .inv_int_pol = 0, - }; - struct pm_gpio mcu_ap_int_cfg = { - .direction = PM_GPIO_DIR_IN, - .pull = PM_GPIO_PULL_DN, - .vin_sel = 2, - .function = PM_GPIO_FUNC_NORMAL, - .inv_int_pol = 0, - }; - struct pm_gpio ap_mcu_nrst_cfg = { - .direction = PM_GPIO_DIR_IN, - .pull = PM_GPIO_PULL_DN, - .vin_sel = 2, - .function = PM_GPIO_FUNC_NORMAL, - .inv_int_pol = 0, - }; - - pm8xxx_gpio_config(GPIO_AP_MCU_INT, &ap_mcu_int_cfg); - pm8xxx_gpio_config(GPIO_MCU_AP_INT, &mcu_ap_int_cfg); - pm8xxx_gpio_config(GPIO_MCU_AP_INT_2, &mcu_ap_int_2_cfg); - if (system_rev >= 5) - pm8xxx_gpio_config(GPIO_MCU_NRST, &ap_mcu_nrst_cfg); - mdelay(1); - pr_info("[SSP] %s done\n", __func__); -} - static int initialize_ssp_gpio(void) { int err; @@ -2339,6 +2309,7 @@ static int ice4_clock_en(int onoff) } return 0; } + static void barcode_emul_poweron(int onoff) { int ret; @@ -2458,18 +2429,16 @@ static void barcode_gpio_config(void) pr_info("%s\n", __func__); pm8xxx_gpio_config(PM8921_GPIO_PM_TO_SYS( \ PMIC_GPIO_FPGA_RST_N), &creset_b); - gpio_request_one(GPIO_FPGA_CDONE, GPIOF_IN, "FPGA_CDONE"); if (system_rev < BOARD_REV06) gpio_request_one(GPIO_FPGA_SPI_EN, GPIOF_OUT_INIT_LOW, "FPGA_SPI_EN"); - if (system_rev > BOARD_REV05) { + if (system_rev > BOARD_REV05) pm8xxx_gpio_config(PM8921_GPIO_PM_TO_SYS( \ PMIC_GPIO_FPGA_CRESET_B), &creset_b); - } else { + else gpio_request_one(GPIO_FPGA_CRESET_B, GPIOF_OUT_INIT_LOW, "FPGA_CRESET_B"); - } if (system_rev > BOARD_REV03 && system_rev < BOARD_REV06) barcode_emul_info.fw_type = ICE_19M; else if (system_rev > BOARD_REV05 && system_rev < BOARD_REV09) @@ -3382,9 +3351,9 @@ static struct platform_device msm_tsens_ }; static struct msm_thermal_data msm_thermal_pdata = { - .sensor_id = 7, + .sensor_id = 0, .poll_ms = 250, - .limit_temp_degC = 60, + .limit_temp_degC = 75, .temp_hysteresis_degC = 10, .freq_step = 2, }; @@ -3452,14 +3421,14 @@ static struct msm_rpmrs_level msm_rpmrs_ MSM_PM_SLEEP_MODE_WAIT_FOR_INTERRUPT, MSM_RPMRS_LIMITS(ON, ACTIVE, MAX, ACTIVE), true, - 1, 784, 180000, 100, + 1, 650, 180000, 100, }, { MSM_PM_SLEEP_MODE_RETENTION, MSM_RPMRS_LIMITS(ON, ACTIVE, MAX, ACTIVE), true, - 415, 715, 340827, 475, + 415, 650, 340827, 475, }, { @@ -5263,6 +5232,7 @@ static void main_mic_bias_init(void) static void __init gpio_rev_init(void) { + #ifdef CONFIG_SEC_FPGA barcode_i2c_gpio_data.sda_pin = PM8921_MPP_PM_TO_SYS(PMIC_MPP_FPGA_SPI_SI); @@ -5410,7 +5380,7 @@ static void __init apq8064_common_init(v machine_is_mpq8064_dtv())) platform_add_devices(common_not_mpq_devices, ARRAY_SIZE(common_not_mpq_devices)); - + #ifdef CONFIG_KEYBOARD_CYPRESS_TOUCH_236 if (system_rev < 9) platform_device_register(&touchkey_i2c_gpio_device); @@ -5460,7 +5430,7 @@ static void __init apq8064_common_init(v apq8064_epm_adc_init(); msm_pm_set_tz_retention_flag(1); samsung_sys_class_init(); - + #ifdef CONFIG_MFD_MAX77693 gpio_tlmm_config(GPIO_CFG(GPIO_IF_PMIC_IRQ, 0, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA), GPIO_CFG_DISABLE); @@ -5575,7 +5545,6 @@ static void __init samsung_jf_init(void) apq8064_init_cam(); #endif #ifdef CONFIG_SENSORS_SSP - clear_ssp_gpio(); sensor_power_on_vdd(SNS_PWR_ON, SNS_PWR_ON); initialize_ssp_gpio(); #endif