/linux-6.14.4/drivers/usb/typec/ |
D | retimer.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * USB Type-C Retimer support. 18 #include "retimer.h" 35 return dev ? to_typec_retimer(dev) : ERR_PTR(-EPROBE_DEFER); in typec_retimer_match() 39 * fwnode_typec_retimer_get - Find USB Type-C retimer. 42 * Finds a retimer linked to the caller. This function is primarily meant for the 43 * Type-C drivers. Returns a reference to the retimer on success, NULL if no 44 * matching connection was found, or ERR_PTR(-EPROBE_DEFER) when a connection 45 * was found but the retimer has not been enumerated yet. 49 struct typec_retimer *retimer; in fwnode_typec_retimer_get() local [all …]
|
D | class.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * USB Type-C Connector Class 29 /* ------------------------------------------------------------------------- */ 66 return partner->identity; in get_pd_identity() 70 return cable->identity; in get_pd_identity() 77 struct typec_port *port = to_typec_port(dev->parent); in get_pd_product_type() 85 if (port->data_role == TYPEC_HOST) in get_pd_product_type() 86 ptype = product_type_ufp[PD_IDH_PTYPE(id->id_header)]; in get_pd_product_type() 88 ptype = product_type_dfp[PD_IDH_DFP_PTYPE(id->id_header)]; in get_pd_product_type() 91 ptype = product_type_cable[PD_IDH_PTYPE(id->id_header)]; in get_pd_product_type() [all …]
|
/linux-6.14.4/drivers/platform/chrome/ |
D | cros_typec_switch.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * This driver provides the ability to configure Type-C muxes and retimers which are controlled by 25 struct typec_retimer *retimer; member 29 /* Driver-specific data. */ 48 return cros_ec_cmd(sdata->ec, 0, EC_CMD_TYPEC_CONTROL, &req, sizeof(req), NULL, 0); in cros_typec_cmd_mux_set() 53 int ret = -EOPNOTSUPP; in cros_typec_get_mux_state() 60 } else if (alt && alt->svid == USB_TYPEC_DP_SID) { in cros_typec_get_mux_state() 62 pin_assign = mode - TYPEC_STATE_MODAL; in cros_typec_get_mux_state() 79 return cros_ec_cmd(sdata->ec, 0, EC_CMD_TYPEC_CONTROL, &req, sizeof(req), NULL, 0); in cros_typec_send_clear_event() 90 ret = cros_ec_cmd(sdata->ec, 0, EC_CMD_TYPEC_STATUS, &req, sizeof(req), in cros_typec_check_event() [all …]
|
D | cros_ec_typec.c | 1 // SPDX-License-Identifier: GPL-2.0-only 23 #define DRV_NAME "cros-ec-typec" 33 /* Supply the USB role switch with the correct pld_crc if it's missing. */ in cros_typec_role_switch_quirk() 34 switch_fwnode = fwnode_find_reference(fwnode, "usb-role-switch", 0); in cros_typec_role_switch_quirk() 38 if (adev && !adev->pld_crc) in cros_typec_role_switch_quirk() 39 adev->pld_crc = to_acpi_device_node(fwnode)->pld_crc; in cros_typec_role_switch_quirk() 53 ret = fwnode_property_read_string(fwnode, "power-role", &buf); in cros_typec_parse_port_props() 55 dev_err(dev, "power-role not found: %d\n", ret); in cros_typec_parse_port_props() 62 cap->type = ret; in cros_typec_parse_port_props() 64 ret = fwnode_property_read_string(fwnode, "data-role", &buf); in cros_typec_parse_port_props() [all …]
|
D | cros_ec_typec.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 30 /* Platform-specific data for the Chrome OS EC Type C controller. */ 61 struct typec_retimer *retimer; member 64 /* Variables keeping track of switch state. */ 78 /* PDO-related structs */
|
/linux-6.14.4/drivers/usb/typec/mux/ |
D | ptn36502.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * NXP PTN36502 Type-C driver 11 #include <drm/bridge/aux-bridge.h> 67 struct typec_retimer *retimer; member 72 struct mutex lock; /* protect non-concurrent retimer & switch */ 81 bool reverse = (ptn->orientation == TYPEC_ORIENTATION_REVERSE); in ptn36502_set() 86 switch (ptn->mode) { in ptn36502_set() 89 regmap_write(ptn->regmap, PTN36502_MODE_CTRL1_REG, in ptn36502_set() 97 * A -> USB RX in ptn36502_set() 98 * B -> USB TX in ptn36502_set() [all …]
|
D | nb7vpq904m.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * OnSemi NB7VPQ904M Type-C driver 14 #include <drm/bridge/aux-bridge.h> 68 struct typec_retimer *retimer; member 74 struct mutex lock; /* protect non-concurrent retimer & switch */ 97 regmap_update_bits(nb7->regmap, EQ_SETTING_REG(channel), in nb7vpq904m_set_channel() 99 regmap_update_bits(nb7->regmap, OUTPUT_COMPRESSION_AND_POL_REG(channel), in nb7vpq904m_set_channel() 101 regmap_update_bits(nb7->regmap, FLAT_GAIN_REG(channel), in nb7vpq904m_set_channel() 103 regmap_update_bits(nb7->regmap, LOSS_MATCH_REG(channel), in nb7vpq904m_set_channel() 109 bool reverse = (nb7->orientation == TYPEC_ORIENTATION_REVERSE); in nb7vpq904m_set() [all …]
|
/linux-6.14.4/drivers/thunderbolt/ |
D | usb4.c | 1 // SPDX-License-Identifier: GPL-2.0 87 return -EOPNOTSUPP; in usb4_native_switch_op() 112 const struct tb_cm_ops *cm_ops = sw->tb->cm_ops; in __usb4_switch_op() 115 return -EINVAL; in __usb4_switch_op() 122 if (cm_ops->usb4_switch_op) { in __usb4_switch_op() 125 ret = cm_ops->usb4_switch_op(sw, opcode, metadata, status, in __usb4_switch_op() 128 if (ret != -EOPNOTSUPP) in __usb4_switch_op() 157 * usb4_switch_check_wakes() - Check for wakes and notify PM core about them 186 if (!port->cap_usb4) in usb4_switch_check_wakes() 190 port->cap_usb4 + PORT_CS_18, 1)) in usb4_switch_check_wakes() [all …]
|
D | tb.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Thunderbolt driver - bus logic (NHI independent) 13 #include <linux/nvmem-provider.h> 31 * struct tb_nvm - Structure holding NVM information 38 * @non_active: Non-active portion NVMem device 79 * enum tb_switch_tmu_mode - TMU mode 81 * @TB_SWITCH_TMU_MODE_LOWRES: Uni-directional, normal mode 82 * @TB_SWITCH_TMU_MODE_HIFI_UNI: Uni-directional, HiFi mode 83 * @TB_SWITCH_TMU_MODE_HIFI_BI: Bi-directional, HiFi mode 84 * @TB_SWITCH_TMU_MODE_MEDRES_ENHANCED_UNI: Enhanced Uni-directional, MedRes mode [all …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 ccflags-y := -I$(src) 3 obj-${CONFIG_USB4} := thunderbolt.o 4 thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o 5 thunderbolt-objs += domain.o dma_port.o icm.o property.o xdomain.o lc.o tmu.o usb4.o 6 thunderbolt-objs += usb4_port.o nvm.o retimer.o quirks.o clx.o 8 thunderbolt-${CONFIG_ACPI} += acpi.o 9 thunderbolt-$(CONFIG_DEBUG_FS) += debugfs.o 10 thunderbolt-${CONFIG_USB4_KUNIT_TEST} += test.o 13 thunderbolt_dma_test-${CONFIG_USB4_DMA_TEST} += dma_test.o [all …]
|
D | nvm.c | 1 // SPDX-License-Identifier: GPL-2.0 32 * struct tb_nvm_vendor_ops - Vendor specific NVM operations 44 * struct tb_nvm_vendor - Vendor to &struct tb_nvm_vendor_ops mapping 58 struct tb_switch *sw = tb_to_switch(nvm->dev); in intel_switch_nvm_version() 63 * If the switch is in safe-mode the only accessible portion of in intel_switch_nvm_version() 64 * the NVM is the non-active one where userspace is expected to in intel_switch_nvm_version() 67 if (sw->safe_mode) in intel_switch_nvm_version() 74 hdr_size = sw->generation < 3 ? SZ_8K : SZ_16K; in intel_switch_nvm_version() 76 nvm_size = (nvm_size - hdr_size) / 2; in intel_switch_nvm_version() 82 nvm->major = (val >> 16) & 0xff; in intel_switch_nvm_version() [all …]
|
D | debugfs.c | 1 // SPDX-License-Identifier: GPL-2.0 89 /* Sideband registers for retimer */ 106 return single_open(file, __space ## _show, inode->i_private); \ 133 return ERR_PTR(-EINVAL); in validate_and_copy_from_user() 136 return ERR_PTR(-EFAULT); in validate_and_copy_from_user() 140 return ERR_PTR(-ENOMEM); in validate_and_copy_from_user() 145 return ERR_PTR(-EFAULT); in validate_and_copy_from_user() 189 *val = v[short_fmt_len - 1]; in parse_line() 193 *val = v[long_fmt_len - 1]; in parse_line() 209 u32 offs = offset - index; in path_write_one() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/usb/ |
D | nxp,ptn36502.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NXP PTN36502 Type-C USB 3.1 Gen 1 and DisplayPort v1.2 combo redriver 10 - Luca Weiss <[email protected]> 15 - nxp,ptn36502 20 vdd18-supply: 23 orientation-switch: true 24 retimer-switch: true 31 description: Super Speed (SS) Output endpoint to the Type-C connector [all …]
|
D | onnn,nb7vpq904m.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ON Semiconductor Type-C DisplayPort ALT Mode Linear Redriver 10 - Neil Armstrong <[email protected]> 15 - onnn,nb7vpq904m 20 vcc-supply: 23 enable-gpios: true 24 orientation-switch: true 25 retimer-switch: true [all …]
|
D | usb-switch.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/usb/usb-switch.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Greg Kroah-Hartman <[email protected]> 16 mode-switch: 20 orientation-switch: 24 retimer-switch: 40 Super Speed (SS) Output endpoint to the Type-C connector 43 $ref: /schemas/graph.yaml#/$defs/port-base [all …]
|
/linux-6.14.4/drivers/soc/qcom/ |
D | pmic_glink_altmode.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. 15 #include <drm/bridge/aux-bridge.h> 118 guard(mutex)(&altmode->lock); in pmic_glink_altmode_request() 120 req.hdr.owner = cpu_to_le32(altmode->owner_id); in pmic_glink_altmode_request() 126 ret = pmic_glink_send(altmode->client, &req, sizeof(req)); in pmic_glink_altmode_request() 128 dev_err(altmode->dev, "failed to send altmode request: %#x (%d)\n", cmd, ret); in pmic_glink_altmode_request() 132 left = wait_for_completion_timeout(&altmode->pan_ack, 5 * HZ); in pmic_glink_altmode_request() 134 dev_err(altmode->dev, "timeout waiting for altmode request ack for: %#x\n", cmd); in pmic_glink_altmode_request() 135 return -ETIMEDOUT; in pmic_glink_altmode_request() [all …]
|
/linux-6.14.4/arch/arm64/boot/dts/qcom/ |
D | qcs8550-aim300-aiot.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 3 * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved. 6 /dts-v1/; 8 #include <dt-bindings/leds/common.h> 9 #include "qcs8550-aim300.dtsi" 16 compatible = "qcom,qcs8550-aim300-aiot", "qcom,qcs8550-aim300", "qcom,qcs8550", 24 stdout-path = "serial0:115200n8"; 27 gpio-keys { 28 compatible = "gpio-keys"; 30 pinctrl-0 = <&volume_up_n>; [all …]
|
D | x1e80100-asus-vivobook-s15.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 7 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/gpio-keys.h> 11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 15 #include "x1e80100-pmics.dtsi" 19 compatible = "asus,vivobook-s15", "qcom,x1e80100"; 20 chassis-type = "laptop"; 22 gpio-keys { [all …]
|
D | x1e80100-dell-xps13-9345.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 7 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/gpio-keys.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/leds/common.h> 13 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 16 #include "x1e80100-pmics.dtsi" 20 compatible = "dell,xps13-9345", "qcom,x1e80100"; 21 chassis-type = "laptop"; [all …]
|
D | x1e001de-devkit.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 6 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12 #include "x1e80100-pmics.dtsi" 16 compatible = "qcom,x1e001de-devkit", "qcom,x1e001de", "qcom,x1e80100"; 22 wcd938x: audio-codec { 23 compatible = "qcom,wcd9385-codec"; 25 pinctrl-names = "default"; 26 pinctrl-0 = <&wcd_default>; [all …]
|
D | x1e80100-hp-omnibook-x14.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 7 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/gpio-keys.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 13 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 16 #include "x1e80100-pmics.dtsi" 20 compatible = "hp,omnibook-x14", "qcom,x1e80100"; 21 chassis-type = "laptop"; [all …]
|
D | sm8550-qrd.dts | 1 // SPDX-License-Identifier: BSD-3-Clause 6 /dts-v1/; 8 #include <dt-bindings/leds/common.h> 9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 23 compatible = "qcom,sm8550-qrd", "qcom,sm8550"; 24 chassis-type = "handset"; 31 wcd938x: audio-codec { 32 compatible = "qcom,wcd9385-codec"; 34 pinctrl-names = "default"; 35 pinctrl-0 = <&wcd_default>; [all …]
|
/linux-6.14.4/drivers/gpu/drm/amd/display/dc/link/ |
D | link_dpms.c | 31 * TODO - The reason link owns stream's dpms programming sequence is 83 for (i = 0; i < dc->link_count; i++) { in link_blank_all_dp_displays() 84 if ((dc->links[i]->connector_signal != SIGNAL_TYPE_DISPLAY_PORT) || in link_blank_all_dp_displays() 85 (dc->links[i]->priv == NULL) || (dc->links[i]->local_sink == NULL)) in link_blank_all_dp_displays() 89 dp_retrieve_lttpr_cap(dc->links[i]); in link_blank_all_dp_displays() 91 status = core_link_read_dpcd(dc->links[i], DP_SET_POWER, in link_blank_all_dp_displays() 95 link_blank_dp_stream(dc->links[i], true); in link_blank_all_dp_displays() 106 for (i = 0; i < dc->link_count; i++) { in link_blank_all_edp_displays() 107 if ((dc->links[i]->connector_signal != SIGNAL_TYPE_EDP) || in link_blank_all_edp_displays() 108 (!dc->links[i]->edp_sink_present)) in link_blank_all_edp_displays() [all …]
|
/linux-6.14.4/arch/arm/boot/dts/aspeed/ |
D | aspeed-bmc-facebook-harma.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/i2c/i2c.h> 11 compatible = "facebook,harma-bmc", "aspeed,ast2600"; 32 stdout-path = &uart5; 40 iio-hwmon { 41 compatible = "iio-hwmon"; 42 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, [all …]
|
/linux-6.14.4/drivers/hwmon/ |
D | intel-m10-bmc-hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2020 Intel Corporation. All rights reserved. 10 #include <linux/mfd/intel-m10-bmc.h> 43 { 0x168, 0x0, 0x0, 0x0, 0x0, 500, "Retimer A Temperature" }, 44 { 0x16c, 0x0, 0x0, 0x0, 0x0, 500, "Retimer A SerDes Temperature" }, 45 { 0x170, 0x0, 0x0, 0x0, 0x0, 500, "Retimer B Temperature" }, 46 { 0x174, 0x0, 0x0, 0x0, 0x0, 500, "Retimer B SerDes Temperature" }, 243 { 0x1a8, 0x0, 0x0, 0x0, 0x0, 1000, "QSFP28-1 Temperature" }, 244 { 0x1ac, 0x0, 0x0, 0x0, 0x0, 1000, "QSFP28-2 Temperature" }, 245 { 0x1b0, 0x0, 0x0, 0x0, 0x0, 1000, "QSFP28-3 Temperature" }, [all …]
|