mxs_phy           120 drivers/usb/phy/phy-mxs-usb.c #define to_mxs_phy(p) container_of((p), struct mxs_phy, phy)
mxs_phy           209 drivers/usb/phy/phy-mxs-usb.c static inline bool is_imx6q_phy(struct mxs_phy *mxs_phy)
mxs_phy           211 drivers/usb/phy/phy-mxs-usb.c 	return mxs_phy->data == &imx6q_phy_data;
mxs_phy           214 drivers/usb/phy/phy-mxs-usb.c static inline bool is_imx6sl_phy(struct mxs_phy *mxs_phy)
mxs_phy           216 drivers/usb/phy/phy-mxs-usb.c 	return mxs_phy->data == &imx6sl_phy_data;
mxs_phy           219 drivers/usb/phy/phy-mxs-usb.c static inline bool is_imx7ulp_phy(struct mxs_phy *mxs_phy)
mxs_phy           221 drivers/usb/phy/phy-mxs-usb.c 	return mxs_phy->data == &imx7ulp_phy_data;
mxs_phy           233 drivers/usb/phy/phy-mxs-usb.c static void mxs_phy_tx_init(struct mxs_phy *mxs_phy)
mxs_phy           235 drivers/usb/phy/phy-mxs-usb.c 	void __iomem *base = mxs_phy->phy.io_priv;
mxs_phy           239 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_phy->tx_reg_mask) {
mxs_phy           241 drivers/usb/phy/phy-mxs-usb.c 		phytx &= ~mxs_phy->tx_reg_mask;
mxs_phy           242 drivers/usb/phy/phy-mxs-usb.c 		phytx |= mxs_phy->tx_reg_set;
mxs_phy           276 drivers/usb/phy/phy-mxs-usb.c static int mxs_phy_hw_init(struct mxs_phy *mxs_phy)
mxs_phy           279 drivers/usb/phy/phy-mxs-usb.c 	void __iomem *base = mxs_phy->phy.io_priv;
mxs_phy           281 drivers/usb/phy/phy-mxs-usb.c 	if (is_imx7ulp_phy(mxs_phy)) {
mxs_phy           308 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_phy->data->flags & MXS_PHY_NEED_IP_FIX)
mxs_phy           311 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_phy->regmap_anatop) {
mxs_phy           312 drivers/usb/phy/phy-mxs-usb.c 		unsigned int reg = mxs_phy->port_id ?
mxs_phy           319 drivers/usb/phy/phy-mxs-usb.c 		regmap_write(mxs_phy->regmap_anatop, reg,
mxs_phy           324 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy_tx_init(mxs_phy);
mxs_phy           329 drivers/usb/phy/phy-mxs-usb.c 	if (is_imx7ulp_phy(mxs_phy))
mxs_phy           335 drivers/usb/phy/phy-mxs-usb.c static bool mxs_phy_get_vbus_status(struct mxs_phy *mxs_phy)
mxs_phy           339 drivers/usb/phy/phy-mxs-usb.c 	if (!mxs_phy->regmap_anatop)
mxs_phy           342 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_phy->port_id == 0)
mxs_phy           343 drivers/usb/phy/phy-mxs-usb.c 		regmap_read(mxs_phy->regmap_anatop,
mxs_phy           346 drivers/usb/phy/phy-mxs-usb.c 	else if (mxs_phy->port_id == 1)
mxs_phy           347 drivers/usb/phy/phy-mxs-usb.c 		regmap_read(mxs_phy->regmap_anatop,
mxs_phy           357 drivers/usb/phy/phy-mxs-usb.c static void __mxs_phy_disconnect_line(struct mxs_phy *mxs_phy, bool disconnect)
mxs_phy           359 drivers/usb/phy/phy-mxs-usb.c 	void __iomem *base = mxs_phy->phy.io_priv;
mxs_phy           366 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_phy->port_id == 0) {
mxs_phy           369 drivers/usb/phy/phy-mxs-usb.c 		regmap_write(mxs_phy->regmap_anatop, reg,
mxs_phy           372 drivers/usb/phy/phy-mxs-usb.c 	} else if (mxs_phy->port_id == 1) {
mxs_phy           375 drivers/usb/phy/phy-mxs-usb.c 		regmap_write(mxs_phy->regmap_anatop, reg,
mxs_phy           389 drivers/usb/phy/phy-mxs-usb.c static bool mxs_phy_is_otg_host(struct mxs_phy *mxs_phy)
mxs_phy           391 drivers/usb/phy/phy-mxs-usb.c 	void __iomem *base = mxs_phy->phy.io_priv;
mxs_phy           401 drivers/usb/phy/phy-mxs-usb.c static void mxs_phy_disconnect_line(struct mxs_phy *mxs_phy, bool on)
mxs_phy           406 drivers/usb/phy/phy-mxs-usb.c 	if (!(mxs_phy->data->flags & MXS_PHY_DISCONNECT_LINE_WITHOUT_VBUS))
mxs_phy           410 drivers/usb/phy/phy-mxs-usb.c 	if (!mxs_phy->regmap_anatop)
mxs_phy           413 drivers/usb/phy/phy-mxs-usb.c 	vbus_is_on = mxs_phy_get_vbus_status(mxs_phy);
mxs_phy           415 drivers/usb/phy/phy-mxs-usb.c 	if (on && !vbus_is_on && !mxs_phy_is_otg_host(mxs_phy))
mxs_phy           416 drivers/usb/phy/phy-mxs-usb.c 		__mxs_phy_disconnect_line(mxs_phy, true);
mxs_phy           418 drivers/usb/phy/phy-mxs-usb.c 		__mxs_phy_disconnect_line(mxs_phy, false);
mxs_phy           425 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = to_mxs_phy(phy);
mxs_phy           428 drivers/usb/phy/phy-mxs-usb.c 	ret = clk_prepare_enable(mxs_phy->clk);
mxs_phy           432 drivers/usb/phy/phy-mxs-usb.c 	return mxs_phy_hw_init(mxs_phy);
mxs_phy           437 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = to_mxs_phy(phy);
mxs_phy           453 drivers/usb/phy/phy-mxs-usb.c 	if (is_imx7ulp_phy(mxs_phy))
mxs_phy           456 drivers/usb/phy/phy-mxs-usb.c 	clk_disable_unprepare(mxs_phy->clk);
mxs_phy           459 drivers/usb/phy/phy-mxs-usb.c static bool mxs_phy_is_low_speed_connection(struct mxs_phy *mxs_phy)
mxs_phy           468 drivers/usb/phy/phy-mxs-usb.c 	if (!mxs_phy->regmap_anatop)
mxs_phy           471 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_phy->port_id == 0)
mxs_phy           473 drivers/usb/phy/phy-mxs-usb.c 	else if (mxs_phy->port_id == 1)
mxs_phy           476 drivers/usb/phy/phy-mxs-usb.c 	regmap_read(mxs_phy->regmap_anatop, reg, &line_state);
mxs_phy           487 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = to_mxs_phy(x);
mxs_phy           490 drivers/usb/phy/phy-mxs-usb.c 	low_speed_connection = mxs_phy_is_low_speed_connection(mxs_phy);
mxs_phy           491 drivers/usb/phy/phy-mxs-usb.c 	vbus_is_on = mxs_phy_get_vbus_status(mxs_phy);
mxs_phy           511 drivers/usb/phy/phy-mxs-usb.c 		clk_disable_unprepare(mxs_phy->clk);
mxs_phy           514 drivers/usb/phy/phy-mxs-usb.c 		ret = clk_prepare_enable(mxs_phy->clk);
mxs_phy           527 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = to_mxs_phy(x);
mxs_phy           532 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy_disconnect_line(mxs_phy, true);
mxs_phy           536 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy_disconnect_line(mxs_phy, false);
mxs_phy           571 drivers/usb/phy/phy-mxs-usb.c static int mxs_charger_data_contact_detect(struct mxs_phy *x)
mxs_phy           624 drivers/usb/phy/phy-mxs-usb.c static enum usb_charger_type mxs_charger_primary_detection(struct mxs_phy *x)
mxs_phy           660 drivers/usb/phy/phy-mxs-usb.c static enum usb_charger_type mxs_charger_secondary_detection(struct mxs_phy *x)
mxs_phy           679 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = to_mxs_phy(phy);
mxs_phy           680 drivers/usb/phy/phy-mxs-usb.c 	struct regmap *regmap = mxs_phy->regmap_anatop;
mxs_phy           687 drivers/usb/phy/phy-mxs-usb.c 	if (mxs_charger_data_contact_detect(mxs_phy))
mxs_phy           690 drivers/usb/phy/phy-mxs-usb.c 	chgr_type = mxs_charger_primary_detection(mxs_phy);
mxs_phy           699 drivers/usb/phy/phy-mxs-usb.c 		chgr_type = mxs_charger_secondary_detection(mxs_phy);
mxs_phy           716 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy;
mxs_phy           738 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy = devm_kzalloc(&pdev->dev, sizeof(*mxs_phy), GFP_KERNEL);
mxs_phy           739 drivers/usb/phy/phy-mxs-usb.c 	if (!mxs_phy)
mxs_phy           744 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->regmap_anatop = syscon_regmap_lookup_by_phandle
mxs_phy           746 drivers/usb/phy/phy-mxs-usb.c 		if (IS_ERR(mxs_phy->regmap_anatop)) {
mxs_phy           749 drivers/usb/phy/phy-mxs-usb.c 			return PTR_ERR(mxs_phy->regmap_anatop);
mxs_phy           759 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->tx_reg_mask |= GM_USBPHY_TX_TXCAL45DN(~0);
mxs_phy           760 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->tx_reg_set  |= GM_USBPHY_TX_TXCAL45DN(val);
mxs_phy           768 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->tx_reg_mask |= GM_USBPHY_TX_TXCAL45DP(~0);
mxs_phy           769 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->tx_reg_set  |= GM_USBPHY_TX_TXCAL45DP(val);
mxs_phy           780 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->tx_reg_mask |= GM_USBPHY_TX_D_CAL(~0);
mxs_phy           781 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy->tx_reg_set  |= GM_USBPHY_TX_D_CAL(val);
mxs_phy           787 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->port_id = ret;
mxs_phy           789 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.io_priv		= base;
mxs_phy           790 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.dev		= &pdev->dev;
mxs_phy           791 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.label		= DRIVER_NAME;
mxs_phy           792 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.init		= mxs_phy_init;
mxs_phy           793 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.shutdown		= mxs_phy_shutdown;
mxs_phy           794 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.set_suspend	= mxs_phy_suspend;
mxs_phy           795 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.notify_connect	= mxs_phy_on_connect;
mxs_phy           796 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.notify_disconnect	= mxs_phy_on_disconnect;
mxs_phy           797 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.type		= USB_PHY_TYPE_USB2;
mxs_phy           798 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.set_wakeup		= mxs_phy_set_wakeup;
mxs_phy           799 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->phy.charger_detect	= mxs_phy_charger_detect;
mxs_phy           801 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->clk = clk;
mxs_phy           802 drivers/usb/phy/phy-mxs-usb.c 	mxs_phy->data = of_id->data;
mxs_phy           804 drivers/usb/phy/phy-mxs-usb.c 	platform_set_drvdata(pdev, mxs_phy);
mxs_phy           808 drivers/usb/phy/phy-mxs-usb.c 	return usb_add_phy_dev(&mxs_phy->phy);
mxs_phy           813 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = platform_get_drvdata(pdev);
mxs_phy           815 drivers/usb/phy/phy-mxs-usb.c 	usb_remove_phy(&mxs_phy->phy);
mxs_phy           821 drivers/usb/phy/phy-mxs-usb.c static void mxs_phy_enable_ldo_in_suspend(struct mxs_phy *mxs_phy, bool on)
mxs_phy           826 drivers/usb/phy/phy-mxs-usb.c 	if (!mxs_phy->regmap_anatop)
mxs_phy           829 drivers/usb/phy/phy-mxs-usb.c 	if (is_imx6q_phy(mxs_phy))
mxs_phy           830 drivers/usb/phy/phy-mxs-usb.c 		regmap_write(mxs_phy->regmap_anatop, reg,
mxs_phy           832 drivers/usb/phy/phy-mxs-usb.c 	else if (is_imx6sl_phy(mxs_phy))
mxs_phy           833 drivers/usb/phy/phy-mxs-usb.c 		regmap_write(mxs_phy->regmap_anatop,
mxs_phy           839 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = dev_get_drvdata(dev);
mxs_phy           842 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy_enable_ldo_in_suspend(mxs_phy, true);
mxs_phy           849 drivers/usb/phy/phy-mxs-usb.c 	struct mxs_phy *mxs_phy = dev_get_drvdata(dev);
mxs_phy           852 drivers/usb/phy/phy-mxs-usb.c 		mxs_phy_enable_ldo_in_suspend(mxs_phy, false);