static struct intel_dwc_otg_pdata *get_otg_platform_data(struct pci_dev *pdev) { switch (pdev->device) { case PCI_DEVICE_ID_INTEL_MRFL_DWC3_OTG: dwc_otg_pdata.pmic_type = BASIN_COVE; dwc_otg_pdata.charger_detect_enable = 1; dwc_otg_pdata.charging_compliance = dwc_otg_get_usbspecoverride(); return &dwc_otg_pdata; default: break; } return NULL; }
static struct intel_dwc_otg_pdata *get_otg_platform_data(struct pci_dev *pdev) { switch (pdev->device) { case PCI_DEVICE_ID_INTEL_MRFL_DWC3_OTG: if (INTEL_MID_BOARD(1, PHONE, MOFD)) { dwc_otg_pdata.pmic_type = SHADY_COVE; dwc_otg_pdata.charger_detect_enable = 0; dwc_otg_pdata.usb2_phy_type = get_usb2_phy_type(); dwc_otg_pdata.charging_compliance = dwc_otg_get_usbspecoverride(MOFD_SMIP_VIOLATE_BC_ADDR); if (dwc_otg_pdata.usb2_phy_type == USB2_PHY_ULPI) dwc_otg_pdata.charger_detect_enable = 1; dwc_otg_pdata.ulpi_eye_calibrate = 0x7F; } else if (INTEL_MID_BOARD(1, PHONE, MRFL)) { dwc_otg_pdata.pmic_type = BASIN_COVE; dwc_otg_pdata.charger_detect_enable = 1; dwc_otg_pdata.charging_compliance = dwc_otg_get_usbspecoverride(MERR_SMIP_VIOLATE_BC_ADDR); dwc_otg_pdata.usb2_phy_type = USB2_PHY_ULPI; dwc_otg_pdata.ulpi_eye_calibrate = 0x7D; } else if (intel_mid_identify_sim() == INTEL_MID_CPU_SIMULATION_HVP) { dwc_otg_pdata.pmic_type = NO_PMIC; dwc_otg_pdata.is_hvp = 1; dwc_otg_pdata.charger_detect_enable = 0; dwc_otg_pdata.usb2_phy_type = USB2_PHY_ULPI; } return &dwc_otg_pdata; case PCI_DEVICE_ID_INTEL_BYT_OTG: /* FIXME: Hardcode now, but need to use ACPI table for GPIO */ if (INTEL_MID_BOARD(3, TABLET, BYT, BLK, PRO, RVP3) || INTEL_MID_BOARD(3, TABLET, BYT, BLK, ENG, RVP3)) { dwc_otg_pdata.gpio_cs = 156; dwc_otg_pdata.gpio_reset = 144; dwc_otg_pdata.ulpi_eye_calibrate = 0x4f; } else if (INTEL_MID_BOARD(3, TABLET, BYT, BLK, PRO, 8PR0) || INTEL_MID_BOARD(3, TABLET, BYT, BLK, ENG, 8PR0)) { dwc_otg_pdata.gpio_cs = 54; dwc_otg_pdata.gpio_reset = 144; dwc_otg_pdata.ulpi_eye_calibrate = 0x4f; } else if (INTEL_MID_BOARD(3, TABLET, BYT, BLK, PRO, 8PR1) || INTEL_MID_BOARD(3, TABLET, BYT, BLK, ENG, 8PR1)) { dwc_otg_pdata.gpio_cs = 54; dwc_otg_pdata.gpio_reset = 144; dwc_otg_pdata.ulpi_eye_calibrate = 0x7f; dwc_otg_pdata.sdp_charging = 0; dwc_otg_pdata.charger_detect_enable = 1; dwc_otg_pdata.gpio_id = 69; dwc_otg_pdata.charging_compliance = !dwc_otg_byt_get_usbspecoverride(); } else if (INTEL_MID_BOARD(3, TABLET, BYT, BLK, PRO, CRV2) || INTEL_MID_BOARD(3, TABLET, BYT, BLK, ENG, CRV2)) { dwc_otg_pdata.gpio_cs = 54; dwc_otg_pdata.gpio_reset = 144; dwc_otg_pdata.ulpi_eye_calibrate = 0x7f; dwc_otg_pdata.gpio_id = 156; dwc_otg_pdata.sdp_charging = 1; dwc_otg_pdata.charging_compliance = !dwc_otg_byt_get_usbspecoverride(); } return &dwc_otg_pdata; default: break; } return NULL; }