Home
last modified time | relevance | path

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

12

/linux/drivers/usb/typec/mux/
H A Dps883x.c1 // SPDX-License-Identifier: GPL-2.0+
3 * Parade ps883x usb retimer driver
8 #include <drm/bridge/aux-bridge.h>
49 struct typec_retimer *retimer; member
61 struct mutex lock; /* protect non-concurrent retimer & switch */
69 static int ps883x_configure(struct ps883x_retimer *retimer, int cfg0, in ps883x_configure() argument
72 struct device *dev = &retimer->client->dev; in ps883x_configure()
75 if (retimer->cfg0 == cfg0 && retimer->cfg1 == cfg1 && retimer->cfg2 == cfg2) in ps883x_configure()
78 ret = regmap_write(retimer->regmap, REG_USB_PORT_CONN_STATUS_0, cfg0); in ps883x_configure()
84 ret = regmap_write(retimer->regmap, REG_USB_PORT_CONN_STATUS_1, cfg1); in ps883x_configure()
[all …]
H A 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 …]
H A 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/drivers/usb/typec/
H A 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 …]
H A 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/Documentation/devicetree/bindings/usb/
H A Dparade,ps8830.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Parade PS883x USB and DisplayPort Retimer
10 - Abel Vesa <abel.vesa@linaro.org>
15 - items:
16 - const: parade,ps8833
17 - const: parade,ps8830
18 - const: parade,ps8830
25 - description: XO Clock
[all …]
H A 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 <luca.weiss@fairphone.com>
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 …]
H A 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 <neil.armstrong@linaro.org>
15 - onnn,nb7vpq904m
20 vcc-supply:
23 enable-gpios: true
24 orientation-switch: true
25 retimer-switch: true
[all …]
H A 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 <gregkh@linuxfoundation.org>
16 mode-switch:
20 orientation-switch:
24 retimer-switch:
/linux/drivers/thunderbolt/
H A Dusb4.c1 // SPDX-License-Identifier: GPL-2.0
88 return -EOPNOTSUPP; in usb4_native_switch_op()
113 const struct tb_cm_ops *cm_ops = sw->tb->cm_ops; in __usb4_switch_op()
116 return -EINVAL; in __usb4_switch_op()
123 if (cm_ops->usb4_switch_op) { in __usb4_switch_op()
126 ret = cm_ops->usb4_switch_op(sw, opcode, metadata, status, in __usb4_switch_op()
129 if (ret != -EOPNOTSUPP) in __usb4_switch_op()
158 * usb4_switch_check_wakes() - Check for wakes and notify PM core about them
187 if (!port->cap_usb4) in usb4_switch_check_wakes()
191 port->cap_usb4 + PORT_CS_18, 1)) in usb4_switch_check_wakes()
[all …]
H A 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 …]
H A 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 …]
H A Ddebugfs.c1 // SPDX-License-Identifier: GPL-2.0
90 /* Sideband registers for retimer */
107 return single_open(file, __space ## _show, inode->i_private); \
134 return ERR_PTR(-EINVAL); in validate_and_copy_from_user()
137 return ERR_PTR(-EFAULT); in validate_and_copy_from_user()
141 return ERR_PTR(-ENOMEM); in validate_and_copy_from_user()
146 return ERR_PTR(-EFAULT); in validate_and_copy_from_user()
190 *val = v[short_fmt_len - 1]; in parse_line()
194 *val = v[long_fmt_len - 1]; in parse_line()
210 u32 offs = offset - index; in path_write_one()
[all …]
/linux/drivers/platform/chrome/
H A Dcros_ec_typec.c1 // SPDX-License-Identifier: GPL-2.0-only
23 #define DRV_NAME "cros-ec-typec"
35 /* Supply the USB role switch with the correct pld_crc if it's missing. */ in cros_typec_role_switch_quirk()
36 switch_fwnode = fwnode_find_reference(fwnode, "usb-role-switch", 0); in cros_typec_role_switch_quirk()
40 if (adev && !adev->pld_crc) in cros_typec_role_switch_quirk()
41 adev->pld_crc = to_acpi_device_node(fwnode)->pld_crc; in cros_typec_role_switch_quirk()
51 .port = port->port_num, in cros_typec_enter_usb_mode()
57 return cros_ec_cmd(port->typec_data->ec, 0, EC_CMD_TYPEC_CONTROL, in cros_typec_enter_usb_mode()
64 struct cros_typec_data *data = port->typec_data; in cros_typec_perform_role_swap()
70 if (!data->pd_ctrl_ver) in cros_typec_perform_role_swap()
[all …]
/linux/drivers/soc/qcom/
H A 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/arch/arm64/boot/dts/qcom/
H A 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 …]
H A Dhamoa-iot-evk.dts1 // SPDX-License-Identifier: BSD-3-Clause
6 /dts-v1/;
8 #include "hamoa-iot-som.dtsi"
12 compatible = "qcom,hamoa-iot-evk", "qcom,hamoa-iot-som", "qcom,x1e80100";
13 chassis-type = "embedded";
20 wcd938x: audio-codec {
21 compatible = "qcom,wcd9385-codec";
23 pinctrl-0 = <&wcd_default>;
24 pinctrl-names = "default";
26 reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
[all …]
H A 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 "hamoa-pmics.dtsi"
19 compatible = "asus,vivobook-s15", "qcom,x1e80100";
20 chassis-type = "laptop";
26 gpio-keys {
[all …]
H A 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 "hamoa-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 …]
H A Dx1e80100-lenovo-yoga-slim7x.dts1 // SPDX-License-Identifier: BSD-3-Clause
6 /dts-v1/;
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/gpio-keys.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13 #include "hamoa-pmics.dtsi"
17 compatible = "lenovo,yoga-slim7x", "qcom,x1e80100";
25 stdout-path = "serial0:115200n8";
28 gpio-keys {
29 compatible = "gpio-keys";
[all …]
H A Dx1-crd.dtsi1 // SPDX-License-Identifier: BSD-3-Clause
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/gpio-keys.h>
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12 #include "hamoa-pmics.dtsi"
16 compatible = "qcom,x1e80100-crd", "qcom,x1e80100";
22 wcd938x: audio-codec {
23 compatible = "qcom,wcd9385-codec";
[all …]
H A 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 "hamoa-pmics.dtsi"
20 compatible = "dell,xps13-9345", "qcom,x1e80100";
21 chassis-type = "laptop";
[all …]
/linux/drivers/gpu/drm/amd/display/dc/link/
H A 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/drivers/hwmon/
H A 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 …]
/linux/arch/arm/boot/dts/aspeed/
H A 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 …]

12