* If power_off() is not implemented, it must power down the phy.
*
* @phy: PHY port to be de-initialized
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int (*exit)(struct phy *phy);
* During runtime, the PHY may need to be reset in order to
* re-establish connection etc without being shut down or exit.
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int (*reset)(struct phy *phy);
* setup done in init(). If init() is not implemented, it must take care
* of setting up the context (PLLs, ...)
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int (*power_on)(struct phy *phy);
* init()/deinit() are not implemented, it must not de-initialize
* everything.
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int (*power_off)(struct phy *phy);
* This function configures the PHY for it's main function following
* power_on/off() after beeing initialized.
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int (*configure)(struct phy *phy, void *params);
};
unsigned int count;
};
-#ifdef CONFIG_PHY
+#if CONFIG_IS_ENABLED(PHY)
/**
* generic_phy_init() - initialize the PHY port
*
* @phy: the PHY port to initialize
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_init(struct phy *phy);
* generic_phy_init() - de-initialize the PHY device
*
* @phy: PHY port to be de-initialized
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_exit(struct phy *phy);
* generic_phy_reset() - resets a PHY device without shutting down
*
* @phy: PHY port to be reset
- *@return 0 if OK, or a negative error code
+ *Return: 0 if OK, or a negative error code
*/
int generic_phy_reset(struct phy *phy);
* generic_phy_power_on() - power on a PHY device
*
* @phy: PHY port to be powered on
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_power_on(struct phy *phy);
* generic_phy_power_off() - power off a PHY device
*
* @phy: PHY port to be powered off
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_power_off(struct phy *phy);
* generic_phy_configure() - configure a PHY device
*
* @phy: PHY port to be configured
- * @params: PHY Parameters, underlying data is specific to the PHY function
- * @return 0 if OK, or a negative error code
+ * @params: PHY Parameters, underlying data is specific to the PHY function
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_configure(struct phy *phy, void *params);
* the USB2 phy can be accessed by passing index '0' and the USB3 phy can
* be accessed by passing index '1'
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_get_by_index(struct udevice *user, int index,
struct phy *phy);
* the USB2 phy can be accessed by passing index '0' and the USB3 phy can
* be accessed by passing index '1'
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_get_by_index_nodev(ofnode node, int index, struct phy *phy);
* };
* the USB3 phy can be accessed using "usb3phy", and USB2 by using "usb2phy"
*
- * @return 0 if OK, or a negative error code
+ * Return: 0 if OK, or a negative error code
*/
int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
struct phy *phy);
*
* @dev: The consumer device.
* @bulk A pointer to a phy bulk struct to initialize.
- * @return 0 if OK, or a negative error code.
+ * Return: 0 if OK, or a negative error code.
*/
int generic_phy_get_bulk(struct udevice *dev, struct phy_bulk *bulk);
*
* @bulk: A phy bulk struct that was previously successfully requested
* by generic_phy_get_bulk().
- * @return 0 if OK, or negative error code.
+ * Return: 0 if OK, or negative error code.
*/
int generic_phy_init_bulk(struct phy_bulk *bulk);
*
* @bulk: A phy bulk struct that was previously successfully requested
* by generic_phy_get_bulk().
- * @return 0 if OK, or negative error code.
+ * Return: 0 if OK, or negative error code.
*/
int generic_phy_exit_bulk(struct phy_bulk *bulk);
*
* @bulk: A phy bulk struct that was previously successfully requested
* by generic_phy_get_bulk().
- * @return 0 if OK, or negative error code.
+ * Return: 0 if OK, or negative error code.
*/
int generic_phy_power_on_bulk(struct phy_bulk *bulk);
*
* @bulk: A phy bulk struct that was previously successfully requested
* by generic_phy_get_bulk().
- * @return 0 if OK, or negative error code.
+ * Return: 0 if OK, or negative error code.
*/
int generic_phy_power_off_bulk(struct phy_bulk *bulk);
+/**
+ * generic_setup_phy() - Get, initialize and power on phy.
+ *
+ * @dev: The consumer device.
+ * @phy: A pointer to the PHY port
+ * @index: The index in the list of available PHYs
+ *
+ * Return: 0 if OK, or negative error code.
+ */
+int generic_setup_phy(struct udevice *dev, struct phy *phy, int index);
+
+/**
+ * generic_shutdown_phy() - Power off and de-initialize phy.
+ *
+ * @phy: A pointer to the PHY port.
+ *
+ * Return: 0 if OK, or negative error code.
+ */
+int generic_shutdown_phy(struct phy *phy);
+
#else /* CONFIG_PHY */
static inline int generic_phy_init(struct phy *phy)
return 0;
}
+static inline int generic_setup_phy(struct udevice *dev, struct phy *phy, int index)
+{
+ return 0;
+}
+
+static inline int generic_shutdown_phy(struct phy *phy)
+{
+ return 0;
+}
+
#endif /* CONFIG_PHY */
/**
* generic_phy_valid() - check if PHY port is valid
*
* @phy: the PHY port to check
- * @return TRUE if valid, or FALSE
+ * Return: TRUE if valid, or FALSE
*/
static inline bool generic_phy_valid(struct phy *phy)
{