Home
last modified time | relevance | path

Searched +full:retimer +full:- +full:switch (Results 1 – 25 of 38) sorted by relevance

12

/linux-6.14.4/drivers/usb/typec/
Dretimer.c1 // 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 …]
Dclass.c1 // 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/
Dcros_typec_switch.c1 // 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 …]
Dcros_ec_typec.c1 // 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 …]
Dcros_ec_typec.h1 /* 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/
Dptn36502.c1 // 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 …]
Dnb7vpq904m.c1 // 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/
Dusb4.c1 // 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 …]
Dtb.h1 /* 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 …]
DMakefile1 # 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 …]
Dnvm.c1 // 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 …]
Ddebugfs.c1 // 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/
Dnxp,ptn36502.yaml1 # 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 …]
Donnn,nb7vpq904m.yaml1 # 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 …]
Dusb-switch.yaml1 # 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/
Dpmic_glink_altmode.c1 // 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/
Dqcs8550-aim300-aiot.dts1 // 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 …]
Dx1e80100-asus-vivobook-s15.dts1 // 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 …]
Dx1e80100-dell-xps13-9345.dts1 // 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 …]
Dx1e001de-devkit.dts1 // 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 …]
Dx1e80100-hp-omnibook-x14.dts1 // 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 …]
Dsm8550-qrd.dts1 // 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/
Dlink_dpms.c31 * 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/
Daspeed-bmc-facebook-harma.dts1 // 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/
Dintel-m10-bmc-hwmon.c1 // 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 …]

12