| /linux/include/linux/phy/ |
| H A D | phy.h | 24 struct phy; 100 int (*init)(struct phy *phy); 101 int (*exit)(struct phy *phy); 102 int (*power_on)(struct phy *phy); 103 int (*power_off)(struct phy *phy); 104 int (*set_mode)(struct phy *phy, enum phy_mode mode, int submode); 105 int (*set_media)(struct phy *phy, enum phy_media media); 106 int (*set_speed)(struct phy *phy, int speed); 118 int (*configure)(struct phy *phy, union phy_configure_opts *opts); 136 int (*validate)(struct phy *phy, enum phy_mode mode, int submode, [all …]
|
| /linux/drivers/phy/ |
| H A D | phy-core.c | 37 struct phy *phy = *(struct phy **)res; in devm_phy_release() local 39 phy_put(dev, phy); in devm_phy_release() 51 struct phy *phy = *(struct phy **)res; in devm_phy_consume() local 53 phy_destroy(phy); in devm_phy_consume() 58 struct phy **phy = res; in devm_phy_match() local 60 return *phy == match_data; in devm_phy_match() 71 int phy_create_lookup(struct phy *phy, const char *con_id, const char *dev_id) in phy_create_lookup() argument 75 if (!phy || !dev_id || !con_id) in phy_create_lookup() 84 pl->phy = phy; in phy_create_lookup() 103 void phy_remove_lookup(struct phy *phy, const char *con_id, const char *dev_id) in phy_remove_lookup() argument [all …]
|
| H A D | phy-snps-eusb2.c | 158 int (*phy_init)(struct phy *p); 164 struct phy *phy; member 175 struct phy *repeater; 180 static int snps_eusb2_hsphy_set_mode(struct phy *p, enum phy_mode mode, int submode) in snps_eusb2_hsphy_set_mode() 182 struct snps_eusb2_hsphy *phy = phy_get_drvdata(p); in snps_eusb2_hsphy_set_mode() local 184 phy->mode = mode; in snps_eusb2_hsphy_set_mode() 186 return phy_set_mode_ext(phy->repeater, mode, submode); in snps_eusb2_hsphy_set_mode() 203 static void qcom_eusb2_default_parameters(struct snps_eusb2_hsphy *phy) in qcom_eusb2_default_parameters() argument 206 snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_9, in qcom_eusb2_default_parameters() 211 snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_9, in qcom_eusb2_default_parameters() [all …]
|
| /linux/drivers/scsi/libsas/ |
| H A D | sas_phy.c | 20 struct asd_sas_phy *phy = ev->phy; in sas_phye_loss_of_signal() local 22 phy->error = 0; in sas_phye_loss_of_signal() 23 sas_deform_port(phy, true); in sas_phye_loss_of_signal() 29 struct asd_sas_phy *phy = ev->phy; in sas_phye_oob_done() local 31 phy->error = 0; in sas_phye_oob_done() 37 struct asd_sas_phy *phy = ev->phy; in sas_phye_oob_error() local 38 struct sas_ha_struct *sas_ha = phy->ha; in sas_phye_oob_error() 39 struct asd_sas_port *port = phy->port; in sas_phye_oob_error() 43 sas_deform_port(phy, true); in sas_phye_oob_error() 45 if (!port && phy->enabled && i->dft->lldd_control_phy) { in sas_phye_oob_error() [all …]
|
| H A D | sas_port.c | 15 static bool phy_is_wideport_member(struct asd_sas_port *port, struct asd_sas_phy *phy) in phy_is_wideport_member() argument 17 struct sas_ha_struct *sas_ha = phy->ha; in phy_is_wideport_member() 19 if (memcmp(port->attached_sas_addr, phy->attached_sas_addr, in phy_is_wideport_member() 21 memcmp(port->sas_addr, phy->sas_addr, SAS_ADDR_SIZE) != 0)) in phy_is_wideport_member() 26 static void sas_resume_port(struct asd_sas_phy *phy) in sas_resume_port() argument 29 struct asd_sas_port *port = phy->port; in sas_resume_port() 30 struct sas_ha_struct *sas_ha = phy->ha; in sas_resume_port() 34 si->dft->lldd_port_formed(phy); in sas_resume_port() 60 struct ex_phy *phy = &dev->ex_dev.ex_phy[i]; in sas_resume_port() local 62 phy->phy_change_count = -1; in sas_resume_port() [all …]
|
| /linux/drivers/net/ethernet/ibm/emac/ |
| H A D | phy.c | 35 static inline int _phy_read(struct mii_phy *phy, int reg) in _phy_read() argument 37 return phy->mdio_read(phy->dev, phy->address, reg); in _phy_read() 40 static inline void _phy_write(struct mii_phy *phy, int reg, int val) in _phy_write() argument 42 phy->mdio_write(phy->dev, phy->address, reg, val); in _phy_write() 45 static inline int gpcs_phy_read(struct mii_phy *phy, int reg) in gpcs_phy_read() argument 47 return phy->mdio_read(phy->dev, phy->gpcs_address, reg); in gpcs_phy_read() 50 static inline void gpcs_phy_write(struct mii_phy *phy, int reg, int val) in gpcs_phy_write() argument 52 phy->mdio_write(phy->dev, phy->gpcs_address, reg, val); in gpcs_phy_write() 55 int emac_mii_reset_phy(struct mii_phy *phy) in emac_mii_reset_phy() argument 60 val = phy_read(phy, MII_BMCR); in emac_mii_reset_phy() [all …]
|
| /linux/drivers/phy/ralink/ |
| H A D | phy-ralink-usb.c | 56 struct phy *phy; member 61 static void u2_phy_w32(struct ralink_usb_phy *phy, u32 val, u32 reg) in u2_phy_w32() argument 63 writel(val, phy->base + reg); in u2_phy_w32() 66 static u32 u2_phy_r32(struct ralink_usb_phy *phy, u32 reg) in u2_phy_r32() argument 68 return readl(phy->base + reg); in u2_phy_r32() 71 static void ralink_usb_phy_init(struct ralink_usb_phy *phy) in ralink_usb_phy_init() argument 73 u2_phy_r32(phy, OFS_U2_PHY_AC2); in ralink_usb_phy_init() 74 u2_phy_r32(phy, OFS_U2_PHY_ACR0); in ralink_usb_phy_init() 75 u2_phy_r32(phy, OFS_U2_PHY_DCR0); in ralink_usb_phy_init() 77 u2_phy_w32(phy, 0x00ffff02, OFS_U2_PHY_DCR0); in ralink_usb_phy_init() [all …]
|
| H A D | phy-mt7621-pci.c | 79 struct phy *phy; member 86 static inline void mt7621_phy_rmw(struct mt7621_pci_phy *phy, in mt7621_phy_rmw() argument 98 regmap_read(phy->regmap, reg, &val); in mt7621_phy_rmw() 101 regmap_write(phy->regmap, reg, val); in mt7621_phy_rmw() 104 static void mt7621_bypass_pipe_rst(struct mt7621_pci_phy *phy) in mt7621_bypass_pipe_rst() argument 106 mt7621_phy_rmw(phy, RG_PE1_PIPE_REG, 0, RG_PE1_PIPE_RST); in mt7621_bypass_pipe_rst() 107 mt7621_phy_rmw(phy, RG_PE1_PIPE_REG, 0, RG_PE1_PIPE_CMD_FRC); in mt7621_bypass_pipe_rst() 109 if (phy->has_dual_port) { in mt7621_bypass_pipe_rst() 110 mt7621_phy_rmw(phy, RG_PE1_PIPE_REG + RG_P0_TO_P1_WIDTH, in mt7621_bypass_pipe_rst() 112 mt7621_phy_rmw(phy, RG_PE1_PIPE_REG + RG_P0_TO_P1_WIDTH, in mt7621_bypass_pipe_rst() [all …]
|
| /linux/drivers/phy/ti/ |
| H A D | phy-dm816x-usb.c | 47 struct usb_phy phy; member 71 static int dm816x_usb_phy_init(struct phy *x) in dm816x_usb_phy_init() 73 struct dm816x_usb_phy *phy = phy_get_drvdata(x); in dm816x_usb_phy_init() local 76 if (clk_get_rate(phy->refclk) != 24000000) in dm816x_usb_phy_init() 77 dev_warn(phy->dev, "nonstandard phy refclk\n"); in dm816x_usb_phy_init() 80 regmap_update_bits(phy->syscon, phy->usb_ctrl, in dm816x_usb_phy_init() 85 regmap_read(phy->syscon, phy->usb_ctrl, &val); in dm816x_usb_phy_init() 87 dev_info(phy->dev, in dm816x_usb_phy_init() 96 regmap_read(phy->syscon, phy->usbphy_ctrl, &val); in dm816x_usb_phy_init() 100 regmap_write(phy->syscon, phy->usbphy_ctrl, val); in dm816x_usb_phy_init() [all …]
|
| H A D | phy-ti-pipe3.c | 300 static struct pipe3_dpll_params *ti_pipe3_get_dpll_params(struct ti_pipe3 *phy) in ti_pipe3_get_dpll_params() argument 303 struct pipe3_dpll_map *dpll_map = phy->dpll_map; in ti_pipe3_get_dpll_params() 305 rate = clk_get_rate(phy->sys_clk); in ti_pipe3_get_dpll_params() 312 dev_err(phy->dev, "No DPLL configuration for %lu Hz SYS CLK\n", rate); in ti_pipe3_get_dpll_params() 317 static int ti_pipe3_enable_clocks(struct ti_pipe3 *phy); 318 static void ti_pipe3_disable_clocks(struct ti_pipe3 *phy); 320 static int ti_pipe3_power_off(struct phy *x) in ti_pipe3_power_off() 323 struct ti_pipe3 *phy = phy_get_drvdata(x); in ti_pipe3_power_off() local 325 if (!phy->phy_power_syscon) { in ti_pipe3_power_off() 326 omap_control_phy_power(phy->control_dev, 0); in ti_pipe3_power_off() [all …]
|
| H A D | phy-omap-usb2.c | 55 struct usb_phy phy; member 71 #define phy_to_omapusb(x) container_of((x), struct omap_usb, phy) 104 struct omap_usb *phy; in omap_usb2_set_comparator() local 110 phy = phy_to_omapusb(x); in omap_usb2_set_comparator() 111 phy->comparator = comparator; in omap_usb2_set_comparator() 118 struct omap_usb *phy = phy_to_omapusb(otg->usb_phy); in omap_usb_set_vbus() local 120 if (!phy->comparator || !phy->comparator->set_vbus) in omap_usb_set_vbus() 123 return phy->comparator->set_vbus(phy->comparator, enabled); in omap_usb_set_vbus() 128 struct omap_usb *phy = phy_to_omapusb(otg->usb_phy); in omap_usb_start_srp() local 130 if (!phy->comparator || !phy->comparator->start_srp) in omap_usb_start_srp() [all …]
|
| /linux/drivers/net/phy/ |
| H A D | phy_led_triggers.c | 10 static struct phy_led_trigger *phy_speed_to_led_trigger(struct phy_device *phy, in phy_speed_to_led_trigger() argument 15 for (i = 0; i < phy->phy_num_led_triggers; i++) { in phy_speed_to_led_trigger() 16 if (phy->phy_led_triggers[i].speed == speed) in phy_speed_to_led_trigger() 17 return &phy->phy_led_triggers[i]; in phy_speed_to_led_trigger() 22 static void phy_led_trigger_no_link(struct phy_device *phy) in phy_led_trigger_no_link() argument 24 if (phy->last_triggered) { in phy_led_trigger_no_link() 25 led_trigger_event(&phy->last_triggered->trigger, LED_OFF); in phy_led_trigger_no_link() 26 led_trigger_event(&phy->led_link_trigger->trigger, LED_OFF); in phy_led_trigger_no_link() 27 phy->last_triggered = NULL; in phy_led_trigger_no_link() 31 void phy_led_trigger_change_speed(struct phy_device *phy) in phy_led_trigger_change_speed() argument [all …]
|
| /linux/drivers/nfc/pn544/ |
| H A D | i2c.c | 186 static void pn544_hci_i2c_platform_init(struct pn544_i2c_phy *phy) in pn544_hci_i2c_platform_init() argument 192 nfc_info(&phy->i2c_dev->dev, "Detecting nfc_en polarity\n"); in pn544_hci_i2c_platform_init() 195 gpiod_set_value_cansleep(phy->gpiod_fw, 0); in pn544_hci_i2c_platform_init() 198 phy->en_polarity = polarity; in pn544_hci_i2c_platform_init() 202 gpiod_set_value_cansleep(phy->gpiod_en, !phy->en_polarity); in pn544_hci_i2c_platform_init() 206 gpiod_set_value_cansleep(phy->gpiod_en, phy->en_polarity); in pn544_hci_i2c_platform_init() 210 dev_dbg(&phy->i2c_dev->dev, "Sending reset cmd\n"); in pn544_hci_i2c_platform_init() 211 ret = i2c_master_send(phy->i2c_dev, rset_cmd, count); in pn544_hci_i2c_platform_init() 213 nfc_info(&phy->i2c_dev->dev, in pn544_hci_i2c_platform_init() 221 nfc_err(&phy->i2c_dev->dev, in pn544_hci_i2c_platform_init() [all …]
|
| /linux/drivers/net/ethernet/chelsio/cxgb3/ |
| H A D | ael1002.c | 84 static int set_phy_regs(struct cphy *phy, const struct reg_val *rv) in set_phy_regs() argument 90 err = t3_mdio_write(phy, rv->mmd_addr, rv->reg_addr, in set_phy_regs() 93 err = t3_mdio_change_bits(phy, rv->mmd_addr, in set_phy_regs() 100 static void ael100x_txon(struct cphy *phy) in ael100x_txon() argument 103 phy->mdio.prtad == 0 ? F_GPIO7_OUT_VAL : F_GPIO2_OUT_VAL; in ael100x_txon() 106 t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, 0, tx_on_gpio); in ael100x_txon() 113 static int ael_i2c_rd(struct cphy *phy, int dev_addr, int word_addr) in ael_i2c_rd() argument 118 err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL_I2C_CTRL, in ael_i2c_rd() 125 err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL_I2C_STAT, &stat); in ael_i2c_rd() 129 err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL_I2C_DATA, in ael_i2c_rd() [all …]
|
| /linux/drivers/net/ethernet/intel/igb/ |
| H A D | e1000_phy.c | 56 struct e1000_phy_info *phy = &hw->phy; in igb_get_phy_id() local 62 phy->ops.write_reg(hw, I347AT4_PAGE_SELECT, 0); in igb_get_phy_id() 64 ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id); in igb_get_phy_id() 68 phy->id = (u32)(phy_id << 16); in igb_get_phy_id() 70 ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id); in igb_get_phy_id() 74 phy->id |= (u32)(phy_id & PHY_REVISION_MASK); in igb_get_phy_id() 75 phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK); in igb_get_phy_id() 91 if (!(hw->phy.ops.write_reg)) in igb_phy_reset_dsp() 94 ret_val = hw->phy.ops.write_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xC1); in igb_phy_reset_dsp() 98 ret_val = hw->phy.ops.write_reg(hw, M88E1000_PHY_GEN_CONTROL, 0); in igb_phy_reset_dsp() [all …]
|
| /linux/drivers/gpu/drm/sun4i/ |
| H A D | sun8i_hdmi_phy.c | 127 static void sun8i_hdmi_phy_set_polarity(struct sun8i_hdmi_phy *phy, in sun8i_hdmi_phy_set_polarity() argument 138 regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_DBG_CTRL_REG, in sun8i_hdmi_phy_set_polarity() 147 struct sun8i_hdmi_phy *phy = data; in sun8i_a83t_hdmi_phy_config() local 149 sun8i_hdmi_phy_set_polarity(phy, mode); in sun8i_a83t_hdmi_phy_config() 151 regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_REXT_CTRL_REG, in sun8i_a83t_hdmi_phy_config() 211 struct sun8i_hdmi_phy *phy = data; in sun8i_a83t_hdmi_phy_disable() local 216 regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_REXT_CTRL_REG, in sun8i_a83t_hdmi_phy_disable() 233 struct sun8i_hdmi_phy *phy = data; in sun8i_h3_hdmi_phy_config() local 242 if (phy->variant->has_phy_clk) in sun8i_h3_hdmi_phy_config() 243 clk_set_rate(phy->clk_phy, clk_rate); in sun8i_h3_hdmi_phy_config() [all …]
|
| /linux/drivers/phy/allwinner/ |
| H A D | phy-sun9i-usb.c | 36 struct phy *phy; member 44 static void sun9i_usb_phy_passby(struct sun9i_usb_phy *phy, int enable) in sun9i_usb_phy_passby() argument 52 if (phy->type == USBPHY_INTERFACE_MODE_HSIC) in sun9i_usb_phy_passby() 56 reg_value = readl(phy->pmu); in sun9i_usb_phy_passby() 63 writel(reg_value, phy->pmu); in sun9i_usb_phy_passby() 66 static int sun9i_usb_phy_init(struct phy *_phy) in sun9i_usb_phy_init() 68 struct sun9i_usb_phy *phy = phy_get_drvdata(_phy); in sun9i_usb_phy_init() local 71 ret = clk_prepare_enable(phy->clk); in sun9i_usb_phy_init() 75 ret = clk_prepare_enable(phy->hsic_clk); in sun9i_usb_phy_init() 79 ret = reset_control_deassert(phy->reset); in sun9i_usb_phy_init() [all …]
|
| H A D | phy-sun50i-usb3.c | 56 struct phy *phy; member 62 static void sun50i_usb3_phy_open(struct sun50i_usb3_phy *phy) in sun50i_usb3_phy_open() argument 66 val = readl(phy->regs + SUNXI_PHY_EXTERNAL_CONTROL); in sun50i_usb3_phy_open() 69 writel(val, phy->regs + SUNXI_PHY_EXTERNAL_CONTROL); in sun50i_usb3_phy_open() 71 val = readl(phy->regs + SUNXI_PIPE_CLOCK_CONTROL); in sun50i_usb3_phy_open() 73 writel(val, phy->regs + SUNXI_PIPE_CLOCK_CONTROL); in sun50i_usb3_phy_open() 75 val = readl(phy->regs + SUNXI_ISCR); in sun50i_usb3_phy_open() 77 writel(val, phy->regs + SUNXI_ISCR); in sun50i_usb3_phy_open() 84 writel(0x0047fc87, phy->regs + SUNXI_PHY_TUNE_LOW); in sun50i_usb3_phy_open() 86 val = readl(phy->regs + SUNXI_PHY_TUNE_HIGH); in sun50i_usb3_phy_open() [all …]
|
| /linux/arch/arm64/boot/dts/microchip/ |
| H A D | sparx5_pcb135_board.dtsi | 202 phy0: ethernet-phy@0 { 205 phy1: ethernet-phy@1 { 208 phy2: ethernet-phy@2 { 211 phy3: ethernet-phy@3 { 214 phy4: ethernet-phy@4 { 217 phy5: ethernet-phy@5 { 220 phy6: ethernet-phy@6 { 223 phy7: ethernet-phy@7 { 226 phy8: ethernet-phy@8 { 229 phy9: ethernet-phy@9 { [all …]
|
| /linux/drivers/phy/qualcomm/ |
| H A D | phy-qcom-ipq4019-usb.c | 23 struct phy *phy; member 29 static int ipq4019_ss_phy_power_off(struct phy *_phy) in ipq4019_ss_phy_power_off() 31 struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy); in ipq4019_ss_phy_power_off() local 33 reset_control_assert(phy->por_rst); in ipq4019_ss_phy_power_off() 39 static int ipq4019_ss_phy_power_on(struct phy *_phy) in ipq4019_ss_phy_power_on() 41 struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy); in ipq4019_ss_phy_power_on() local 45 reset_control_deassert(phy->por_rst); in ipq4019_ss_phy_power_on() 55 static int ipq4019_hs_phy_power_off(struct phy *_phy) in ipq4019_hs_phy_power_off() 57 struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy); in ipq4019_hs_phy_power_off() local 59 reset_control_assert(phy->por_rst); in ipq4019_hs_phy_power_off() [all …]
|
| /linux/drivers/phy/starfive/ |
| H A D | phy-jh7110-usb.c | 30 struct phy *phy; member 38 static void usb2_set_ls_keepalive(struct jh7110_usb2_phy *phy, bool set) in usb2_set_ls_keepalive() argument 43 val = readl(phy->regs + USB_LS_KEEPALIVE_OFF); in usb2_set_ls_keepalive() 49 writel(val, phy->regs + USB_LS_KEEPALIVE_OFF); in usb2_set_ls_keepalive() 52 static int usb2_phy_set_mode(struct phy *_phy, in usb2_phy_set_mode() 55 struct jh7110_usb2_phy *phy = phy_get_drvdata(_phy); in usb2_phy_set_mode() local 66 if (mode != phy->mode) { in usb2_phy_set_mode() 68 phy->mode = mode; in usb2_phy_set_mode() 69 usb2_set_ls_keepalive(phy, (mode != PHY_MODE_USB_DEVICE)); in usb2_phy_set_mode() 73 regmap_update_bits(phy->sys_syscon, SYSCON_USB_SPLIT_OFFSET, in usb2_phy_set_mode() [all …]
|
| /linux/drivers/phy/sophgo/ |
| H A D | phy-cv1800-usb2.c | 33 struct phy *phy; member 42 static int cv1800_usb_phy_set_mode(struct phy *_phy, in cv1800_usb_phy_set_mode() 45 struct cv1800_usb_phy *phy = phy_get_drvdata(_phy); in cv1800_usb_phy_set_mode() local 49 dev_info(&phy->phy->dev, "set mode %d", (int)mode); in cv1800_usb_phy_set_mode() 54 regmap_clear_bits(phy->syscon, REG_USB_PHY_CTRL, PHY_VBUS_POWER); in cv1800_usb_phy_set_mode() 58 regmap_set_bits(phy->syscon, REG_USB_PHY_CTRL, PHY_VBUS_POWER); in cv1800_usb_phy_set_mode() 61 if (!phy->support_otg) in cv1800_usb_phy_set_mode() 64 ret = regmap_read(phy->syscon, REG_USB_PHY_CTRL, ®val); in cv1800_usb_phy_set_mode() 74 return regmap_update_bits(phy->syscon, REG_USB_PHY_CTRL, in cv1800_usb_phy_set_mode() 79 static int cv1800_usb_phy_set_clock(struct cv1800_usb_phy *phy) in cv1800_usb_phy_set_clock() argument [all …]
|
| /linux/drivers/net/fddi/skfp/ |
| H A D | pcmplc.c | 191 static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd); 192 static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy); 193 static void pc_tcode_actions(struct s_smc *smc, const int bit, struct s_phy *phy); 194 static void reset_lem_struct(struct s_phy *phy); 198 static void sm_ph_linestate(struct s_smc *smc, int phy, int ls); 206 struct s_phy *phy) in start_pcm_timer0() argument 208 phy->timer0_exp = FALSE ; /* clear timer event flag */ in start_pcm_timer0() 209 smt_timer_start(smc,&phy->pcm_timer0,value, in start_pcm_timer0() 210 EV_TOKEN(EVENT_PCM+phy->np,event)) ; in start_pcm_timer0() 216 static void stop_pcm_timer0(struct s_smc *smc, struct s_phy *phy) in stop_pcm_timer0() argument [all …]
|
| /linux/drivers/media/platform/ti/omap3isp/ |
| H A D | ispcsiphy.c | 23 static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, in csiphy_routing_cfg_3630() argument 30 regmap_read(phy->isp->syscon, phy->isp->syscon_offset, ®); in csiphy_routing_cfg_3630() 66 regmap_write(phy->isp->syscon, phy->isp->syscon_offset, reg); in csiphy_routing_cfg_3630() 69 static void csiphy_routing_cfg_3430(struct isp_csiphy *phy, u32 iface, bool on, in csiphy_routing_cfg_3430() argument 80 regmap_write(phy->isp->syscon, phy->isp->syscon_offset, 0); in csiphy_routing_cfg_3430() 87 regmap_write(phy->isp->syscon, phy->isp->syscon_offset, csirxfe); in csiphy_routing_cfg_3430() 102 static void csiphy_routing_cfg(struct isp_csiphy *phy, in csiphy_routing_cfg() argument 106 if (phy->isp->phy_type == ISP_PHY_TYPE_3630 && on) in csiphy_routing_cfg() 107 return csiphy_routing_cfg_3630(phy, iface, ccp2_strobe); in csiphy_routing_cfg() 108 if (phy->isp->phy_type == ISP_PHY_TYPE_3430) in csiphy_routing_cfg() [all …]
|
| /linux/drivers/phy/freescale/ |
| H A D | phy-fsl-imx8-mipi-dphy.c | 142 static int phy_write(struct phy *phy, u32 value, unsigned int reg) in phy_write() argument 144 struct mixel_dphy_priv *priv = phy_get_drvdata(phy); in phy_write() 149 dev_err(&phy->dev, "Failed to write DPHY reg %d: %d\n", reg, in phy_write() 186 static int mixel_dphy_config_from_opts(struct phy *phy, in mixel_dphy_config_from_opts() argument 190 struct mixel_dphy_priv *priv = dev_get_drvdata(phy->dev.parent); in mixel_dphy_config_from_opts() 205 dev_err(&phy->dev, "Invalid %d/%d for %ld/%ld\n", in mixel_dphy_config_from_opts() 230 dev_err(&phy->dev, "Invalid CM/CN/CO values: %u/%u/%u\n", in mixel_dphy_config_from_opts() 232 dev_err(&phy->dev, "for hs_clk/ref_clk=%ld/%ld ~ %d/%d\n", in mixel_dphy_config_from_opts() 238 dev_dbg(&phy->dev, "hs_clk/ref_clk=%ld/%ld ~ %d/%d\n", in mixel_dphy_config_from_opts() 248 dev_dbg(&phy->dev, "LP clock %lu, period: %u ps\n", in mixel_dphy_config_from_opts() [all …]
|