| /kernel/linux/linux-6.6/drivers/phy/marvell/ |
| D | phy-mvebu-cp110-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Antoine Tenart <antoine.tenart@free-electrons.com> 8 #include <linux/arm-smccc.h> 20 /* Relative to priv->base */ 31 #define MVEBU_COMPHY_SERDES_CFG1_RX_INIT BIT(4) 35 #define MVEBU_COMPHY_SERDES_CFG2_DFE_EN BIT(4) 39 #define MVEBU_COMPHY_SERDES_STATUS0_RX_INIT BIT(4) 63 #define MVEBU_COMPHY_GEN1_S2_TX_EMPH_EN BIT(4) 108 /* Relative to priv->regmap */ 129 * A lane is described by the following bitfields: [all …]
|
| D | phy-mvebu-a3700-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * Structure inspired from phy-mvebu-cp110-comphy.c written by Antoine Tenart. 40 * When accessing common PHY lane registers directly, we need to shift by 1, 41 * since the registers are 16-bit. 55 #define REF_FREF_SEL_MASK GENMASK(4, 0) 77 #define PLL_READY_TX_BIT BIT(4) 110 #define CLK100M_125M_EN BIT(4) 130 #define PRD_TXSWING_MASK BIT(4) 137 #define GEN2_TX_DATA_DLY_MASK GENMASK(4, 3) 152 #define MODE_REFDIV_MASK GENMASK(5, 4) [all …]
|
| D | phy-armada38x-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 47 struct a38x_comphy_lane lane[MAX_A38X_COMPHY]; member 52 { 4, 5, 0 }, 53 { 0, 4, 0 }, 54 { 0, 0, 4 }, 59 static void a38x_set_conf(struct a38x_comphy_lane *lane, bool enable) in a38x_set_conf() argument 61 struct a38x_comphy *priv = lane->priv; in a38x_set_conf() 64 if (priv->conf) { in a38x_set_conf() 65 conf = readl_relaxed(priv->conf); in a38x_set_conf() 67 conf |= BIT(lane->port); in a38x_set_conf() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/protocols/ |
| D | link_dp_training_fixed_vs_pe_retimer.c | 42 link->ctx->logger 52 uint8_t lane; in dp_fixed_vs_pe_read_lane_adjust() local 54 /* W/A to read lane settings requested by DPRX */ in dp_fixed_vs_pe_read_lane_adjust() 55 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_read_lane_adjust() 58 link_query_fixed_vs_pe_retimer(link->ddc, &dprx_vs, 1); in dp_fixed_vs_pe_read_lane_adjust() 60 link_configure_fixed_vs_pe_retimer(link->ddc, in dp_fixed_vs_pe_read_lane_adjust() 63 link_query_fixed_vs_pe_retimer(link->ddc, &dprx_pe, 1); in dp_fixed_vs_pe_read_lane_adjust() 65 for (lane = 0; lane < LANE_COUNT_DP_MAX; lane++) { in dp_fixed_vs_pe_read_lane_adjust() 66 dpcd_lane_adjust[lane].bits.VOLTAGE_SWING_SET = (dprx_vs >> (2 * lane)) & 0x3; in dp_fixed_vs_pe_read_lane_adjust() 67 dpcd_lane_adjust[lane].bits.PRE_EMPHASIS_SET = (dprx_pe >> (2 * lane)) & 0x3; in dp_fixed_vs_pe_read_lane_adjust() [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/marvell/ |
| D | phy-mvebu-cp110-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Antoine Tenart <antoine.tenart@free-electrons.com> 8 #include <linux/arm-smccc.h> 19 /* Relative to priv->base */ 30 #define MVEBU_COMPHY_SERDES_CFG1_RX_INIT BIT(4) 34 #define MVEBU_COMPHY_SERDES_CFG2_DFE_EN BIT(4) 38 #define MVEBU_COMPHY_SERDES_STATUS0_RX_INIT BIT(4) 62 #define MVEBU_COMPHY_GEN1_S2_TX_EMPH_EN BIT(4) 107 /* Relative to priv->regmap */ 128 * A lane is described by the following bitfields: [all …]
|
| D | phy-armada38x-comphy.c | 1 // SPDX-License-Identifier: GPL-2.0 46 struct a38x_comphy_lane lane[MAX_A38X_COMPHY]; member 51 { 4, 5, 0 }, 52 { 0, 4, 0 }, 53 { 0, 0, 4 }, 58 static void a38x_set_conf(struct a38x_comphy_lane *lane, bool enable) in a38x_set_conf() argument 60 struct a38x_comphy *priv = lane->priv; in a38x_set_conf() 63 if (priv->conf) { in a38x_set_conf() 64 conf = readl_relaxed(priv->conf); in a38x_set_conf() 66 conf |= BIT(lane->port); in a38x_set_conf() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/ |
| D | intel_cx0_phy_regs.h | 1 /* SPDX-License-Identifier: MIT 15 #define XELPDP_PORT_M2P_MSGBUS_CTL(port, lane) _MMIO(_PICK_EVEN_2RANGES(port, PORT_TC1, \ argument 19 _XELPDP_PORT_M2P_MSGBUS_CTL_LN0_USBC2) + (lane) * 4) 30 #define XELPDP_PORT_P2M_MSGBUS_STATUS(port, lane) _MMIO(_PICK_EVEN_2RANGES(port, PORT_TC1, \ argument 34 _XELPDP_PORT_M2P_MSGBUS_CTL_LN0_USBC2) + (lane) * 4 + 8) 74 #define XELPDP_TCSS_POWER_STATE REG_BIT(4) 82 _XELPDP_PORT_BUF_CTL1_LN0_USBC2) + 4) 84 #define XELPDP_LANE_PIPE_RESET(lane) _PICK(lane, REG_BIT(31), REG_BIT(30)) argument 85 #define XELPDP_LANE_PHY_CURRENT_STATUS(lane) _PICK(lane, REG_BIT(29), REG_BIT(28)) argument 86 #define XELPDP_LANE_POWERDOWN_UPDATE(lane) _PICK(lane, REG_BIT(25), REG_BIT(24)) argument [all …]
|
| D | intel_cx0_phy.c | 1 // SPDX-License-Identifier: MIT 55 drm_WARN_ON(&i915->drm, !enabled); in assert_dc_off() 66 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_cx0_phy_transaction_begin() 75 struct drm_i915_private *i915 = to_i915(encoder->base.dev); in intel_cx0_phy_transaction_end() 83 enum port port, int lane) in intel_clear_response_ready_flag() argument 85 intel_de_rmw(i915, XELPDP_PORT_P2M_MSGBUS_STATUS(port, lane), in intel_clear_response_ready_flag() 89 static void intel_cx0_bus_reset(struct drm_i915_private *i915, enum port port, int lane) in intel_cx0_bus_reset() argument 93 intel_de_write(i915, XELPDP_PORT_M2P_MSGBUS_CTL(port, lane), in intel_cx0_bus_reset() 96 if (intel_de_wait_for_clear(i915, XELPDP_PORT_M2P_MSGBUS_CTL(port, lane), in intel_cx0_bus_reset() 99 drm_err_once(&i915->drm, "Failed to bring PHY %c to idle.\n", phy_name(phy)); in intel_cx0_bus_reset() [all …]
|
| D | intel_dp_link_training.c | 2 * Copyright © 2008-2015 Intel Corporation 30 #define LT_MSG_ARGS(_intel_dp, _dp_phy) (_intel_dp)->attached_connector->base.base.id, \ 31 (_intel_dp)->attached_connector->base.name, \ 32 dp_to_dig_port(_intel_dp)->base.base.base.id, \ 33 dp_to_dig_port(_intel_dp)->base.base.name, \ 37 drm_dbg_kms(&dp_to_i915(_intel_dp)->drm, \ 42 if (intel_digital_port_connected(&dp_to_dig_port(_intel_dp)->base)) \ 43 drm_err(&dp_to_i915(_intel_dp)->drm, \ 52 memset(intel_dp->lttpr_common_caps, 0, sizeof(intel_dp->lttpr_common_caps)); in intel_dp_reset_lttpr_common_caps() 57 intel_dp->lttpr_common_caps[DP_PHY_REPEATER_CNT - in intel_dp_reset_lttpr_count() [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/tegra/ |
| D | xusb-tegra124.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_SHIFT(x) ((x) * 4) 39 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_INTERNAL(x) (1 << (((x) * 4) + 3)) 40 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_MAP_SHIFT(x) ((x) * 4) 41 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_MAP_MASK(x) (0x7 << ((x) * 4)) 42 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_MAP(x, v) (((v) & 0x7) << ((x) * 4)) 49 #define XUSB_PADCTL_ELPG_PROGRAM_SSPX_ELPG_VCORE_DOWN(x) (1 << (18 + (x) * 4)) 51 (1 << (17 + (x) * 4)) 52 #define XUSB_PADCTL_ELPG_PROGRAM_SSPX_ELPG_CLAMP_EN(x) (1 << (16 + (x) * 4)) 62 #define XUSB_PADCTL_IOPHY_PLL_P0_CTL2_TXCLKREF_SEL (1 << 4) [all …]
|
| D | xusb-tegra210.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. 27 ((x) ? (11 + ((x) - 1) * 6) : 0) 44 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_DISABLED(x) (0x0 << ((x) * 4)) 45 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_HOST(x) (0x1 << ((x) * 4)) 46 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_DEVICE(x) (0x2 << ((x) * 4)) 47 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_OTG(x) (0x3 << ((x) * 4)) 48 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_MASK(x) (0x3 << ((x) * 4)) 51 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_INTERNAL(x) (1 << (((x) * 5) + 4)) 144 #define XUSB_PADCTL_HSIC_PAD_CTL0_PD_RX_DATA0 (1 << 4) [all …]
|
| D | xusb-tegra186.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved. 21 #define HS_CURR_LEVEL_PADX_SHIFT(x) ((x) ? (11 + (x - 1) * 6) : 0) 42 #define PORTX_CAP_SHIFT(x) ((x) * 4) 67 #define PORTX_SPEED_SUPPORT_SHIFT(x) ((x) * 4) 101 #define HSIC_PD_RX_DATA0 BIT(4) 123 #define UHSIC_LINE_DEB_CNT(x) (((x) & 0xf) << 4) 126 #define XUSB_AO_UTMIP_TRIGGERS(x) (0x40 + (x) * 4) 131 #define XUSB_AO_UHSIC_TRIGGERS(x) (0x60 + (x) * 4) 134 #define HSIC_CAP_CFG BIT(4) [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/tegra/ |
| D | xusb-tegra124.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_SHIFT(x) ((x) * 4) 39 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_INTERNAL(x) (1 << (((x) * 4) + 3)) 40 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_MAP_SHIFT(x) ((x) * 4) 41 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_MAP_MASK(x) (0x7 << ((x) * 4)) 42 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_MAP(x, v) (((v) & 0x7) << ((x) * 4)) 49 #define XUSB_PADCTL_ELPG_PROGRAM_SSPX_ELPG_VCORE_DOWN(x) (1 << (18 + (x) * 4)) 51 (1 << (17 + (x) * 4)) 52 #define XUSB_PADCTL_ELPG_PROGRAM_SSPX_ELPG_CLAMP_EN(x) (1 << (16 + (x) * 4)) 62 #define XUSB_PADCTL_IOPHY_PLL_P0_CTL2_TXCLKREF_SEL (1 << 4) [all …]
|
| D | xusb-tegra210.c | 1 // SPDX-License-Identifier: GPL-2.0-only 25 ((x) ? (11 + ((x) - 1) * 6) : 0) 42 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_DISABLED(x) (0x0 << ((x) * 4)) 43 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_HOST(x) (0x1 << ((x) * 4)) 44 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_DEVICE(x) (0x2 << ((x) * 4)) 45 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_OTG(x) (0x3 << ((x) * 4)) 46 #define XUSB_PADCTL_USB2_PORT_CAP_PORTX_CAP_MASK(x) (0x3 << ((x) * 4)) 49 #define XUSB_PADCTL_SS_PORT_MAP_PORTX_INTERNAL(x) (1 << (((x) * 5) + 4)) 124 #define XUSB_PADCTL_HSIC_PAD_CTL0_PD_RX_DATA0 (1 << 4) 158 #define XUSB_PADCTL_UPHY_PLL_CTL1_PWR_OVRD (1 << 4) [all …]
|
| /kernel/linux/linux-6.6/sound/soc/tegra/ |
| D | tegra186_asrc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // tegra186_asrc.c - Tegra186 ASRC driver 32 (((id) + 1) << 4) }, \ 49 ASRC_STREAM_REG_DEFAULTS(4), 74 regmap_write(asrc->regmap, in tegra186_asrc_lock_stream() 84 regcache_cache_only(asrc->regmap, true); in tegra186_asrc_runtime_suspend() 85 regcache_mark_dirty(asrc->regmap); in tegra186_asrc_runtime_suspend() 95 regcache_cache_only(asrc->regmap, false); in tegra186_asrc_runtime_resume() 102 regmap_write(asrc->regmap, TEGRA186_ASRC_GLOBAL_SCRATCH_ADDR, in tegra186_asrc_runtime_resume() 104 regmap_write(asrc->regmap, TEGRA186_ASRC_GLOBAL_ENB, in tegra186_asrc_runtime_resume() [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/xilinx/ |
| D | phy-zynqmp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * phy-zynqmp.c - PHY driver for Xilinx ZynqMP GT. 5 * Copyright (C) 2018-2020 Xilinx Inc. 26 #include <dt-bindings/phy/phy.h> 29 * Lane Registers 32 /* TX De-emphasis parameters */ 48 #define L0_TXPMD_TM_45_OVER_DP_POST2 BIT(4) 82 #define L0_Ln_REF_CLK_SEL(n) (0x2860 + (n) * 4) 94 #define L3_NSW_PIPE_SHIFT 4 104 #define PLL_REF_SEL(n) (0x10000 + (n) * 4) [all …]
|
| /kernel/linux/linux-5.10/drivers/phy/ |
| D | phy-xgene.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * AppliedMicro X-Gene Multi-purpose PHY driver 10 * The APM X-Gene PHY consists of two PLL clock macro's (CMU) and lanes. 19 * ----------------- 20 * | Internal | |------| 21 * | Ref PLL CMU |----| | ------------- --------- 22 * ------------ ---- | MUX |-----|PHY PLL CMU|----| Serdes| 23 * | | | | --------- 24 * External Clock ------| | ------------- 25 * |------| [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/ |
| D | phy-xgene.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * AppliedMicro X-Gene Multi-purpose PHY driver 10 * The APM X-Gene PHY consists of two PLL clock macro's (CMU) and lanes. 19 * ----------------- 20 * | Internal | |------| 21 * | Ref PLL CMU |----| | ------------- --------- 22 * ------------ ---- | MUX |-----|PHY PLL CMU|----| Serdes| 23 * | | | | --------- 24 * External Clock ------| | ------------- 25 * |------| [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/xilinx/ |
| D | phy-zynqmp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * phy-zynqmp.c - PHY driver for Xilinx ZynqMP GT. 5 * Copyright (C) 2018-2020 Xilinx Inc. 26 #include <dt-bindings/phy/phy.h> 29 * Lane Registers 32 /* TX De-emphasis parameters */ 48 #define L0_TXPMD_TM_45_OVER_DP_POST2 BIT(4) 82 #define L0_Ln_REF_CLK_SEL(n) (0x2860 + (n) * 4) 95 #define L3_NSW_PIPE_SHIFT 4 105 #define PLL_REF_SEL(n) (0x10000 + (n) * 4) [all …]
|
| /kernel/linux/linux-6.6/include/linux/phy/ |
| D | phy-mipi-dphy.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 * struct phy_configure_opts_mipi_dphy - MIPI D-PHY configuration set 13 * MIPI D-PHY phy. 20 * Clock transitions and disable the Clock Lane HS-RX. 30 * send HS clock after the last associated Data Lane has 42 * the transmitter prior to any associated Data Lane beginning 53 * Lane LP-00 Line state immediately before the HS-0 Line 65 * should ignore any Clock Lane HS transitions, starting from 76 * Time, in picoseconds, for the Clock Lane receiver to enable 86 * Time, in picoseconds, that the transmitter drives the HS-0 [all …]
|
| D | phy-dp.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 * struct phy_configure_opts_dp - DisplayPort PHY configuration set 31 * lane 0, used for the transmissions on main link. 33 * Allowed values: 1, 2, 4 41 * to be used by particular lanes. One value per lane. 42 * voltage[0] is for lane 0, voltage[1] is for lane 1, etc. 46 unsigned int voltage[4]; 51 * Pre-emphasis levels, as specified by DisplayPort specification, to be 52 * used by particular lanes. One value per lane. 56 unsigned int pre[4]; [all …]
|
| /kernel/linux/linux-5.10/include/linux/phy/ |
| D | phy-mipi-dphy.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 * struct phy_configure_opts_mipi_dphy - MIPI D-PHY configuration set 13 * MIPI D-PHY phy. 20 * Clock transitions and disable the Clock Lane HS-RX. 30 * send HS clock after the last associated Data Lane has 42 * the transmitter prior to any associated Data Lane beginning 53 * Lane LP-00 Line state immediately before the HS-0 Line 65 * should ignore any Clock Lane HS transitions, starting from 76 * Time, in picoseconds, for the Clock Lane receiver to enable 86 * Time, in picoseconds, that the transmitter drives the HS-0 [all …]
|
| D | phy-dp.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 * struct phy_configure_opts_dp - DisplayPort PHY configuration set 31 * lane 0, used for the transmissions on main link. 33 * Allowed values: 1, 2, 4 41 * to be used by particular lanes. One value per lane. 42 * voltage[0] is for lane 0, voltage[1] is for lane 1, etc. 46 unsigned int voltage[4]; 51 * Pre-emphasis levels, as specified by DisplayPort specification, to be 52 * used by particular lanes. One value per lane. 56 unsigned int pre[4]; [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/ |
| D | intel_dp_link_training.c | 2 * Copyright © 2008-2015 Intel Corporation 34 link_status[3], link_status[4], link_status[5]); in intel_dp_dump_link_status() 58 int lane; in intel_dp_get_adjust_train() local 62 for (lane = 0; lane < intel_dp->lane_count; lane++) { in intel_dp_get_adjust_train() 63 v = max(v, drm_dp_get_adjust_request_voltage(link_status, lane)); in intel_dp_get_adjust_train() 64 p = max(p, drm_dp_get_adjust_request_pre_emphasis(link_status, lane)); in intel_dp_get_adjust_train() 67 preemph_max = intel_dp->preemph_max(intel_dp); in intel_dp_get_adjust_train() 68 drm_WARN_ON_ONCE(&i915->drm, in intel_dp_get_adjust_train() 77 voltage_max = intel_dp->voltage_max(intel_dp); in intel_dp_get_adjust_train() 78 drm_WARN_ON_ONCE(&i915->drm, in intel_dp_get_adjust_train() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/platform/ti/omap3isp/ |
| D | omap3isp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * TI OMAP3 ISP - Bus Configuration 25 * struct isp_parallel_cfg - Parallel interface configuration 26 * @data_lane_shift: Data lane shifter 27 * 0 - CAMEXT[13:0] -> CAM[13:0] 28 * 2 - CAMEXT[13:2] -> CAM[11:0] 29 * 4 - CAMEXT[13:4] -> CAM[9:0] 30 * 6 - CAMEXT[13:6] -> CAM[7:0] 32 * 0 - Sample on rising edge, 1 - Sample on falling edge 34 * 0 - Active high, 1 - Active low [all …]
|