mirror of
https://github.com/torvalds/linux.git
synced 2026-10-16 12:50:02 +02:00
The comb PHY on K3 requires to configure a syscon device for the right mux configuration. And it requires calibration before any usage. Add USB3/PCIe comb PHY driver for Spacemit K3. Signed-off-by: Inochi Amaoto <inochiama@gmail.com> Tested-by: Aurelien Jarno <aurelien@aurel32.net> Link: https://patch.msgid.link/20260703021024.495433-3-inochiama@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
28 lines
502 B
C
28 lines
502 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#ifndef _PHY_K3_COMMON_H
|
|
#define _PHY_K3_COMMON_H
|
|
|
|
#include <linux/phy/phy.h>
|
|
|
|
struct k3_phy_lane_group_data {
|
|
u32 lanes;
|
|
u8 config;
|
|
u8 mask;
|
|
u32 offsets[] __counted_by(lanes);
|
|
};
|
|
|
|
struct k3_lane_group {
|
|
const struct k3_phy_lane_group_data *data;
|
|
void __iomem *base;
|
|
struct phy *phy;
|
|
bool is_pcie;
|
|
};
|
|
|
|
extern const struct phy_ops k3_pcie_phy_ops;
|
|
extern const struct phy_ops k3_usb3_phy_ops;
|
|
|
|
int k3_phy_calibrate(struct regmap *apb_spare);
|
|
|
|
#endif
|