{}
 };
 
+static const struct property_entry dwc3_pci_intel_phy_charger_detect_properties[] = {
+       PROPERTY_ENTRY_STRING("dr_mode", "peripheral"),
+       PROPERTY_ENTRY_BOOL("snps,dis_u2_susphy_quirk"),
+       PROPERTY_ENTRY_BOOL("linux,phy_charger_detect"),
+       PROPERTY_ENTRY_BOOL("linux,sysdev_is_parent"),
+       {}
+};
+
 static const struct property_entry dwc3_pci_mrfld_properties[] = {
        PROPERTY_ENTRY_STRING("dr_mode", "otg"),
        PROPERTY_ENTRY_STRING("linux,extcon-name", "mrfld_bcove_pwrsrc"),
        .properties = dwc3_pci_intel_properties,
 };
 
+static const struct software_node dwc3_pci_intel_phy_charger_detect_swnode = {
+       .properties = dwc3_pci_intel_phy_charger_detect_properties,
+};
+
 static const struct software_node dwc3_pci_intel_mrfld_swnode = {
        .properties = dwc3_pci_mrfld_properties,
 };
                                gpiod_put(gpio);
                                usleep_range(10000, 11000);
                        }
+
+                       /*
+                        * Some Android tablets with a Crystal Cove PMIC
+                        * (INT33FD), rely on the TUSB1211 phy for charger
+                        * detection. These can be identified by them _not_
+                        * using the standard ACPI battery and ac drivers.
+                        */
+                       if (acpi_dev_present("INT33FD", "1", 2) &&
+                           acpi_quirk_skip_acpi_ac_and_battery()) {
+                               dev_info(&pdev->dev, "Using TUSB1211 phy for charger detection\n");
+                               swnode = &dwc3_pci_intel_phy_charger_detect_swnode;
+                       }
                }
        }