Lines Matching +full:op +full:- +full:sink +full:- +full:microwatt

1 // SPDX-License-Identifier: GPL-2.0
12 * 3. FUSB302 USB Type-C Controller
16 * instantiate I²C clients for chips 2 - 4, so that standard I²C drivers
38 * Grrr, I severely dislike buggy BIOS-es. At least one BIOS enumerates
62 static const char * const max17047_suppliers[] = { "bq24190-charger" };
65 PROPERTY_ENTRY_STRING_ARRAY("supplied-from", max17047_suppliers),
84 PROPERTY_ENTRY_STRING("linux,extcon-name", "cht_wcove_pwrsrc"),
85 PROPERTY_ENTRY_REF_ARRAY("usb-role-switch", fusb302_mux_refs),
115 PROPERTY_ENTRY_STRING("data-role", "dual"),
116 PROPERTY_ENTRY_STRING("power-role", "dual"),
117 PROPERTY_ENTRY_STRING("try-power-role", "sink"),
118 PROPERTY_ENTRY_U32_ARRAY("source-pdos", src_pdo),
119 PROPERTY_ENTRY_U32_ARRAY("sink-pdos", snk_pdo),
120 PROPERTY_ENTRY_U32("op-sink-microwatt", 2500000),
121 PROPERTY_ENTRY_REF("orientation-switch", &pi3usb30532_node),
122 PROPERTY_ENTRY_REF("mode-switch", &pi3usb30532_node),
145 .name = "displayport-altmode",
168 return -ENODEV; in cht_int33fe_setup_dp()
172 if (!pdev || pdev->vendor != PCI_VENDOR_ID_INTEL) { in cht_int33fe_setup_dp()
174 return -ENODEV; in cht_int33fe_setup_dp()
177 /* Then the DP-2 child device node */ in cht_int33fe_setup_dp()
178 data->dp = device_get_named_child_node(&pdev->dev, "DD04"); in cht_int33fe_setup_dp()
180 if (!data->dp) in cht_int33fe_setup_dp()
181 return -ENODEV; in cht_int33fe_setup_dp()
183 fwnode->secondary = ERR_PTR(-ENODEV); in cht_int33fe_setup_dp()
184 data->dp->secondary = fwnode; in cht_int33fe_setup_dp()
198 if (data->dp) { in cht_int33fe_remove_nodes()
199 data->dp->secondary = NULL; in cht_int33fe_remove_nodes()
200 fwnode_handle_put(data->dp); in cht_int33fe_remove_nodes()
201 data->dp = NULL; in cht_int33fe_remove_nodes()
214 * -EPROBE_DEFER until the mux device is registered. in cht_int33fe_add_nodes()
216 mux_ref_node = software_node_find_by_name(NULL, "intel-xhci-usb-sw"); in cht_int33fe_add_nodes()
218 return -EPROBE_DEFER; in cht_int33fe_add_nodes()
221 * Update node used in "usb-role-switch" property. Note that we in cht_int33fe_add_nodes()
259 return -ENODEV; in cht_int33fe_register_max17047()
263 /* Pre-existing I²C client for the max17047, add device properties */ in cht_int33fe_register_max17047()
264 set_secondary_fwnode(&max17047->dev, fwnode); in cht_int33fe_register_max17047()
265 /* And re-probe to get the new device properties applied */ in cht_int33fe_register_max17047()
266 ret = device_reprobe(&max17047->dev); in cht_int33fe_register_max17047()
276 data->battery_fg = i2c_acpi_new_device(dev, 1, &board_info); in cht_int33fe_register_max17047()
278 return PTR_ERR_OR_ZERO(data->battery_fg); in cht_int33fe_register_max17047()
287 * DMI decode dumps from linux-hardware.org only 116 have
305 struct device *dev = &pdev->dev; in cht_int33fe_typec_probe()
313 return -ENODEV; in cht_int33fe_typec_probe()
317 return -ENOMEM; in cht_int33fe_typec_probe()
320 * We expect the WC PMIC to be paired with a TI bq24292i charger-IC. in cht_int33fe_typec_probe()
323 * max-snk voltage to 12V with another charger-IC is not good. in cht_int33fe_typec_probe()
325 * regulator-map, which is part of the bq24292i regulator_init_data, in cht_int33fe_typec_probe()
327 * it will end up with a dummy-regulator. in cht_int33fe_typec_probe()
329 * which is defined in i2c-cht-wc.c from where the bq24292i I²C client in cht_int33fe_typec_probe()
331 * don't end up getting a dummy-regulator ourselves. in cht_int33fe_typec_probe()
336 return (ret == -ENODEV) ? -EPROBE_DEFER : ret; in cht_int33fe_typec_probe()
343 if (fusb302_irq != -EPROBE_DEFER) in cht_int33fe_typec_probe()
359 ret = -ENODEV; in cht_int33fe_typec_probe()
369 data->fusb302 = i2c_acpi_new_device(dev, 2, &board_info); in cht_int33fe_typec_probe()
370 if (IS_ERR(data->fusb302)) { in cht_int33fe_typec_probe()
371 ret = PTR_ERR(data->fusb302); in cht_int33fe_typec_probe()
377 ret = -ENODEV; in cht_int33fe_typec_probe()
386 data->pi3usb30532 = i2c_acpi_new_device(dev, 3, &board_info); in cht_int33fe_typec_probe()
387 if (IS_ERR(data->pi3usb30532)) { in cht_int33fe_typec_probe()
388 ret = PTR_ERR(data->pi3usb30532); in cht_int33fe_typec_probe()
397 i2c_unregister_device(data->fusb302); in cht_int33fe_typec_probe()
400 i2c_unregister_device(data->battery_fg); in cht_int33fe_typec_probe()
412 i2c_unregister_device(data->pi3usb30532); in cht_int33fe_typec_remove()
413 i2c_unregister_device(data->fusb302); in cht_int33fe_typec_remove()
414 i2c_unregister_device(data->battery_fg); in cht_int33fe_typec_remove()
426 .name = "Intel Cherry Trail ACPI INT33FE Type-C driver",
435 MODULE_DESCRIPTION("Intel Cherry Trail ACPI INT33FE Type-C pseudo device driver");