/linux/drivers/platform/chrome/ |
H A D | cros_ec_typec.c | 253 static int cros_typec_add_partner(struct cros_typec_data *typec, int port_num, in cros_typec_add_partner() argument 256 struct cros_typec_port *port = typec->ports[port_num]; in cros_typec_add_partner() 277 static void cros_typec_unregister_altmodes(struct cros_typec_data *typec, int port_num, in cros_typec_unregister_altmodes() argument 280 struct cros_typec_port *port = typec->ports[port_num]; in cros_typec_unregister_altmodes() 288 devm_kfree(typec->dev, node); in cros_typec_unregister_altmodes() 320 static void cros_typec_remove_partner(struct cros_typec_data *typec, in cros_typec_remove_partner() argument 323 struct cros_typec_port *port = typec->ports[port_num]; in cros_typec_remove_partner() 328 cros_typec_unregister_altmodes(typec, port_num, true); in cros_typec_remove_partner() 347 static void cros_typec_remove_cable(struct cros_typec_data *typec, in cros_typec_remove_cable() argument 350 struct cros_typec_port *port = typec->ports[port_num]; in cros_typec_remove_cable() [all …]
|
H A D | cros_typec_vdm.c | 20 void cros_typec_handle_vdm_attention(struct cros_typec_data *typec, int port_num) in cros_typec_handle_vdm_attention() argument 32 ret = cros_ec_cmd(typec->ec, 0, EC_CMD_TYPEC_VDM_RESPONSE, &req, in cros_typec_handle_vdm_attention() 35 dev_warn(typec->dev, "Failed VDM response fetch, port: %d\n", port_num); in cros_typec_handle_vdm_attention() 41 dev_dbg(typec->dev, "Received VDM Attention header: %x, port: %d\n", hdr, port_num); in cros_typec_handle_vdm_attention() 43 amode = typec_match_altmode(typec->ports[port_num]->port_altmode, in cros_typec_handle_vdm_attention() 46 dev_err(typec->dev, in cros_typec_handle_vdm_attention() 59 void cros_typec_handle_vdm_response(struct cros_typec_data *typec, int port_num) in cros_typec_handle_vdm_response() argument 70 ret = cros_ec_cmd(typec->ec, 0, EC_CMD_TYPEC_VDM_RESPONSE, &req, in cros_typec_handle_vdm_response() 73 dev_warn(typec->dev, "Failed VDM response fetch, port: %d\n", port_num); in cros_typec_handle_vdm_response() 79 dev_dbg(typec->dev, "Received VDM header: %x, port: %d\n", hdr, port_num); in cros_typec_handle_vdm_response() [all …]
|
H A D | cros_typec_vdm.h | 10 void cros_typec_handle_vdm_attention(struct cros_typec_data *typec, int port_num); 11 void cros_typec_handle_vdm_response(struct cros_typec_data *typec, int port_num);
|
H A D | Makefile | 21 cros-ec-typec-objs := cros_ec_typec.o cros_typec_vdm.o 23 cros-ec-typec-objs += cros_typec_altmode.o 25 obj-$(CONFIG_CROS_EC_TYPEC) += cros-ec-typec.o
|
/linux/drivers/usb/typec/ |
H A D | anx7411.c | 281 struct typec_params typec; member 345 ctx->typec.request_current = ret * CURRENT_UNIT; /* 50ma per unit */ in anx7411_detect_power_mode() 351 ctx->typec.request_voltage = ret * VOLTAGE_UNIT; /* 100mv per unit */ in anx7411_detect_power_mode() 359 if (!ctx->typec.cc_orientation_valid) in anx7411_detect_power_mode() 362 if (ctx->typec.cc_connect == CC1_CONNECTED) in anx7411_detect_power_mode() 363 mode = CC1_RP(ctx->typec.cc_status); in anx7411_detect_power_mode() 365 mode = CC2_RP(ctx->typec.cc_status); in anx7411_detect_power_mode() 367 typec_set_pwr_opmode(ctx->typec.port, mode - 1); in anx7411_detect_power_mode() 371 typec_set_pwr_opmode(ctx->typec.port, TYPEC_PWR_MODE_PD); in anx7411_detect_power_mode() 382 if (ctx->typec.partner) in anx7411_register_partner() [all …]
|
H A D | Makefile | 2 obj-$(CONFIG_TYPEC) += typec.o 3 typec-y := class.o mux.o bus.o pd.o retimer.o 4 typec-$(CONFIG_ACPI) += port-mapper.o
|
H A D | Kconfig | 43 Connector Class API (Documentation/driver-api/usb/typec.rst) 44 <https://www.kernel.org/doc/html/latest/driver-api/usb/typec.html> 45 and ABI (Documentation/ABI/testing/sysfs-class-typec). 49 source "drivers/usb/typec/tcpm/Kconfig" 51 source "drivers/usb/typec/ucsi/Kconfig" 53 source "drivers/usb/typec/tipd/Kconfig" 113 source "drivers/usb/typec/mux/Kconfig" 115 source "drivers/usb/typec/altmodes/Kconfig"
|
/linux/Documentation/driver-api/usb/ |
H A D | typec.rst | 9 The typec class is meant for describing the USB Type-C ports in a system to the 26 attributes are described in Documentation/ABI/testing/sysfs-class-typec. 30 Every port will be presented as its own device under /sys/class/typec/. The 34 /sys/class/typec/. The parent of the partner device will always be the port it 37 /sys/class/typec/port0/port0-partner/. 40 devices under /sys/class/typec/. The cable attached to the port "port0" port 48 Alternate Mode devices will not be attached to the typec class. The parent of an 50 mode of port0-partner will be presented under /sys/class/typec/port0-partner/. 52 device named "mode<index>", for example /sys/class/typec/port0/<alternate 65 .. kernel-doc:: drivers/usb/typec/class.c [all …]
|
H A D | typec_bus.rst | 16 :ref:`USB Type-C Connector Class <typec>` provides a device for every alternate 43 space (See Documentation/ABI/testing/sysfs-class-typec). Port drivers should not 109 .. kernel-doc:: drivers/usb/typec/bus.c 115 .. kernel-doc:: drivers/usb/typec/bus.c 121 .. kernel-doc:: drivers/usb/typec/bus.c
|
H A D | index.rst | 21 typec
|
/linux/Documentation/ABI/obsolete/ |
H A D | sysfs-class-typec | 2 under /sys/bus/typec (see Documentation/ABI/testing/sysfs-bus-typec). 4 What: /sys/class/typec/<port|partner|cable>/<dev>/svid 11 What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/ 20 What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/description 27 What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/vdo 34 What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/active
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-typec | 1 What: /sys/bus/typec/devices/.../active 15 What: /sys/bus/typec/devices/.../description 22 What: /sys/bus/typec/devices/.../mode 39 What: /sys/bus/typec/devices/.../svid 46 What: /sys/bus/typec/devices/.../vdo
|
H A D | sysfs-driver-typec-displayport | 1 What: /sys/bus/typec/devices/.../displayport/configuration 22 Documentation/ABI/testing/sysfs-bus-typec, and use file 23 /sys/bus/typec/devices/.../active). 25 What: /sys/bus/typec/devices/.../displayport/pin_assignment 51 What: /sys/bus/typec/devices/.../displayport/hpd 66 What: /sys/bus/typec/devices/.../displayport/irq_hpd
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | pm4125.dtsi | 45 pm4125_typec: typec@1500 { 46 compatible = "qcom,pm4125-typec", "qcom,pmi632-typec";
|
H A D | pm6150.dtsi | 73 pm6150_typec: typec@1500 { 74 compatible = "qcom,pm6150-typec", 75 "qcom,pm8150b-typec";
|
H A D | pm7250b.dtsi | 53 pm7250b_typec: typec@1500 { 54 compatible = "qcom,pm7250b-typec", "qcom,pm8150b-typec";
|
H A D | sc7280-idp-ec-h1.dtsi | 36 typec { 37 compatible = "google,cros-ec-typec";
|
H A D | pmi632.dtsi | 53 pmi632_typec: typec@1500 { 54 compatible = "qcom,pmi632-typec";
|
H A D | pm8150b.dtsi | 61 pm8150b_typec: typec@1500 { 62 compatible = "qcom,pm8150b-typec";
|
H A D | qcs8550-aim300-aiot.dts | 125 typec-mux@42 { 141 typec-retimer@1c {
|
H A D | msm8996-xiaomi-common.dtsi | 209 typec: typec@47 { label 388 extcon = <&typec>; 394 extcon = <&typec>;
|
/linux/arch/arm/boot/dts/st/ |
H A D | stm32mp153c-lxa-fairytux2-gen2.dts | 73 usb_c: typec@28 { 85 typec-power-opmode = "default";
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3588-orangepi-5-plus.dts | 54 vbus5v0_typec: regulator-vbus-typec { 179 usbc0: usb-typec@22 { 300 usb-typec {
|
/linux/arch/arm64/boot/dts/exynos/google/ |
H A D | gs101-pixel-common.dtsi | 138 usb-typec@25 { 196 typec-power-opmode = "default"; 291 typec_int: typec-int-pins {
|
/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-facebook-bletchley.dts | 385 sled1_fusb302: typec-portc@22 { 474 sled2_fusb302: typec-portc@22 { 563 sled3_fusb302: typec-portc@22 { 652 sled4_fusb302: typec-portc@22 { 741 sled5_fusb302: typec-portc@22 { 830 sled6_fusb302: typec-portc@22 {
|